------- Comment #3 from rsandifo at gcc dot gnu dot org  2008-03-22 19:38 
-------
Subject: Bug 33927

Author: rsandifo
Date: Sat Mar 22 19:37:53 2008
New Revision: 133452

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133452
Log:
gcc/
        PR rtl-optimization/33927
        * Makefile.in (dse.o): Depend on $(TM_P_H).
        * expr.h (extract_low_bits): Declare.
        * expmed.c (extract_low_bits): New function.
        * rtlhooks.c (gen_lowpart_general): Generalize SUBREG handling.
        * dse.c: Include tm_p.h.
        (find_shift_sequence): Remove the read_reg argument and return the
        read value.  Emit the instructions instead of returning them.
        Iterate on new_mode rather than calculating it each time.
        Check MODES_TIEABLE_P.  Use simplify_gen_subreg to convert the
        source to NEW_MODE and extract_low_bits to convert the shifted
        value to READ_MODE.
        (replace_read): Allow the load and store to have different mode
        classes.  Use extract_low_bits when SHIFT == 0.  Create the shift
        or extraction instructions before trying the replacement.  Update
        dump-file code accordingly, avoiding use of REGNO (store_info->rhs).

gcc/testsuite/
        * gcc.target/mips/dse-1.c: Add checks for zeros.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/Makefile.in
    trunk/gcc/dse.c
    trunk/gcc/expmed.c
    trunk/gcc/expr.h
    trunk/gcc/rtlhooks.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/mips/dse-1.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33927

Reply via email to