Another problem with "Recommit r265547, and r265610, r265639, r265657"

Quentin Colombet via llvm-commits llvm-commits at lists.llvm.org
Tue May 17 14:16:30 PDT 2016


> On May 12, 2016, at 5:40 AM, Mikael Holmén <mikael.holmen at ericsson.com> wrote:
> 
> Hi Wei and Quentin,
> 
> On 05/10/2016 07:55 PM, Wei Mi wrote:
> [...]
>> Mikael, thanks for getting the dump. The problem is that in Phoenix
>> Post Coalescer, the following instruction becomes dead and it is
>> marked as dead, but it is never deleted until regsplit in regalloc
>> finds it dead and calls eliminateDeadDef for it.
>> 
>> %vreg51<def,dead,tied1> = addh_nimm5_a32_aNhDst_formatDstN32
>> %vreg51<tied0>, 4, pred:0, pred:%noreg, pred:0, %CCReg<imp-def,dead>,
>> %cuc<imp-use>; aNh_0_7:%vreg51
> 
> Yes, this instruction is introduced by our software pipeline pass running post coalescer. In the epilogue produced by the software pipeliner there may be dead code.
> 
>> Maybe regalloc should allow IR containing dead instruction as its
>> input, since itself leaves some dead instructions in the IR for the
>> sake of better rematerialization.  Quentin, what do you think? If that
>> is the case, the patch D19486 maybe needed.

As long as the IR is valid then, yes, we should add the required bits to support it.

Cheers,
Q.

> 
> Sounds good to me but I don't know if that breaks any general assumption.
> 
> Quentin?

> 
> Thanks,
> Mikael
> 
>> 
>> Wei.
>> 



More information about the llvm-commits mailing list