i386.c (legitimize_tls_address): Mark __tls_get_addr calls as pure.
authorPaolo Bonzini <bonzini@gnu.org>
Wed, 16 May 2007 09:23:21 +0000 (09:23 +0000)
committerPaolo Bonzini <bonzini@gcc.gnu.org>
Wed, 16 May 2007 09:23:21 +0000 (09:23 +0000)
2007-05-16  Paolo Bonzini  <bonzini@gnu.org>

        * config/i386/i386.c (legitimize_tls_address): Mark __tls_get_addr
        calls as pure.

From-SVN: r124765

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

index dfa19ac6a6d9dce530c2d632193616bf3301e629..b46ed21b1d0e3aa9fd1ed80cc8f5196d2ef5172f 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-16  Paolo Bonzini  <bonzini@gnu.org>
+
+        * config/i386/i386.c (legitimize_tls_address): Mark __tls_get_addr
+        calls as pure.
+
 2007-05-16  Eric Christopher  <echristo@apple.com>
 
        * config/rs6000/rs6000.c (rs6000_emit_prologue): Move altivec register
index 7e2accf4625b4c6fae6a8301bd97f9311dadb7b6..f5bf454efa9e39318727216aba116f2c8230870a 100644 (file)
@@ -7298,6 +7298,7 @@ legitimize_tls_address (rtx x, enum tls_model model, int for_mov)
          insns = get_insns ();
          end_sequence ();
 
+         CONST_OR_PURE_CALL_P (insns) = 1;
          emit_libcall_block (insns, dest, rax, x);
        }
       else if (TARGET_64BIT && TARGET_GNU2_TLS)
@@ -7328,6 +7329,7 @@ legitimize_tls_address (rtx x, enum tls_model model, int for_mov)
 
          note = gen_rtx_EXPR_LIST (VOIDmode, const0_rtx, NULL);
          note = gen_rtx_EXPR_LIST (VOIDmode, ix86_tls_get_addr (), note);
+         CONST_OR_PURE_CALL_P (insns) = 1;
          emit_libcall_block (insns, base, rax, note);
        }
       else if (TARGET_64BIT && TARGET_GNU2_TLS)