1. 03 Aug, 1992 7 commits
    • (find_use_as_address): Use HOST_WIDE_INT instead of int when comparing a pointer… · 6fa5c106
      (find_use_as_address): Use HOST_WIDE_INT instead of int when comparing a pointer to an integer constant...
      
      (find_use_as_address): Use HOST_WIDE_INT instead of int when comparing a
      pointer to an integer constant; also when returning int.
      
      From-SVN: r1748
      Richard Kenner committed
    • (expand_call): Use HOST_WIDE_INT instead of int when comparing a · 854e97f0
      pointer to an integer constant.
      
      From-SVN: r1747
      Richard Kenner committed
    • (reg_sign_bit_copies): New variable. · d0ab8cd3
      (combine_instructions): Initialize it.
      (set_significant): Set it.
      (try_combine): Set subst_low_cuid immediately before calling `subst' to
      the INSN_CUID of the lowest insn involved in the call.   Change XOR with
      out-of-range constant to (not (xor ...)).
      Call both split_insns and find_split_point; pass extra parm to
      find_split_point.
      Record I2DEST's value if I2 now sets it; similarly for I1DEST.
      (find_split_point): Add new arg INSN.
      If AND'ing with a large single-bit constant and we only care about
      equality with zero, replace with bit extraction.
      Make two shifts for ZERO_EXTRACTs unless very narrow.
      (subst): Move RESTART label earlier.
      If we have a simple operation applied to IF_THEN_ELSE, move the operation
      inside the two arms.
      (subst, case SUBREG): Use force_to_mode.
      (subst, case NOT): Change (not (xor X C)) to (xor X ~C).
      (subst, case NEG): Remove (neg (abs X)); redundant.
      Convert (neg (xor A 1)) to (plus A -1) if A is known to be 0 or 1.
      (subst, case IF_THEN_ELSE): Simplify if an arm contains a register being
      tested by substiting the known value.
      Put constant integer in last arm if can reverse comparison.
      (subst, case SET): Use gen_lowpart_for_combine.
      (subst, case AND): Make IF_THEN_ELSE when appropriate.
      (subst, case IOR): (ior A C) can sometimes be just C.
      (subst, case XOR): Go back and restart when canonicalizing.
      (subst, case ABS): Use num_sign_bit_copies.
      (make_extraction): Call force_to_mode.
      (make_compound_operation): Look at optabs rather that explicitly checking
      for operations and assuming we have SImode.
      Handle (ashiftrt (OP (ashift foo C1) C3) C2).
      (force_to_mode): Only change mode of arithmetic if optab says we have
      operation in that mode.
      Remove unneeded ASHIFTRT; add handling for IF_THEN_ELSE.
      (significant_bits, case NEG): Call num_sign_bit_copies.
      (significant_bits, case ABS, case [US]{MIN,MAX}, IF_THEN_ELSE): New.
      (num_sign_bit_copies): New function.
      (simplify_shift_const): Remove ASHIFTRT if value is known -1 or 0.
      Use num_sign_bit_copies to simplify (ashiftrt (ashift ...) ...)
      and (ashiftrt (neg ...) ...).
      Remove now redundant case when VAROP is a PLUS.
      (simplify_comparison): If A is known to be -1 or 0, A != -1 is A == 0.
      Simplify unsigned tests that really check the sign bit.
      (simplify_comparison, case ASHIFTRT): Convert to LSHIFTRT if equality
      comparison with zero.
      (get_last_value): Check if the desired register is set in the
      insn before the one whose INSN_CUID is subst_low_cuid.
      
      From-SVN: r1746
      Richard Kenner committed
    • (expand_builtin, case BUILT_INT_CONSTANT_P): Add missing call to · cda0ec81
      TREE_CODE.
      
      From-SVN: r1745
      Richard Kenner committed
    • (reload): Set reload_in_progress earlier. · b2f15f94
      From-SVN: r1744
      Richard Kenner committed
    • (optimize_bit_field_compare): Correct bogus use of types in expressions... · c0b9d4c8
      (optimize_bit_field_compare): Correct bogus use of types in
      expressions; always do computation in a type wide enough for the
      result.
      
      From-SVN: r1743
      Richard Kenner committed
  2. 01 Aug, 1992 5 commits
  3. 31 Jul, 1992 13 commits
  4. 30 Jul, 1992 9 commits
  5. 29 Jul, 1992 6 commits