diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2011-06-09 23:38:35 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2011-06-09 23:38:35 +0000 |
commit | c577822ec18dbe068fe0a3d974e64a5afc52f00d (patch) | |
tree | f60e8c57aa0950b9f89563791a88772e486bc936 | |
parent | 54e1e4f75c2bbc1c27e133177ddcd6b39098281f (diff) | |
download | gcc-c577822ec18dbe068fe0a3d974e64a5afc52f00d.zip gcc-c577822ec18dbe068fe0a3d974e64a5afc52f00d.tar.gz gcc-c577822ec18dbe068fe0a3d974e64a5afc52f00d.tar.bz2 |
re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in setup_pressure_classes, at ira.c:902)
PR rtl-optimization/49154
* ira-costs.c (setup_regno_cost_classes_by_mode): If there
already is a matching slot in the hashtable, assign it to
classes_ptr.
From-SVN: r174868
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ira-costs.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f05ecfd..cd42b1a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,11 @@ 2011-06-10 Hans-Peter Nilsson <hp@axis.com> PR rtl-optimization/49154 + * ira-costs.c (setup_regno_cost_classes_by_mode): If there + already is a matching slot in the hashtable, assign it to + classes_ptr. + + PR rtl-optimization/49154 * doc/tm.texi.in (Register Classes): Document rule for the narrowest register classes. * doc/tm.texi: Regenerate. diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index f517386..a22bb15 100644 --- a/gcc/ira-costs.c +++ b/gcc/ira-costs.c @@ -299,6 +299,8 @@ setup_regno_cost_classes_by_mode (int regno, enum machine_mode mode) classes_ptr = setup_cost_classes (&classes); *slot = classes_ptr; } + else + classes_ptr = *slot; cost_classes_mode_cache[mode] = (cost_classes_t) *slot; } regno_cost_classes[regno] = classes_ptr; |