diff options
author | Bernd Schmidt <bernd.schmidt@codesourcery.com> | 2010-04-10 12:28:25 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2010-04-10 12:28:25 +0000 |
commit | 979740a0897ac0a74dcd1136447f7118de4f3839 (patch) | |
tree | 3189192b47ab230e07d3ab5df96ed4991313aec0 | |
parent | 93c02eae9a5d9dff6f494bc2017327647ef6673d (diff) | |
download | gcc-979740a0897ac0a74dcd1136447f7118de4f3839.zip gcc-979740a0897ac0a74dcd1136447f7118de4f3839.tar.gz gcc-979740a0897ac0a74dcd1136447f7118de4f3839.tar.bz2 |
ira-costs.c (record_reg_classes): Ignore alternatives that are not enabled.
* ira-costs.c (record_reg_classes): Ignore alternatives that are
not enabled.
From-SVN: r158186
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ira-costs.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 74c2c32..d6353e8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-04-10 Bernd Schmidt <bernd.schmidt@codesourcery.com> + + * ira-costs.c (record_reg_classes): Ignore alternatives that are + not enabled. + 2010-04-09 Uros Bizjak <ubizjak@gmail.com> PR target/43707 diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index 9e11219..76aadff 100644 --- a/gcc/ira-costs.c +++ b/gcc/ira-costs.c @@ -224,6 +224,14 @@ record_reg_classes (int n_alts, int n_ops, rtx *ops, int alt_fail = 0; int alt_cost = 0, op_cost_add; + if (!recog_data.alternative_enabled_p[alt]) + { + for (i = 0; i < recog_data.n_operands; i++) + constraints[i] = skip_alternative (constraints[i]); + + continue; + } + for (i = 0; i < n_ops; i++) { unsigned char c; |