Commit Graph

14579 Commits

Author SHA1 Message Date
Jeffrey A Law
7337c67fcd * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
From-SVN: r16183
1997-10-26 11:21:28 -07:00
Jeffrey A Law
6d849a2abd alias.c (find_base_value): Handle PRE_INC, PRE_DEC, POST_INC, and POS_DEC.
* alias.c (find_base_value): Handle PRE_INC, PRE_DEC, POST_INC,
        and POS_DEC.
        (find_base_term): Likewise.

        * alias.c (true_dependence): Fix typo.

From-SVN: r16182
1997-10-26 10:38:13 -07:00
Toon Moene
91585c63e4 fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR if...
* fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
        if the dividend is a multiple of the divisor.

From-SVN: r16181
1997-10-26 10:05:24 -07:00
Jeffrey A Law
6d6d0fa07e toplev.c (flag_rerun_loop_opt): New variable.
* toplev.c (flag_rerun_loop_opt): New variable.
        (f_options): Handle -frerun-loop-opt.
        (rest_of_compilation): If -frerun-loop-opt, then run the loop
        optimizer twice.
        (main): Enable -frerun-loop-opt by default for -O2 or greater.

From-SVN: r16180
1997-10-26 09:56:15 -07:00
Jeffrey A Law
da0af5a56f loop.c (simplify_giv_expr): Adding two invariants results in an invariant.
* loop.c (simplify_giv_expr): Adding two invariants results
        in an invariant.

From-SVN: r16179
1997-10-26 09:20:07 -07:00
Richard Henderson
ca0f22208f expr.c (get_inner_reference): Remove the array bias after converting the index to Pmode.
* expr.c (get_inner_reference): Remove the array bias after
        converting the index to Pmode.

From-SVN: r16178
1997-10-26 09:13:10 -07:00
Jeffrey A Law
a6f7ba1798 mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
* mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
        (TARGET_MULT_BUG): Define.
        (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
        * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.

From-SVN: r16173
1997-10-25 12:16:50 -06:00
Brendan Kehoe
fc55478797 Reverse this, bad call on my part:
1,4d0
< Fri Oct 24 17:49:10 1997  Jim Wilson  <wilson@cygnus.com>
<
< 	* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
<

From-SVN: r16172
1997-10-25 12:23:10 -04:00
Jim Wilson
f15e65f1fe integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.

fixes many of the inlining problems causing various suite++ and perennial
test failures, among others

From-SVN: r16171
1997-10-24 20:50:35 -04:00
Jeffrey A Law
17ad8a3bb9 mn10200.c (indirect_memory_operand): Delete unused function.
* mn10200.c (indirect_memory_operand): Delete unused function.
        * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
        * mn10200.md (bset, bclr insns): Handle output in a reg too.

From-SVN: r16169
1997-10-24 17:36:42 -06:00
Richard Henderson
e16b49d379 alpha.md (call patterns): Revert Oct 16 change...
* alpha.md (call patterns): Revert Oct 16 change; if we are to elide
the callee's ldgp, we must do it ourselves, and we use the jsr tag
for more than scheduling.

From-SVN: r16168
1997-10-24 15:57:54 -07:00
Jeff Law
bf4219f03f Another goof in last change.
From-SVN: r16165
1997-10-24 13:56:45 -06:00
Doug Evans
27f654110e * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
From-SVN: r16164
1997-10-24 19:39:08 +00:00
Doug Evans
e632a26c1d (ASM_SPEC): Delete asm_arch.
From-SVN: r16163
1997-10-24 19:36:54 +00:00
Jeff Law
371036e032 Fxi typo in last change.
From-SVN: r16162
1997-10-24 13:34:58 -06:00
Jeffrey A Law
e9ad457396 mn10300.c (symbolic_operand, [...]): New functions.
* mn10300.c (symbolic_operand, legitimize_address): New functions.
        * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
        (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.

From-SVN: r16158
1997-10-24 13:18:29 -06:00
Jeffrey A Law
66724f0abd * version.c: Bump for snapshot.
From-SVN: r16156
1997-10-23 09:34:36 -06:00
J"orn Rennecke
c401498bbf dbxout.c (dbxout_start_new_source_file): Use output_quoted_string for FILENAME.
* dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
	for FILENAME.

From-SVN: r16155
1997-10-23 13:11:19 +01:00
Jason Merrill
7b4f18a381 pt.c (instantiate_decl): SET_DECL_IMPLICIT_INSTANTIATION on new decl.
* pt.c (instantiate_decl): SET_DECL_IMPLICIT_INSTANTIATION on new decl.

Fixes libstdc++ failure.

From-SVN: r16153
1997-10-23 05:55:55 -04:00
Jeffrey A Law
56bf1fd97a toplev.c (flag_exceptions): Default value is 2.
* toplev.c (flag_exceptions): Default value is 2.
        (compile_file): If flag_exceptions still has the value 2, then
        set it to 0.

        * lex.c (lang_init): Enable flag_exceptions by default if no
        command line switch was specified.
Gross hacks to allow front-ends to override -fexceptions.

From-SVN: r16152
1997-10-22 19:29:14 -06:00
H.J. Lu
1181d2d553 libio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is not defined.
* libio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is
        not defined.

        * iovsscanf.c (vsscanf): Make it weak alias of _IO_vsscanf if
        __linux__ is defined instead of __ELF__

        * config/linuxlibc1.mt (USER_INCLUDES): Add libio.h.
OK'd by Ulrich.

From-SVN: r16151
1997-10-22 19:17:58 -06:00
Brendan Kehoe
4966381af5 method.c (build_template_parm_names, [...]): Add static to definitions.
* method.c (build_template_parm_names, build_decl_overload_real):
        Add static to definitions.
        * pt.c (add_to_template_args, note_template_header,
        processing_explicit_specialization, type_unification_real): Likewise.
        ({determine,check}_explicit_specialization): Use a single string for
        error messages.

fixes problems building with sunos4 system cc

From-SVN: r16150
1997-10-22 20:00:20 -04:00
Jeffrey A Law
a04232e5ff rs6000.c (struct machine_function): Add pic_offset_table_rtx.
* rs6000.c (struct machine_function): Add pic_offset_table_rtx.
        (rs6000_save_machine_status): Save pic_offset_table_rtx.
        (rs6000_restore_machine_status: Restore pic_offset_table_rtx.

From-SVN: r16149
1997-10-22 15:10:49 -06:00
Richard Henderson
83ffecd201 com.c (ffecom_expr_): Take an new arg TREE_TYPE that if non-null specifies the type in which to do...
* com.c (ffecom_expr_): Take an new arg TREE_TYPE that if non-null
        specifies the type in which to do the calculation.  Change all callers.
        [FFEBLD_opARRAYREF]: Force the index expr to use sizetype.

From-SVN: r16148
1997-10-22 11:38:47 -07:00
Jeffrey A Law
0bd83abd44 local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions are shared.
* local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
        are shared.

From-SVN: r16147
1997-10-22 09:58:33 -06:00
Jeffrey A Law
b22b9b3ef2 rs6000.md (*movsi_got_internal_mem): New pattern.
* rs6000.md (*movsi_got_internal_mem): New pattern.
        (*movsi_got_internal_mem splitter): New define_split.
Fixes some egcs bugs.

From-SVN: r16146
1997-10-22 00:31:00 -06:00
Michael Meissner
70cfa7adbd Add documentation for Haifa ISSUE_RATE
From-SVN: r16145
1997-10-22 02:06:18 +00:00
Jim Wilson
c1e385dbd1 Fix typo in last obstack.h change.
* obstack.h (obstack_empty_p): Fix spurious space after backslash.

From-SVN: r16144
1997-10-21 18:16:10 -07:00
Jeffrey A Law
c6ee9150da mn10300.md (movqi, movhi): Avoid using address registers as destinations unless absolutely necessary.
* mn10300.md (movqi, movhi): Avoid using address registers as
        destinations unless absolutely necessary.

From-SVN: r16141
1997-10-21 18:41:31 -06:00
Geoff Keating
1a98615242 rs6000.c: Avoid creating a stack frame under SYSV ABI if we only need to save LR.
* rs6000.c: Avoid creating a stack frame under SYSV ABI if we
        only need to save LR.

From-SVN: r16140
1997-10-21 18:31:13 -06:00
Jeffrey A Law
d5255ba2cb * mn10200.c (expand_prologue): Fix typo.
From-SVN: r16139
1997-10-21 14:58:16 -06:00
Jeff Law
9d2128b88e mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed addresses.
* mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
        addresses.
        * mn10200.md (neghi2): Provide an alternative which works if
        the input and output register are the same.

[[Split portion of a mixed commit.]]

From-SVN: r16137.2
1997-10-21 13:55:51 -06:00
Jeff Law
e92f9bcf4d mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed addresses.
* mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
        addresses.
        * mn10200.md (neghi2): Provide an alternative which works if
        the input and output register are the same.

From-SVN: r16136
1997-10-21 13:52:12 -06:00
Jeffrey A Law
576e5accbd mn10300.c (print_operand): Handle 'S'.
* mn10300.c (print_operand): Handle 'S'.
        * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
        shift amount in last alternative

From-SVN: r16134
1997-10-21 13:10:24 -06:00
Jeffrey A Law
5d29a95f92 mn10300.c (expand_epilogue): Rework to handle register restores in "ret" and "retf" instructions correctly.
* mn10300.c (expand_epilogue): Rework to handle register restores
        in "ret" and "retf" instructions correctly.

From-SVN: r16132
1997-10-21 10:04:57 -06:00
Jim Wilson
3bf1b08254 Patches to fix minor optimizer bugs
Patches to fix minor optimizer bugs
	* expmed.c (extract_bit_field): Don't make flag_force_mem disable
	extzv for memory operands.
	* cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
	redundant conditional moves to single operand.

From-SVN: r16129
1997-10-20 16:49:48 -07:00
Doug Evans
ded17aad24 Update sparc docs.
From-SVN: r16127
1997-10-20 22:06:10 +00:00
Nick Clifton
ddbd8d3619 v850.h: Move define of __v850__ from CPP_PREDEFINES to CPP_SPEC.
* v850.h: Move define of __v850__ from CPP_PREDEFINES
        to CPP_SPEC.

        * xm-v850.h: Use __v850 rather than __v850__ to
        identify v850 port.

From-SVN: r16126
1997-10-20 15:33:53 -06:00
Doug Evans
617b50b641 Expect SPARC_DEFAULT_CMODEL to be overridden in cover file.
From-SVN: r16125
1997-10-20 21:29:01 +00:00
Doug Evans
202fd1d57e Update copyright year.
From-SVN: r16124
1997-10-20 21:28:27 +00:00
Jim Wilson
a944a4ebfd Fix O32 -p bug reported by Ralf Baechle.
* mips/mips.c (compute_frame_size): Not a leaf function if
	profile_flag set.

From-SVN: r16110
1997-10-20 14:16:21 -07:00
Doug Evans
f0a9fa6c6a Lotsa sparc stuff.
From-SVN: r16109
1997-10-20 20:50:34 +00:00
Doug Evans
a0a301fc97 sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
* sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
	(DEFAULT_ARCH32_P): New macro.
	(TARGET_ARCH{32,64}): Allow compile time or runtime selection.
	(enum cmodel): Declare.
	(sparc_cmodel_string,sparc_cmodel): Declare.
	(SPARC_DEFAULT_CMODEL): Provide default.
	(TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
	(TARGET_FULLANY): Deleted.
	(TARGET_CM_MEDMID): New macro.
	(CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
	(ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
	(CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
	(CPP_SPEC): Rewrite.
	(CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
	(CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
	(ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
	(ASM_SPEC): Add %(asm_arch).
	(EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
	Rename asm_default to asm_cpu_default.
	Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
	cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
	(NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
	({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
	(MASK_INT64,MASK_LONG64): Delete.
	(MASK_ARCH64): Renamed to MASK_64BIT.
	(MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
	(EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
	(TARGET_SWITCHES): Always provide 64 bit options.
	(ARCH64_SWITCHES): Delete.
	(TARGET_OPTIONS): New option -mcmodel=.
	(INT_TYPE_SIZE): Always 32.
	(MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
	(INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
	(FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
	(PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
	* sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
	CPP_SPEC.
	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
	* sparc/linux.h: Likewise.
	* sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
	(ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
	(TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
	(SPARC_DEFAULT_CMODEL): Define.
	(CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
	(LONG_DOUBLE_TYPE_SIZE): Define.
	(ASM_SPEC): Add %(asm_arch).
	* sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
	(TARGET_CPU_DEFAULT): Add ultrasparc case.
	* sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
	(TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
	(SPARC_DEFAULT_CMODEL): Define.
	* sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
	(TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
	MASK_LONG64, MASK_MEDANY.
	(SPARC_DEFAULT_CMODEL): Define.
	(CPP_PREDEFINES): Delete.
	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
	(ASM_SPEC): Add %(asm_arch).
	(LONG_DOUBLE_TYPE_SIZE): Define.
	(DWARF2_DEBUGGING_INFO): Define.
	* sparc/splet.h (CPP_SPEC): Delete.
	* sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
	(FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
	(BLOCK_PROFILER): Likewise.
	* sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
	(sparc_override_options): Handle code model selection.
	(sparc_init_expanders): Renamed from sparc64_init_expanders.
	* sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
	TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
	(sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
	(sethi_di_fullany): Delete.

From-SVN: r16108
1997-10-20 20:49:22 +00:00
Geoff Keating
2d5b6dea25 t-ppccomm: Use -msdata=none for crtstuff.
* rs6000/t-ppccomm: Use -msdata=none for crtstuff.
Should fix ctor/dtor problems on ppc-linux.

From-SVN: r16107
1997-10-20 14:13:24 -06:00
Jason Merrill
92b968383e except.c (expand_exception_blocks): Call do_pending_stack_adust.
* except.c (expand_exception_blocks): Call do_pending_stack_adust.
	(expand_end_catch_block): Likewise.
	(expand_end_eh_spec): Likewise.

From-SVN: r16106
1997-10-20 15:14:09 -04:00
Mark Mitchell
92eca6404c decl.c (duplicate_decls): Handle template specializations correctly.
Mon Oct 20 11:44:20 1997  Mark Mitchell  <mmitchell@usa.net>

	* decl.c (duplicate_decls): Handle template specializations
	correctly.
	* error.c (dump_function_name): Fix printing of specializations of
	member functions that are not member templates.
	* cp-tree.h (processing_specialization): Make global.
	* pt.c (processing_specialization): Likewise.
	* lex.c (cons_up_default_function): Save and restore
	processing_specialization to avoid confusion.

From-SVN: r16101
1997-10-20 14:46:24 -04:00
Jason Merrill
a6967cc077 decl.c (init_decl_processing): Give null_node unknown* type.
* decl.c (init_decl_processing): Give null_node unknown* type.
	* typeck.c (comp_target_types): Handle UNKNOWN_TYPE.
	(common_type): Likewise.
	* error.c (args_as_string): Recognize null_node.

From-SVN: r16100
1997-10-20 14:09:06 -04:00
Klaus Kaempf
3a133c72de vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
* alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
        (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
        (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
        (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
        * alpha/alpha.md (arg_home): Likewise.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>
Co-Authored-By: Richard Kenner <kenner@vlsi1.ultra.nyu.edu>

From-SVN: r16099
1997-10-20 09:50:29 -06:00
Klaus Kaempf
a3b0df2d4a alpha.c (output_prolog, VMS): Use alloca for entry_label and don't truncate to 64 characters.
* alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
        truncate to 64 characters.

vmskrunch changes need this.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>
Co-Authored-By: Richard Kenner <kenner@vlsi1.ultra.nyu.edu>

From-SVN: r16098
1997-10-20 02:29:55 -06:00
Jeff Law
c12894e1c3 alpha.c (vmskrunch): Delete
* alpha/alpha.c (vmskrunch): Delete
        * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.

        * make-l2.com: Support openVMS/Alpha.

        * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.

Some patches from Klaus.

From-SVN: r16097
1997-10-20 02:11:49 -06:00