Commit Graph

7546 Commits

Author SHA1 Message Date
Richard Earnshaw
0bdece8adf (movstrsi): Delete.
(movstrqi): New expand.

From-SVN: r7559
1994-06-24 19:51:26 +00:00
Richard Earnshaw
880e25163f (arm_gen_movstrqi): New function.
From-SVN: r7558
1994-06-24 19:51:26 +00:00
Richard Earnshaw
f0e1b9a988 (jump_optimize): If we reverse "if (foo) bar else break;" and there follows a NOTE_INSN_LOOP_END...
(jump_optimize): If we reverse "if (foo) bar else break;"
and there follows a NOTE_INSN_LOOP_END, move the note before "bar".

From-SVN: r7557
1994-06-24 19:35:38 +00:00
Richard Kenner
c9d4d2b46b (ashrsi3, lshrsh3): Remove patterns using bfext[su].
From-SVN: r7556
1994-06-24 15:35:03 -04:00
Richard Kenner
6d7d084a0a (goto_block_pat): Ignore undefined label.
From-SVN: r7555
1994-06-24 14:43:36 -04:00
Doug Evans
9730876c16 (LINK_SPEC): Fix typo.
(PTRDIFF_TYPE): Likewise.

From-SVN: r7554
1994-06-24 02:07:17 +00:00
Mike Stump
a32034654e 41st Cygnus<->FSF merge
From-SVN: r7553
1994-06-24 00:54:38 +00:00
Richard Kenner
f6ba0600ff (movsf): Only generate stack temporary if used.
From-SVN: r7552
1994-06-23 19:25:10 -04:00
Jason Merrill
8c461ea15d (compile_file): Use TREE_SYMBOL_REFERENCED instead of
TREE_USED and TREE_ADDRESSABLE where appropriate.

From-SVN: r7551
1994-06-23 23:19:54 +00:00
Jason Merrill
03e421329d (assemble_name): Set TREE_SYMBOL_REFERENCED on the
identifier for `name'.

From-SVN: r7550
1994-06-23 23:19:54 +00:00
Jason Merrill
d3568529c7 (TREE_SYMBOL_REFERENCED): New macro.
From-SVN: r7549
1994-06-23 23:19:54 +00:00
Richard Kenner
425c176f74 (fix_truncdfsi2, movsf, movdi): Use assign_stack_temp.
(mulsidi3): Add earlyclobber constraint modifier to PowerPC version
and !TARGET_POWERPC64 to final condition.

From-SVN: r7548
1994-06-23 19:19:33 -04:00
Richard Kenner
138cec5908 (simplify_unary_operation, case UNSIGNED_FLOAT): Add missing cast to
unsigned.

From-SVN: r7547
1994-06-23 19:05:47 -04:00
Richard Kenner
7253b4b235 (ASM_SPEC): Use PowerPC mode, not 601 mode.
(CPP_SPEC): New macro.
(TARGET_DEFAULT): Generate pure PowerPC code, not 601-specific.

From-SVN: r7546
1994-06-23 19:00:09 -04:00
Richard Kenner
84b49fa7d7 (CPP_PREDEFINES): Define _POWER (alias for _IBMR2).
(CPP_SPEC): New macro.

From-SVN: r7545
1994-06-23 18:59:43 -04:00
Richard Kenner
8838265b31 (compile_file): Don't try to write function if we didn't save insns
for it.

From-SVN: r7544
1994-06-23 18:56:06 -04:00
Richard Kenner
6ac36afb49 (CPP_PREDEFINES): Add __vax__', __vms__', and `__VMS__'; update
__GNUC_MINOR__ to 6.

From-SVN: r7543
1994-06-23 18:09:16 -04:00
Richard Kenner
393ac9ecb2 (CPP_PREDEFINES): Add `__vax__'.
From-SVN: r7542
1994-06-23 18:08:41 -04:00
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