i386.c (ix86_delegitimize_address): Support Darwin PIC addresses.
authorGeoffrey Keating <geoffk@apple.com>
Tue, 7 Feb 2006 20:13:24 +0000 (20:13 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Tue, 7 Feb 2006 20:13:24 +0000 (20:13 +0000)
* config/i386/i386.c (ix86_delegitimize_address): Support Darwin
PIC addresses.

From-SVN: r110716

gcc/ChangeLog
gcc/config/i386/i386.c

index 82f7ec9..71da549 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-07  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/i386/i386.c (ix86_delegitimize_address): Support Darwin
+       PIC addresses.
+
 2006-02-07  Roger Sayle  <roger@eyesopen.com>
 
        * config/sparc/sparc.c (sparc_type_code): Don't handle CHAR_TYPE.
index f4eb04e..edfe04f 100644 (file)
@@ -7152,6 +7152,14 @@ ix86_delegitimize_address (rtx orig_x)
       return x;
     }
 
+  if (TARGET_MACHO && darwin_local_data_pic (x)
+      && GET_CODE (orig_x) != MEM)
+    {
+      x = XEXP (x, 0);
+      if (y)
+       return gen_rtx_PLUS (Pmode, y, x);
+      return x;
+    }
   return orig_x;
 }
 \f