1. 7a65547 Lots of bug fixes. by Evan Cheng · 18 years ago
  2. 3d6f60e If a unconditional branch is added to branch to the false path during ifcvt, the predicated block cannot be iteratively ifcvted. by Evan Cheng · 18 years ago
  3. cb78d67 Minor statistics counting bug. by Evan Cheng · 18 years ago
  4. e705213 Fix a couple of typos and be smarter about order of blocks when ifcvt a diamond. by Evan Cheng · 18 years ago
  5. 993fc95 Fix diamond shape ifcvt bugs. by Evan Cheng · 18 years ago
  6. a1a9f40 ReplaceUsesOfBlockWith() can modify the predecessors list. by Evan Cheng · 18 years ago
  7. e004317 Do not ifcvt if either true / false path is a backedge. Not profitable in almost all cases. by Evan Cheng · 18 years ago
  8. c53ef58 I had a senior moment. by Evan Cheng · 18 years ago
  9. 8ed680c 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 · 18 years ago
  10. f5305f9 Fix some subtle bugs: bug during succeessor copying; incorrectly updating states of ifcvted blocks. by Evan Cheng · 18 years ago
  11. 3ec4254 Forgot to check for if iterator reached the end. by Evan Cheng · 18 years ago
  12. b6665f6 Let IfConverter loose. Allow more aggressive subsumptions; reorder basic blocks to expose more ifcvt opportunities; code clean up and fixes. by Evan Cheng · 18 years ago
  13. b5a0690 Correctly mark early-exit on the false path. by Evan Cheng · 18 years ago
  14. 8c52938 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 · 18 years ago
  15. fe57a7e 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 · 18 years ago
  16. 5f70218 Allow multiple ifcvt candidates to share children blocks; add some debugging code. by Evan Cheng · 18 years ago
  17. f15d44c Fix a typo. by Evan Cheng · 18 years ago
  18. 8258210 Change traversal order to bottom up in preparation for more aggressive if-conversion. by Evan Cheng · 18 years ago
  19. 58fbb9f Don't merge in tail block of a diamond if it has more than one predecessors after if-conversion. by Evan Cheng · 18 years ago
  20. c8ed9ba If there is an empty block between a source and its successor block, it still requires a unconditional branch. by Evan Cheng · 18 years ago
  21. 4bec8ae Silly boog. by Evan Cheng · 18 years ago
  22. a13aa95 Preliminary iterative if-conversion support. by Evan Cheng · 18 years ago
  23. a6b4f43 If-convert early exit blocks (returns, etc.); bug fixes, etc. by Evan Cheng · 18 years ago
  24. 7f8ff8a Clean up. by Evan Cheng · 18 years ago
  25. 36489bb Change to depth-first traversal. by Evan Cheng · 18 years ago
  26. cf6cc11 Some restructuring in preparation for most aggressive if-conversion. by Evan Cheng · 18 years ago
  27. 6092ca1 Watch out for blocks that end with a return. by Evan Cheng · 18 years ago
  28. 47d2502 If true / false blocks fallthrough before ifcvt, add unconditional branches to ifcvt'd block. by Evan Cheng · 18 years ago
  29. 86cbfea Make use of target specific block size limits; bug fixes. by Evan Cheng · 18 years ago
  30. d6ddc30 isBlockPredicable() always ignore terminal instructions; add comments. by Evan Cheng · 18 years ago
  31. c3a289c Rename M_PREDICATED to M_PREDICABLE; Moved isPredicable() to MachineInstr. by Evan Cheng · 18 years ago
  32. c5d05ef Devang points out that we need an assertion here. by Evan Cheng · 18 years ago
  33. 4e65485 Initial commit of (very basic) if converter. by Evan Cheng · 18 years ago