re PR target/26765 (ICE in in extract_insn with __thread and optimization)
authorKazu Hirata <kazu@gcc.gnu.org>
Thu, 4 May 2006 20:13:37 +0000 (20:13 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Thu, 4 May 2006 20:13:37 +0000 (20:13 +0000)
gcc/
PR target/26765
* config/mips/mips.c (mips_symbolic_address_p): Return true
for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
SYMBOL_GOTTPREL, and SYMBOL_TLS.

gcc/testsuite/
PR target/26765
* gcc.target/mips/pr26765.c: New.

From-SVN: r113536

gcc/ChangeLog
gcc/config/mips/mips.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/pr26765.c [new file with mode: 0644]

index cc1c2efe4a0e76bf110b63bcef1a3207a05e8432..710e414434c2373ef2a3c595d77929dbdbdb7a2a 100644 (file)
@@ -1,3 +1,10 @@
+2006-05-04  Richard Sandiford  <richard@codesourcery.com>
+
+       PR target/26765
+       * config/mips/mips.c (mips_symbolic_address_p): Return true
+       for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
+       SYMBOL_GOTTPREL, and SYMBOL_TLS.
+
 2006-05-04  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/14287
index f66cdc255afc4f111d51b3e4df6d8488fa2e1865..600d512e9927c13b391c51ca11f7c15ea6af8c8d 100644 (file)
@@ -1463,18 +1463,16 @@ mips_symbolic_address_p (enum mips_symbol_type symbol_type,
       /* The address will have to be loaded from the GOT first.  */
       return false;
 
-    case SYMBOL_TLSGD:
-    case SYMBOL_TLSLDM:
-    case SYMBOL_DTPREL:
-    case SYMBOL_TPREL:
-    case SYMBOL_GOTTPREL:
-    case SYMBOL_TLS:
-      return false;
-
     case SYMBOL_GOTOFF_PAGE:
     case SYMBOL_GOTOFF_GLOBAL:
     case SYMBOL_GOTOFF_CALL:
     case SYMBOL_GOTOFF_LOADGP:
+    case SYMBOL_TLS:
+    case SYMBOL_TLSGD:
+    case SYMBOL_TLSLDM:
+    case SYMBOL_DTPREL:
+    case SYMBOL_GOTTPREL:
+    case SYMBOL_TPREL:
     case SYMBOL_64_HIGH:
     case SYMBOL_64_MID:
     case SYMBOL_64_LOW:
index 798df54e0385df9aba133f737c443703bce37c22..abc3b7d0a1cb4d53f9c74f2f7544e61dd082bc16 100644 (file)
@@ -1,3 +1,8 @@
+2006-05-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       PR target/26765
+       * gcc.target/mips/pr26765.c: New.
+
 2005-05-04  Bernd Schmidt  <bernd.schmidt@analog.com>
 
        * gcc.target/bfin: New directory.
diff --git a/gcc/testsuite/gcc.target/mips/pr26765.c b/gcc/testsuite/gcc.target/mips/pr26765.c
new file mode 100644 (file)
index 0000000..0b70b56
--- /dev/null
@@ -0,0 +1,13 @@
+/* PR target/pr26765
+   This testcase used to trigger an unrecognizable insn.  */
+
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+__thread int *a = 0;
+
+void foo (void)
+{
+  extern int *b;
+  b = (int *) ((*a));
+}