aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/IfConversion.cpp
Commit message (Expand)AuthorAgeFilesLines
* Somehow this wasn't committed last time. M_CLOBBERS_PRED is gone.Evan Cheng2007-07-101-2/+5
* Teach if-conversion about instructions that were already predicated, e.g. con...Evan Cheng2007-07-061-3/+14
* Avoid if-converting simple block that ends with unconditional branch or fallt...Evan Cheng2007-06-191-1/+4
* Replace TargetInstrInfo::CanBeDuplicated() with a M_NOT_DUPLICABLE bit.Evan Cheng2007-06-191-2/+2
* Fix some fragile code wrt CFG edge updating.Evan Cheng2007-06-181-74/+39
* Properly remove duplicate instructions as result of diamond if-conversion. Ot...Evan Cheng2007-06-181-103/+176
* Really turn if-converter loose:Evan Cheng2007-06-161-166/+211
* Not every predicable block can be safely duplicated.Evan Cheng2007-06-151-8/+35
* MachineInstr::isPredicable() is no longer needed.Evan Cheng2007-06-151-6/+5
* Extra edges are deleted later if needed.Evan Cheng2007-06-151-1/+0
* Allow small blocks to be duplicated to enable if-conversion.Evan Cheng2007-06-151-25/+99
* No really, clear predcessors states.Evan Cheng2007-06-141-7/+8
* If BB is predicated, invalidate its predecessor(s) which would if-convert it....Evan Cheng2007-06-141-3/+7
* Fix typo.Evan Cheng2007-06-141-1/+1
* Fix some stupid bugs that have effectively disabled if-conversion.Evan Cheng2007-06-141-1/+7
* TypoEvan Cheng2007-06-131-1/+1
* Now if-converting all 4 variants of triangles.Evan Cheng2007-06-121-24/+40
* Restructure code to reduce ifcvt compile time cost.Evan Cheng2007-06-111-155/+193
* Fix the build.Reid Spencer2007-06-101-1/+2
* Don't change CFG during analysis stage. Do so during ifcvt and invalidate pre...Evan Cheng2007-06-091-56/+106
* Carefully remove extraneous CFG edges after each ifcvt.Evan Cheng2007-06-081-24/+51
* Correct transfer predicate information.Evan Cheng2007-06-081-8/+6
* Hidden options to help debugging ifcvt issues.Evan Cheng2007-06-081-2/+32
* Allow more cmp / bcc to be predicated; clean up triangle ifcvt checking code.Evan Cheng2007-06-081-144/+135
* Only remove the edge from entry to false if false block is merged.Evan Cheng2007-06-071-2/+2
* ifcvt a triangle: don't merge ifcvt block with rejoin block if it can fall th...Evan Cheng2007-06-071-17/+29
* Lots of bug fixes. Now finally in a reasonable state.Evan Cheng2007-06-071-78/+104
* Quick patch to fix the build, based on what it appears Evan meant to write.Owen Anderson2007-06-061-1/+1
* Lots of bug fixes.Evan Cheng2007-06-061-40/+76
* If a unconditional branch is added to branch to the false path during ifcvt, ...Evan Cheng2007-06-061-6/+33
* Minor statistics counting bug.Evan Cheng2007-06-061-3/+5
* Fix a couple of typos and be smarter about order of blocks when ifcvt a diamond.Evan Cheng2007-06-061-17/+30
* Fix diamond shape ifcvt bugs.Evan Cheng2007-06-051-61/+41
* ReplaceUsesOfBlockWith() can modify the predecessors list.Evan Cheng2007-06-051-3/+4
* Do not ifcvt if either true / false path is a backedge. Not profitable in alm...Evan Cheng2007-06-051-0/+3
* I had a senior moment.Evan Cheng2007-06-051-3/+4
* If the predicated block requires an early exit, end the block there and add a...Evan Cheng2007-06-051-2/+3
* Fix some subtle bugs: bug during succeessor copying; incorrectly updating sta...Evan Cheng2007-06-051-20/+19
* Forgot to check for if iterator reached the end.Evan Cheng2007-06-041-1/+2
* Let IfConverter loose. Allow more aggressive subsumptions; reorder basic bloc...Evan Cheng2007-06-041-196/+264
* Correctly mark early-exit on the false path.Evan Cheng2007-06-011-8/+9
* Ifcvt triangle: don't ifcvt 'true' BB if it has other predecessors; don't mer...Evan Cheng2007-06-011-3/+18
* Remove a bogus check. Even terminators in a ifcvt need to be predicated. Unco...Evan Cheng2007-06-011-3/+1
* Allow multiple ifcvt candidates to share children blocks; add some debugging ...Evan Cheng2007-06-011-7/+20
* Fix a typo.Evan Cheng2007-05-311-1/+1
* Change traversal order to bottom up in preparation for more aggressive if-con...Evan Cheng2007-05-301-23/+69
* Don't merge in tail block of a diamond if it has more than one predecessors a...Evan Cheng2007-05-291-2/+4
* If there is an empty block between a source and its successor block, it still...Evan Cheng2007-05-291-30/+37
* Silly boog.Evan Cheng2007-05-251-9/+9
* Preliminary iterative if-conversion support.Evan Cheng2007-05-231-97/+167