OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* ChangeLog: Additional fixes for AVX2 ChangeLog entry.
[pf3gnuchains/gcc-fork.git]
/
gcc
/
ira-conflicts.c
diff --git
a/gcc/ira-conflicts.c
b/gcc/ira-conflicts.c
index
04d881e
..
3df6570
100644
(file)
--- a/
gcc/ira-conflicts.c
+++ b/
gcc/ira-conflicts.c
@@
-213,19
+213,22
@@
allocnos_conflict_for_copy_p (ira_allocno_t a1, ira_allocno_t a2)
static bool
commutative_constraint_p (const char *str)
{
static bool
commutative_constraint_p (const char *str)
{
+ int curr_alt, c;
bool ignore_p;
bool ignore_p;
- int c;
- for (ignore_p = false;;)
+ for (ignore_p = false
, curr_alt = 0
;;)
{
c = *str;
if (c == '\0')
break;
str += CONSTRAINT_LEN (c, str);
{
c = *str;
if (c == '\0')
break;
str += CONSTRAINT_LEN (c, str);
- if (c == '#')
+ if (c == '#'
|| !recog_data.alternative_enabled_p[curr_alt]
)
ignore_p = true;
else if (c == ',')
ignore_p = true;
else if (c == ',')
- ignore_p = false;
+ {
+ curr_alt++;
+ ignore_p = false;
+ }
else if (! ignore_p)
{
/* Usually `%' is the first constraint character but the
else if (! ignore_p)
{
/* Usually `%' is the first constraint character but the
@@
-270,7
+273,7
@@
get_dup_num (int op_num, bool use_commut_op_p)
c = *str;
if (c == '\0')
break;
c = *str;
if (c == '\0')
break;
- if (c == '#')
+ if (c == '#'
|| !recog_data.alternative_enabled_p[curr_alt]
)
ignore_p = true;
else if (c == ',')
{
ignore_p = true;
else if (c == ',')
{
@@
-390,7
+393,7
@@
process_regs_for_copy (rtx reg1, rtx reg2, bool constraint_p,
int allocno_preferenced_hard_regno, cost, index, offset1, offset2;
bool only_regs_p;
ira_allocno_t a;
int allocno_preferenced_hard_regno, cost, index, offset1, offset2;
bool only_regs_p;
ira_allocno_t a;
-
enum reg_class
rclass, aclass;
+
reg_class_t
rclass, aclass;
enum machine_mode mode;
ira_copy_t cp;
enum machine_mode mode;
ira_copy_t cp;
@@
-435,7
+438,7
@@
process_regs_for_copy (rtx reg1, rtx reg2, bool constraint_p,
mode = ALLOCNO_MODE (a);
aclass = ALLOCNO_CLASS (a);
if (only_regs_p && insn != NULL_RTX
mode = ALLOCNO_MODE (a);
aclass = ALLOCNO_CLASS (a);
if (only_regs_p && insn != NULL_RTX
- && reg_class_size[rclass] <=
(unsigned) CLASS_MAX_NREGS (rclass, mode)
)
+ && reg_class_size[rclass] <=
ira_reg_class_max_nregs [rclass][mode]
)
/* It is already taken into account in ira-costs.c. */
return false;
index = ira_class_hard_reg_index[aclass][allocno_preferenced_hard_regno];
/* It is already taken into account in ira-costs.c. */
return false;
index = ira_class_hard_reg_index[aclass][allocno_preferenced_hard_regno];
@@
-612,7
+615,7
@@
build_object_conflicts (ira_object_t obj)
ira_allocno_t a = OBJECT_ALLOCNO (obj);
IRA_INT_TYPE *object_conflicts;
minmax_set_iterator asi;
ira_allocno_t a = OBJECT_ALLOCNO (obj);
IRA_INT_TYPE *object_conflicts;
minmax_set_iterator asi;
- int parent_min, parent_max;
+ int parent_min, parent_max
ATTRIBUTE_UNUSED
;
object_conflicts = conflicts[OBJECT_CONFLICT_ID (obj)];
px = 0;
object_conflicts = conflicts[OBJECT_CONFLICT_ID (obj)];
px = 0;