[llvm-commits] [llvm] r101875 - in /llvm/trunk: lib/Target/CellSPU/SPUISelLowering.cpp test/CodeGen/CellSPU/crash.ll
Chris Lattner
sabre at nondot.org
Mon Apr 19 22:36:09 PDT 2010
Author: lattner
Date: Tue Apr 20 00:36:09 2010
New Revision: 101875
URL: http://llvm.org/viewvc/llvm-project?rev=101875&view=rev
Log:
teach cellspu how to return i8 and i16 from calls,
patch by Kalle Raiskila!
Added:
llvm/trunk/test/CodeGen/CellSPU/crash.ll
Modified:
llvm/trunk/lib/Target/CellSPU/SPUISelLowering.cpp
Modified: llvm/trunk/lib/Target/CellSPU/SPUISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUISelLowering.cpp?rev=101875&r1=101874&r2=101875&view=diff
==============================================================================
--- llvm/trunk/lib/Target/CellSPU/SPUISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/CellSPU/SPUISelLowering.cpp Tue Apr 20 00:36:09 2010
@@ -1330,22 +1330,12 @@
InVals.push_back(Chain.getValue(0));
}
break;
+ case MVT::i8:
+ case MVT::i16:
case MVT::i64:
- Chain = DAG.getCopyFromReg(Chain, dl, SPU::R3, MVT::i64,
- InFlag).getValue(1);
- InVals.push_back(Chain.getValue(0));
- break;
case MVT::i128:
- Chain = DAG.getCopyFromReg(Chain, dl, SPU::R3, MVT::i128,
- InFlag).getValue(1);
- InVals.push_back(Chain.getValue(0));
- break;
case MVT::f32:
case MVT::f64:
- Chain = DAG.getCopyFromReg(Chain, dl, SPU::R3, Ins[0].VT,
- InFlag).getValue(1);
- InVals.push_back(Chain.getValue(0));
- break;
case MVT::v2f64:
case MVT::v2i64:
case MVT::v4f32:
Added: llvm/trunk/test/CodeGen/CellSPU/crash.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/CellSPU/crash.ll?rev=101875&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/CellSPU/crash.ll (added)
+++ llvm/trunk/test/CodeGen/CellSPU/crash.ll Tue Apr 20 00:36:09 2010
@@ -0,0 +1,8 @@
+; RUN: llc %s -march=cellspu -o -
+declare i8 @return_i8()
+declare i16 @return_i16()
+define void @testfunc() {
+ %rv1 = call i8 @return_i8()
+ %rv2 = call i16 @return_i16()
+ ret void
+}
\ No newline at end of file
More information about the llvm-commits
mailing list