diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-12-11 19:39:55 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-12-11 19:39:55 +0000 |
commit | 817a46454aa22b80069157a2b02717b7edfd9cbb (patch) | |
tree | 86c4fc37f2657e8988e3e3662f7b48c31aa7c128 /lib/CodeGen/PrologEpilogInserter.cpp | |
parent | 0291d7ed0942b218c58ddd900a8f6b3dd80ad023 (diff) | |
download | llvm-817a46454aa22b80069157a2b02717b7edfd9cbb.tar.gz llvm-817a46454aa22b80069157a2b02717b7edfd9cbb.tar.bz2 llvm-817a46454aa22b80069157a2b02717b7edfd9cbb.tar.xz |
Honour setHasCalls() set from isel.
This is used in some weird cases like general dynamic TLS model.
This fixes PR5723
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91144 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/PrologEpilogInserter.cpp')
-rw-r--r-- | lib/CodeGen/PrologEpilogInserter.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/CodeGen/PrologEpilogInserter.cpp b/lib/CodeGen/PrologEpilogInserter.cpp index 4d9f9f8ccd..e94247f371 100644 --- a/lib/CodeGen/PrologEpilogInserter.cpp +++ b/lib/CodeGen/PrologEpilogInserter.cpp @@ -136,9 +136,10 @@ void PEI::getAnalysisUsage(AnalysisUsage &AU) const { /// pseudo instructions. void PEI::calculateCallsInformation(MachineFunction &Fn) { const TargetRegisterInfo *RegInfo = Fn.getTarget().getRegisterInfo(); + MachineFrameInfo *FFI = Fn.getFrameInfo(); unsigned MaxCallFrameSize = 0; - bool HasCalls = false; + bool HasCalls = FFI->hasCalls(); // Get the function call frame set-up and tear-down instruction opcode int FrameSetupOpcode = RegInfo->getCallFrameSetupOpcode(); @@ -166,7 +167,6 @@ void PEI::calculateCallsInformation(MachineFunction &Fn) { HasCalls = true; } - MachineFrameInfo *FFI = Fn.getFrameInfo(); FFI->setHasCalls(HasCalls); FFI->setMaxCallFrameSize(MaxCallFrameSize); |