diff options
author | Eric Botcazou <ebotcazou@multimania.com> | 2002-05-30 21:33:32 +0000 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-05-30 14:33:32 -0700 |
commit | ce60bf25b22ac87577c2e4efdc5a1bdacaa05151 (patch) | |
tree | dd32c83a5ab688b1765c9c952a826e5e04b594de /gcc/expr.h | |
parent | d18b1ed89ece9698c8e3d0a90534bbf9fe103951 (diff) | |
download | gcc-ce60bf25b22ac87577c2e4efdc5a1bdacaa05151.zip gcc-ce60bf25b22ac87577c2e4efdc5a1bdacaa05151.tar.gz gcc-ce60bf25b22ac87577c2e4efdc5a1bdacaa05151.tar.bz2 |
expmed.c (const_mult_add_overflow_p): New.
* expmed.c (const_mult_add_overflow_p): New.
* expr.h: Declare it.
* loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
Don't eliminate the biv if the giv has a constant multiplier and
the rhs argument of the comparison does satisfy the predicate.
Use expand_mult_add to compute the replacement constant.
From-SVN: r54075
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -758,6 +758,7 @@ extern rtx extract_bit_field PARAMS ((rtx, unsigned HOST_WIDE_INT, enum machine_mode, enum machine_mode, HOST_WIDE_INT)); extern rtx expand_mult PARAMS ((enum machine_mode, rtx, rtx, rtx, int)); +extern bool const_mult_add_overflow_p PARAMS ((rtx, rtx, rtx, enum machine_mode, int)); extern rtx expand_mult_add PARAMS ((rtx, rtx, rtx, rtx,enum machine_mode, int)); extern rtx expand_mult_highpart_adjust PARAMS ((enum machine_mode, rtx, rtx, rtx, rtx, int)); |