summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMISelLowering.cpp
diff options
context:
space:
mode:
authorDavid Meyer <pdox@google.com>2011-09-26 06:13:20 +0000
committerDavid Meyer <pdox@google.com>2011-09-26 06:13:20 +0000
commitb1fbf9ff2639e8fb10d5fa21b84aa019f85e74c9 (patch)
tree1e2df18e4db5acaafdc8940b557c2e771a4652d2 /llvm/lib/Target/ARM/ARMISelLowering.cpp
parent45faba98b436a4039635e245f118a3c3ee73e609 (diff)
downloadbcm5719-llvm-b1fbf9ff2639e8fb10d5fa21b84aa019f85e74c9.tar.gz
bcm5719-llvm-b1fbf9ff2639e8fb10d5fa21b84aa019f85e74c9.zip
PR11004: Inline memcpy to avoid generating nested call sequence. Un-XFAIL 2011-06-09-TailCallByVal and 2010-11-04-BigByval
llvm-svn: 140516
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 697af66ec9c..9f313859d56 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -1340,10 +1340,12 @@ ARMTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
SDValue Src = DAG.getNode(ISD::ADD, dl, getPointerTy(), Arg, SrcOffset);
SDValue SizeNode = DAG.getConstant(Flags.getByValSize() - 4*offset,
MVT::i32);
+ // TODO: Disable AlwaysInline when it becomes possible
+ // to emit a nested call sequence.
MemOpChains.push_back(DAG.getMemcpy(Chain, dl, Dst, Src, SizeNode,
Flags.getByValAlign(),
/*isVolatile=*/false,
- /*AlwaysInline=*/false,
+ /*AlwaysInline=*/true,
MachinePointerInfo(0),
MachinePointerInfo(0)));
OpenPOWER on IntegriCloud