diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/arm/arm.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9ac9261..14d973b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-12-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * config/arm/arm.c (require_pic_register): Set INSN_LOCATOR for all + instructions injected into the prologue to prologue_locator. + 2010-12-21 Jan Hubicka <jh@suse.cz> PR middle-end/47000 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index be7bb06..d746390 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -5125,7 +5125,7 @@ require_pic_register (void) } else { - rtx seq; + rtx seq, insn; if (!cfun->machine->pic_reg) cfun->machine->pic_reg = gen_reg_rtx (Pmode); @@ -5142,6 +5142,11 @@ require_pic_register (void) seq = get_insns (); end_sequence (); + + for (insn = seq; insn; insn = NEXT_INSN (insn)) + if (INSN_P (insn)) + INSN_LOCATOR (insn) = prologue_locator; + /* We can be called during expansion of PHI nodes, where we can't yet emit instructions directly in the final insn stream. Queue the insns on the entry edge, they will |
