[llvm-commits] [llvm] r71199 - in /llvm/trunk: lib/Transforms/Utils/InlineFunction.cpp test/Transforms/Inline/2009-05-07-CallUsingSelfCrash.ll

Chris Lattner clattner at apple.com
Fri May 8 09:12:32 PDT 2009


On May 8, 2009, at 12:26 AM, Duncan Sands wrote:
> Hi Eli,
>> PR4123: don't crash when inlining a call which uses its own result.
>> +define void @func_113(%struct.S1* noalias nocapture sret  
>> %agg.result, i8 signext %p_114) noreturn nounwind {
>> +entry:
>> +	unreachable
>> +
>> +for.inc:		; preds = %for.inc
>> +	%call48 = call fastcc signext i8 @safe_sub_func_uint8_t_u_u(i8  
>> signext %call48)		; <i8> [#uses=1]
>> +	br label %for.inc
>> +}
>
> is this really valid IR?  Maybe this is more a question of
> fixing the verifier...

Code in dead blocks is allowed to violate some ssa constraints, this  
one in particular.

-Chris



More information about the llvm-commits mailing list