7817 Commits

Author SHA1 Message Date
Richard Kenner
2f6e6d22ea (do_jump, case BIT_AND_EXPR): Only narrow to a type that corresponds
to a mode.

From-SVN: r7580
1994-06-28 05:44:57 -04:00
Richard Kenner
127b0efcf7 Include ctype.h.
From-SVN: r7579
1994-06-28 05:35:22 -04:00
Richard Kenner
85fff2f3a0 (movsf): Emit frsp if storing to memory and not PowerPC.
(movsf matcher): Remove explicit frsp.
(store sf with update): Likewise.

From-SVN: r7578
1994-06-28 05:34:30 -04:00
Richard Kenner
ab4a5fc941 (MEMORY_MOVE_COST): Make processor-dependent.
From-SVN: r7577
1994-06-28 05:33:48 -04:00
Richard Kenner
bfbc641633 Treat HFmode like SFmode, for now.
From-SVN: r7576
1994-06-28 05:15:25 -04:00
Richard Kenner
cb5b00cfa1 (expand_binop, multi-words shifts and rotates): Fix errors in last
change.

From-SVN: r7575
1994-06-27 19:16:01 -04:00
Richard Earnshaw
dfaa6d72a3 (function_unit fpa): Add more accurate scheduling information.
(all floating point patterns): Add more accurate instruction type information.

From-SVN: r7574
1994-06-27 15:24:36 +00:00
Richard Earnshaw
bee06f3d82 include "expr.h".
(arm_fpu): New variable.
(arm_gen_movstrqi): Fix typo.

From-SVN: r7573
1994-06-27 15:24:36 +00:00
Richard Earnshaw
4a1934977f (STARTFILE_SPEC,SIZE_TYPE,PTRDIFF_TYPE): Fix typos.
(ASM_FINAL_SPEC): Only reject -mbsd and -mxopen when -pedantic.

From-SVN: r7572
1994-06-27 15:24:36 +00:00
Richard Earnshaw
24f0c1b4cc (enum floating_point_type): New enumeration type.
(arm_fpu): New declaration.

From-SVN: r7571
1994-06-27 15:24:36 +00:00
Richard Kenner
cb039f8aa0 (v_message_with_decl): Avoid fwrite for stderr; mixing it with fprintf
and fputs can cause strange results under VMS.

From-SVN: r7570
1994-06-26 05:37:16 -04:00
Richard Earnshaw
13018fad5e (distribute_notes, case REG_DEAD): If a call uses a
hard reg, then this is where it dies.

From-SVN: r7569
1994-06-25 10:04:06 +00:00
Richard Kenner
9966b3915f (create_definition): Eliminate whitespace before and after macro
definitions.

From-SVN: r7568
1994-06-24 19:09:17 -04:00
Richard Kenner
25212cdd8a (alpha_builtin_saveregs): Fix typo in computing value for __base.
From-SVN: r7567
1994-06-24 18:47:38 -04:00
Richard Kenner
8fac469f63 (zero_extract patterns): Don't allow constants in the first operand of...
(zero_extract patterns): Don't allow constants in the first operand of
ZERO_EXTRACT since the recognizer function forces them to match the
mode of the match_operand.

From-SVN: r7566
1994-06-24 18:29:54 -04:00
Richard Kenner
8c3a647770 (decl_constant_value): Test for const and not iterator.
(default_conversion, digest_init): Remove redundant checks before calling
decl_constant_value.
(convert_for_assignment): See if RHS has a constant value.

From-SVN: r7565
1994-06-24 17:46:59 -04:00
Richard Kenner
289871f06f Add -W[no]-bad-function-cast.
From-SVN: r7564
1994-06-24 16:19:17 -04:00
Richard Kenner
95572adfa7 Declare warn_bad_function_cast.
From-SVN: r7563
1994-06-24 16:18:25 -04:00
Richard Kenner
796bb3734a (build_c_cast): Issue a warning for non-matching cast from a function
call (like malloc without proto).

From-SVN: r7562
1994-06-24 16:17:42 -04:00
Richard Kenner
5c8902bb1a (lang_decode_option): Set warn_bad_function_cast for
-Wbad-function-cast.

From-SVN: r7561
1994-06-24 16:17:01 -04:00
Richard Kenner
add2167d64 (ASM_IDENTIFY_LANGUAGE): New macro.
From-SVN: r7560
1994-06-24 16:09:07 -04:00
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