summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_function_inlining.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/glsl/ir_function_inlining.cpp')
-rw-r--r--src/glsl/ir_function_inlining.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/glsl/ir_function_inlining.cpp b/src/glsl/ir_function_inlining.cpp
index 05dd83f7ffd..c391f12d883 100644
--- a/src/glsl/ir_function_inlining.cpp
+++ b/src/glsl/ir_function_inlining.cpp
@@ -91,8 +91,7 @@ replace_return_with_assignment(ir_instruction *ir, void *data)
if (ret) {
if (ret->value) {
ir_rvalue *lhs = new(ctx) ir_dereference_variable(retval);
- ret->insert_before(new(ctx) ir_assignment(lhs, ret->value, NULL));
- ret->remove();
+ ret->replace_with(new(ctx) ir_assignment(lhs, ret->value, NULL));
} else {
/* un-valued return has to be the last return, or we shouldn't
* have reached here. (see can_inline()).