Patch - Allow calls that return i8 or i16. On SPU.

hi,

either function call in this code makes llc (targeting SPU) assert:

declare i8 @return_i8()
declare i16 @return_i16()
define void @testfunc() {
   %rv1 = call i8 @return_i8()
   %rv2 = call i16 @return_i16()
   ret void
}

Attached is a patch to fix it, and remove some related redundant code.
Does this rather trivial fix warrant a test case?

kalle

spu_call_i8_i16.patch (996 Bytes)

hi,

either function call in this code makes llc (targeting SPU) assert:

declare i8 @return_i8()
declare i16 @return_i16()
define void @testfunc() {
%rv1 = call i8 @return_i8()
%rv2 = call i16 @return_i16()
ret void
}

Attached is a patch to fix it, and remove some related redundant code.

Thanks applied here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20100419/100138.html

Does this rather trivial fix warrant a test case?

Absolutely, and I included it in the patch above. Please include new testcases in the .patch file, it makes them easier to apply. Thanks for the fixes!

-Chris