Commit Graph

6327 Commits

Author SHA1 Message Date
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
Richard Kenner 089481a600 (simplify_unary_operations): Check that operations really are
double-word before doing them.

From-SVN: r6310
1993-12-25 06:05:04 -05:00
Richard Kenner 3308590619 (simplify_binary_operation): Fix typo in CONST_DOUBLE change.
From-SVN: r6309
1993-12-24 21:54:55 -05:00
Richard Kenner 30d69925b6 (simplify_binary_operation, case PLUS, MINUS):
Simplify such things as (X >> 1) - X.

From-SVN: r6308
1993-12-24 21:24:39 -05:00
Jim Wilson 6e7f952e96 (read_name_map, read_filename_string, open_include_file):
New functions.
(struct file_name_list): New members: name_map, got_name_map.
(main, path_include, do_include, do_once): Set got_name_map.
(do_include): Use open_include_file instead of open.  Add new
parameter to lookup_import calls.
(lookup_import): New parameter searchptr.  Call open_include_file
instead of open.

From-SVN: r6307
1993-12-24 12:49:47 -08:00
Jim Wilson 2bf29316da (convert_modes): Can't truncate REG with gen_lowpart if
TRULY_NOOP_TRUNCATION doesn't allow it.

From-SVN: r6306
1993-12-24 12:20:44 -08:00
Jeff Law 4433322379 cse.c (cse_insn): Set "cse_jumps_altered" when collapsing a switch statement into an...
* cse.c (cse_insn): Set "cse_jumps_altered" when collapsing
        a switch statement into an unconditional jump.
        * toplev.c (rest_of_compilation): Rerun jump_optimize
        before the second CSE pass.

From-SVN: r6305
1993-12-24 12:36:04 -07:00
Richard Kenner 18bd1bd9bb (output_prolog): Need GP if type ISUBR.
From-SVN: r6304
1993-12-24 08:56:20 -05:00
Richard Kenner 454f33b937 (define_attr type): Add new type ISUBR.
(divmod): Set to type ISUBR.

From-SVN: r6303
1993-12-24 08:56:03 -05:00
Richard Kenner 03b72c86a8 (push_reload...
(push_reload, find_reloads): Reload inside a paradoxical SUBREG of MEM
except don't force a reload unless the inner mode is narrower than
BIGGEST_ALIGNMENT.

From-SVN: r6302
1993-12-24 08:33:15 -05:00
Richard Kenner 3c9d8bafe2 (check_init_type_bitfields): Check recursively inside arrays and
records.

From-SVN: r6301
1993-12-24 07:54:26 -05:00
Richard Kenner 6f38f669d0 (decl_attribute): Verify that alignment and format argument numbers are all integer constants.
(decl_attribute): Verify that alignment and format argument numbers are all
integer constants.
Continue on to next attribute if one is in error.

From-SVN: r6300
1993-12-24 07:38:37 -05:00
Richard Kenner ba09c753fb (attrib): Allow expressions instead of constants.
From-SVN: r6299
1993-12-24 07:37:56 -05:00
Richard Kenner fe87324067 (simplify_binary_operation): Can fold multi-word operations when first is CONST_INT.
(simplify_binary_operation): Can fold multi-word operations when first is
CONST_INT.
(simplify_binary_operation, case PLUS, MINUS): Don't call plus_constant when
OP0 is VOIDmode.

From-SVN: r6298
1993-12-24 06:53:52 -05:00
Torbjorn Granlund 27f006ebb1 (thread_jumps): Delete redundant loop termination test.
From-SVN: r6297
1993-12-24 11:46:56 +00:00
Torbjorn Granlund 4d61f8c559 (simplify_binary_operation, case *SHIFT*): Reduce arg1 as
defined by SHIFT_COUNT_TRUNCATED.

From-SVN: r6296
1993-12-24 11:46:16 +00:00
Richard Kenner 792089b33e (pop_init_level): Don't abort if have incomplete array type inside
some other type.

From-SVN: r6295
1993-12-24 05:35:46 -05:00
Torbjorn Granlund 2f95ebc26b (iorscc): New recognizer.
2 new recognizers for sub;subb.  1 new recognizer for addi;subb.
(movstrsi): Remove predicates.  Set inline threshold to 8.
(umulsidi3): Change predicates to nonimmediate_operand.
New recognizer for multiply-by-immediate.
(andsi3): Add `!' for register alternative.
(vdepi_ior, vdepi_and): New recognizers.
(vextru rx,1,ry, vextrs rx,1,ry): New recognizers.
(call, call_value): If PIC, emit USE for for
PIC_OFFSET_TABLE_REGNUM.  Use PIC_OFFSET_TABLE_REGNUM rather than 19.

From-SVN: r6294
1993-12-24 03:13:01 +00:00
Torbjorn Granlund 5a1c10de98 (FUNCTION_INCOMING_ARG): Delete definition.
(RTX_COSTS) [PLUS]: Rewrite.
(output_scc_insn): Delete.
(output_floatsisf2): Delete.
(output_floatsidf2): Delete.
(PREDICATE_CODES): Define, but leave within #if 0 for now.
(CONDITIONAL_REGISTER_USAGE): Never make
PIC_OFFSET_TABLE_REGNUM fixed.
(INITIALIZE_PIC): Delete.

From-SVN: r6293
1993-12-24 03:11:57 +00:00
Torbjorn Granlund 23f6f34fca (Several places): Declare values from INTVAL(x) as HOST_WIDE_INT.
(uint32_operand): New function.
(output_block_move): Change unroll threshold from 64 to 32.
(compute_movstrsi_length): Corresponding change.
(print_operand): Don't call debug_rtx, just abort.
(initialize_pic): Delete.
(finalize_pic): Use PIC_OFFSET_TABLE_REGNUM rather than 19.

From-SVN: r6292
1993-12-24 03:10:48 +00:00
Jim Wilson 2d19a71c10 (optimize_reg_copy_1): After decreasing sregno's
reg_live_length, correct it if it is now obviously too small.

From-SVN: r6291
1993-12-23 17:35:17 -08:00