summaryrefslogtreecommitdiff
path: root/gcc/gentarget-def.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2015-07-05 07:44:45 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2015-07-05 07:44:45 +0000
commit9a1bd12f5d9158fc1c4a83703f2a4cb5fd78513d (patch)
tree3dfeb08ec615098e110099500704dd3f816af3a1 /gcc/gentarget-def.c
parent31300ecb8bbec82c062c6f948d9b8da115ebdcf6 (diff)
downloadgcc-9a1bd12f5d9158fc1c4a83703f2a4cb5fd78513d.tar.gz
gcc/
* target.def: Add code_for_* hooks. * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros. * defaults.h (HAVE_tablejump, gen_tablejump): Delete. * target-insns.def (casesi, tablejump): New targetm instruction patterns. * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface. (do_tablejump): Likewise. * stmt.c (expand_switch_as_decision_tree_p): Likewise. (expand_sjlj_dispatch_table): Likewise. * targhooks.c (default_case_values_threshold): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225421 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gentarget-def.c')
-rw-r--r--gcc/gentarget-def.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/gentarget-def.c b/gcc/gentarget-def.c
index c1125dde2fe..554fd421501 100644
--- a/gcc/gentarget-def.c
+++ b/gcc/gentarget-def.c
@@ -189,6 +189,13 @@ def_target_insn (const char *name, const char *prototype)
printf ("invalid_%s\n", suffix);
else
printf ("target_gen_%s\n", name);
+
+ printf ("#undef TARGET_CODE_FOR_%s\n", upper_name);
+ printf ("#define TARGET_CODE_FOR_%s ", upper_name);
+ if (truth == 0)
+ printf ("CODE_FOR_nothing\n");
+ else
+ printf ("CODE_FOR_%s\n", name);
}
int