diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-06-20 21:43:29 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-06-20 21:43:29 +0200 |
commit | 0dc7d7cc944ddf8903d14199922fe31cec9693dd (patch) | |
tree | d9d386ac3cb54b91d77d0cb3b8e7a281d3b33928 /gcc | |
parent | 8a259e30b1738597b9ddd9d31974d365038fa1d1 (diff) | |
download | gcc-0dc7d7cc944ddf8903d14199922fe31cec9693dd.zip gcc-0dc7d7cc944ddf8903d14199922fe31cec9693dd.tar.gz gcc-0dc7d7cc944ddf8903d14199922fe31cec9693dd.tar.bz2 |
ira-costs.c (find_costs_and_classes): Initialize cost_classes later to make sure not to dereference a NULL...
* ira-costs.c (find_costs_and_classes): Initialize cost_classes later
to make sure not to dereference a NULL cost_classes_ptr pointer.
From-SVN: r249426
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ira-costs.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f1bb3d..200dbe4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-06-20 Jakub Jelinek <jakub@redhat.com> + + * ira-costs.c (find_costs_and_classes): Initialize cost_classes later + to make sure not to dereference a NULL cost_classes_ptr pointer. + 2017-06-20 Carl Love <cel@us.ibm.com> * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index 9cf0119..2cd102a 100644 --- a/gcc/ira-costs.c +++ b/gcc/ira-costs.c @@ -1744,7 +1744,7 @@ find_costs_and_classes (FILE *dump_file) int best_cost, allocno_cost; enum reg_class best, alt_class; cost_classes_t cost_classes_ptr = regno_cost_classes[i]; - enum reg_class *cost_classes = cost_classes_ptr->classes; + enum reg_class *cost_classes; int *i_costs = temp_costs->cost; int i_mem_cost; int equiv_savings = regno_equiv_gains[i]; @@ -1755,6 +1755,7 @@ find_costs_and_classes (FILE *dump_file) continue; memcpy (temp_costs, COSTS (costs, i), struct_costs_size); i_mem_cost = temp_costs->mem_cost; + cost_classes = cost_classes_ptr->classes; } else { @@ -1762,6 +1763,7 @@ find_costs_and_classes (FILE *dump_file) continue; memset (temp_costs, 0, struct_costs_size); i_mem_cost = 0; + cost_classes = cost_classes_ptr->classes; /* Find cost of all allocnos with the same regno. */ for (a = ira_regno_allocno_map[i]; a != NULL; |