aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2010-06-05 05:13:50 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2010-06-05 05:13:50 +0200
commit4af89b884ccffe321856e11dc1a9f5f3e9fe2f60 (patch)
treec1aec2ddb0975324fbcea50ce00eda286d536f1f
parent99d9820095f285a5b80668bce1b2cc516e6cd548 (diff)
downloadgcc-4af89b884ccffe321856e11dc1a9f5f3e9fe2f60.zip
gcc-4af89b884ccffe321856e11dc1a9f5f3e9fe2f60.tar.gz
gcc-4af89b884ccffe321856e11dc1a9f5f3e9fe2f60.tar.bz2
genautomata.c (get_excl_set): Do work per element, not per char.
2010-06-05 Segher Boessenkool <segher@kernel.crashing.org> genautomata.c (get_excl_set): Do work per element, not per char. (check_presence_pattern_sets): Similar. (check_absence_pattern_sets): Similar. From-SVN: r160307
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/genautomata.c50
2 files changed, 28 insertions, 28 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c1514c9..e492b28 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
+ genautomata.c (get_excl_set): Do work per element, not per char.
+ (check_presence_pattern_sets): Similar.
+ (check_absence_pattern_sets): Similar.
+
+2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
+
* genautomata.c (curr_state_pass_num): Delete.
(min_issue_delay_pass_states): Delete.
(min_issue_delay): Delete.
diff --git a/gcc/genautomata.c b/gcc/genautomata.c
index 463dbd4..ad7caa6 100644
--- a/gcc/genautomata.c
+++ b/gcc/genautomata.c
@@ -4174,20 +4174,18 @@ initiate_excl_sets (void)
static reserv_sets_t
get_excl_set (reserv_sets_t in_set)
{
- int excl_char_num;
- int chars_num;
- int i;
+ int el;
+ unsigned int i;
int start_unit_num;
int unit_num;
- chars_num = els_in_cycle_reserv * sizeof (set_el_t);
- memset (excl_set, 0, chars_num);
- for (excl_char_num = 0; excl_char_num < chars_num; excl_char_num++)
- if (((unsigned char *) in_set) [excl_char_num])
- for (i = CHAR_BIT - 1; i >= 0; i--)
- if ((((unsigned char *) in_set) [excl_char_num] >> i) & 1)
+ memset (excl_set, 0, els_in_cycle_reserv * sizeof (set_el_t));
+ for (el = 0; el < els_in_cycle_reserv; el++)
+ if (in_set[el])
+ for (i = 0; i < CHAR_BIT * sizeof (set_el_t); i++)
+ if ((in_set[el] >> i) & 1)
{
- start_unit_num = excl_char_num * CHAR_BIT + i;
+ start_unit_num = el * CHAR_BIT * sizeof (set_el_t) + i;
if (start_unit_num >= description->units_num)
return excl_set;
for (unit_num = 0; unit_num < els_in_cycle_reserv; unit_num++)
@@ -4286,21 +4284,19 @@ check_presence_pattern_sets (reserv_sets_t checked_set,
reserv_sets_t original_set,
int final_p)
{
- int char_num;
- int chars_num;
- int i;
+ int el;
+ unsigned int i;
int start_unit_num;
int unit_num;
int presence_p;
pattern_reserv_t pat_reserv;
- chars_num = els_in_cycle_reserv * sizeof (set_el_t);
- for (char_num = 0; char_num < chars_num; char_num++)
- if (((unsigned char *) original_set) [char_num])
- for (i = CHAR_BIT - 1; i >= 0; i--)
- if ((((unsigned char *) original_set) [char_num] >> i) & 1)
+ for (el = 0; el < els_in_cycle_reserv; el++)
+ if (original_set[el])
+ for (i = 0; i < CHAR_BIT * sizeof (set_el_t); i++)
+ if ((original_set[el] >> i) & 1)
{
- start_unit_num = char_num * CHAR_BIT + i;
+ start_unit_num = el * CHAR_BIT * sizeof (set_el_t) + i;
if (start_unit_num >= description->units_num)
break;
if ((final_p
@@ -4335,20 +4331,18 @@ check_absence_pattern_sets (reserv_sets_t checked_set,
reserv_sets_t original_set,
int final_p)
{
- int char_num;
- int chars_num;
- int i;
+ int el;
+ unsigned int i;
int start_unit_num;
int unit_num;
pattern_reserv_t pat_reserv;
- chars_num = els_in_cycle_reserv * sizeof (set_el_t);
- for (char_num = 0; char_num < chars_num; char_num++)
- if (((unsigned char *) original_set) [char_num])
- for (i = CHAR_BIT - 1; i >= 0; i--)
- if ((((unsigned char *) original_set) [char_num] >> i) & 1)
+ for (el = 0; el < els_in_cycle_reserv; el++)
+ if (original_set[el])
+ for (i = 0; i < CHAR_BIT * sizeof (set_el_t); i++)
+ if ((original_set[el] >> i) & 1)
{
- start_unit_num = char_num * CHAR_BIT + i;
+ start_unit_num = el * CHAR_BIT * sizeof (set_el_t) + i;
if (start_unit_num >= description->units_num)
break;
for (pat_reserv = (final_p