diff options
author | Dan Gohman <dan433584@gmail.com> | 2015-11-14 23:15:41 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2015-11-14 23:15:41 +0000 |
commit | 8ad045c1d14ff13a6f4acb3ce1ed83c1111856a8 (patch) | |
tree | 44f41f79c1b98535322aad5252b60070e54aa62b /llvm/lib | |
parent | c17e140b39d7874feaf049b92539fb7b122c4af9 (diff) | |
download | bcm5719-llvm-8ad045c1d14ff13a6f4acb3ce1ed83c1111856a8.tar.gz bcm5719-llvm-8ad045c1d14ff13a6f4acb3ce1ed83c1111856a8.zip |
[WebAssembly] Support signext, zeroext, and several other function attributes.
llvm-svn: 253148
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp index b79cbb18f57..85a123bdc56 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp @@ -309,8 +309,6 @@ WebAssemblyTargetLowering::LowerCall(CallLoweringInfo &CLI, Chain = Res.getValue(1); } - // FIXME: handle CLI.RetSExt and CLI.RetZExt? - Chain = DAG.getCALLSEQ_END(Chain, NB, Zero, SDValue(), DL); return Chain; @@ -342,22 +340,12 @@ SDValue WebAssemblyTargetLowering::LowerReturn( // Record the number and types of the return values. for (const ISD::OutputArg &Out : Outs) { - if (Out.Flags.isZExt()) - fail(DL, DAG, "WebAssembly hasn't implemented zext results"); - if (Out.Flags.isSExt()) - fail(DL, DAG, "WebAssembly hasn't implemented sext results"); - if (Out.Flags.isInReg()) - fail(DL, DAG, "WebAssembly hasn't implemented inreg results"); - if (Out.Flags.isSRet()) - fail(DL, DAG, "WebAssembly hasn't implemented sret results"); if (Out.Flags.isByVal()) fail(DL, DAG, "WebAssembly hasn't implemented byval results"); if (Out.Flags.isInAlloca()) fail(DL, DAG, "WebAssembly hasn't implemented inalloca results"); if (Out.Flags.isNest()) fail(DL, DAG, "WebAssembly hasn't implemented nest results"); - if (Out.Flags.isReturned()) - fail(DL, DAG, "WebAssembly hasn't implemented returned results"); if (Out.Flags.isInConsecutiveRegs()) fail(DL, DAG, "WebAssembly hasn't implemented cons regs results"); if (Out.Flags.isInConsecutiveRegsLast()) @@ -383,22 +371,12 @@ SDValue WebAssemblyTargetLowering::LowerFormalArguments( unsigned ArgNo = 0; for (const ISD::InputArg &In : Ins) { - if (In.Flags.isZExt()) - fail(DL, DAG, "WebAssembly hasn't implemented zext arguments"); - if (In.Flags.isSExt()) - fail(DL, DAG, "WebAssembly hasn't implemented sext arguments"); - if (In.Flags.isInReg()) - fail(DL, DAG, "WebAssembly hasn't implemented inreg arguments"); - if (In.Flags.isSRet()) - fail(DL, DAG, "WebAssembly hasn't implemented sret arguments"); if (In.Flags.isByVal()) fail(DL, DAG, "WebAssembly hasn't implemented byval arguments"); 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"); - if (In.Flags.isReturned()) - fail(DL, DAG, "WebAssembly hasn't implemented returned arguments"); if (In.Flags.isInConsecutiveRegs()) fail(DL, DAG, "WebAssembly hasn't implemented cons regs arguments"); if (In.Flags.isInConsecutiveRegsLast()) |