This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/64217] New: LRA: generate wrong liveness info after r217947 for clobber in jump_insn
- From: "npickito at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 08 Dec 2014 07:29:13 +0000
- Subject: [Bug rtl-optimization/64217] New: LRA: generate wrong liveness info after r217947 for clobber in jump_insn
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64217
Bug ID: 64217
Summary: LRA: generate wrong liveness info after r217947 for
clobber in jump_insn
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: npickito at gmail dot com
Created attachment 34214
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34214&action=edit
rtl dumps for r217946 and r217947
Configure:
--target=nds32le-elf --enable-checking=yes
Testcase:
testsuite/gcc.c-torture/compile/20020116-1.c
How to reproduce:
nds32le-elf-gcc testsuite/gcc.c-torture/compile/20020116-1.c -O0
What's happen:
...
(jump_insn 17 56 18 4 (parallel [
(set (pc)
(mem:SI (plus:SI (mult:SI (reg:SI 45)
(const_int 4 [0x4]))
(label_ref 18)) [0 S4 A32]))
(use (label_ref 18))
(clobber (reg:SI 47))
(clobber (reg:SI 15 $ta))
]) testsuite/gcc.c-torture/compile/20020116-1.c:13 87 {casesi_internal}
(expr_list:REG_DEAD (reg:SI 45)
(expr_list:REG_UNUSED (reg:SI 47)
(expr_list:REG_UNUSED (reg:SI 15 $ta)
(nil))))
-> 18)
...
LRA dump in r217946:
...
r47: [15..16]
...
Compressing live ranges: from 21 to 15 - 71%
Ranges after the compression:
...
r47: [11..12]
...
LRA dump in r217947:
...
r47: [0..26]
...
Compressing live ranges: from 27 to 15 - 55%
Ranges after the compression:
...
r47: [0..14]
...
Full dump in attachment.
Back trace:
~/gcc-trunk/gcc/testsuite/gcc.c-torture/compile/20020116-1.c: In function
'main':
~/gcc-trunk/gcc/testsuite/gcc.c-torture/compile/20020116-1.c:28:1: internal
compiler error: in lra_assign, at lra-assigns.c:1536
}
^
0xb6015d lra_assign()
../../src/gcc/lra-assigns.c:1536
0xb5a022 lra(_IO_FILE*)
../../src/gcc/lra.c:2322
0xb0ce20 do_reload
../../src/gcc/ira.c:5391
0xb0d1b2 execute
../../src/gcc/ira.c:5561
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.