aboutsummaryrefslogtreecommitdiff
path: root/gcc/regclass.c
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-05-24 22:12:31 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2007-05-24 22:12:31 +0000
commit88d1c2ad47c6c456d90c349f8dc3ec680514cdb8 (patch)
treea51eee538bf4275a5d41a75397a09c881803929e /gcc/regclass.c
parent0f17a91f46ff2fe1c6ba75e02fe06993fa987eb2 (diff)
downloadgcc-88d1c2ad47c6c456d90c349f8dc3ec680514cdb8.zip
gcc-88d1c2ad47c6c456d90c349f8dc3ec680514cdb8.tar.gz
gcc-88d1c2ad47c6c456d90c349f8dc3ec680514cdb8.tar.bz2
re PR rtl-optimization/32069 (segfault in regclass() with -O0 -fsplit-wide-types)
PR rtl-optimization/32069 * regclass.c (regclass): Don't crash if the entry in regno_reg_rtx is NULL. From-SVN: r125043
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r--gcc/regclass.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c
index 635f2d3..23fd092 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -1214,6 +1214,9 @@ regclass (rtx f, int nregs)
int class;
struct costs *p = &costs[i];
+ if (regno_reg_rtx[i] == NULL)
+ continue;
+
/* In non-optimizing compilation REG_N_REFS is not initialized
yet. */
if (optimize && !REG_N_REFS (i) && !REG_N_SETS (i))