From 3e0af6912be76613ebcfe22b17967a2a42d4397b Mon Sep 17 00:00:00 2001 From: dougkwan Date: Wed, 25 Feb 2009 07:18:01 +0000 Subject: [PATCH] 2009-02-24 Julian Brown PR target/35965 * config/arm/arm.c (require_pic_register): Only set cfun->machine->pic_reg once per function. Patch commited by Doug Kwan git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144424 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/arm.c | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fb344c8..64eded2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-02-24 Julian Brown + + PR target/35965 + * config/arm/arm.c (require_pic_register): Only set + cfun->machine->pic_reg once per function. + 2009-02-24 Sandra Loosemore * doc/invoke.texi (Link Options): Document an easier way to pass diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index c25fc29..662e7de 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -3563,7 +3563,8 @@ require_pic_register (void) gcc_assert (can_create_pseudo_p ()); 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 @@ -3575,7 +3576,8 @@ require_pic_register (void) { 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 -- 2.7.4