[Bug target/72749] [7 Regression] ICE: verify_flow_info failed (error: wrong amount of branch edges after conditional jump in bb 5) w/ -O2 -fsched2-use-superblocks
amodra at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Jan 14 13:25:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72749
--- Comment #10 from Alan Modra <amodra at gcc dot gnu.org> ---
Author: amodra
Date: Sat Jan 14 13:24:46 2017
New Revision: 244465
URL: https://gcc.gnu.org/viewcvs?rev=244465&root=gcc&view=rev
Log:
Avoid PR72749 by not using unspecs
Rather than using unspecs in doloop insns to stop combine creating
these insns, use legitimate_combined_insn.
PR target/72749
* combine.c (recog_for_combine_1): Set INSN_CODE before calling
target legitimate_combined_insn.
* config/rs6000/rs6000.c (TARGET_LEGITIMATE_COMBINED_INSN): Define.
(rs6000_legitimate_combined_insn): New function.
* config/rs6000/rs6000.md (UNSPEC_DOLOOP): Delete, and remove
all uses.
(ctr<mode>_internal3): Rename from *ctr<mode>_internal5.
(ctr<mode>_internal4): Rename from *ctr<mode>_internal6.
(ctr<mode>_internal1, ctr<mode>_internal2): Remove '*' from name.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.md
More information about the Gcc-bugs
mailing list