summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInstance.cpp
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2019-11-04 09:40:53 -0800
committerPhilip Reames <listmail@philipreames.com>2019-11-04 11:03:28 -0800
commit6ff439b57f0fc2b1a2193ae37637c531ff652b1c (patch)
treeccb0d8f0b5e64894d5eca7859b34876fe78cb298 /clang/lib/Frontend/CompilerInstance.cpp
parent113181e9bd05353ed562ee7b971bf7f1e58cd5de (diff)
downloadbcm5719-llvm-6ff439b57f0fc2b1a2193ae37637c531ff652b1c.tar.gz
bcm5719-llvm-6ff439b57f0fc2b1a2193ae37637c531ff652b1c.zip
[SimplifyCFG] Use a (trivially) dominanting widenable branch to remove later slow path blocks
This transformation is a variation on the GuardWidening transformation we have checked in as it's own pass. Instead of focusing on merge (i.e. hoisting and simplifying) two widenable branches, this transform makes the observation that simply removing a second slowpath block (by reusing an existing one) is often a very useful canonicalization. This may lead to later merging, or may not. This is a useful generalization when the intermediate block has loads whose dereferenceability is hard to establish. As noted in the patch, this can be generalized further, and will be. Differential Revision: https://reviews.llvm.org/D69689
Diffstat (limited to 'clang/lib/Frontend/CompilerInstance.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud