summaryrefslogtreecommitdiff
path: root/ir_copy_propagation.cpp
AgeCommit message (Collapse)AuthorFilesLines
2010-06-22ir: Give ir_instruction a print visitor helper.Eric Anholt1-1/+0
This avoids spamming each file with includes of ir_print_visitor.h because someone was doing debugging at some point, and is less typing when doing debugging.
2010-06-22Include stdio.h and stdlib.h everywhere, and don't cook our own #define NULL.Eric Anholt1-1/+0
2010-05-26Reimplement ir_copy_propagation_visitor using ir_hierarchical_vistorIan Romanick1-105/+45
2010-05-26Refactor whole-variable assigment checking into member functionIan Romanick1-12/+7
2010-05-26Refactor ir_dereference data fields to subclassesIan Romanick1-5/+5
2010-05-26Refactor ir_dereference support for ir_visitorIan Romanick1-18/+24
Move the accept method for visitors from ir_dereference to the derived classes.
2010-05-14Use ir_rvalue::variable_referenced instead of open-coding itIan Romanick1-25/+7
2010-05-05Move optimization pass prototypes to a single header.Eric Anholt1-1/+1
2010-05-05ir_copy_propagation: Fix up the doxygen about the file.Eric Anholt1-2/+7
2010-05-05ir_copy_propagation: Return true if we optimized out any assignments.Eric Anholt1-5/+10
This may trigger other optimization phases to make more progress themselves.
2010-05-05ir_copy_propagation: Handle swizzles and array derefs on LHS of assign.Eric Anholt1-14/+25
This improves the ACP to not get cleared when more complicated assignments occur, cleaning up more redundant copies in programs.
2010-05-04ir_copy_propagation: New pass to rewrite dereferences to avoid copies.Eric Anholt1-0/+313
This is pretty basic. Right now it only handles pure assignments -- same type on each side, no swizzling, and only within basic blocks.