Another problem with "Recommit r265547, and r265610,r265639,r265657"
Mikael Holmén via llvm-commits
llvm-commits at lists.llvm.org
Thu May 12 05:40:09 PDT 2016
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.
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