diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2010-12-21 13:30:08 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2010-12-21 13:30:08 +0000 |
commit | cb227aa9ab85856f4906ff49caef1bcee87ec643 (patch) | |
tree | 5fb260faade5b379ccf35504d699ec2ac52cd4b1 /gcc | |
parent | 600cbba24eabcc0ec3802e44408f4cd65816fcbf (diff) | |
download | gcc-cb227aa9ab85856f4906ff49caef1bcee87ec643.zip gcc-cb227aa9ab85856f4906ff49caef1bcee87ec643.tar.gz gcc-cb227aa9ab85856f4906ff49caef1bcee87ec643.tar.bz2 |
arm.c (require_pic_register): Set INSN_LOCATOR for all instructions injected into the prologue to...
* config/arm/arm.c (require_pic_register): Set INSN_LOCATOR for all
instructions injected into the prologue to prologue_locator.
From-SVN: r168114
Diffstat (limited to 'gcc')
-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 |