Commit Graph

6347 Commits

Author SHA1 Message Date
Doug Evans
9e9b48a4a2 (rest_of_compilation): jump_optimize can change max_reg_num so rerun reg_scan
before calling cse_main.

From-SVN: r6360
1994-01-08 19:56:03 +00:00
Torbjorn Granlund
919ea6a5c3 (RTX_COSTS): Return actual costs for multiplication.
From-SVN: r6359
1994-01-08 01:33:38 +00:00
Jim Wilson
6d55e0ab0a (sdbout_symbol): Handle variables at zero offset from frame pointer.
From-SVN: r6358
1994-01-04 10:43:51 -08:00
Richard Kenner
6a22e3a731 (substitute_expr): Don't abort for RTL_EXPR and SAVE_EXPR; just do
nothing.

From-SVN: r6357
1994-01-04 07:34:51 -05:00
Jeff Law
dadae8179e pa.md (andsi3): Use "?" instead of "!" to avoid losing in some cases.
* pa.md (andsi3): Use "?" instead of "!" to avoid losing
        in some cases.

From-SVN: r6356
1994-01-03 22:53:11 -07:00
Torbjorn Granlund
6f606d6366 (rest_of_compilation): Pass 1 for flag_before_jump first
time we call thread_jumps.

From-SVN: r6355
1994-01-03 22:20:42 +00:00
Torbjorn Granlund
aa38b201de (thread_jumps): Don't thread to loop label; create new label before loop instead.
(thread_jumps): Don't thread to loop label; create new label
before loop instead.
(thread_jumps): Rename argument `verbose' -> `flag_before_jump'.

From-SVN: r6354
1994-01-03 22:20:01 +00:00
Torbjorn Granlund
8b39ed65f1 (build_binary_op, case *_DIV_EXPR): Use same shorten
condition as for TRUNC_MOD_EXPR.

From-SVN: r6353
1994-01-03 21:59:04 +00:00
Richard Kenner
61f275ffe7 (truth_value_p): New function.
(fold): Use it to see when we should make a TRUTH_{AND,OR}_EXPR.
(fold, case TRUTH_{AND,OR,ANDIF,ORIF}_EXPR): Use distributive law on
expressions such as (A && B) || (A && C).

From-SVN: r6352
1994-01-03 07:59:59 -05:00
Richard Kenner
64812ded25 (simplify_relational_operation): Correct declaration of variables
holding parts of constants.

From-SVN: r6351
1994-01-02 08:14:22 -05:00
Richard Kenner
7e89c3a3fd (main): Turn on -fomit-frame-pointer if it is safe.
Add -O3, which turns on -finline-functions.

From-SVN: r6350
1993-12-31 06:56:39 -05:00
Richard Kenner
7be1e5236c (CAN_DEBUG_WITHOUT_FP): Define.
(OPTIMIZATION_LEVELS): Just set MASK_GPOPT.

From-SVN: r6349
1993-12-31 06:55:57 -05:00
Richard Kenner
4f074454bb Define CAN_DEBUG_WITHOUT_FP; delete OPTIMIZATION_OPTIONS.
From-SVN: r6348
1993-12-31 06:55:27 -05:00
Richard Kenner
b0f43a24b7 (OPTIMIZATION_OPTIONS): Just turn on machine-specific opts.
(CAN_DEBUG_WITHOUT_FP): Define.

From-SVN: r6347
1993-12-31 06:53:28 -05:00
Richard Kenner
2254dcd5db Delete OPTIMIZATION_OPTIONS.
From-SVN: r6346
1993-12-31 06:53:01 -05:00
Richard Kenner
faa2075e94 Define NO_FUNCTION_CSE and CAN_DEBUG_WITHOUT_FP; delete
OVERRIDE_OPTIONS.

From-SVN: r6345
1993-12-31 06:52:33 -05:00
Richard Kenner
a432f20d05 (simplify_relational_operation): Rewrite and simplify.
Add case when we can simplify A-B for compare of A and B.

From-SVN: r6344
1993-12-31 06:47:13 -05:00
Richard Kenner
abe6e52f23 (added_links_insn): New variable.
(distribute_links): Set it.
(if_then_else_cond): New function.
(try_combine): Return added_links_insn if it is earlier than what we would
otherwise return.
(subst): Generalize (OP X Y) to call if_then_else_cond instead of only
checking for an explicit IF_THEN_ELSE.
(subst, case IF_THEN_ELSE): When converting to a MULT, simplify the MULT
before putting it into OP.
(subst, case AND): Don't make IF_THEN_ELSE here; now made in generic case
earlier.

From-SVN: r6343
1993-12-31 06:44:59 -05:00
Richard Kenner
e3d616e3da (force_to_mode): Add new parm JUST_SELECT; all callers changed.
From-SVN: r6342
1993-12-31 06:27:31 -05:00
Richard Kenner
996c63d336 (fold, case PLUS_EXPR): Add a missing test of flag_fast_math.
From-SVN: r6341
1993-12-29 18:04:48 -05:00
Richard Kenner
c407b802da (simplify_binary_operation, case MULT): Don't convert to ASHIFT if
still generating RTL.

From-SVN: r6340
1993-12-29 06:51:45 -05:00
Ian Lance Taylor
bb7c21a564 Do not fix <syndev/ipi_error.h> to avoid problems with SunOS sed
From-SVN: r6339
1993-12-28 03:15:25 +00:00
Richard Kenner
2bbc163fd3 (maxsf3, minsf3): Correct numerous errors.
From-SVN: r6338
1993-12-27 12:02:09 -05:00
Richard Kenner
1fc3d466bf (get_condition): Can reverse comparison if -ffast-math.
From-SVN: r6337
1993-12-27 08:50:11 -05:00
Richard Kenner
9b2e59adde (can_reverse_comparison_p): Return 1 if -ffast-math.
From-SVN: r6336
1993-12-27 08:49:28 -05:00
Richard Kenner
fab446b8c3 (fold): Simplify more FP ops if -ffast-math.
From-SVN: r6335
1993-12-27 08:48:58 -05:00
Richard Kenner
a83afb65d0 (simplify_binary_operation, fold_rtx): Allow some FP simplications with -ffast-math.
(simplify_binary_operation, fold_rtx): Allow some FP simplications
with -ffast-math.
(simplify_relational_operation): FP comparisons can be reversed
if -ffast-math is specified.

From-SVN: r6334
1993-12-27 08:48:17 -05:00
Richard Kenner
7e2a0d8ef4 (subst, case MINUS): Allow some FP simplifications if -ffast-math.
(reversible_comparison_p): FP comparisons reversible with -ffast-math.

From-SVN: r6333
1993-12-27 08:47:14 -05:00
Richard Kenner
60614fddd4 (iordi3): Use ornot for some constant cases.
From-SVN: r6332
1993-12-27 06:28:38 -05:00
Richard Kenner
a61edda592 (PREDICATE_CODES): Add ior_operand.
From-SVN: r6331
1993-12-27 06:28:14 -05:00
Richard Kenner
8088469de4 (ior_operand): New function.
From-SVN: r6330
1993-12-27 06:27:52 -05:00
Richard Kenner
bf500664d7 (do_tablejump): Call emit_cmp_insn with likely-constant as second
operand.

From-SVN: r6329
1993-12-26 18:12:37 -05:00
Richard Kenner
5954c8a8b7 (jump_optimize): When deleting an insn after a jump, update
reallabelprev since it might point to the deleted insn.

From-SVN: r6328
1993-12-26 08:37:13 -05:00
Richard Kenner
79644f0689 (count_reg_usage): Don't count a register used within a SET that sets it.
(delete_dead_from_cse): Pass new parm to count_reg_usage.

From-SVN: r6327
1993-12-26 08:30:32 -05:00
Richard Kenner
c2cc077888 (fold_rtx...
(fold_rtx, case PLUS): If we have (plus A B), A is equivalent to a
negative constant, and the negated constant is in register, convert to
(minus A C) where C is the register containing the negated constant.

From-SVN: r6326
1993-12-26 07:55:11 -05:00
Jeff Law
75600ead0c pa.h (DBX_BLOCKS_FUNCTION_RELATIVE): Define.
* pa.h (DBX_BLOCKS_FUNCTION_RELATIVE): Define.
        (ASM_OUTPUT_SOURCE_LINE): Likewise.
        (DBX_FUNCTION_FIRST): Likewise.

        * pa.h (FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM): Change to %r3
        for compatability with HP compilers.

        * pa.h (READONLY_DATA_SECTION): Re-enable use of $LIT$.

From-SVN: r6325
1993-12-25 21:46:37 -07:00
Richard Kenner
c0b178d09b (gen_reg_rtx): Only clear part of arrays we aren't going to copy into.
From-SVN: r6324
1993-12-25 18:00:14 -05:00
Richard Kenner
3207b172f7 (expand_expr, case CONSTRUCTOR): If have a target, don't build
constructor into memory.

From-SVN: r6323
1993-12-25 17:51:12 -05:00
Richard Kenner
307b821c36 (expand_expr...
(expand_expr, case ARRAY_REF): Remove uses of *_type_node and simplify
folding a reference to a character in a STRING_CST.

From-SVN: r6322
1993-12-25 13:35:27 -05:00
Richard Kenner
43b603ea3d Rename R_ACC to R_ACU to not conflict with access.h.
From-SVN: r6321
1993-12-25 13:11:53 -05:00
Richard Kenner
d9ee453842 (USG): Delete from here (already in xm.h file).
From-SVN: r6320
1993-12-25 13:05:05 -05:00
Richard Kenner
2c4d3019bd (HAVE_VPRINTF): Define.
From-SVN: r6319
1993-12-25 13:04:48 -05:00
Richard Kenner
15a676cca0 (HAVE_VPRINTF): Delete from here.
From-SVN: r6318
1993-12-25 13:04:35 -05:00
Richard Kenner
3e5f801865 (print_node, print_node_brief): Say something when
TREE_CONSTANT_OVERFLOW is set.

From-SVN: r6317
1993-12-25 12:47:01 -05:00
Richard Kenner
0c847d7db5 (check_dbra_loop): Fix error in previous change.
From-SVN: r6316
1993-12-25 12:37:10 -05:00
Richard Kenner
9e69be8c65 (set_nonzero_bits_and_sign_copies, nonzero_bits): Fix errors in
SHORT_IMMEDIATES_SIGN_EXTEND code.

From-SVN: r6315
1993-12-25 09:28:45 -05:00
Richard Kenner
14d4a67a32 (FUNCTION_ARG): Pass complex float in float regs.
From-SVN: r6314
1993-12-25 09:02:34 -05:00
Richard Kenner
95aa28ae18 (fold...
(fold, case EQ_EXPR, NE_EXPR): If COMPLEX_TYPE and at least one arg is
a COMPLEX_EXPR, split into a logical operation on the real and
imaginary parts.

From-SVN: r6313
1993-12-25 08:52:25 -05:00
Richard Kenner
75326e8c5a (common_type): For COMPLEX_TYPE, return one of the original types if is the desired common type.
(common_type): For COMPLEX_TYPE, return one of the original types if is the
desired common type.
(build_binary_op): Use SHORT_COMPARE code even if complex.

From-SVN: r6312
1993-12-25 08:30:49 -05:00
Richard Kenner
c470260b41 (grokdeclarator): Properly validate __complex__ and create the various
kinds of complex integer types.

From-SVN: r6311
1993-12-25 07:52:49 -05:00