10666 Commits

Author SHA1 Message Date
Jim Wilson
54efdaa420 (CPP_SPEC): If -msingle-float and not -msoft-float, pass -D__mips_single_float.
(CPP_SPEC): If -msingle-float and not
-msoft-float, pass -D__mips_single_float.  Likewise for -m4650 and
not -msoft-float.

From-SVN: r10635
1995-11-29 18:38:54 -08:00
Doug Evans
164c4c918a (do_spec_1): Fix typos in version calculation.
From-SVN: r10634
1995-11-29 23:17:30 +00:00
Doug Evans
cf78f929ca (LIB_SPEC): Don't use absolute path names if cross compiling.
From-SVN: r10633
1995-11-29 23:12:54 +00:00
Doug Evans
f905fc0dc3 svr4.h (MD_EXEC_PREFIX): Don't use if cross compiling.
* svr4.h (MD_EXEC_PREFIX): Don't use if cross compiling.
	(MD_STARTFILE_PREFIX): Likewise.
	(LINK_SPEC): Don't use absolute path names if cross compiling.

From-SVN: r10632
1995-11-29 23:08:59 +00:00
Doug Evans
6f5541c735 * cccp.c (do_include): Recognize c:\foo as absolute path name in DOS.
From-SVN: r10631
1995-11-29 23:01:50 +00:00
Doug Evans
c1da383f79 toplev.c (main): Invoke OPTIMIZATION_OPTIONS after target_flags has been initialized so sets of...
* toplev.c (main): Invoke OPTIMIZATION_OPTIONS after target_flags
	has been initialized so sets of target_flags aren't clobbered.

From-SVN: r10630
1995-11-29 22:57:03 +00:00
Doug Evans
b89bcb5971 (MAX_OFILE_ALIGNMENT): Moved to config/svr4.h.
From-SVN: r10629
1995-11-29 22:51:27 +00:00
Doug Evans
b9431ba27d (MAX_OFILE_ALIGNMENT): Define.
From-SVN: r10628
1995-11-29 22:50:54 +00:00
Jim Wilson
18a3fd67dc (ashrsi3_d): Use %0 not %1 in output pattern.
From-SVN: r10627
1995-11-29 12:47:03 -08:00
Jim Wilson
cafe2dc334 (MAX_OFILE_ALIGNMENT): Define.
From-SVN: r10626
1995-11-29 12:29:51 -08:00
Jim Wilson
f043418986 (WORD_SWITCH_TAKES_ARG): Define.
(LINK_SPEC): Add rpath.

From-SVN: r10625
1995-11-29 12:14:02 -08:00
Jim Wilson
62e74545e7 (LINK_SPEC): Add rpath.
From-SVN: r10624
1995-11-29 12:13:25 -08:00
Jim Wilson
50b46d9219 (stupid_mark_regs): For hard registers...
(stupid_mark_regs): For hard registers, use regno+j
instead of just regno in MARK_LIVE_AFTER and SET_HARD_REG_BIT calls.

From-SVN: r10623
1995-11-29 11:18:43 -08:00
Jim Wilson
41bbd14edc (combine_strings): Add support for WCHAR_TYPE as short.
From-SVN: r10622
1995-11-29 11:05:42 -08:00
Jim Wilson
bd95070abd (integrate_decl_tree): Delete variable newd.
Always set DECL_ABSTRACT_ORIGIN before calling pushdecl.

From-SVN: r10621
1995-11-29 10:59:13 -08:00
Jim Wilson
7afbf31f02 (merge_attributes): New function.
(merge_attributes): New function.  Move code from
common_type to here.
(common_type): Call merge_attributes instead of having inline code.

From-SVN: r10620
1995-11-29 10:57:22 -08:00
Jim Wilson
771d55a31c (merge_attributes): New declaration.
From-SVN: r10619
1995-11-29 10:56:28 -08:00
Jim Wilson
bf44f7de98 (duplicate_decls): Add new paramter different_binding_level.
Lots of changes to use new new parameter.
(pushdecl): Delete variable declared_global.  New variable
different_binding_level and code to set it.  Move extern/static
warning before duplicate_decls call.  Don't let global typedefs
conflict with nested extern declarations.  Move oldglobal test
inside code for setting IDENTIFIER_LIMBO_VALUE.
(lookup_name_current_level_global): Delete.

From-SVN: r10618
1995-11-29 10:55:34 -08:00
Jim Wilson
1417e9bdd0 (mips_function_value): Add check for i > 0 when deciding
if structure should be return in FP registers.

From-SVN: r10617
1995-11-28 18:56:14 -08:00
Jeff Law
141b2e9f05 pa.md (define split for (plus (reg) (large_constant)): Try another way to handle this with only 2 insns.
* pa.md (define split for (plus (reg) (large_constant)): Try
        another way to handle this with only 2 insns.  From Tege.

From-SVN: r10616
1995-11-28 10:49:46 -07:00
Jeff Law
1ace9b6052 Initial revision
From-SVN: r10615
1995-11-27 15:10:51 -07:00
Jeff Law
b01c45558a Update copyrights.
From-SVN: r10614
1995-11-27 15:01:57 -07:00
Jeff Law
cc4e79d826 toplev.c (rest_of_compilation): Always call jump_optimize at least once.
* toplev.c (rest_of_compilation): Always call jump_optimize
	at least once.

From-SVN: r10613
1995-11-27 09:19:26 -07:00
Jeff Law
ad238e4b39 pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber the value of TREE_SYMBOL_REFERENCED.
* 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
1995-11-27 01:31:46 -07:00
Jeff Law
4f26a76615 * xm-pa.h: Remove spurious double-quote.
From-SVN: r10611
1995-11-27 00:58:32 -07:00
Jeff Law
6a73009d9d pa.md (call expanders): For indirect calls, load %r22 with the function's address.
* 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
1995-11-27 00:55:04 -07:00
Jeff Law
68944452e4 pa.md (abssi2): New pattern.
* 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
1995-11-27 00:33:58 -07:00
Richard Kenner
926d1ca5a3 (fixup_var_refs_1): Make pseudo for DEST in PROMOTED_MODE unless in a
SUBREG.

From-SVN: r10608
1995-11-26 14:50:48 -05:00
Richard Kenner
f353588ada (insert): Don't put a REG into qty_const.
From-SVN: r10607
1995-11-26 14:47:28 -05:00
Richard Kenner
de3cb7c346 (stamp-objlist): Change .o to $objext.
From-SVN: r10606
1995-11-26 14:44:51 -05:00
Richard Kenner
f5ea9817c4 (trampoline): Add getpagesize and mprotect for WINNT.
From-SVN: r10605
1995-11-26 14:41:43 -05:00
Richard Kenner
67933bafd7 (LINK_SPEC): Pass -g to ld.exe.
Increase default stack size.

From-SVN: r10604
1995-11-26 14:40:57 -05:00
Richard Kenner
4ac3710629 Reformat and add some new functions for gnat1.
From-SVN: r10603
1995-11-26 14:40:30 -05:00
Richard Kenner
4bd5b0b281 (main): Don't pass -g to link.
From-SVN: r10602
1995-11-26 14:40:07 -05:00
Richard Kenner
c1a61ccc9d (CPP_PREDEFINES): Set __unaligned and __stdcall to null.
From-SVN: r10601
1995-11-26 14:39:43 -05:00
Richard Kenner
320dd7a75a (nonzero_bits, case REG): Put POINTERS_EXTEND_UNSIGNED code before stack pointer code.
(nonzero_bits, case REG): Put POINTERS_EXTEND_UNSIGNED code before
stack pointer code.  Return nonzero at end of stack pointer code.

From-SVN: r10600
1995-11-26 14:32:34 -05:00
Richard Kenner
72d3b324bc (PRINT_OPERAND_ADDRESS): Handle CONST inside PLUS.
From-SVN: r10599
1995-11-26 14:30:02 -05:00
Richard Kenner
293af484a6 (cppalloc.o): Add a rule to build it.
From-SVN: r10598
1995-11-26 14:28:06 -05:00
Richard Kenner
43f51b7fb5 (FUNCTION_VALUE): Deleted; incorrect.
From-SVN: r10597
1995-11-26 14:25:22 -05:00
Richard Kenner
897746d889 (curses.h): Allow space or tab after bool keyword, instead of tab or tab.
From-SVN: r10596
1995-11-26 14:22:56 -05:00
Richard Kenner
a4205566f5 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Corrected.
(ASM_OUTPUT_[datatype]): Corrected datalbl[].size computation
for output of arrays.

From-SVN: r10595
1995-11-26 14:14:06 -05:00
Richard Kenner
04ac5b95df (pattern for HImode PSHM): Corrected.
(trunchiqi2, zero_extendqihi2, extendhftqf2): Corrected.
(pattern for movhi of CONST_INT to REG): Corrected.
(divmodqi pattern for DISN): Corrected.
(all shift patterns): Corrected.

From-SVN: r10594
1995-11-26 14:13:47 -05:00
Richard Kenner
7838976cf7 (NO_IMPLICIT_EXTERN_C): Define this again so that unistd.h doesn't get badly `fixed' for C++.
(NO_IMPLICIT_EXTERN_C): Define this again so that unistd.h doesn't get
badly `fixed' for C++.  libg++ will now build with this definition.

From-SVN: r10593
1995-11-26 14:08:53 -05:00
Richard Kenner
d89ddcfd09 (load_multiple matcher): Fix typo with opcode.
From-SVN: r10592
1995-11-26 13:54:52 -05:00
Richard Kenner
3c7342722d (final_start_function): Move call to sdbout_begin_function back to...
(final_start_function): Move call to sdbout_begin_function back to
final_scan_insn on MIPS systems so parameter descriptions are
recognized.

From-SVN: r10591
1995-11-26 13:50:57 -05:00
Richard Kenner
0982040df7 Don't insert "go32".
From-SVN: r10590
1995-11-26 13:43:01 -05:00
Richard Kenner
57cfde96bb (alpha_emit_set_const): Don't output SImode sequences that rely on invisible overflow.
(alpha_emit_set_const): Don't output SImode sequences that rely on
invisible overflow.  Sign extend new when SImode.  Don't recur if new
== c.  Don't allow shift outside mode.  Make logical right shift be
unsigned.

From-SVN: r10589
1995-11-26 12:08:18 -05:00
Richard Kenner
63a014a083 (compare*): Add "|| true" to avoid spurious failure messages from some
versions of make.

From-SVN: r10588
1995-11-26 11:37:41 -05:00
Richard Kenner
bbfeb419ef Change version to 2.7.2.
From-SVN: r10587
1995-11-26 11:23:31 -05:00
Richard Kenner
266c9c74c3 Change version to 2.7.2
From-SVN: r10586
1995-11-26 11:21:47 -05:00