]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR rtl-optimization/56833 (Valid register is over written by postreload pass)
authorJoern Rennecke <joern.rennecke@embecosm.com>
Mon, 27 May 2013 10:39:01 +0000 (10:39 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Mon, 27 May 2013 10:39:01 +0000 (11:39 +0100)
commit7894bc6be052d30b0c1a68a95b53afe8728cdb9a
treed24a495dc651ed8a16b16f66521c967c0731060a
parent4fed6b2544d5b6678ff139e3f1e1fd993747fc83
re PR rtl-optimization/56833 (Valid register is over written by postreload pass)

        PR rtl-optimization/56833
        * postreload.c (move2add_record_mode): New function.
        (move2add_record_sym_value, move2add_valid_value_p): Likewise.
        (move2add_use_add2_insn): Use move2add_record_sym_value.
        (move2add_use_add3_insn): Likewise.
        (reload_cse_move2add): Use move2add_valid_value_p and
        move2add_record_mode.  Invalidate call-clobbered and REG_INC
        affected regs by setting reg_mode to VOIDmode.
        (move2add_note_store): Don't pretend the inside of a SUBREG is
        the actual destination.  Invalidate single/leading registers by
        setting reg_mode to VOIDmode.
        Use move2add_record_sym_value, move2add_valid_value_p and
        move2add_record_mode.

From-SVN: r199353
gcc/ChangeLog
gcc/postreload.c