http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55467



Jakub Jelinek <jakub at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

  Attachment #28789|0                           |1

        is obsolete|                            |

             Status|REOPENED                    |ASSIGNED

         AssignedTo|unassigned at gcc dot       |jakub at gcc dot gnu.org

                   |gnu.org                     |



--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-11-27 
10:42:46 UTC ---

Created attachment 28791

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28791

gcc48-pr55467.patch



Actually, I think for var-tracking it is completely nonsensical to reset the

table and not call the hook on volatile insns.  Var-tracking isn't performing

any CSE or similar across the volatile insns, all it cares about are what

values are preserved and what values are clobbered across them.  And that is

independent on whether they are volatile or not, even volatile asm can't

clobber registers it doesn't describe to be clobbered, and memory it doesn't

describe to be clobbered.  So, instead of adding lots of code to somehow call

the hook anyway for these instructions (even for setjmp we e.g. want to

generate NOTE_INSN_CALL_ARG_LOCATION note), I think it is better just to reset

everything only when cselib isn't used in var-tracking.

Reply via email to