aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
AgeCommit message (Collapse)AuthorFilesLines
1997-07-27(fold_range_test, fold): Avoid making SAVE_EXPR if at top level.Richard Kenner1-11/+17
From-SVN: r14541
1997-06-26Document force_fit_type as an entry point in the file.Doug Evans1-3/+7
From-SVN: r14324
1997-06-09xJason Merrill1-6/+13
From-SVN: r14210
1997-05-08(fold, truth_andor): Disable optimization for side effects on RHS.Richard Kenner1-2/+4
From-SVN: r14047
1997-04-20(operand_equal_p): Constants are not equal if there has been an overflow.Richard Kenner1-2/+7
From-SVN: r13949
1997-02-15(fold): Don't assume a nonexplicit constant cannot equal an explicit one.Richard Kenner1-1/+2
From-SVN: r13650
1997-02-07(const_binop): Don't call size_int if low < 0.Richard Kenner1-1/+1
From-SVN: r13617
1997-01-27(fold): Don't make COND_EXPR when both expr and one part are comparisons.Richard Kenner1-2/+4
From-SVN: r13553
1997-01-06(operand_equal_p): Rework to consider two expressions that have embedded ↵Richard Kenner1-33/+57
identical SAVE_EXPRs as equivalent... (operand_equal_p): Rework to consider two expressions that have embedded identical SAVE_EXPRs as equivalent; also handle some more cases. From-SVN: r13385
1997-01-04(const_binop): Rework to only make constants in one place; always use ↵Richard Kenner1-68/+62
size_int if small enough and of sizetype. (const_binop): Rework to only make constants in one place; always use size_int if small enough and of sizetype. (size_int): Call force_fit_type. (fold): Avoid ever changing type of input tree. From-SVN: r13377
1996-12-07(merge_ranges): In (+,-) case, if lower bounds are the same the resultRichard Kenner1-4/+3
is always false. From-SVN: r13236
1996-11-16(optimize_bit_field_compare, decode_field_reference): Pass new arg toRichard Kenner1-4/+6
get_inner_reference. From-SVN: r13188
1996-11-15(unextend): Rewrite type conversions to avoid overflow.Jim Wilson1-3/+13
From-SVN: r13165
1996-11-15(operand_equal_p): Do real comparison with REAL_VALUES_EQUAL.Richard Kenner1-7/+29
(make_range): Properly decide when to get TREE_TYPE of arg0. Handle EXP being an INTEGER_CST at end. (fold_range_test): Handle return of 0 from make_range. (fold, case TRUTH_AND_EXPR): Handle first arg of 0. (fold, case TRUTH_OR_EXPR): Handle first arg of 1. From-SVN: r13163
1996-11-15(range_binop): Set SNG1 to zero if ARG1 is a not a lower or upperRichard Kenner1-1/+1
bound. From-SVN: r13161
1996-11-12(merge_ranges): In (+,-) case, treat subset speciallyJim Wilson1-4/+8
if lower bounds are the same. From-SVN: r13127
1996-11-07(const_binop, case *_DIV_EXPR): Don't do special sizetype case if aRichard Kenner1-9/+7
constant overflows. From-SVN: r13106
1996-11-01(make_range): Don't merge unsigned case with range containing upper bound;Richard Kenner1-15/+24
instead merge just with zero and convert a range with no upper bound to opposite one with no lower bound. (merge_ranges): In (+,-) case, don't treat subset specially if the upper bounds are the same; fix typo in others case here. From-SVN: r13090
1996-10-31fold-const.c (make_range, [...]): Correct normalization of an unsigned range ↵Jeff Law1-3/+9
that wraps around zero. * fold-const.c (make_range, case PLUS_EXPR): Correct normalization of an unsigned range that wraps around zero. From-SVN: r13089
1996-10-30(range_binop): Strip NOPs from result and verify it's an INTEGER_CST.Richard Kenner1-9/+12
(make_range, case BIT_NOT_EXPR): Fix typo in constant for PLUS_EXPR. From-SVN: r13079
1996-10-27* fold-const.c (merge_ranges): Fix thinko/typo.Jeff Law1-1/+1
From-SVN: r13042
1996-10-24(make_range, case PLUS_EXPR): Normalize an unsignedJim Wilson1-1/+9
range that wraps around 0. From-SVN: r13030
1996-10-24(make_range, comparison cases): When making range for unsigned toRichard Kenner1-6/+11
merge in, use full range. From-SVN: r13027
1996-10-23(exact_real_inverse): Likewise, if no REAL_ARITHMETIC.Richard Kenner1-5/+106
(fold, case RDIV_EXPR): Turn divide by constant into multiplication by the reciprocal, if optimizing and result is exact. From-SVN: r13004
1996-10-12fold-const.c (make_range): Handle NULL operand 0 (like in BIND_EXPRs).Doug Evans1-1/+1
* fold-const.c (make_range): Handle NULL operand 0 (like in BIND_EXPRs). From-SVN: r12957
1996-10-09(range_test): Function deleted.Richard Kenner1-156/+461
(range_binop, make_range, build_range_check): New functions. (merge_ranges, fold_range_test): Likewise. (fold_truthop): No longer call range_test. (fold, case TRUTH_{AND,OR}{,IF}_EXPR): Call fold_range_test. From-SVN: r12921
1996-09-29(const_binop): Add new arg, TYPE, to call to build_complex.Richard Kenner1-25/+30
(fold, case CONJ_EXPR, COMPLEX_EXPR): Likewise. From-SVN: r12865
1996-09-22Fix error in comments.Richard Kenner1-1/+1
From-SVN: r12773
1996-07-03formatting tweaksMike Stump1-1/+1
From-SVN: r12390
1996-06-06(fold): Don't do anything with evaluated SAVE_EXPR.Richard Kenner1-2/+3
From-SVN: r12185
1996-05-16(fold, case EQ_EXPR): When folding VAR++ = CONST, mask the new constRichard Kenner1-0/+35
if VAR is a bitfield reference; also for VAR--. From-SVN: r11976
1996-04-30(fold): Don't call convert to recreate tree nodesJason Merrill1-1/+1
we already have. From-SVN: r11908
1996-04-14(range_test): Don't convert hi_cst or lo_cst to unsigned when foldingRichard Kenner1-8/+14
signed range tests. From-SVN: r11768
1996-04-14(fold_convert): Add new arg to REAL_VALUE_FROM_INT.Richard Kenner1-2/+3
From-SVN: r11766
1996-03-25(fold, case BIT_IOR_EXPR): Recognize rotates with variable count.Richard Kenner1-16/+44
From-SVN: r11614
1996-03-02(fold, case *_DIV_EXPR): Ignore SAVE_EXPR if has RTL.Richard Kenner1-2/+2
From-SVN: r11400
1996-01-16(left_shift_overflows): Remove; unused.Richard Kenner1-3/+0
From-SVN: r11021
1996-01-16(const_binop): Strip NOPS from both args.Richard Kenner1-1/+3
From-SVN: r11019
1995-12-26(fold_convert): When converting a NaN to another type, change the typeRichard Kenner1-1/+5
of the node before returning it. From-SVN: r10863
1995-12-16(fold): Don't record overflow when negating unsigned constants.Richard Kenner1-1/+1
From-SVN: r10779
1995-09-15(div_and_round_double): Change `carry', `quo_est', and `scale' fromRichard Kenner1-2/+3
plain int to `unsigned HOST_WIDE_INT'. From-SVN: r10367
1995-09-03(size_binop): Don't pass 1 to NOTRUNC.Richard Kenner1-1/+1
From-SVN: r10306
1995-07-18(fold, case CONVERT_EXPR): Don't merge conversions if outer is toRichard Kenner1-2/+8
handle a type with differing precision. From-SVN: r10145
1995-07-01(decode_field_reference): New parm PAND_MASK.Richard Kenner1-11/+27
(unextend): New parm MASK. (fold_truthop): Pass new parms to decode_field_reference and unextend. From-SVN: r10098
1995-06-27(fold_truthop): Commute unextend and convert on l_const and r_const.Richard Kenner1-2/+2
From-SVN: r10065
1995-06-15Update FSF address.Richard Kenner1-1/+2
From-SVN: r9961
1995-06-13(fold): When converting a COND_EXPR to an ABS_EXPR, get the typesRichard Kenner1-2/+6
right for ABS_EXPR to work. From-SVN: r9939
1995-06-09(lshift_double): Replace `&' with `%' to fix typo.Richard Kenner1-4/+8
(lshift_double, rshift_double): Truncate shift count only if SHIFT_COUNT_TRUNCATED. Remove unnecessary `count >= prec' test. From-SVN: r9917
1995-06-07(fold): When folding `<' type nodes, make true_value and false_valueRichard Kenner1-5/+7
have correct types. From-SVN: r9899
1995-05-24*** empty log message ***Jason Merrill1-1/+5
From-SVN: r9801