summaryrefslogtreecommitdiff
path: root/ir_function_inlining.cpp
AgeCommit message (Collapse)Author
2010-05-26Begin refactoring ir_dereferenceIan Romanick
Create separate subclasses of ir_dereference for variable, array, and record dereferences. As a side effect, array and record dereferences no longer point to ir_variable objects directly. Instead they each point to an ir_dereference_variable object. This is the first of several steps in the refactoring process. The intention is that ir_dereference will eventually become an abstract base class.
2010-05-05Move optimization pass prototypes to a single header.Eric Anholt
2010-05-01Fix ir_return cloning to actually use the cloned subexpression.Kenneth Graunke
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.
2010-04-30Fix incorrect comments in function inliner.Kenneth Graunke
2010-04-28ir_function_inlining: Handle inlining of structure dereferences.Eric Anholt
2010-04-28Correctly handle remapping of array dereferences if ->var is a variable.Eric Anholt
2010-04-23ir_function_inlining: Implement inlining in many more cases.Eric Anholt
We still don't inline for control flow in the inlined function, and we don't have any limits on what we will inline.
2010-04-23ir_function_inlining: Avoid NULL dereference on assignment conditions.Eric Anholt
2010-04-21Remove ir_label since it is no longer used.Kenneth Graunke
2010-04-21Refactor IR function representation.Kenneth Graunke
Now, ir_function is emitted as part of the IR instructions, rather than simply existing in the symbol table. Individual ir_function_signatures are not emitted themselves, but only as part of ir_function.
2010-04-16Add support for inlining calls done inside of expressions.Eric Anholt
2010-04-08Repeat the optimization passes until we stop making progress.Eric Anholt
2010-04-08Add inlining support for array dereferences.Eric Anholt
2010-04-08Inline functions consisting of a return of an expression.Eric Anholt