[llvm] r265099 - Don't use an i64 return type with webkit_jscc

Sanjoy Das via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 31 19:51:22 PDT 2016


Author: sanjoy
Date: Thu Mar 31 21:51:21 2016
New Revision: 265099

URL: http://llvm.org/viewvc/llvm-project?rev=265099&view=rev
Log:
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.

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

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp?rev=265099&r1=265098&r2=265099&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp Thu Mar 31 21:51:21 2016
@@ -7446,12 +7446,13 @@ TargetLowering::LowerCallTo(TargetLoweri
     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) {

Modified: llvm/trunk/test/CodeGen/X86/deopt-intrinsic.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/deopt-intrinsic.ll?rev=265099&r1=265098&r2=265099&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/deopt-intrinsic.ll (original)
+++ llvm/trunk/test/CodeGen/X86/deopt-intrinsic.ll Thu Mar 31 21:51:21 2016
@@ -7,7 +7,7 @@ target triple = "x86_64-apple-macosx10.1
 
 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:




More information about the llvm-commits mailing list