1. fbc7309 Somehow this wasn't committed last time. M_CLOBBERS_PRED is gone. by Evan Cheng · 18 years ago
  2. 96c1457 Teach if-conversion about instructions that were already predicated, e.g. conditional move. by Evan Cheng · 18 years ago
  3. a955c02 Avoid if-converting simple block that ends with unconditional branch or fallthrough unless it branches / falls to the 'false' block. Not profitable, may end up increasing code size. by Evan Cheng · 18 years ago
  4. a7ca624 Replace TargetInstrInfo::CanBeDuplicated() with a M_NOT_DUPLICABLE bit. by Evan Cheng · 18 years ago
  5. 0598b2d Fix some fragile code wrt CFG edge updating. by Evan Cheng · 18 years ago
  6. 51eb2c3 Properly remove duplicate instructions as result of diamond if-conversion. Other bug fixes. by Evan Cheng · 18 years ago
  7. 3a51c85 Really turn if-converter loose: by Evan Cheng · 18 years ago
  8. 23402fc Not every predicable block can be safely duplicated. by Evan Cheng · 18 years ago
  9. 234a90e MachineInstr::isPredicable() is no longer needed. by Evan Cheng · 18 years ago
  10. cd5f5e3 Extra edges are deleted later if needed. by Evan Cheng · 18 years ago
  11. 92fb545 Allow small blocks to be duplicated to enable if-conversion. by Evan Cheng · 18 years ago
  12. add9776 No really, clear predcessors states. by Evan Cheng · 18 years ago
  13. 9fc56c0 If BB is predicated, invalidate its predecessor(s) which would if-convert it. It needs to be re-analyzed. by Evan Cheng · 18 years ago
  14. e08f0ee Fix typo. by Evan Cheng · 18 years ago
  15. 1e6f08b Fix some stupid bugs that have effectively disabled if-conversion. by Evan Cheng · 18 years ago
  16. cbaaff5 Typo by Evan Cheng · 18 years ago
  17. 9acfa7b Now if-converting all 4 variants of triangles. by Evan Cheng · 18 years ago
  18. 4dd31a7 Restructure code to reduce ifcvt compile time cost. by Evan Cheng · 18 years ago
  19. 14b62a5 Fix the build. by Reid Spencer · 18 years ago
  20. 2117d1f Don't change CFG during analysis stage. Do so during ifcvt and invalidate predecessors accordingly. by Evan Cheng · 18 years ago
  21. 288f154 Carefully remove extraneous CFG edges after each ifcvt. by Evan Cheng · 18 years ago
  22. df1a429 Correct transfer predicate information. by Evan Cheng · 18 years ago
  23. e93ccc0 Hidden options to help debugging ifcvt issues. by Evan Cheng · 18 years ago
  24. 7783f82 Allow more cmp / bcc to be predicated; clean up triangle ifcvt checking code. by Evan Cheng · 18 years ago
  25. 1236ef7 Only remove the edge from entry to false if false block is merged. by Evan Cheng · 18 years ago
  26. d3f3f0a ifcvt a triangle: don't merge ifcvt block with rejoin block if it can fall through to it. If merged, the resulting block is not a candidate for iterative ifcvting since it contains both predicated and non-predicated code. by Evan Cheng · 18 years ago
  27. be9859e Lots of bug fixes. Now finally in a reasonable state. by Evan Cheng · 19 years ago
  28. cfb6f40 Quick patch to fix the build, based on what it appears Evan meant to write. by Owen Anderson · 19 years ago
  29. 9030b98 Lots of bug fixes. by Evan Cheng · 19 years ago
  30. e4ec918 If a unconditional branch is added to branch to the false path during ifcvt, the predicated block cannot be iteratively ifcvted. by Evan Cheng · 19 years ago
  31. b30a894 Minor statistics counting bug. by Evan Cheng · 19 years ago
  32. 3056599 Fix a couple of typos and be smarter about order of blocks when ifcvt a diamond. by Evan Cheng · 19 years ago
  33. 7948422 Fix diamond shape ifcvt bugs. by Evan Cheng · 19 years ago
  34. c1a0b8c ReplaceUsesOfBlockWith() can modify the predecessors list. by Evan Cheng · 19 years ago
  35. 3e5bf08 Do not ifcvt if either true / false path is a backedge. Not profitable in almost all cases. by Evan Cheng · 19 years ago
  36. 2c1acd6 I had a senior moment. by Evan Cheng · 19 years ago
  37. 6e4babe If the predicated block requires an early exit, end the block there and add a unconditional branch to false block. AnalyzeBranch() does not understand early exits. by Evan Cheng · 19 years ago
  38. 17aad816 Fix some subtle bugs: bug during succeessor copying; incorrectly updating states of ifcvted blocks. by Evan Cheng · 19 years ago
  39. 9123315 Forgot to check for if iterator reached the end. by Evan Cheng · 19 years ago
  40. 312b723 Let IfConverter loose. Allow more aggressive subsumptions; reorder basic blocks to expose more ifcvt opportunities; code clean up and fixes. by Evan Cheng · 19 years ago
  41. 4dcf1e8 Correctly mark early-exit on the false path. by Evan Cheng · 19 years ago
  42. 6a2cf07 Ifcvt triangle: don't ifcvt 'true' BB if it has other predecessors; don't merge 'false' BB if it has other predecessors. by Evan Cheng · 19 years ago
  43. 95c7917 Remove a bogus check. Even terminators in a ifcvt need to be predicated. Unconditional branches can usually be converted to conditional ones. by Evan Cheng · 19 years ago
  44. 20e0599 Allow multiple ifcvt candidates to share children blocks; add some debugging code. by Evan Cheng · 19 years ago
  45. e6ccb6c Fix a typo. by Evan Cheng · 19 years ago
  46. 905a8f4 Change traversal order to bottom up in preparation for more aggressive if-conversion. by Evan Cheng · 19 years ago
  47. 20f7d30 Don't merge in tail block of a diamond if it has more than one predecessors after if-conversion. by Evan Cheng · 19 years ago
  48. c2237ce If there is an empty block between a source and its successor block, it still requires a unconditional branch. by Evan Cheng · 19 years ago
  49. 13f5f7d Silly boog. by Evan Cheng · 19 years ago
  50. d0e6691 Preliminary iterative if-conversion support. by Evan Cheng · 19 years ago
  51. e26c091 If-convert early exit blocks (returns, etc.); bug fixes, etc. by Evan Cheng · 19 years ago
  52. 018cffb Clean up. by Evan Cheng · 19 years ago
  53. faaf716 Change to depth-first traversal. by Evan Cheng · 19 years ago
  54. 2e82cef Some restructuring in preparation for most aggressive if-conversion. by Evan Cheng · 19 years ago
  55. f25d3a5 Watch out for blocks that end with a return. by Evan Cheng · 19 years ago
  56. 478b805 If true / false blocks fallthrough before ifcvt, add unconditional branches to ifcvt'd block. by Evan Cheng · 19 years ago
  57. 0f745da Make use of target specific block size limits; bug fixes. by Evan Cheng · 19 years ago
  58. af71610 isBlockPredicable() always ignore terminal instructions; add comments. by Evan Cheng · 19 years ago
  59. 5ea933a Rename M_PREDICATED to M_PREDICABLE; Moved isPredicable() to MachineInstr. by Evan Cheng · 19 years ago
  60. 35fc211 Devang points out that we need an assertion here. by Evan Cheng · 19 years ago
  61. f5e53a5 Initial commit of (very basic) if converter. by Evan Cheng · 19 years ago