flow still deleting important labels
Richard Henderson
rth@cygnus.com
Sun Mar 28 09:55:00 GMT 1999
On Sun, Mar 28, 1999 at 03:45:51AM -0700, Jeffrey A Law wrote:
> (insn/i 243 242 244 (set (reg:SI 166)
> (high:SI (label_ref:SI 250))) 76 {add_high_const+1} (nil)
> (expr_list:REG_EQUAL (high:SI (label_ref:SI 250))
> (expr_list:REG_LABEL (code_label/i 250 249 251 88 "")
> (nil))))
>
> (insn/i 244 243 245 (set (reg:SI 167)
> (lo_sum:SI (reg:SI 166)
> (label_ref:SI 250))) 77 {add_high_const+2} (nil)
> (expr_list:REG_LABEL (code_label/i 250 249 251 88 "")
> (expr_list:REG_EQUAL (label_ref:SI 250)
> (nil))))
Curious. Cross compiling from Alpha I get
(insn/i 246 245 248 (set (reg:SI 169)
(high:SI (symbol_ref/u:SI ("*L$C0009")))) 76 {add_high_const+1} (nil)
(expr_list:REG_EQUAL (high:SI (symbol_ref/u:SI ("*L$C0009")))
(nil)))
(insn/i 248 246 249 (set (reg:SI 171)
(mem:SI (lo_sum:SI (reg:SI 169)
(symbol_ref/u:SI ("*L$C0009"))) 0)) 63 {reload_outsi+2} (nil)
(expr_list:REG_EQUAL (label_ref:SI 254)
(nil)))
which, beyond not being fun and happy making, seems weird that we'd
have decided to drop it into the constant pool.
I'll give it a poke native and see what's different.
r~
More information about the Gcc-bugs
mailing list