aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2010-12-21 13:30:08 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2010-12-21 13:30:08 +0000
commitcb227aa9ab85856f4906ff49caef1bcee87ec643 (patch)
tree5fb260faade5b379ccf35504d699ec2ac52cd4b1 /gcc
parent600cbba24eabcc0ec3802e44408f4cd65816fcbf (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c7
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