summaryrefslogtreecommitdiff
path: root/gcc/genattrtab.c
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-05 15:18:10 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-05 15:18:10 +0000
commitf2d92d7a2b49b190d13c5abcb5e374e570ebf939 (patch)
tree8e0a8f071bd365a15434d0e94b091fe7d57014a7 /gcc/genattrtab.c
parent93888e4f544ded5464de83bc4ab6428254efd6a6 (diff)
downloadlinaro-gcc-f2d92d7a2b49b190d13c5abcb5e374e570ebf939.tar.gz
linaro-gcc-f2d92d7a2b49b190d13c5abcb5e374e570ebf939.tar.bz2
linaro-gcc-f2d92d7a2b49b190d13c5abcb5e374e570ebf939.zip
* doc/md.texi (Defining Attributes): Document that we are defining
HAVE_ATTR_name macors as 1 for defined attributes, and as 0 for undefined special attributes. * final.c (asm_insn_count, align_fuzz): Always define. (insn_current_reference_address): Likewise. (init_insn_lengths): Use if (HAVE_ATTR_length) instead of #ifdef HAVE_ATTR_length. (get_attr_length_1, shorten_branches, final): Likewise. (final_scan_insn, output_asm_name): Likewise. * genattr.c (gen_attr): Define HAVE_ATTR_name macros for defined attributes as 1. Remove ancient get_attr_alternative compatibility code. For special purpose attributes not provided, define HAVE_ATTR_name as 0. In case no length attribute is given, provide stub definitions for insn_*_length* functions, and also include insn-addr.h. In case no enabled attribute is given, provide stub definition. * genattrtab.c (write_length_unit_log): Always write a definition. * hooks.c (hook_int_rtx_1, hook_int_rtx_unreachable): New functions. * hooks.h (hook_int_rtx_1, hook_int_rtx_unreachable): Declare. * lra-int.h (struct lra_insn_recog_data): Make member alternative_enabled_p unconditional. * lra.c (free_insn_recog_data): Use if (HAVE_ATTR_length) instead of #ifdef HAVE_ATTR_length. (lra_set_insn_recog_data): Likewise. Make initialization of alternative_enabled_p unconditional. (lra_update_insn_recog_data): Use #if instead of #ifdef for HAVE_ATTR_enabled. * recog.c [!HAVE_ATTR_enabled] (get_attr_enabled): Don't define. (extract_insn): Check HAVE_ATTR_enabled. (gate_handle_split_before_regstack): Use #if instead of #if defined for HAVE_ATTR_length. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193168 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genattrtab.c')
-rw-r--r--gcc/genattrtab.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index 19732ba1fc5..cef7d406191 100644
--- a/gcc/genattrtab.c
+++ b/gcc/genattrtab.c
@@ -1636,14 +1636,15 @@ write_length_unit_log (FILE *outf)
unsigned int length_unit_log, length_or;
int unknown = 0;
- if (length_attr == 0)
- return;
- length_or = or_attr_value (length_attr->default_val->value, &unknown);
- for (av = length_attr->first_value; av; av = av->next)
- for (ie = av->first_insn; ie; ie = ie->next)
- length_or |= or_attr_value (av->value, &unknown);
+ if (length_attr)
+ {
+ length_or = or_attr_value (length_attr->default_val->value, &unknown);
+ for (av = length_attr->first_value; av; av = av->next)
+ for (ie = av->first_insn; ie; ie = ie->next)
+ length_or |= or_attr_value (av->value, &unknown);
+ }
- if (unknown)
+ if (length_attr == NULL || unknown)
length_unit_log = 0;
else
{