This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: REG_EH_REGION notes and substitutions into insn


    You mean e.g. something of the form

  (insn (set (reg)
	     (mem/u (lo_sum (reg) (symbol_ref ".LC0"))))
     (REG_EH_REGION (const_int)
       (REG_EQUAL (const_double))))

Or just the MEM's address being a SYMBOL_REF and the REG_EQUIV note
being the MEM.

    Ideally cse or combine or whatever would have noticed that the memory
    doesn't trap -- possibly by the fact that it added a REG_EQUAL note,
    as if it doesn't change the form of the mem, may_trap_p may still
    return true.

    Once the REG_EH_REGION note is removed, the edge removal would
    be taken care of by purge_dead_edges.

But who is supposed to remove the note?  I see no code to do that and that's
what appears to be the problem.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]