On Mon, Jan 13, 2014 at 2:29 PM, Jeff Law <l...@redhat.com> wrote: > On 01/11/14 02:21, Bin.Cheng wrote: >> >> On Sat, Jan 11, 2014 at 5:07 PM, Jakub Jelinek <ja...@redhat.com> wrote: >>> >>> On Sat, Jan 11, 2014 at 05:02:26PM +0800, Bin.Cheng wrote: >>>>> >>>>> I reduced the case and attached ivopt dumps with/without the patch. >>>>> It seems the patch is doing right thing and choosing better >>>>> candidates, most likely it reveals an existing bug. >>>>> I am looking into this issue, in the meantime, I am wondering should I >>>>> apply the patch and file a PR for it, or apply the patch after root >>>>> causing it? >>> >>> >>> Sounds like PR59743 which should be already fixed. >> >> Yes, it is. I just did the test against trunk exactly before Jeff's fix. >> Then I will apply the patch to trunk. >> >> And an additional question: Are these uses before definition always >> caused by uninitialized use in GCC? > > In general, no. > > Consider a loop where an object's use is guarded (say it only gets used on > the 2nd and later iterations) and the set is unguarded. ISTM that the > reaching def would be from a later insn in the loop. I see, thanks for elaborating. BTW, I applied the approved patch as revision 206552, and there should be no case violated anymore.
Thanks, bin > > jeff > -- Best Regards.