From: Richard Kenner Date: Sat, 15 May 1993 14:43:42 +0000 (-0400) Subject: (set_nonzero_bits_and_sign_copies): Don't record data for a a pseudo that is undefine... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e8095e803fe2b9d3b1200beeb2cbd47d2f419441;p=gcc.git (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 --- diff --git a/gcc/combine.c b/gcc/combine.c index 66375ff68e5..e53d1a6b53f 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -666,10 +666,18 @@ set_nonzero_bits_and_sign_copies (x, set) && REGNO (x) >= FIRST_PSEUDO_REGISTER && reg_n_sets[REGNO (x)] > 1 && 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) { 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 simple assignment. */