On Tue, Nov 27, 2012 at 01:03:47PM +0100, Jakub Jelinek wrote: > So, at least from var-tracking POV which doesn't attempt to perform any > optimizations across any insn, just tries to track where values live, IMHO a > volatile asm acts exactly the same as non-volatile, that is why I'm testing > following patch right now. > > 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.
Bootstrapped/regtested fine on x86_64-linux and i686-linux (and fixes the pr36728-[34].c failures that appear without the patch, which are of the wrong debug kind). Jakub