Hello! > On Tue, 27 Nov 2012, Jakub Jelinek wrote: > > On Tue, Nov 27, 2012 at 06:44:23AM -0500, Hans-Peter Nilsson wrote: > > JFTR: No I didn't, Eric wrote the below. But, it made sense to me. :) > > > > > We apparently have a small conflict between the meaning of volatile > > > > asms with > > > > operands at the source level and volatile_insn_p. However, I think > > > > that the > > > > latter interpretation is the correct one: if your asm statements have > > > > effects > > > > that can be described, then you should use output constraints instead of > > > > volatile; otherwise, you should use volatile and the output constraints > > > > have > > > > essentially no meaning. > > > > I strongly disagree with this. > > [...] > > As long as volatile asms and UNSPEC_VOLATILE insns (aka. > barriers) are handled the same way and consistently throughout > gcc, I'm fine. It seems your patch does that, so thanks! > > > But the question is also what effects your patch can have e.g. on RTL DSE. > > Looks like the patch caused a bootstrap for s390x. > > Eagerly awaiting a PR for that, but whoever is interested > on that, please try Jakub's patch first... > > > 2012-11-26 Jakub Jelinek <ja...@redhat.com> > > > > PR debug/36728 > > PR debug/55467 > > * cselib.c (cselib_process_insn): If cselib_preserve_constants, > > don't reset table and exit early on volatile insns and setjmp. > > Reset table afterwards on setjmp. > > > > * gcc.dg/guality/pr36728-1.c: Include "../nop.h", make sure the asm > > are non-empty and add dependency between the first and second asm. > > * gcc.dg/guality/pr36728-2.c: Likewise. > > * gcc.dg/guality/pr36728-3.c: New test. > > * gcc.dg/guality/pr36728-4.c: New test.
I have hit the same ICE on alpha-linux-gnu bootstrap. Jakub's patch fixes the ICE, and allows bootstrap to pass well into stage2 now. However, it takes ~10 hours for full bootstrap+regtest to finish, will report back tomorrow morning (CET). Uros.