i386.c: (legitimize_address): Move dllimported variable check infront of legitimizing...
authorKai Tietz <kai.tietz@onevision.com>
Tue, 14 Aug 2007 18:24:48 +0000 (18:24 +0000)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 14 Aug 2007 18:24:48 +0000 (18:24 +0000)
* i386.c: (legitimize_address): Move dllimported variable check
infront of legitimizing pic address of CONST symbols.

From-SVN: r127488

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

index 9fac24b2fff0fc6a80603f1c34e8f66bd59d9401..bda9ad83fe0e0e39a5340596d434d16b39da8a98 100644 (file)
@@ -1,3 +1,8 @@
+2007-08-14  Kai Tietz  <kai.tietz@onevision.com>
+
+       * i386.c: (legitimize_address): Move dllimported variable check
+       infront of legitimizing pic address of CONST symbols.
+
 2007-08-14  Steve Ellcey  <sje@cup.hp.com>
 
        PR tree-optimization/32941
index 20044fdf92ade3c70e888d58209c557a65c06435..79f4c386f88d78f5bd0978740d76aa9f73144da1 100644 (file)
@@ -7718,9 +7718,6 @@ legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED, enum machine_mode mode)
       return gen_rtx_PLUS (Pmode, t, XEXP (XEXP (x, 0), 1));
     }
 
-  if (flag_pic && SYMBOLIC_CONST (x))
-    return legitimize_pic_address (x, 0);
-
   if (TARGET_DLLIMPORT_DECL_ATTRIBUTES)
     {
       if (GET_CODE (x) == SYMBOL_REF && SYMBOL_REF_DLLIMPORT_P (x))
@@ -7735,6 +7732,9 @@ legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED, enum machine_mode mode)
        }
     }
 
+  if (flag_pic && SYMBOLIC_CONST (x))
+    return legitimize_pic_address (x, 0);
+
   /* Canonicalize shifts by 0, 1, 2, 3 into multiply */
   if (GET_CODE (x) == ASHIFT
       && CONST_INT_P (XEXP (x, 1))