On Sat, Apr 28, 2012 at 5:15 PM, Eric Botcazou <ebotca...@adacore.com> wrote: >> I am sorry for misleading description. By "propagate register 172 in >> insn79 and delete insn78" >> I was meaning that gcc replaces reg 172 in insn79 with another >> register contains ZERO and >> that register(saying reg X) is defined in other basic blocks. > > OK, in this case I think you need to find out why no local pass before the > problematic global pass does the obvious constant propagation into insn 79. > Yes, the reason here should be the pattern for insn 79 has predicates on its operands and does not allow constant here.
Thanks -- Best Regards.