Commit e8095e80 by Richard Kenner

(set_nonzero_bits_and_sign_copies): Don't record data for a a pseudo that is…

(set_nonzero_bits_and_sign_copies): Don't record data for a a pseudo that is undefined on entry to a function.

(set_nonzero_bits_and_sign_copies): Don't record data for a a pseudo that is
undefined on entry to a function.
When a pseudo is clobbered, show we don't know anything about it.

From-SVN: r4471
parent 8c25f9f8
...@@ -666,10 +666,18 @@ set_nonzero_bits_and_sign_copies (x, set) ...@@ -666,10 +666,18 @@ set_nonzero_bits_and_sign_copies (x, set)
&& REGNO (x) >= FIRST_PSEUDO_REGISTER && REGNO (x) >= FIRST_PSEUDO_REGISTER
&& reg_n_sets[REGNO (x)] > 1 && reg_n_sets[REGNO (x)] > 1
&& reg_basic_block[REGNO (x)] < 0 && reg_basic_block[REGNO (x)] < 0
/* If this register is undefined at the start of the file, we can't
say what its contents were. */
&& ! (basic_block_live_at_start[0][REGNO (x) / REGSET_ELT_BITS]
& ((REGSET_ELT_TYPE) 1 << (REGNO (x) % REGSET_ELT_BITS)))
&& GET_MODE_BITSIZE (GET_MODE (x)) <= HOST_BITS_PER_WIDE_INT) && GET_MODE_BITSIZE (GET_MODE (x)) <= HOST_BITS_PER_WIDE_INT)
{ {
if (GET_CODE (set) == CLOBBER) if (GET_CODE (set) == CLOBBER)
return; {
reg_nonzero_bits[REGNO (x)] = GET_MODE_MASK (GET_MODE (x));
reg_sign_bit_copies[REGNO (x)] = 0;
return;
}
/* If this is a complex assignment, see if we can convert it into a /* If this is a complex assignment, see if we can convert it into a
simple assignment. */ simple assignment. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment