summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/DwarfEHPrepare.cpp
diff options
context:
space:
mode:
authorDenis Bakhvalov <denis.bakhvalov@intel.com>2019-09-05 17:00:32 +0000
committerDenis Bakhvalov <denis.bakhvalov@intel.com>2019-09-05 17:00:32 +0000
commit58f172f05ae0d6d4fa6a222d04fa59fc98807489 (patch)
treef3dcc9c1a8df2eb566c6628bb34133c84a3e5ef4 /llvm/lib/CodeGen/DwarfEHPrepare.cpp
parent3856512334ee525d5c922b0480b7503210cc4bb3 (diff)
downloadbcm5719-llvm-58f172f05ae0d6d4fa6a222d04fa59fc98807489.tar.gz
bcm5719-llvm-58f172f05ae0d6d4fa6a222d04fa59fc98807489.zip
[MergedLoadStoreMotion] Sink stores to BB with more than 2 predecessors
If we have: bb5: br i1 %arg3, label %bb6, label %bb7 bb6: %tmp = getelementptr inbounds i32, i32* %arg1, i64 2 store i32 3, i32* %tmp, align 4 br label %bb9 bb7: %tmp8 = getelementptr inbounds i32, i32* %arg1, i64 2 store i32 3, i32* %tmp8, align 4 br label %bb9 bb9: ; preds = %bb4, %bb6, %bb7 ... We can't sink stores directly into bb9. This patch creates new BB that is successor of %bb6 and %bb7 and sinks stores into that block. SplitFooterBB is the parameter to the pass that controls that behavior. Change-Id: I7fdf50a772b84633e4b1b860e905bf7e3e29940f Differential: https://reviews.llvm.org/D66234 llvm-svn: 371089
Diffstat (limited to 'llvm/lib/CodeGen/DwarfEHPrepare.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud