diff options
| author | Bill Wendling <isanbard@gmail.com> | 2010-07-08 22:38:02 +0000 |
|---|---|---|
| committer | Bill Wendling <isanbard@gmail.com> | 2010-07-08 22:38:02 +0000 |
| commit | 29b3696ea35b833f392f87faddff61f24a496833 (patch) | |
| tree | 23916f51b78f63ebb57dcb71a32a8394029c5ddf /lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | |
| parent | dffba45bcead389e957392f8cb5daef087f2c67c (diff) | |
| download | external_llvm-29b3696ea35b833f392f87faddff61f24a496833.zip external_llvm-29b3696ea35b833f392f87faddff61f24a496833.tar.gz external_llvm-29b3696ea35b833f392f87faddff61f24a496833.tar.bz2 | |
Extension of r107506. Make sure that we don't mark a function as having a call
if the inline ASM doesn't need a stack frame.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107922 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
| -rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 5c14bf3..5eb1a00 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -300,7 +300,8 @@ bool SelectionDAGISel::runOnMachineFunction(MachineFunction &mf) { for (MachineBasicBlock::const_iterator II = MBB->begin(), IE = MBB->end(); II != IE; ++II) { const TargetInstrDesc &TID = TM.getInstrInfo()->get(II->getOpcode()); - if (II->isInlineAsm() || (TID.isCall() && !TID.isReturn())) { + if ((II->isInlineAsm() && II->getOperand(1).getImm()) || + (TID.isCall() && !TID.isReturn())) { MFI->setHasCalls(true); goto done; } |
