This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Bogous trees in ivopts again!
- From: Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>
- To: gcc at gcc dot gnu dot org
- Date: Wed, 01 Jun 2005 23:29:18 +0200
- Subject: Bogous trees in ivopts again!
rewrite_address_base is trying at
*op = build1 (INDIRECT_REF, TREE_TYPE (*op), with);
to substitute *op
state_inD.7206_16->savedD.7200[regD.7211_3]
which is of type integer_type 0x4014a3cc char with
*state_inD.7206_38
where state_inD.7206_38 is of type pointer_type 0x4047b21c
type <record_type 0x40479a8c>. This obviously results in
a strange INDIRECT_REF typing.
Note that rewrite_use_address() ends up calling rewrite_address_base
with something useful, namely
(gdb) call debug_tree(op)
<ssa_name 0x4065e840
type <pointer_type 0x40157bd0
type <integer_type 0x4014a3cc char
only in rewrite_address_base we think we rather want to substitute
with with new_name which looks bogous.
Testcase is compiling unwind-dw2.c:__frame_state_for.
Pls help!
Richard.