SuccessChanges

Summary

  1. [SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 1 (details)
  2. [SimplifyCFG] Teach FoldBranchToCommonDest() to preserve DomTree, part 2 (details)
  3. [SimplifyCFG] Teach simplifyIndirectBr() to preserve DomTree (details)
  4. [SimplifyCFG] Teach SimplifyEqualityComparisonWithOnlyPredecessor() to preserve DomTree, part 3 (details)
  5. [SimplifyCFG] Teach eliminateDeadSwitchCases() to preserve DomTree, part 1 (details)
  6. [SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 2 (details)
  7. [SimplifyCFG] Teach tryToSimplifyUncondBranchWithICmpInIt() to preserve DomTree (details)
  8. [SimplifyCFG] SUCCESS! Teach createUnreachableSwitchDefault() to preserve DomTree (details)
Commit c1b825d4b8a68178613972a50088b2b73105e91e by lebedev.ri
[SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 1
The file was modifiedllvm/test/Transforms/SimplifyCFG/2005-08-01-PHIUpdateFail.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/preserve-branchweights-partial.ll
The file was modifiedllvm/test/Transforms/ADCE/domtree-DoubleDeletion.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
The file was modifiedllvm/test/Transforms/JumpThreading/lvi-tristate.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/X86/MagicPointer.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/preserve-branchweights-switch-create.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/DeadSetCC.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/2006-08-03-Crash.ll
Commit b7c463d7b8dda2c2b3e9a4db51f94dc94542ee68 by lebedev.ri
[SimplifyCFG] Teach FoldBranchToCommonDest() to preserve DomTree, part 2
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/branch-fold.ll
Commit 9f17dab1f48eed788d29e4c6f045e64b0679b3a9 by lebedev.ri
[SimplifyCFG] Teach simplifyIndirectBr() to preserve DomTree
The file was modifiedllvm/test/Transforms/SimplifyCFG/indirectbr.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 0d2f219d4d0b4c61491508e6980055ecc241418c by lebedev.ri
[SimplifyCFG] Teach SimplifyEqualityComparisonWithOnlyPredecessor() to preserve DomTree, part 3
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch_thread.ll
Commit a815b6b2b2cc483cfe9d2b520790322a39f8d37b by lebedev.ri
[SimplifyCFG] Teach eliminateDeadSwitchCases() to preserve DomTree, part 1
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch-simplify-crash.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch-masked-bits.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 8866583953f1e9038b5ca4ed4c199e0476790e0c by lebedev.ri
[SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 2
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch_switch_fold.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/2008-12-16-DCECond.ll
Commit e1440d43bca5438544a12bebe82a3cd1a37157f1 by lebedev.ri
[SimplifyCFG] Teach tryToSimplifyUncondBranchWithICmpInIt() to preserve DomTree
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch_create.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll
Commit 831636b0e6321500fd7bf3f32e8663369152a956 by lebedev.ri
[SimplifyCFG] SUCCESS! Teach createUnreachableSwitchDefault() to preserve DomTree

This pretty much concludes patch series for updating SimplifyCFG
to preserve DomTree. All 318 dedicated `-simplifycfg` tests now pass
with `-simplifycfg-require-and-preserve-domtree=1`.

There are a few leftovers that apparently don't have good test coverage.
I do not yet know what gaps in test coverage will the wider-scale testing
reveal, but the default flip might be close.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch-range-to-icmp.ll