[llvm] r255180 - [WebAssembly] Fix copy+pastos.
Dan Gohman via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 9 16:22:40 PST 2015
Author: djg
Date: Wed Dec 9 18:22:40 2015
New Revision: 255180
URL: http://llvm.org/viewvc/llvm-project?rev=255180&view=rev
Log:
[WebAssembly] Fix copy+pastos.
Modified:
llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Modified: llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp?rev=255180&r1=255179&r2=255180&view=diff
==============================================================================
--- llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp Wed Dec 9 18:22:40 2015
@@ -313,14 +313,16 @@ WebAssemblyTargetLowering::LowerCall(Cal
SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
for (const ISD::OutputArg &Out : Outs) {
- assert(!Out.Flags.isByVal() && "byval is not valid for return values");
- assert(!Out.Flags.isNest() && "nest is not valid for return values");
+ if (Out.Flags.isByVal())
+ fail(DL, DAG, "WebAssembly hasn't implemented byval arguments");
+ if (Out.Flags.isNest())
+ fail(DL, DAG, "WebAssembly hasn't implemented nest arguments");
if (Out.Flags.isInAlloca())
- fail(DL, DAG, "WebAssembly hasn't implemented inalloca results");
+ fail(DL, DAG, "WebAssembly hasn't implemented inalloca arguments");
if (Out.Flags.isInConsecutiveRegs())
- fail(DL, DAG, "WebAssembly hasn't implemented cons regs results");
+ fail(DL, DAG, "WebAssembly hasn't implemented cons regs arguments");
if (Out.Flags.isInConsecutiveRegsLast())
- fail(DL, DAG, "WebAssembly hasn't implemented cons regs last results");
+ fail(DL, DAG, "WebAssembly hasn't implemented cons regs last arguments");
}
bool IsVarArg = CLI.IsVarArg;
@@ -388,16 +390,14 @@ WebAssemblyTargetLowering::LowerCall(Cal
SmallVector<EVT, 8> Tys;
for (const auto &In : Ins) {
- if (In.Flags.isByVal())
- fail(DL, DAG, "WebAssembly hasn't implemented byval arguments");
+ assert(!In.Flags.isByVal() && "byval is not valid for return values");
+ assert(!In.Flags.isNest() && "nest is not valid for return values");
if (In.Flags.isInAlloca())
- fail(DL, DAG, "WebAssembly hasn't implemented inalloca arguments");
- if (In.Flags.isNest())
- fail(DL, DAG, "WebAssembly hasn't implemented nest arguments");
+ fail(DL, DAG, "WebAssembly hasn't implemented inalloca return values");
if (In.Flags.isInConsecutiveRegs())
- fail(DL, DAG, "WebAssembly hasn't implemented cons regs arguments");
+ fail(DL, DAG, "WebAssembly hasn't implemented cons regs return values");
if (In.Flags.isInConsecutiveRegsLast())
- fail(DL, DAG, "WebAssembly hasn't implemented cons regs last arguments");
+ fail(DL, DAG, "WebAssembly hasn't implemented cons regs last return values");
// Ignore In.getOrigAlign() because all our arguments are passed in
// registers.
Tys.push_back(In.VT);
More information about the llvm-commits
mailing list