diff options
author | James Molloy <james.molloy@arm.com> | 2016-09-11 08:07:30 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2016-09-11 08:07:30 +0000 |
commit | 18d96e8fa515de0e7cc9a6a0e55c76d2ec4b9d1a (patch) | |
tree | ae14834686fae12edf68529a518b4d78352ff588 /llvm/lib/Transforms/Utils/Mem2Reg.cpp | |
parent | 89fda2bde2cf01498fb333baef6613bae02c27a7 (diff) | |
download | llvm-18d96e8fa515de0e7cc9a6a0e55c76d2ec4b9d1a.zip llvm-18d96e8fa515de0e7cc9a6a0e55c76d2ec4b9d1a.tar.gz llvm-18d96e8fa515de0e7cc9a6a0e55c76d2ec4b9d1a.tar.bz2 |
[SimplifyCFG] Harden up the profitability heuristic for block splitting during sinking
Exposed by PR30244, we will split a block currently if we think we can sink at least one instruction. However this isn't right - the reason we split predecessors is so that we can sink instructions that otherwise couldn't be sunk because it isn't safe to do so - stores, for example.
So, change the heuristic to only split if it thinks it can sink at least one non-speculatable instruction.
Should fix PR30244.
llvm-svn: 281160
Diffstat (limited to 'llvm/lib/Transforms/Utils/Mem2Reg.cpp')
0 files changed, 0 insertions, 0 deletions