summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorThan McIntosh <thanm@google.com>2018-11-07 17:41:57 +0000
committerThan McIntosh <thanm@google.com>2018-11-07 17:41:57 +0000
commit5bcdea51186658e0eb1c7f73273bf256c2626512 (patch)
treefd6cbeaca964b53a3d642a1f9b70a8c6e296599b /llvm/lib
parentac86038b407514cc1a93b05d0a4b375c49298a0b (diff)
downloadbcm5719-llvm-5bcdea51186658e0eb1c7f73273bf256c2626512.tar.gz
bcm5719-llvm-5bcdea51186658e0eb1c7f73273bf256c2626512.zip
[X86] improve split-stack machine BB placement
Summary: The conditional branch created to support -fsplit-stack for X86 is left unbiased/unhinted, resulting in less than ideal block placement: the __morestack call block is kept on the main hot path. Bias the branch to insure that the stack allocation block is treated as a "cold" block during machine basic block placement. Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D54123 llvm-svn: 346336
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86FrameLowering.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp
index 67ec867b562..e40b0f81e33 100644
--- a/llvm/lib/Target/X86/X86FrameLowering.cpp
+++ b/llvm/lib/Target/X86/X86FrameLowering.cpp
@@ -2471,8 +2471,8 @@ void X86FrameLowering::adjustForSegmentedStacks(
allocMBB->addSuccessor(&PrologueMBB);
- checkMBB->addSuccessor(allocMBB);
- checkMBB->addSuccessor(&PrologueMBB);
+ checkMBB->addSuccessor(allocMBB, BranchProbability::getZero());
+ checkMBB->addSuccessor(&PrologueMBB, BranchProbability::getOne());
#ifdef EXPENSIVE_CHECKS
MF.verify();
OpenPOWER on IntegriCloud