aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/IfConversion.cpp
AgeCommit message (Expand)Author
2007-06-14Fix some stupid bugs that have effectively disabled if-conversion.Evan Cheng
2007-06-13TypoEvan Cheng
2007-06-12Now if-converting all 4 variants of triangles.Evan Cheng
2007-06-11Restructure code to reduce ifcvt compile time cost.Evan Cheng
2007-06-10Fix the build.Reid Spencer
2007-06-09Don't change CFG during analysis stage. Do so during ifcvt and invalidate pre...Evan Cheng
2007-06-08Carefully remove extraneous CFG edges after each ifcvt.Evan Cheng
2007-06-08Correct transfer predicate information.Evan Cheng
2007-06-08Hidden options to help debugging ifcvt issues.Evan Cheng
2007-06-08Allow more cmp / bcc to be predicated; clean up triangle ifcvt checking code.Evan Cheng
2007-06-07Only remove the edge from entry to false if false block is merged.Evan Cheng
2007-06-07ifcvt a triangle: don't merge ifcvt block with rejoin block if it can fall th...Evan Cheng
2007-06-07Lots of bug fixes. Now finally in a reasonable state.Evan Cheng
2007-06-06Quick patch to fix the build, based on what it appears Evan meant to write.Owen Anderson
2007-06-06Lots of bug fixes.Evan Cheng
2007-06-06If a unconditional branch is added to branch to the false path during ifcvt, ...Evan Cheng
2007-06-06Minor statistics counting bug.Evan Cheng
2007-06-06Fix a couple of typos and be smarter about order of blocks when ifcvt a diamond.Evan Cheng
2007-06-05Fix diamond shape ifcvt bugs.Evan Cheng
2007-06-05ReplaceUsesOfBlockWith() can modify the predecessors list.Evan Cheng
2007-06-05Do not ifcvt if either true / false path is a backedge. Not profitable in alm...Evan Cheng
2007-06-05I had a senior moment.Evan Cheng
2007-06-05If the predicated block requires an early exit, end the block there and add a...Evan Cheng
2007-06-05Fix some subtle bugs: bug during succeessor copying; incorrectly updating sta...Evan Cheng
2007-06-04Forgot to check for if iterator reached the end.Evan Cheng
2007-06-04Let IfConverter loose. Allow more aggressive subsumptions; reorder basic bloc...Evan Cheng
2007-06-01Correctly mark early-exit on the false path.Evan Cheng
2007-06-01Ifcvt triangle: don't ifcvt 'true' BB if it has other predecessors; don't mer...Evan Cheng
2007-06-01Remove a bogus check. Even terminators in a ifcvt need to be predicated. Unco...Evan Cheng
2007-06-01Allow multiple ifcvt candidates to share children blocks; add some debugging ...Evan Cheng
2007-05-31Fix a typo.Evan Cheng
2007-05-30Change traversal order to bottom up in preparation for more aggressive if-con...Evan Cheng
2007-05-29Don't merge in tail block of a diamond if it has more than one predecessors a...Evan Cheng
2007-05-29If there is an empty block between a source and its successor block, it still...Evan Cheng
2007-05-25Silly boog.Evan Cheng
2007-05-23Preliminary iterative if-conversion support.Evan Cheng
2007-05-21If-convert early exit blocks (returns, etc.); bug fixes, etc.Evan Cheng
2007-05-18Clean up.Evan Cheng
2007-05-18Change to depth-first traversal.Evan Cheng
2007-05-18Some restructuring in preparation for most aggressive if-conversion.Evan Cheng
2007-05-18Watch out for blocks that end with a return.Evan Cheng
2007-05-18If true / false blocks fallthrough before ifcvt, add unconditional branches t...Evan Cheng
2007-05-18Make use of target specific block size limits; bug fixes.Evan Cheng
2007-05-16isBlockPredicable() always ignore terminal instructions; add comments.Evan Cheng
2007-05-16Rename M_PREDICATED to M_PREDICABLE; Moved isPredicable() to MachineInstr.Evan Cheng
2007-05-16Devang points out that we need an assertion here.Evan Cheng
2007-05-16Initial commit of (very basic) if converter.Evan Cheng