diff options
author | Tamar Christina <tamar.christina@arm.com> | 2023-03-12 18:40:12 +0000 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2023-03-12 18:40:12 +0000 |
commit | 03c6ba86757f0684c5419c90651106900f5ecb5a (patch) | |
tree | 6dd54fee375493a7fd5ea179cab4f9f987441e7f /libgcc | |
parent | 2246d576f922bae3629da0fe1dbfcc6ff06769ad (diff) | |
download | gcc-03c6ba86757f0684c5419c90651106900f5ecb5a.zip gcc-03c6ba86757f0684c5419c90651106900f5ecb5a.tar.gz gcc-03c6ba86757f0684c5419c90651106900f5ecb5a.tar.bz2 |
ranger: Add range-ops for widen addition and widen multiplication [PR108583]
This adds range-ops for widening addition and widening multiplication.
I couldn't figure out how to write a test for this. It looks like there are
self tests but not a way to write standalone ones? I did create testcases in
the patch 3/4 which tests the end result.
gcc/ChangeLog:
PR target/108583
* gimple-range-op.h (gimple_range_op_handler): Add maybe_non_standard.
* gimple-range-op.cc (gimple_range_op_handler::gimple_range_op_handler):
Use it.
(gimple_range_op_handler::maybe_non_standard): New.
* range-op.cc (class operator_widen_plus_signed,
operator_widen_plus_signed::wi_fold, class operator_widen_plus_unsigned,
operator_widen_plus_unsigned::wi_fold, class operator_widen_mult_signed,
operator_widen_mult_signed::wi_fold, class operator_widen_mult_unsigned,
operator_widen_mult_unsigned::wi_fold,
ptr_op_widen_mult_signed, ptr_op_widen_mult_unsigned,
ptr_op_widen_plus_signed, ptr_op_widen_plus_unsigned): New.
* range-op.h (ptr_op_widen_mult_signed, ptr_op_widen_mult_unsigned,
ptr_op_widen_plus_signed, ptr_op_widen_plus_unsigned): New
Co-Authored-By: Andrew MacLeod <amacleod@redhat.com>
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions