[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