[Bug rtl-optimization/49847] [4.7/4.8/4.9 Regression] NULL deref in fold_rtx (prev_insn_cc0 == NULL)

steven at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Feb 15 13:13:00 GMT 2014


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

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |steven at gcc dot gnu.org

--- Comment #28 from Steven Bosscher <steven at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #24)
> One could argue that the CFG building code could be tweaked so that a
> cc0-setter is never considered the end of a block.

The CFG is built too early (on gimple) to know what may end up a cc0
setter. It'd take more than a few CFG fixup hacks after expanding to
RTL to get the cc0-setter and cc0-consumer back together in the same
basic block.

How did this work (i.e. what did the CFG look like) before tree-ssa,
e.g. in gcc 3.4?



More information about the Gcc-bugs mailing list