diff options
author | Dan Gohman <dan433584@gmail.com> | 2016-02-17 01:43:37 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2016-02-17 01:43:37 +0000 |
commit | 476ffcec04db048a58047004e98854e3aee482ef (patch) | |
tree | e5d73ce0c38f86c79d73dc8d8c44e450be1fcc81 /llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp | |
parent | f55ebf0e3952fa5578dd8553b13130154bc0f71e (diff) | |
download | bcm5719-llvm-476ffcec04db048a58047004e98854e3aee482ef.tar.gz bcm5719-llvm-476ffcec04db048a58047004e98854e3aee482ef.zip |
[WebAssembly] Call memcpy for large byval copies.
This fixes very slow compilation on
test/CodeGen/Generic/2010-11-04-BigByval.ll . Note that MaxStoresPerMemcpy
and friends are not yet carefully tuned so the cutoff point is currently
somewhat arbitrary. However, it's important that there be a cutoff point
so that we don't emit unbounded quantities of loads and stores.
llvm-svn: 261050
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp index 796b42c77ce..7b3649b5a09 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp @@ -321,7 +321,7 @@ SDValue WebAssemblyTargetLowering::LowerCall( SDValue FINode = DAG.getFrameIndex(FI, getPointerTy(Layout)); Chain = DAG.getMemcpy( Chain, DL, FINode, OutVal, SizeNode, Out.Flags.getByValAlign(), - /*isVolatile*/ false, /*AlwaysInline=*/true, + /*isVolatile*/ false, /*AlwaysInline=*/false, /*isTailCall*/ false, MachinePointerInfo(), MachinePointerInfo()); OutVal = FINode; } |