diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-09 23:54:01 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-09 23:54:01 +0000 |
commit | a6bbccc16ab103200f32334351dc57b5838c9dd4 (patch) | |
tree | 57341f6e2c1ac600113f5797665b9c84f0d000d3 /gcc/target.h | |
parent | 8c3ad36d400b606ebd98a6ce8d0cd61a417a7fc7 (diff) | |
download | ppe42-gcc-a6bbccc16ab103200f32334351dc57b5838c9dd4.tar.gz ppe42-gcc-a6bbccc16ab103200f32334351dc57b5838c9dd4.zip |
* target.h (gcc_target): Add cannot_force_const_mem.
* target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
(TARGET_INITIALIZER): Add it.
* varasm.c (force_const_mem): Fail if cannot_force_const_mem.
* expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
* reload1.c (reload): Likewise.
* hooks.c (hook_bool_rtx_false): New.
* hooks.h: Declare it.
* config/i386/i386.c (ix86_cannot_force_const_mem): New.
(TARGET_CANNOT_FORCE_CONST_MEM): New.
(ix86_expand_move): Remove de-const-pooling hack.
* gcc.dg/tls/opt-4.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59971 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.h')
-rw-r--r-- | gcc/target.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/target.h b/gcc/target.h index d9475625414..0ac1c5aa17b 100644 --- a/gcc/target.h +++ b/gcc/target.h @@ -262,6 +262,9 @@ struct gcc_target not, at the current point in the compilation. */ bool (* cannot_modify_jumps_p) PARAMS ((void)); + /* True if the constant X cannot be placed in the constant pool. */ + bool (* cannot_force_const_mem) PARAMS ((rtx)); + /* True if EXP should be placed in a "small data" section. */ bool (* in_small_data_p) PARAMS ((tree)); |