Commit Graph

7455 Commits

Author SHA1 Message Date
Richard Kenner
36f6ff0d2b (sbrk): Don't declare here.
From-SVN: r7468
1994-06-14 17:48:11 -04:00
Richard Kenner
06eb8e9262 (CONST_COSTS, case CONST_INT): Fix typo.
From-SVN: r7467
1994-06-14 17:46:43 -04:00
Richard Kenner
86270344f3 (staticp, case FUNCTION_DECL): A nested function isn't static.
From-SVN: r7466
1994-06-14 17:44:58 -04:00
Richard Kenner
761a3df02f (STARTFILE_SPEC): Don't force -static for -g.
From-SVN: r7465
1994-06-14 17:43:05 -04:00
Richard Kenner
9ad92d9bba (rs6000_override_options): Remove MPC620 cpu variants.
From-SVN: r7464
1994-06-14 17:41:17 -04:00
Richard Kenner
f6eb2a9ede (TARGET_SWITCHES): Remove -mpowerpc64 and -mno-powerpc64.
From-SVN: r7463
1994-06-14 17:40:57 -04:00
Richard Kenner
893bc85368 (reload): Process and accumulate needs for RELOAD_FOR_OPADDR_ADDR reloads.
When determining if needs are nongroup needs, ignore inactive or optional
reloads.
(reload_reg_used_in_op_addr_reload): New variable to indicate when reloads of
class RELOAD_FOR_OPADDR_ADDR are in use.
(mark_reload_reg_in_use, clear_reload_reg_in_use): Process reloads of class
RELOAD_FOR_OPADDR_ADDR.
(reload_reg_free_p, reload_reg_free_before_p, reloads_conflict): Likewise.
(choose_reload_regs): Support RELOAD_FOR_OPADDR_ADDR reloads.
(emit_reload_insns): Output RELOAD_FOR_OPADDR_ADDR reloads.

From-SVN: r7462
1994-06-14 17:37:25 -04:00
Richard Kenner
f98bb7d33f (find_reloads): Change secondary reloads of class
RELOAD_FOR_OPERAND_ADDRESS to RELOAD_FOR_OPADDR_ADDR.

From-SVN: r7461
1994-06-14 17:36:25 -04:00
Richard Kenner
ca8e02b0ff (RELOAD_FOR_OPADDR_ADDR): New reload class.
From-SVN: r7460
1994-06-14 17:36:02 -04:00
Richard Kenner
460dcab481 (find_a_file): Try EXECUTABLE_SUFFIX first, then file without the
suffix.

From-SVN: r7459
1994-06-14 17:34:01 -04:00
Richard Kenner
d008e26c41 (jump_optimize): Don't delete dead insn if it has a REG_RETVAL note.
From-SVN: r7458
1994-06-14 17:32:30 -04:00
Richard Kenner
1bc61c04f8 (xstrdup): Renamed from strdup.
(check_protection): Call xstrdup, not strdup.

From-SVN: r7457
1994-06-14 17:29:48 -04:00
Richard Kenner
3d5570cb0c Fix whitespace in pattern.
From-SVN: r7456
1994-06-14 17:28:37 -04:00
Richard Kenner
b57d3f55fe (output_prolog): Fix error in loading size of large stack frames.
From-SVN: r7455
1994-06-14 17:26:00 -04:00
Richard Kenner
c95c07325b (reload_as_needed): Clear spill_reg_store at start.
(emit_reload_insns): Omit erroneous predicate of reload
deletion -- reload_spill_index is not indexed by regno.

From-SVN: r7454
1994-06-14 17:23:53 -04:00
Ian Lance Taylor
86bb0d5f7b Wrap assert.h in extern "C" { }
From-SVN: r7453
1994-06-14 20:01:08 +00:00
Jeff Law
3480bb9842 jump.c (condjump_in_parallel_p): New function to detect conditional jumps within PARALLEL insns.
* jump.c (condjump_in_parallel_p): New function to detect
        conditional jumps within PARALLEL insns.
        (jump_optimize): Allow for some simple optimizations involving
        conditional jumps within PARALLEL insns.
        * reorg.c (get_jump_flags): Handle conditional jumps in PARALLEL
        insns.
        (get_branch_condition, fill_simple_delay_slots): Likewise.
        (fill_eager_delay_slots, relax_delay_slots, dbr_schedule): Likewise.

From-SVN: r7452
1994-06-14 13:18:43 -06:00
Jeff Law
36e2f858ba pa-osf.h (SIZE_TYPE): Define as "long unsigned int" to be compatable with system include files.
* pa-osf.h (SIZE_TYPE): Define as "long unsigned int" to be
	compatable with system include files.
	* pa1-osf.h (SIZE_TYPE): Likewise.

	* pa1-osf.h (WCHAR_TYPE): Define as "short unsigned int".
	(WCHAR_TYPE_SIZE): Define as 16 bits.

From-SVN: r7451
1994-06-14 13:16:07 -06:00
Jeff Law
d061684267 pa.c (output_arg_descriptor): Restore old behavior for SImode USE insns of FP registers (used by untyped call...
* pa.c (output_arg_descriptor): Restore old behavior for SImode
	USE insns of FP registers (used by untyped call support).

From-SVN: r7450
1994-06-14 13:14:26 -06:00
Richard Earnshaw
b5cc037f4b (arm_reload_out_hi): Rewrite.
(arm_reload_out_hi): Rewrite.  Add support for processors running in
big-endian mode.
(fp_immediate_constant): Fix typo in argument declaration.

From-SVN: r7449
1994-06-06 13:14:03 +00:00
Richard Earnshaw
fe241a29e3 (storehi_bigend): New expansion pattern.
(storeinthi): Rework to generate better code, add big-endian support.
(movhi): Add support for processors running in big-endian mode.
(movhi_bigend): New expansion pattern.
(matcher for movhi): Remove incorrect alternative for storing HImode to
memory.  Only match when little endian.
(matcher for big-endian movhi): New pattern.
(matchers/peepholes for extended pre/post increment HImode loads): Only
match when little-endian.
(matcher for operating on adjacent memory locations): Load operation into
arith operands.
(peepholes for extended pre-increment byte loads): New patterns.

From-SVN: r7448
1994-06-06 13:14:03 +00:00
Richard Earnshaw
9c8728721e (PROMOTE_MODE): Promote HImode integers as signed.
(BYTES_BIG_ENDIAN): Allow target description to override default.
(LOAD_EXTEND_OP): When big-endian, HImode loads are sign extended.

From-SVN: r7447
1994-06-06 13:14:03 +00:00
Doug Evans
88e7060674 (__gnuc_va_list): Use instead of va_list.
From-SVN: r7446
1994-06-05 01:06:20 +00:00
Doug Evans
e9e218294b (*): Use __gnuc_va_list, not va_list.
From-SVN: r7445
1994-06-05 01:05:11 +00:00
Richard Earnshaw
4eda77ec3e (FUNCTION_PROFILER): Delete duplicate definition.
(FUNCTION_PROFILER, TRAMPOLINE_TEMPLATE, ASM_FILE_START,
 ASM_OUTPUT_REG_{PUSH,POP}, PRINT_OPERAND_ADDRESS):  Output register
 prefix before any explicit register name.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
 ASM_OUTPUT_COMMON): Output the target dependent comment char.
(ASM_FILE_START): Output register alias for r10.
(REGISTER_NAMES): Output "r9" now for r9, not "rfp".
(ADDITIONAL_REGISTER_NAMES): New macro.

From-SVN: r7444
1994-06-04 11:17:23 +00:00
Richard Earnshaw
916cc8c5aa (all patterns explicitly mentioning regs): Output the target dependent prefix before the register name.
(all patterns explicitly mentioning regs): Output the target dependent
prefix before the register name.
(all patterns with asm comments): Output the target dependent comment
character.

From-SVN: r7443
1994-06-04 11:17:23 +00:00
Richard Earnshaw
1d5473cbe4 (print_multi_reg, output_call, output_call_mem,
output_mov_long_double_fpu_from_arm,
 output_mov_long_double_arm_from_fpu,
 output_mov_double_fpu_from_arm, output_mov_double_arm_from_fpu,
 output_return_instruction, output_func_{prologue,epilogue},
 arm_print_operand, output_load_symbol):  Print the register prefix
before each register name.
(output_func_prologue, output_lcomm_directive):  Output the target
dependent comment char for asm comments.

From-SVN: r7442
1994-06-04 11:17:23 +00:00
Doug Evans
b3de8b7505 (make_decl_rtl): If section attribute is being ignored, really ignore it.
From-SVN: r7441
1994-06-03 22:13:55 +00:00
Doug Evans
f58e9815f7 (decl_attributes): Fix section attribute breakage.
From-SVN: r7440
1994-06-03 22:12:54 +00:00
Mike Stump
a0a339271a 39th Cygnus<->FSF merge
From-SVN: r7439
1994-06-03 21:42:31 +00:00
Torbjorn Granlund
5345f91a0b (FP_REGNO_P): New macro for intra file usage.
(REGNO_OK_FOR_FP_P): Use FP_REGNO_P.
(FUNCTION_VALUE_REGNO_P): Revert last change.
(CONDITIONAL_REGISTER_USAGE): Partially revert last changes;
Make non-existing 1.0 fp regs fixed, including odd-numbered regs.
(enum reg_class): Get rid of SNAKE_FP_REGS, GENERAL_OR_SNAKE_FP_REGS,
and NON_SHIFT_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(REGNO_REG_CLASS): Likewise.
(HARD_REGNO_MODE_OK): Corresponding changes.  Don't force 1.0 fpregs
to even regno here; fixed_regs does the job better.
(FP_REG_CLASS_P): Get rid of SNAKE_FP_REGS.
(REG_CLASS_FROM_LETTER, case 'z'): Deleted.
(HARD_REGNO_NREGS): Partially revert last change.
(CLASS_MAX_NREGS): Partially revert last change.

From-SVN: r7438
1994-06-03 19:50:48 +00:00
Torbjorn Granlund
0b27d5ddb2 (mulsi3): Use MATCH_DUP for op3, not MATCH_OPERAND.
(globally): Delete 'x' constraint or change it to 'f', as apropriate.

From-SVN: r7437
1994-06-03 19:50:04 +00:00
Richard Earnshaw
68df59d392 (all patterns): Update instruction generation to reflect new meanings of constraints 'K' and 'L'.
(all patterns): Update instruction generation to reflect new meanings of
constraints 'K' and 'L'.  Use output type 'B' to generate an inverted
constant.  Use output type 'N' to generate a negated floating point
constant.

From-SVN: r7436
1994-06-03 13:18:24 +00:00
Richard Earnshaw
aef1764cb3 (CONST_OK_FOR_LETTER_P): Only allow constants valid when inverted for 'K'.
Only allow constants valid when negated for 'L'.

From-SVN: r7435
1994-06-03 13:17:55 +00:00
Jeff Law
f726ea7dd5 pa.h (TARGET_SWITCHES): Enable TARGET_LONG_CALLS when TARGET_PORTABLE_RUNTIME is enabled.
* pa.h (TARGET_SWITCHES): Enable TARGET_LONG_CALLS when
	TARGET_PORTABLE_RUNTIME is enabled.
	* pa.c (output_call): If TARGET_LONG_CALLS is enabled, then emit
	an inline long-call sequence.
	* pa.md (millicode define_delay): Disable delay slots if
	TARGET_LONG_CALLS.
	(call_internal_reg, call_value_internal_reg): If TARGET_LONG_CALLS
	is enabled, then emit an inline long-call sequence.  Fix length
	computation for TARGET_LONG_CALLS.
	(millicode calls): Fix length computation for TARGET_LONG_CALLS.

From-SVN: r7434
1994-06-02 21:06:45 -06:00
Jeff Law
b99e1ee9e9 * pa.h (ASM_DECLARE_FUNCTION_NAME): Fix typo.
From-SVN: r7433
1994-06-02 20:43:15 -06:00
Jason Merrill
413ec213e4 (expand_end_bindings): Don't bother emitting cleanups
after a barrier.

From-SVN: r7432
1994-06-02 22:28:22 +00:00
Richard Kenner
d9e1ab8d4e (__floatdisf): Protect against double-rounding error.
From-SVN: r7431
1994-06-02 18:10:30 -04:00
Richard Kenner
a473029f5c (define_function_unit): Remove ppc604 from sqrt list.
(divsi3, udivsi3): Remove spaces from PowerPC output templates.
(sqrtsf2, maxsf3, minsf3, sqrtdf2, maxdf3, mindf3): Use new macros.
(floatdidf2, fix_truncdfdi2, ffsdi2, muldi3, smuldi3_highpart,
umuldi3_highpart, divdi3, udivdi3, rotldi3): New patterns.
(movdi): Handle moves between FPRs and GPRs.
(scc insn): Correct swapped compare and delayed_compare attributes.

From-SVN: r7430
1994-06-02 17:47:39 -04:00
Richard Kenner
68c49ffa40 (processor_target_table): Use new macros.
From-SVN: r7429
1994-06-02 17:47:12 -04:00
Richard Kenner
583cf4db89 (MASK_PPCFPX): Delete.
(MASK_PPC_GPOPT, MASK_PPC_GFXOPT, TARGET_PPC_GPOPT, TARGET_PPC_GFXOPT):
New Macros.
(TARGET_SWITCHES): Remove -mpowerpc-fpx; add -mpowerpc-gpopt
and -mpowerpc-gfxopt.

From-SVN: r7428
1994-06-02 17:42:15 -04:00
Richard Kenner
ba5ce70d08 (c_build_type_variant): Don't change TYPE_MAIN_VARIANT of new type.
From-SVN: r7427
1994-06-02 17:31:34 -04:00
Richard Earnshaw
7bc7696cba output_func_{prologue,epilogue}): Change declarations from output_{prologue,epilogue}.
output_func_{prologue,epilogue}): Change declarations from
output_{prologue,epilogue}.
(arm_output_llc, arithmetic_instr, output_arithmetic_with_immediate_mulitply,
 output_arithmetic_with_shift, shift_instr): Delete function definition.
(ASM_OUTPUT_OPCODE): Delete.
(PRINT_OPERAND): Call arm_print_operand, instead of doing it directly.
(ARM_COMMENT_CHAR): New macro.
(ARM_REG_PREFIX): New macro.
(ARM_SIGN_EXTEND): New macro.
(PRINT_OPERAND_ADDRESS): Delete variable 'shift'.  Change type of
variable 'offset' to HOST_WIDE_INT.  Use arm_print_operand to handle
shifts in addresses.

From-SVN: r7426
1994-06-02 18:41:52 +00:00
Richard Earnshaw
c63165beb4 (all output patterns): Use new capabilities of arm_print_operand to simplify output sequences.
(all output patterns): Use new capabilities of arm_print_operand to
simplify output sequences.  Mark position of condition code with '%?'.

From-SVN: r7425
1994-06-02 18:41:52 +00:00
Richard Earnshaw
ef65c0dcdf (ASM_FINAL_SPEC [CROSS_COMPILE]): Correct typo.
Update copyright message.

From-SVN: r7424
1994-06-02 18:41:52 +00:00
Richard Earnshaw
9997d19d6d (arm_condition_code): Move to start of file.
(const_pool_offset): Correct typo.
(fp_const_from_val): New function.
(all instruction generators): mark position where conditionalization
should be with '%?'.
(output_move_double): Use new '%m' output type to simplify load/store
multiple generation.
(shift_instr): Delete.
(shift_op): New function.
(output_arithmetic): Delete.
(output_arithmetic_with_shift): Delete.
(output_arithmetic_with_immediate_multiply): Delete.
(output_shifted_move): Delete.
(output_shift_compare): Delete.
(arm_print_operand): New function.

From-SVN: r7423
1994-06-02 18:41:52 +00:00
Richard Stallman
945388edd6 [emacs]: Block input around the garbage reclamation.
Include blockinput.h.

From-SVN: r7422
1994-06-02 17:45:40 +00:00
Richard Kenner
119af78aa8 (expand_expr, case ADDR_EXPR): If result is ignored, just return
const0_rtx.

From-SVN: r7421
1994-06-02 08:13:33 -04:00
Richard Kenner
94b25f81ca Update comments.
From-SVN: r7420
1994-06-02 07:24:33 -04:00
Jason Merrill
302499a9fe #define NO_IMPLICIT_EXTERN_C.
From-SVN: r7419
1994-06-01 23:00:15 +00:00