mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
PR11004: Inline memcpy to avoid generating nested call sequence. Un-XFAIL 2011-06-09-TailCallByVal and 2010-11-04-BigByval
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140516 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
100d86ada5
commit
8f418b11d2
@ -1340,10 +1340,12 @@ ARMTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
|||||||
SDValue Src = DAG.getNode(ISD::ADD, dl, getPointerTy(), Arg, SrcOffset);
|
SDValue Src = DAG.getNode(ISD::ADD, dl, getPointerTy(), Arg, SrcOffset);
|
||||||
SDValue SizeNode = DAG.getConstant(Flags.getByValSize() - 4*offset,
|
SDValue SizeNode = DAG.getConstant(Flags.getByValSize() - 4*offset,
|
||||||
MVT::i32);
|
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,
|
MemOpChains.push_back(DAG.getMemcpy(Chain, dl, Dst, Src, SizeNode,
|
||||||
Flags.getByValAlign(),
|
Flags.getByValAlign(),
|
||||||
/*isVolatile=*/false,
|
/*isVolatile=*/false,
|
||||||
/*AlwaysInline=*/false,
|
/*AlwaysInline=*/true,
|
||||||
MachinePointerInfo(0),
|
MachinePointerInfo(0),
|
||||||
MachinePointerInfo(0)));
|
MachinePointerInfo(0)));
|
||||||
|
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
; DISABLED: llc < %s -relocation-model=pic -mcpu=cortex-a8 -arm-tail-calls=1 | FileCheck %s
|
; RUN: llc < %s -relocation-model=pic -mcpu=cortex-a8 -arm-tail-calls=1 | FileCheck %s
|
||||||
; RUN: false
|
|
||||||
|
|
||||||
; byval is currently unsupported.
|
|
||||||
; XFAIL: *
|
|
||||||
|
|
||||||
target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:64-v128:32:128-a0:0:32-n32"
|
target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:64-v128:32:128-a0:0:32-n32"
|
||||||
target triple = "thumbv7-apple-darwin10"
|
target triple = "thumbv7-apple-darwin10"
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
; RUN: llc < %s
|
; RUN: llc < %s
|
||||||
; PR7170
|
; PR7170
|
||||||
; XFAIL: arm
|
|
||||||
|
|
||||||
%big = type [131072 x i8]
|
%big = type [131072 x i8]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user