* cse.c: Change encoding of quantity numbers to avoid undefined
commit1a5bcccee02a2fb3041a7eda7170e7744c01a369
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 25 Oct 2004 17:23:15 +0000 (25 17:23 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 25 Oct 2004 17:23:15 +0000 (25 17:23 +0000)
tree497f93ba2711bdc721a726c414ea95d4abf630bd
parentc38a3aff914d4d187697b4c4674c2c005d1c7338
* cse.c: Change encoding of quantity numbers to avoid undefined
pointer arithmetic on qty_table.
(REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
(get_cse_reg_info): Initialize reg_qty to a unique negative value.
(new_basic_block): Assign "real" quantity numbers from zero.
(delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
REG_QTY to its unique negative value.
(merge_equiv_classes): Calculate need_rehash if quantity is valid.
(cse_main): Don't include max_reg when determining max_qty.
(cse_basic_block): Avoid subtracting a large offset from qty_table,
which causes undefined C99 behaviour.  Only allocate needed memory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89543 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cse.c