OSDN Git Service

2007-05-16 Paolo Bonzini <bonzini@gnu.org>
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 May 2007 09:23:21 +0000 (09:23 +0000)
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 May 2007 09:23:21 +0000 (09:23 +0000)
        * config/i386/i386.c (legitimize_tls_address): Mark __tls_get_addr
        calls as pure.

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

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

index dfa19ac..b46ed21 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 7e2accf..f5bf454 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)