Commit Graph

7528 Commits

Author SHA1 Message Date
Richard Kenner
73b236b5f6 (find_reloads): Don't rejecting non-const due to value of
PREFERRED_RELOAD_CLASS if no regs were valid for alternative.

From-SVN: r7541
1994-06-23 17:59:22 -04:00
Richard Kenner
d8e5c94615 (output_move_double): If the dest is register pair and both regs are used in src address...
(output_move_double): If the dest is register pair and both regs are
used in src address, use ADDR to compute src address, not ADDD, which
throws away scaled index.

From-SVN: r7540
1994-06-23 17:45:46 -04:00
Richard Kenner
014aa47e1e (clear_binding_level): Add missing fields in initializer.
(c_decode_option): Correct misspelling of -fno-dollars-in-identifiers.

From-SVN: r7539
1994-06-23 17:39:11 -04:00
Ian Lance Taylor
4e373a5930 Fix sbrk return type in <unistd.h> on Alpha OSF/1 V2.0.
From-SVN: r7538
1994-06-23 17:48:38 +00:00
Richard Earnshaw
e2c671bad7 include tree.h
include tree.h
(const_ok_for_arm): Add fast return for 0 or just a single non-zero bit.
(const_ok_for_op): New function.
(arm_split_constant): New function.
(arm_rtx_costs): New function.
(reg_or_int_operand): New function.
(shift_operator): Accept ROTATERT.
(multi_register_push): New function.
(shift_op): Don't abort if a constant is outside the acceptable range, but
convert the whole shift expression into something legal.  If the shift is
zero, then return NULL.
(output_return_instruction): Output a call to abort if the function is
volatile.
(arm_volatile_func): New function.
(get_prologue_size): Remove all adjustments for insns that are now output as
rtx.
(output_func_prologue): Remove all code that outputs instructions, just print
a few comments.
(output_func_epilogue): Output a call to abort if a volatile function tries
to return.
(emit_multi_reg_push): New function.
(arm_expand_prologue): New function.  Don't bother to push call-saved regs
if we will never return.
(arm_print_operand, case 'S'): If shift_op returns NULL, then no shift is
required.

From-SVN: r7537
1994-06-23 16:02:41 +00:00
Richard Earnshaw
3967692c7e (TARGET_WHEN_DEBUGGING): Delete.
(MODES_TIEABLE_P): All modes of the same class are tieable.
(CONST_OK_FOR_LETTER_P): Add 'M' for constants valid in a shift.
(FUNCTION_PROFILER): Don't call arm_increase_location.
(INITIAL_ELIMINATION_OFFSET): Call saved regs are no-longer pushed for
functions that don't return.
(LEGITIMIZE_ADDRESS): Push constants that will never be legitimate -- symbols
and labels -- into registers.  Handle DImode better.
(DEFAULT_SIGNED_CHAR): Use unsigned unless already defined.
(RTX_COSTS): Call arm_rtx_costs.
(ADDRESS_COST): Since most operations have the same rtx cost, make the
more complex addresses cheaper.
(PREDICATE_CODES): Add ROTATERT to shift_operator; and new predicates for
reg_or_int_operand and multi_register_push.
(DBX_CONTIN_LENGTH): Only define if not already done.
(PRINT_OPERAND_ADDRESS): Let arm_print operand output the ", " for shifts.

From-SVN: r7536
1994-06-23 16:02:41 +00:00
Richard Earnshaw
e8da7c0237 Delete some dead code.
(STARTFILE_SPEC): Look in the correct places for start files.
(LIB_SPEC): Define.
(LINK_SPEC): Define.
(TARGET_WHEN_DEBUGGING): Delete.
(DEFAULT_SIGNED_CHAR): Set to unsigned.
(SIZE_TYPE, PTRDIFF_TYPE, TARGET_EDOM): Define.

From-SVN: r7535
1994-06-23 16:02:41 +00:00
Richard Earnshaw
7ea544d4ce (DBX_CONTIN_LENGTH): Set to 80.
(DEFAULT_GDB_EXTENSIONS, DBX_NO_XREFS): Don't try to pander to dbx, it is just
to broken to use.

From-SVN: r7534
1994-06-23 16:02:41 +00:00
Richard Earnshaw
091426d3f9 (addsi3, subsi3, andsi3, iorsi3, ashlsi3, ashrsi3, lshrsi3, rotrsi3):
Rewrite as expand patterns.
(rotlsi3): New expand.
(matchers, and split patterns for above): New.
(all patterns with shifts): Let arm_print_operand output the ", " before a
shift if it is needed.
(zero_extendqihi2): Delete.
(zero_extendqisi2): Expand to (and ...) if not memory.
(movsi): Call arm_split_constant to generate a constant.
(movqi): Only force a MEM into a register if not reloading.
(movsf, movdf): If loading a non-immediate floating point value, or loading
and floating point immediate into integer regs, push the constant straight
into the pool.
(movdf): Get rid of the scratch register.
(reload_outdf): Rewrite to expand to the two required insns.
(matcher for movdf): Remove alternative that used scratch register for
storing.
(movxf): rewrite as expand.
(matcher for movxf): Recognize even when XFmode code is disabled, so that
prologue insns can be generated.
(Matcher for reversed conditional jump): Don't match if the mode of the
CC register is not reversible.
(prologue): New expand.
(matcher for multi_register_push insn): New.

From-SVN: r7533
1994-06-23 16:02:41 +00:00
Richard Kenner
ff4b82d083 Initial revision
From-SVN: r7532
1994-06-22 20:09:12 -04:00
Richard Kenner
5dda702fa1 (m68k-ccur): New system.
From-SVN: r7531
1994-06-22 20:03:14 -04:00
Richard Kenner
9b3345cc76 Include <dirent.h>, not <sys/dir.h> on Concurrent.
From-SVN: r7530
1994-06-22 20:01:40 -04:00
Richard Kenner
9abdca9c6f (strength_reduce): When replacing DEST_ADDR givs, make sure resulting
insn is valid.

From-SVN: r7529
1994-06-22 19:53:01 -04:00
Richard Kenner
49501ea43f (LINK_SPEC): New macro.
From-SVN: r7528
1994-06-22 18:49:13 -04:00
Ian Lance Taylor
8868162401 Handle -with-gnu-as for Alpha as it is handled for MIPS
From-SVN: r7527
1994-06-22 22:46:16 +00:00
Richard Kenner
70864443c3 (expand_binop): New variable next_methods; pass to most recursive calls when trying to avoid libcalls.
(expand_binop): New variable next_methods; pass to most recursive calls when
trying to avoid libcalls.
Always check for a return value of zero in recursive calls.
(expand_float): Ensure TARGET has proper mode.
Pass OPTAB_LIB_WIDEN to expand_binop calls.

From-SVN: r7526
1994-06-22 18:15:30 -04:00
Doug Evans
e24d9a3144 (skip_to_end_of_comment): Catch unterminated comments.
From-SVN: r7525
1994-06-21 18:35:15 +00:00
Jason Merrill
e5b3d86a43 include stdio.h and stdlib.h into assert.h as necessary
From-SVN: r7524
1994-06-18 21:51:42 +00:00
Jason Merrill
6bfc4303bd Lose assert.h hacking
From-SVN: r7523
1994-06-18 21:51:42 +00:00
Jim Wilson
2817f10ffc (sdbout_symbol): Use DECL_ASSEMBLER_NAME if
DECL_LANG_SPECIFIC is set.

From-SVN: r7522
1994-06-18 14:01:07 -07:00
Jim Wilson
1d33b2a9b9 (process_init_element): For fieldtype, don't access
TYPE_MAIN_VARIANT field if the type is error_mark_node.

From-SVN: r7521
1994-06-18 13:58:57 -07:00
Jim Wilson
abdf3eea96 (truncdisi2): Change from define_insn to define_expand.
(truncdihi2, truncdiqi2, extendsidi2): Likewise.
(extendsidi2_internal): New pattern.

From-SVN: r7520
1994-06-18 13:53:45 -07:00
Jim Wilson
9c066566b0 (duplicate_loop_exit_test): Initialize copy to zero.
Emit jump to end lable if copy is still zero.

From-SVN: r7519
1994-06-18 13:50:28 -07:00
Jim Wilson
ee3e2d3de0 (sdbout_one_type): Use DECL_ASSEMBLER_NAME not
DECL_NAME for child_type that is a template type.

From-SVN: r7518
1994-06-18 13:48:02 -07:00
Jim Wilson
f97d29ce9c (move_movables): Copy CALL_INSN_FUNCTION_USAGE field.
From-SVN: r7517
1994-06-18 13:44:41 -07:00
Jim Wilson
0eb111c2d9 (sdbout_one_type): Use DECL_ASSEMBLER_NAME if
DECL_LANG_SPECIFIC is set.

From-SVN: r7516
1994-06-18 13:42:18 -07:00
Jim Wilson
3a83beef35 (dbxout_symbol): Replace DECL_IGNORED_P with
TYPE_DECL_SUPPRESS_DEBUG.

From-SVN: r7515
1994-06-18 13:40:20 -07:00
Richard Kenner
711a5e64b8 (expand_shift): Don't try extzv for lshr.
From-SVN: r7514
1994-06-18 10:31:51 -04:00
Richard Kenner
572e10f482 (lshrsi3): New define_expand.
From-SVN: r7513
1994-06-18 10:26:15 -04:00
Richard Kenner
73d9a835b6 Pass NULL_RTX for TARGET in calls to expand_{un,bin}op.
(expand_float): Use expand_shift instead of expand_binop.

From-SVN: r7512
1994-06-18 10:21:32 -04:00
Ian Lance Taylor
d67342cd3d Correct math.h handling on Lynx again.
From-SVN: r7511
1994-06-17 19:06:33 +00:00
Richard Earnshaw
b5a09c4171 (simplify_binary_operation, case MINUS): Check mode of op0,
instead of op1, before calling plus_constant.

From-SVN: r7510
1994-06-17 14:51:43 +00:00
Jeff Law
2e7e71216f pa.h (DEBUGGER_AUTO_OFFSET): Define.
* pa.h (DEBUGGER_AUTO_OFFSET): Define.  If no frame pointer
	is available, then adjust the offset by the size of the current
	frame.

From-SVN: r7509
1994-06-16 23:43:06 -06:00
Jason Merrill
51783c1428 (output_inline_function): Unset DECL_DEFER_OUTPUT on
fndecl.

From-SVN: r7508
1994-06-16 23:38:08 +00:00
Jason Merrill
07af9d164b (compile_file): Unset DECL_DEFER_OUTPUT on decls considered at end of file.
(compile_file): Unset DECL_DEFER_OUTPUT on decls
        considered at end of file.
(rest_of_compilation): Also postpone compilation of
        inlines with DECL_DEFER_OUTPUT set.
        (compile_file): Always emit postponed inlines if
        -fkeep-inline-functions.

From-SVN: r7507
1994-06-16 23:37:53 +00:00
Jason Merrill
308018308f (DECL_DEFER_OUTPUT): New macro.
From-SVN: r7506
1994-06-16 23:37:43 +00:00
Richard Kenner
224f1d7123 (reload_reg_free_p, case RELOAD_OTHER): Allowed to conflict with
RELOAD_FOR_OTHER_ADDRESS.

From-SVN: r7505
1994-06-16 18:54:00 -04:00
Ian Lance Taylor
787e63c8f3 Correct argument type for ffs in string.h on Alpha OSF/1 V2.0
From-SVN: r7504
1994-06-16 14:59:50 +00:00
Richard Kenner
c85663b1a8 (set_nonvarying_address_components): Rework and also handle an AND
used for non-aligned accesses.

From-SVN: r7503
1994-06-16 06:47:10 -04:00
Michael Meissner
88d0b2b865 Change REG_ALLOC_ORDER so the 386 bootstraps.
From-SVN: r7502
1994-06-16 10:36:20 +00:00
Doug Evans
fa653e400a (TARGET_ENV32): Mark as deprecated.
(-mv9/-mno-v9): Not useable yet.
(-m{int,long}{32,64}): Clean up.
(-mptr{32,64}): Comment out for now.

From-SVN: r7501
1994-06-16 01:07:50 +00:00
Jason Merrill
a646a21183 (warn_if_unused_value): Handle TREE_NO_UNUSED_WARNING for
COMPOUND_EXPRs, too.

From-SVN: r7500
1994-06-16 00:47:03 +00:00
Jason Merrill
248c0f743b (TREE_NO_UNUSED_WARNING): Note that this can be applied
to COMPOUND_EXPRs, too.

From-SVN: r7499
1994-06-16 00:47:03 +00:00
Richard Kenner
b6b12107a9 (divsi3): Fix divide by 2^N with compare RTL.
From-SVN: r7498
1994-06-15 20:40:39 -04:00
Richard Kenner
f63184aca6 (maxsf3, minsf3, maxdf3, mindf3): Fix predicate of define_split.
(muldi3): Fix predicate.
(movdf matcher): Allow update and indexed for lfd instruction.

From-SVN: r7497
1994-06-15 20:35:05 -04:00
Doug Evans
0725d62132 (dbxout_type): Fix call to bzero.
From-SVN: r7496
1994-06-15 23:23:33 +00:00
Richard Kenner
7ac4a26649 (simplify_unary_operation): Fix typo in last change.
From-SVN: r7495
1994-06-15 19:20:18 -04:00
Per Bothner
d0310c5364 (dbxout_range_type): Handle an array range that is neither int nor subrange.
From-SVN: r7494
1994-06-15 15:21:27 -07:00
Mike Stump
f0e01782d7 40th Cygnus<->FSF merge
From-SVN: r7493
1994-06-15 18:30:58 +00:00
Richard Kenner
7dbe2fdcf5 Remove erroneously-installed change.
From-SVN: r7492
1994-06-15 08:22:00 -04:00