This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/16967] Iterating gcse.c CPROP and PRE does not reach a fixed point
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Aug 2004 15:54:13 -0000
- Subject: [Bug rtl-optimization/16967] Iterating gcse.c CPROP and PRE does not reach a fixed point
- References: <20040810151043.16967.steven@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From steven at gcc dot gnu dot org 2004-08-10 15:54 -------
The most stupid thing of all is that it does not move the load
out of the loop:
(insn 83 81 41 0 (set (reg:SI 63)
(symbol_ref:SI ("GC_hblkfreelist") [flags 0x40] <var_decl 0x401ce6cc
GC_hblkfreelist>)) 36 {*movsi_1} (nil)
(nil))
(note 41 83 11 1 NOTE_INSN_LOOP_BEG)
(code_label 11 41 12 1 2 "" [1 uses])
(note 12 11 82 1 [bb 1] NOTE_INSN_EXPECTED_VALUE)
(insn 82 12 15 1 (set (reg/f:SI 61)
(symbol_ref:SI ("GC_hblkfreelist") [flags 0x40] <var_decl 0x401ce6cc
GC_hblkfreelist>)) 36 {*movsi_1} (nil)
Why does PRE not delete insn 82 after making it fully redundant?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16967