loop.c (strength_reduce): Call check_ext_dependant_givs.
authorRichard Henderson <rth@gcc.gnu.org>
Thu, 7 Sep 2000 22:26:37 +0000 (15:26 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 7 Sep 2000 22:26:37 +0000 (15:26 -0700)
commite8cb4873840fae2708dc58c13fbb9ff1e7bc1bc9
tree07a0eb7b5b1bf4058491a8b16ec4c39423a361db
parent8b97c5f8ef218afce7499abe8cd3e6eb1f729306
loop.c (strength_reduce): Call check_ext_dependant_givs.

        * loop.c (strength_reduce): Call check_ext_dependant_givs.
        Properly extend the biv initial value for the giv.
        (record_biv): Zero ext_dependant.
        (record_giv): New argument ext_val.  Update all callers.
        (general_induction_var): Likewise.
        (consec_sets_giv): Likewise.
        (simplify_giv_expr): Likewise.  Fill in ext_val if we find
        a sign-extend, zero-extend, or truncate.
        (combine_givs_p): Make sure modes are compatible.
        (check_ext_dependant_givs): New.
        (extend_value_for_giv): New.
        * loop.h (struct induction): Add ext_dependant.
        * unroll.c (iteration_info): Extend the biv initial value for the giv.
        (find_splittable_givs): Likewise.
        (final_giv_value): Likewise.

From-SVN: r36250
gcc/ChangeLog
gcc/loop.c
gcc/loop.h
gcc/unroll.c