summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2010-07-08 22:38:02 +0000
committerBill Wendling <isanbard@gmail.com>2010-07-08 22:38:02 +0000
commita992445ff2949c7c848b5695bd180c8029e37468 (patch)
tree04792a814a6cea8bf47a194b82b4669e304d1a69 /llvm/lib/CodeGen
parent75c465585acc11ca8f985623e6cc51f2eb895608 (diff)
downloadbcm5719-llvm-a992445ff2949c7c848b5695bd180c8029e37468.tar.gz
bcm5719-llvm-a992445ff2949c7c848b5695bd180c8029e37468.zip
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. llvm-svn: 107922
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index 5c14bf319e0..5eb1a003bc6 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/llvm/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;
}
OpenPOWER on IntegriCloud