From: Sanjoy Das Date: Fri, 1 Apr 2016 02:51:21 +0000 (+0000) Subject: Don't use an i64 return type with webkit_jscc X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9d41a8f269a284cf1b08c0cd37d3c38be6f0d2a2;p=platform%2Fupstream%2Fllvm.git Don't use an i64 return type with webkit_jscc Re-enable an assertion enabled by Justin Lebar in rL265092. rL265092 was breaking test/CodeGen/X86/deopt-intrinsic.ll because webkit_jscc does not like non-i64 return types. Change the test case to not do that. llvm-svn: 265099 --- diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 71c015d..e3acfd2 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -7446,12 +7446,13 @@ TargetLowering::LowerCallTo(TargetLowering::CallLoweringInfo &CLI) const { return std::make_pair(SDValue(), SDValue()); } - DEBUG(for (unsigned i = 0, e = CLI.Ins.size(); i != e; ++i) { - assert(InVals[i].getNode() && - "LowerCall emitted a null value!"); - assert(EVT(CLI.Ins[i].VT) == InVals[i].getValueType() && - "LowerCall emitted a value with the wrong type!"); - }); +#ifndef NDEBUG + for (unsigned i = 0, e = CLI.Ins.size(); i != e; ++i) { + assert(InVals[i].getNode() && "LowerCall emitted a null value!"); + assert(EVT(CLI.Ins[i].VT) == InVals[i].getValueType() && + "LowerCall emitted a value with the wrong type!"); + } +#endif SmallVector ReturnValues; if (!CanLowerReturn) { diff --git a/llvm/test/CodeGen/X86/deopt-intrinsic.ll b/llvm/test/CodeGen/X86/deopt-intrinsic.ll index 561da93..f9d7527 100644 --- a/llvm/test/CodeGen/X86/deopt-intrinsic.ll +++ b/llvm/test/CodeGen/X86/deopt-intrinsic.ll @@ -7,7 +7,7 @@ target triple = "x86_64-apple-macosx10.11.0" declare i32 @llvm.experimental.deoptimize.i32(...) declare i8 @llvm.experimental.deoptimize.i8(...) -declare webkit_jscc i16 @llvm.experimental.deoptimize.i16(...) +declare webkit_jscc i64 @llvm.experimental.deoptimize.i64(...) define i32 @caller_0() { ; CHECK-LABEL: _caller_0: @@ -44,7 +44,7 @@ entry: ret i8 %v } -define i16 @caller_2() { +define i64 @caller_2() { ; CHECK-LABEL: _caller_2: ; CHECK-NEXT: {{.+cfi.+}} ; CHECK-NEXT: ##{{.+}} @@ -59,8 +59,8 @@ define i16 @caller_2() { ; CHECK-NEXT: retq entry: - %v = call webkit_jscc i16(...) @llvm.experimental.deoptimize.i16(i32 42, float 500.0) [ "deopt"(i32 3) ] - ret i16 %v + %v = call webkit_jscc i64(...) @llvm.experimental.deoptimize.i64(i32 42, float 500.0) [ "deopt"(i32 3) ] + ret i64 %v } ; STACKMAPS: Stack Maps: callsites: