aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorFabien Thomas <fabient@FreeBSD.org>2011-11-16 14:33:30 +0000
committerFabien Thomas <fabient@FreeBSD.org>2011-11-16 14:33:30 +0000
commit4c3f7ccc6e28a205e58ba4dd0de6b8f1f902cc66 (patch)
tree8af1c5090d0daf7a97f2cf921684b6917923db11 /contrib
parent0e97cf7835ffa6132fba6b933353a4b1d9a3cada (diff)
Notes
Diffstat (limited to 'contrib')
-rw-r--r--contrib/gcc/config/arm/arm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/contrib/gcc/config/arm/arm.c b/contrib/gcc/config/arm/arm.c
index 670e7912d293..18f6fe553a38 100644
--- a/contrib/gcc/config/arm/arm.c
+++ b/contrib/gcc/config/arm/arm.c
@@ -3217,7 +3217,8 @@ legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
gcc_assert (!no_new_pseudos);
if (arm_pic_register != INVALID_REGNUM)
{
- cfun->machine->pic_reg = gen_rtx_REG (Pmode, arm_pic_register);
+ if (!cfun->machine->pic_reg)
+ cfun->machine->pic_reg = gen_rtx_REG (Pmode, arm_pic_register);
/* Play games to avoid marking the function as needing pic
if we are being called as part of the cost-estimation
@@ -3229,7 +3230,8 @@ legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
{
rtx seq;
- cfun->machine->pic_reg = gen_reg_rtx (Pmode);
+ if (!cfun->machine->pic_reg)
+ cfun->machine->pic_reg = gen_reg_rtx (Pmode);
/* Play games to avoid marking the function as needing pic
if we are being called as part of the cost-estimation