http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54128

--- Comment #6 from Steve Ellcey <sje at gcc dot gnu.org> 2012-08-10 20:10:56 
UTC ---
It looks like the code generation is going different (between -g and no -g)
during the IRA/reload phase.  With the cut down test case and using -O2 -g
the x.i.195r.reload file (for debug) contains:

insn=71, live_throughout: 4, 5, 6, 7, 28, 29, 79, 209, dead_or_set: 2

Insn 71 is:
(debug_insn 71 23 25 3 (var_location:SI D#1 (reg:SI 2 $2)) -1
     (nil))
(debug_insn 25 71 85 3 (var_location:DI step_c (concatn/v:DI [
            (debug_expr:SI D#1)
            (debug_expr:SI D#2)
        ])) x.i:55 -1
     (nil))

but something about this is causing IRA to think that $2 is a used psuedo
register that cannot be used for anything else so it uses $3 instead and
that is where the debug and non-debug code differs.

Reply via email to