[llvm-commits] [llvm] r123034 - in /llvm/trunk: lib/Transforms/InstCombine/InstCombineSelect.cpp test/Transforms/InstCombine/select.ll

Tobias Grosser grosser at fim.uni-passau.de
Sat Jan 8 23:27:07 PST 2011


On 01/09/2011 01:46 AM, Cameron Zwarich wrote:
> On Jan 8, 2011, at 7:21 AM, Tobias Grosser wrote:
>
>> On 01/08/2011 05:56 AM, Frits van Bommel wrote:
>>> On Sat, Jan 8, 2011 at 2:44 AM, Benjamin Kramer
>>> <benny.kra at googlemail.com>   wrote:
>>>> On 07.01.2011, at 22:33, Tobias Grosser wrote:
>>>>> +          Constant *sextRHS = ConstantExpr::getSExt(AdjustedRHS,
>>>>> +                                                    SI.getType());
>>>>
>>>> This line (ConstantExpr::getSExt) hits an assertion failure in some files in the test suite
>>>
>>>> And the offending IR is:
>>>>   %175 = sitofp i32 %j.3 to double
>>>>   %174 = icmp slt i32 %j.3, 2
>>>>   %176 = select i1 %174, double 2.000000e+00, double %175
>>>
>>> Fixed in r123061.
>> Hey Frits,
>>
>> thanks a lot.
>
> Even with r123061, I still see the following on one of my tests against SPEC. I guess I should make a reduction for you guys.

Hey Cameron,

no need to spend more time on this. Here is a reduced test case:

define i64 @test50(i32 %a) nounwind { 

   %is_a_nonpositive = icmp ult i32 %a, 3
   %a_ext = sext i32 %a to i64
   %min = select i1 %is_a_nonpositive, i64 2, i64 %a_ext
   ret i64 %min
}

I need to think about a solution. Thanks for reporting.

Tobi



More information about the llvm-commits mailing list