aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2007-05-16 09:23:21 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2007-05-16 09:23:21 +0000
commit2d79fde8c2b479cadd785ebf39e5b0fc2b95c6f0 (patch)
tree4c32ed85b7fdcc8e9114177af32fa88d464acbdb /gcc/config
parent342b920070d3efffafcd23c5f425cadc14f6c5f9 (diff)
downloadgcc-2d79fde8c2b479cadd785ebf39e5b0fc2b95c6f0.zip
gcc-2d79fde8c2b479cadd785ebf39e5b0fc2b95c6f0.tar.gz
gcc-2d79fde8c2b479cadd785ebf39e5b0fc2b95c6f0.tar.bz2
i386.c (legitimize_tls_address): Mark __tls_get_addr calls as pure.
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
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 7e2accf..f5bf454 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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)