This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/63156] New: web can't handle AUTOINC correctly
- From: "carrot at google dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 03 Sep 2014 17:06:01 +0000
- Subject: [Bug rtl-optimization/63156] New: web can't handle AUTOINC correctly
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63156
Bug ID: 63156
Summary: web can't handle AUTOINC correctly
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: carrot at google dot com
Check out the latest trunk, apply the following patch to move web before IRA
Index: passes.def
===================================================================
--- passes.def (revision 214881)
+++ passes.def (working copy)
@@ -364,7 +364,6 @@
NEXT_PASS (pass_rtl_loop_done);
TERMINATE_PASS_LIST ()
POP_INSERT_PASSES ()
- NEXT_PASS (pass_web);
NEXT_PASS (pass_rtl_cprop);
NEXT_PASS (pass_cse2);
NEXT_PASS (pass_rtl_dse1);
@@ -385,6 +384,7 @@
NEXT_PASS (pass_sms);
NEXT_PASS (pass_live_range_shrinkage);
NEXT_PASS (pass_sched);
+ NEXT_PASS (pass_web);
NEXT_PASS (pass_ira);
NEXT_PASS (pass_reload);
NEXT_PASS (pass_postreload);
Build an arm gcc, run following test
make check-gcc RUNTESTFLAGS="--target_board=arm-sim/arch=armv5te/thumb
execute.exp=20000422-1.c"
You can see all tests pass. But if I enable the web pass,
make check-gcc RUNTESTFLAGS="--target_board=arm-sim/arch=armv5te/thumb/-fweb
execute.exp=20000422-1.c"
I got one run time failure. The problem is web renamed the operand of post_inc
in following insn, which should not occurred.
(insn 34 122 36 2 (set (reg:SI 137 [ D.4191 ])
(mem/c:SI (post_inc:SI (reg/f:SI 156)) [2 num+0 S4 A32]))
/usr/local/google/home/carrot/ssd/trunk3/gcc/testsuite/gcc.c-torture/execute/20000422-1.c:17
740 {*thumb1_movsi_insn}
(expr_list:REG_INC (reg/f:SI 156)
(expr_list:REG_EQUAL (mem/c:SI (symbol_ref:SI ("*.LANCHOR0") [flags
0x182]) [2 num+0 S4 A32])
(nil))))