1. 27 Nov, 1995 6 commits
    • Update copyrights. · b01c4555
      From-SVN: r10614
      Jeff Law committed
    • toplev.c (rest_of_compilation): Always call jump_optimize at least once. · cc4e79d8
      	* toplev.c (rest_of_compilation): Always call jump_optimize
      	at least once.
      
      From-SVN: r10613
      Jeff Law committed
    • pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber the value of TREE_SYMBOL_REFERENCED. · ad238e4b
      	* pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber
      	the value of TREE_SYMBOL_REFERENCED.
      
      	* pa-ghpux9.h (LINK_SPEC): Pass "-z" to the linker to enable
      	trap on null pointer dereference for programs built on hpux9.
      	* pa-hpux9.h, pa1-ghpux9.h, pa1-hpux9.h: Likewise.
      
      	* pa.c (output_function_prologue): No longer need to keep
      	track of the total number code bytes when TARGET_GAS &&
      	not TARGET_PORTABLE_RUNTIME.
      	* pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use .NSUBSPA when
      	not TARGET_PORTABLE_RUNTIME.
      	(ASM_OUTPUT_FUNCTION_PREFIX): Define.  Prefix functions with
      	.NSUBSPA when TARGET_GAS and not TARGET_PORTABLE_RUNTIME.
      
      	* pa.md (symbolic high patterns): Use 'H' to print the symbolic
      	address so that the constant part gets rounded.
      	* pa.c (print_operand): Handle 'H' operand for high part of a
      	symbolic address with a rounded constant.
      	(output_global_address): New argument "rounded_constant".  All
      	callers changed appropriately.
      
      	* x-pa-hpux (FIXPROTO_DEFINES): Add -D_HPUX_SOURCE.
      
      	* pa.h (CPP_SPEC): Only pass -D_HPUX_SOURCE and -D_HIUX_SOURCE if
      	-ansi is not present.
      	(CPP_PREDEFINES): Remove -D_HPUX_SOURCE and/or -D_HIUX_SOURCE.
      	* pa-ghiux.h (CPP_PREDEFINES): Likewise.
      	* pa-gux7.h (CPP_PREDEFINES): Likewise.
      	* pa-hiux.h (CPP_PREDEFINES): Likewise.
      	* pa-hpux.h (CPP_PREDEFINES): Likewise.
      	* pa-hpux7.h (CPP_PREDEFINES): Likewise.
      	* pa1-ghiux.h (CPP_PREDEFINES): Likewise.
      	* pa1-hiux.h (CPP_PREDEFINES): Likewise.
      
      	* pa-hpux.h (LINK_SPEC): If -mlinker-opt, then pass -O to the
      	linker.
      	* pa-ghpux.h, pa-hpux9.h, pa-ghpux9.h: Likewise.
      	* pa1-ghpux9.h, pa1-hpux9.h: Likewise.
      	* pa.h (LINK_SPEC): Likewise.
      	(TARGET_SWITCHES): Add -mlinker-opt.
      
      	* pa.md (all peepholes): Disable if TARGET_SOFT_FLOAT.
      
      	* pa.c (pa_reorg): If TARGET_GAS, then emit insns to mark
      	the beginning and end of the branch table.
      	* pa.md (begin_brtab): New insn.  Just a marker so GCC knows
      	where to put the .begin_brtab pseudo-op.
      	(end_brtab): Similarly.
      
      	* pa.h (EXTRA_SECTIONS): Add in_ctors and in_dtors if
      	CTORS_SECTION_FUNCTION is defined.  Else define dummy
      	versions of CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION.
      	(EXTRA_SECTION_FUNCTIONS): Add CTORS_SECTION_FUNCTION and
      	DTORS_SECTION_FUNCTION.
      
      	* pa.md: Add peepholes to improve spill code generated
      	by reload when we run out of FP registers.
      
      From-SVN: r10612
      Jeff Law committed
    • * xm-pa.h: Remove spurious double-quote. · 4f26a766
      From-SVN: r10611
      Jeff Law committed
    • pa.md (call expanders): For indirect calls, load %r22 with the function's address. · 6a73009d
      	* pa.md (call expanders): For indirect calls, load %r22 with the
      	function's address.
      	(indirect call patterns): No need to copy the call address into
      	%r22 anymore.
      
      	* pa.c (output_cbranch): Fix buglet in length handling of
      	backwards branches with unfilled delay slots.
      	(output_bb, output_bvb, output_dbra, output_movb): Likewise.
      
      	* pa.md: Fix off-by-one error in length computations for all
      	conditional branch patterns.
      
      	* pa.h (output_bvb): Declare.
      	* pa.c (output_bvb): New function to output branch on variable
      	bit insns.
      	* pa.md (branch-on-variable-bit): New patterns.
      
      	* pa.h (TARGET_MILLICODE_LONG_CALLS): Delete swtich and all
      	references.
      	(output_millicode_call): Declare new function
      	* pa.md (millicode calls): Update length computation to handle
      	variable length millicode calls.
      	(call pattners): Likewise.
      	(indirect call patterns): Update length compuations and output
      	templates to handle variable length millicode calls.
      	(plabel_dereference): Likewise.
      	* pa.c (override_options): Give warnings when incompatable
      	options are used.
      	(output_mul_insn): Call output_millicode_call instead of
      	output_call, eliminate last argument to output_millicode_call.
      	(output_div_insn): Likewise.
      	(output_mod_insn): Likewise.
      	(output_call): Rewrite long call code to handle variable length
      	millicode calls.  Eliminate support for calling mul, div and mod
      	millicode routines.
      	(output_millicode_call): New function for calling mul, div and mod
      	millicode routines.
      
      From-SVN: r10610
      Jeff Law committed
    • pa.md (abssi2): New pattern. · 68944452
      	* pa.md (abssi2): New pattern.
      
      	* pa.c (secondary_reload_class): Loads from reg+d addresses into
      	FP registers don't need secondary reloads.
      	* pa.h: Delete soem #if 0 code.  Update some comments.
      	(EXTRA_CONSTRAINT, case 'Q'): Only accept valid memory addresses.
      
              * pa.h (RTX_COSTS): Tege's rewrite.
      
      	* pa.c (hppa_legitimize_address): Generate unscaled indexed
      	addressing for (plus (symbol_ref) (reg)).
      	(emit_move_sequence): Set REGNO_POINTER_FLAG appropriately
      	to encourage unscaled indexing modes.
      	(basereg_operand): New function for unscaled index address support.
      	* pa.md (unscaled indexing patterns): New patterns for unscaled
      	index address support.
      
      	* pa.h (MOVE_RATIO): Define.
      	* pa.md (movstrsi expander): Refine tests for when to use the
      	library routine instead of an inlined loop copy.  Provide an
      	additional scratch register for use in the inlined loop copy.
      	(movstrsi_internal): Name the pattern for ease of use.  Add
      	additional scratch register.
      	* pa.c (output_block_move): Greatly simplify.  Use 2X unrolled
      	copy loops to improve performance.
      	(compute_movstrsi_length): Corresponding changes.
      
      	* pa.c (print_operand): Handle 'y' case for reversed FP
      	comparisons.  Delete some #if 0 code.  Fix various comment typos.
      	* pa.md (fcmp patterns): Try and reverse the comparison to avoid
      	useless add,tr insns.
      
      From-SVN: r10609
      Jeff Law committed
  2. 26 Nov, 1995 24 commits
  3. 23 Nov, 1995 1 commit
  4. 21 Nov, 1995 1 commit
  5. 20 Nov, 1995 1 commit
  6. 12 Nov, 1995 1 commit
  7. 11 Nov, 1995 2 commits
  8. 09 Nov, 1995 4 commits