OSDN Git Service

* i386.c: (legitimize_address): Move dllimported variable check
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Aug 2007 18:24:48 +0000 (18:24 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Aug 2007 18:24:48 +0000 (18:24 +0000)
infront of legitimizing pic address of CONST symbols.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127488 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 9fac24b..bda9ad8 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 20044fd..79f4c38 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))