Fix ir_return cloning to actually use the cloned subexpression.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 1 May 2010 07:31:35 +0000 (00:31 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 1 May 2010 07:31:35 +0000 (00:31 -0700)
commit05ddebac0a45bf07fa60b04b22f29234ca26a4a4
tree501d04d5dce82c574eb3d59bf16650ee5c3f217e
parentc07fdae33f083f6337a2810c36d6dcb2dbeacff2
Fix ir_return cloning to actually use the cloned subexpression.

This caused a nasty bug where the function inliner would create new
variables for each of the formal parameters, but the body would still
reference the old copies.

This was highly visible since the dead code eliminator (rightly) removed
the new declarations, leading to printed IR that referenced non-existent
variable names.
ir_function_inlining.cpp