[llvm] r176649 - [fast-isel] Add support for the expect intrinsic.

Chad Rosier mcrosier at apple.com
Thu Mar 7 13:44:59 PST 2013


On Mar 7, 2013, at 1:36 PM, Bill Wendling <wendling at apple.com> wrote:

> On Mar 7, 2013, at 12:42 PM, Chad Rosier <mcrosier at apple.com> wrote:
> 
>> Author: mcrosier
>> Date: Thu Mar  7 14:42:17 2013
>> New Revision: 176649
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=176649&view=rev
>> Log:
>> [fast-isel] Add support for the expect intrinsic.
>> rdar://13370942
>> 
>> Modified:
>>   llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
>>   llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll
>> 
>> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp?rev=176649&r1=176648&r2=176649&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp Thu Mar  7 14:42:17 2013
>> @@ -698,6 +698,11 @@ bool FastISel::SelectCall(const User *I)
>>    UpdateValueMap(Call, ResultReg);
>>    return true;
>>  }
>> +  case Intrinsic::expect: {
>> +//    unsigned ResultReg = getRegForValue(Call->getArgOperand(0));
>> +//    UpdateValueMap(Call, ResultReg);
>> +//    return true;
>> +  }
>>  }
>> 
> ?? Why is this all commented out?

Opps… I commented out the code to make sure the test failed prior to my change, but then forgot to uncomment them out.. :o/

Committed revision 176659.  Thanks, Bill.

> -bw
> 
>>  // Usually, it does not make sense to initialize a value,
>> 
>> Modified: llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll?rev=176649&r1=176648&r2=176649&view=diff
>> ==============================================================================
>> --- llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll (original)
>> +++ llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll Thu Mar  7 14:42:17 2013
>> @@ -238,3 +238,15 @@ define void @t7() nounwind ssp {
>>  call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds ([60 x i8]* @temp, i32 0, i32 4), i8* getelementptr inbounds ([60 x i8]* @temp, i32 0, i32 16), i32 3, i32 2, i1 false)
>>  ret void
>> }
>> +
>> +define i32 @t8(i32 %x) nounwind {
>> +entry:
>> +; ARM: t8
>> +; ARM-NOT: FastISel missed call:   %expval = call i32 @llvm.expect.i32(i32 %x, i32 1)
>> +; THUMB: t8
>> +; THUMB-NOT: FastISel missed call:   %expval = call i32 @llvm.expect.i32(i32 %x, i32 1)
>> +  %expval = call i32 @llvm.expect.i32(i32 %x, i32 1)
>> +  ret i32 %expval
>> +}
>> +
>> +declare i32 @llvm.expect.i32(i32, i32) nounwind readnone
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130307/ab1f0792/attachment.html>


More information about the llvm-commits mailing list