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.