diff options
author | David Meyer <pdox@google.com> | 2011-09-26 06:13:20 +0000 |
---|---|---|
committer | David Meyer <pdox@google.com> | 2011-09-26 06:13:20 +0000 |
commit | b1fbf9ff2639e8fb10d5fa21b84aa019f85e74c9 (patch) | |
tree | 1e2df18e4db5acaafdc8940b557c2e771a4652d2 /llvm/lib/Target/ARM/ARMISelLowering.cpp | |
parent | 45faba98b436a4039635e245f118a3c3ee73e609 (diff) | |
download | bcm5719-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.cpp | 4 |
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))); |