diff options
author | vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-31 23:26:33 +0000 |
---|---|---|
committer | vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-31 23:26:33 +0000 |
commit | 17d386e4a66078b713967828c9c265c47317f440 (patch) | |
tree | 15ba83c430e72fa4e12a0498791b5840382d54ee /gcc/genautomata.c | |
parent | da66db0dbf9bb8c640e54ce3c3d8f2ccbb614db9 (diff) | |
download | gcc-17d386e4a66078b713967828c9c265c47317f440.tar.gz |
2005-03-31 Vladimir Makarov <vmakarov@redhat.com>
PR target/20632
* genautomata.c (first_cycle_unit_presence): Check all alternative
states for unit presence.
* doc/md.texi: Remove remark about impossibility to query unit
presence in non nondeterministic automaton state.
* config/ia64/ia64.c (get_template): Change order of unit querying.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97351 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genautomata.c')
-rw-r--r-- | gcc/genautomata.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/gcc/genautomata.c b/gcc/genautomata.c index e54cbbdaece..ac1f69cb285 100644 --- a/gcc/genautomata.c +++ b/gcc/genautomata.c @@ -6120,15 +6120,19 @@ copy_equiv_class (vla_ptr_t *to, const vla_ptr_t *from) static int first_cycle_unit_presence (state_t state, int unit_num) { - int presence_p; + alt_state_t alt_state; if (state->component_states == NULL) - presence_p = test_unit_reserv (state->reservs, 0, unit_num); + return test_unit_reserv (state->reservs, 0, unit_num); else - presence_p - = test_unit_reserv (state->component_states->state->reservs, - 0, unit_num); - return presence_p; + { + for (alt_state = state->component_states; + alt_state != NULL; + alt_state = alt_state->next_sorted_alt_state) + if (test_unit_reserv (alt_state->state->reservs, 0, unit_num)) + return true; + } + return false; } /* The function returns nonzero value if STATE is not equivalent to |