diff options
author | Richard Biener <rguenther@suse.de> | 2015-07-03 07:55:10 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-07-03 07:55:10 +0000 |
commit | bab73f11b8eb01e137ac86ca232c3058175de877 (patch) | |
tree | 438600af02e8a54c3f74f6eac1c944cfe51df980 /gcc/fold-const.c | |
parent | bfdb257aa3abcc2fa0dbea8127b6c0dda2d0c56c (diff) | |
download | gcc-bab73f11b8eb01e137ac86ca232c3058175de877.zip gcc-bab73f11b8eb01e137ac86ca232c3058175de877.tar.gz gcc-bab73f11b8eb01e137ac86ca232c3058175de877.tar.bz2 |
fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
2015-07-03 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
* match.pd: ... here.
From-SVN: r225368
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r-- | gcc/fold-const.c | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index a02cfb7..69ac19d 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -11069,25 +11069,6 @@ fold_binary_loc (location_t loc, fold_convert_loc (loc, type, TREE_OPERAND (arg0, 0)); } - /* If arg0 is derived from the address of an object or function, we may - be able to fold this expression using the object or function's - alignment. */ - if (POINTER_TYPE_P (TREE_TYPE (arg0)) && TREE_CODE (arg1) == INTEGER_CST) - { - unsigned int align; - unsigned HOST_WIDE_INT bitpos; - - get_pointer_alignment_1 (arg0, &align, &bitpos); - - /* This works because modulus is a power of 2. If this weren't the - case, we'd have to replace it by its greatest power-of-2 - divisor: modulus & -modulus. */ - if (wi::ltu_p (arg1, align / BITS_PER_UNIT)) - return wide_int_to_tree (type, - wi::bit_and (arg1, - bitpos / BITS_PER_UNIT)); - } - goto associate; case RDIV_EXPR: |