Don't use an i64 return type with webkit_jscc
authorSanjoy Das <sanjoy@playingwithpointers.com>
Fri, 1 Apr 2016 02:51:21 +0000 (02:51 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Fri, 1 Apr 2016 02:51:21 +0000 (02:51 +0000)
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

llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/test/CodeGen/X86/deopt-intrinsic.ll

index 71c015d..e3acfd2 100644 (file)
@@ -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<SDValue, 4> ReturnValues;
   if (!CanLowerReturn) {
index 561da93..f9d7527 100644 (file)
@@ -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: