[Bug debug/79015] ICE in get_insn_template in gcc/final.c:2081
allizgubccg at reallysoft dot de
gcc-bugzilla@gcc.gnu.org
Fri Nov 10 08:19:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79015
Ralf <allizgubccg at reallysoft dot de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |allizgubccg at reallysoft dot de
--- Comment #2 from Ralf <allizgubccg at reallysoft dot de> ---
I encounter very similar internal compiler errors for several source files and
with several gcc version (tested: 5.5, 6.3 and 7.1).
The affected functions contain huge amounts of generated test code.
Starting with gcc 7.1 the compilation times for some of these modules raised up
to several minutes, so I tried to disable optimization for the test code to
reduce compile times.
For compilations done with -O1 up to-O3 and -Wdisabled-optimization I get the
following warnings
--------------------
adquery.cxx: In function 'void TEST_DB_search()':
adquery.cxx:936: warning: const/copy propagation disabled: 8163 basic blocks
and 57756 registers [-Wdisabled-optimization]
adquery.cxx:936: warning: PRE disabled: 8163 basic blocks and 57756 registers
[-Wdisabled-optimization]
adquery.cxx:936: warning: const/copy propagation disabled: 8163 basic blocks
and 57756 registers [-Wdisabled-optimization]
adquery.cxx:936: warning: const/copy propagation disabled: 8163 basic blocks
and 57756 registers [-Wdisabled-optimization]
--------------------
To disable the unneeded, time-consuming optimization I've attributed the
functions where these warnings occurred with
__attribute__((optimize("no-var-tracking")))
which caused gcc to terminate with:
--------------------
adquery.cxx:936:1: internal compiler error: in get_insn_template, at
final.c:2124
0x8583f6 get_insn_template(int, rtx_def*)
../../gcc-5.5.0/gcc/final.c:2124
0x85a9ba final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
../../gcc-5.5.0/gcc/final.c:2986
0x85b2c9 final(rtx_insn*, _IO_FILE*, int)
../../gcc-5.5.0/gcc/final.c:2089
0x85b71b rest_of_handle_final
../../gcc-5.5.0/gcc/final.c:4488
0x85b71b execute
../../gcc-5.5.0/gcc/final.c:4563
Please submit a full bug report, ...
--------------------
Adding a second attribute
__attribute__((optimize("no-var-tracking-assignments")))
made the problem disappear reproducible.
More information about the Gcc-bugs
mailing list