forked from OSchip/llvm-project
58f172f05a
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 |
||
---|---|---|
.. | ||
exceptions.ll | ||
st_sink_barrier_call.ll | ||
st_sink_bugfix_22613.ll | ||
st_sink_check_debug.ll | ||
st_sink_debuginvariant.ll | ||
st_sink_no_barrier_call.ll | ||
st_sink_no_barrier_load.ll | ||
st_sink_no_barrier_store.ll | ||
st_sink_split_bb.ll | ||
st_sink_two_stores.ll | ||
st_sink_with_barrier.ll |