Commit Graph

14623 Commits

Author SHA1 Message Date
Jeff Law
468c74c3f9 Fix typo.
From-SVN: r16253
1997-10-31 09:41:19 -07:00
Jeffrey A Law
53ca5d4fb4 Makefile.in (install targets): Add a dummy target for sunos make.
* Makefile.in (install targets): Add a dummy target for sunos make.
        (SUBDIR): Remove 'info'.  It's unneeded.

From-SVN: r16252
1997-10-31 09:38:44 -07:00
Jeffrey A Law
8d4e65a635 dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to output ASCII by default.
* dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
        output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
        flag_debug_asm is on.
        (output_die, output_pubnames, output_line_info): Likewise.

From-SVN: r16251
1997-10-31 09:30:48 -07:00
Jeffrey A Law
ec907dd81e alias.c (init_alias_analysis): Add struct_value_incoming_rtx and static_chain_rtx into the potential base...
* alias.c (init_alias_analysis): Add struct_value_incoming_rtx
        and static_chain_rtx into the potential base values array if
        they are registers.
Fixes bugs exposed by improved alias propagation code.

        * alias.c (new_reg_base_value): New array of potential base values.
        (unique_id): Now file scoped static.
        (find_base_value, case REG): Return the value in reg_base_value
        array for the REG if it exists.  Else, return the value from
        new_reg_base_value if copying args and REG is a hard register.
        (find_base_value, case PLUS): If either operand of the PLUS is
        a REG, try to get its base value.  Handle base + index and
        index + base.
        (record_set): Use new_reg_base_value instead of reg_base_value.
        (init_alias_analysis): Allocate space for new_reg_base_value too.
        Rework code to iterate over the insns propagating base value
        information until nothing changes.
Improve alias propagation significantly.

From-SVN: r16250
1997-10-31 08:35:31 -07:00
Jeffrey A Law
8c316ae21c global.c (global_alloc): Free the conflict matrix after reload has finished.
* global.c (global_alloc): Free the conflict matrix after
        reload has finished.

From-SVN: r16249
1997-10-31 07:08:40 -07:00
Jason Merrill
6874c2647b [multiple changes]
Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>

	* libgcc2.c (L_eh): Define __eh_pc.
	Replace __eh_type with generic pointer __eh_info.

Fri Oct 31 01:47:57 1997  Jason Merrill  <jason@yorick.cygnus.com>

	Support for nested exceptions.
	* tinfo2.cc (__is_pointer): New fn.
	* exception.cc (struct cp_eh_info): Define.
	(__cp_exception_info, __uncatch_exception): New fns.
	(__cp_push_exception, __cp_pop_exception): New fns.
	* except.c: Lose saved_throw_{type,value,cleanup,in_catch}.
 	Lose empty_fndecl.
	(init_exception_processing): Likewise.  __eh_pc is now external.
	(push_eh_info): New fn.
	(get_eh_{info,value,type,caught}): New fns.
	(push_eh_cleanup): Just call __cp_pop_exception.
	(expand_start_catch_block): Use push_eh_info.  Start the eh region
	sooner.
	(expand_end_eh_spec): Use push_eh_info.
	(expand_throw): Call __cp_push_exception to set up the exception info.
	Just pass the destructor or 0 as the cleanup.  Call __uncatch_exception
	when we rethrow.
	(expand_builtin_throw): Don't refer to empty_fndecl.

From-SVN: r16248
1997-10-31 04:52:55 -05:00
J"orn Rennecke
59fe8c2c20 expr.c (expand_increment): When enqueing a postincrement for a MEM...
* expr.c (expand_increment): When enqueing a postincrement for a MEM,
	use copy_to_reg if address is not a general_operand.

From-SVN: r16247
1997-10-31 00:40:46 +00:00
J"orn Rennecke
d1271dedce profile.c (output_func_start_profiler): Clear flag_inline_functions for the duration of the call to rest_of_compilation.
* profile.c (output_func_start_profiler): Clear flag_inline_functions
	for the duration of the call to rest_of_compilation.

From-SVN: r16246
1997-10-31 00:23:07 +00:00
Doug Evans
c0498f4395 Clean up pass over sparc -m{cpu,tune} docs.
From-SVN: r16245
1997-10-30 23:01:26 +00:00
Doug Evans
ac52b80b6d configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
* configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
	Set extra_parts.
	(sparc*-*-*): Recognize --with-cpu=v9.
	* sparc/elf.h: New file.
	* sparc/t-elf: New file.

From-SVN: r16243
1997-10-30 22:52:41 +00:00
Doug Evans
5a36007ac0 New files for embedded sparc/elf support.
From-SVN: r16240
1997-10-30 22:38:32 +00:00
Doug Evans
70f62f4b17 New files for embedded sparc/elf support.
From-SVN: r16239
1997-10-30 22:38:04 +00:00
Jeffrey A Law
f891229781 mn10300.c (const_8bit_operand): New function.
* mn10300.c (const_8bit_operand): New function.
        (mask_ok_for_mem_btst): New funtion.
        * mn10300.md (btst patterns with mem operands): Use new functions
        to avoid creating btst instructions with invalid operands.

From-SVN: r16236
1997-10-30 13:34:59 -07:00
Jason Merrill
5da07ba3ac * gen-params: Override NULL.
From-SVN: r16232
1997-10-29 23:00:21 -07:00
Robert Lipe
70f89f0d1d termdep.h: If POSIX...
* info/termdep.h: If POSIX, #undef TIOCGETC for benefit of systems
        that provide TIOCETC but not struct tchars.

From-SVN: r16231
1997-10-29 22:55:14 -07:00
Michael Meissner
05ef204d6d Fix duplicate SIG_SYSLIST warnings on PowerPC Linux
From-SVN: r16230
1997-10-29 22:00:14 +00:00
Gavin Koch
feecabdf83 elf64.h (PREFERRED_DEBUGGING_TYPE): Only define if not previously defined.
* config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
	if not previously defined.

From-SVN: r16229
1997-10-29 18:21:18 +00:00
Doug Evans
de95730392 function.c (assign_parms): Correct mode of stack_parm if entry_parm underwent a mode conversion.
* function.c (assign_parms): Correct mode of stack_parm if
        entry_parm underwent a mode conversion.

From-SVN: r16228
1997-10-28 23:54:49 -07:00
Jeff Law
074c2cffc8 Expect this test to fail.
Don't even bother trying to even compile the testcase.

From-SVN: r16227
1997-10-28 23:41:58 -07:00
Jody Goldberg
0c23b0b21f * Makefile.in (CFILES): Add pexecute.c.
From-SVN: r16226
1997-10-28 23:39:04 -07:00
Brendan Kehoe
ba3b38784c global.c (global_alloc): Use xmalloc instead of alloca for CONFLICTS...
* global.c (global_alloc): Use xmalloc instead of alloca for
	CONFLICTS, since max_allocno * allocno_row_words alone can be more
	than 2.5Mb sometimes.

From-SVN: r16223
1997-10-28 18:39:28 -05:00
Richard Henderson
d540ae2cd8 reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of DEST for the spill...
* reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
DEST for the spill, adjust mode of SRC to compensate.

From-SVN: r16222
1997-10-28 15:29:44 -08:00
Michael Meissner
d24661605f update doc for CONST_{,DOUBLE_}OK_FOR_LETTER_P, EXTRA_CONTSTRAINT
From-SVN: r16221
1997-10-28 22:56:06 +00:00
Michael Meissner
e119b68c3e update doc for CONST_{,DOUBLE_}OK_FOR_LETTER_P, EXTRA_CONTSTRAINT
From-SVN: r16220
1997-10-28 22:52:51 +00:00
Richard Henderson
42f4929d5a alpha.md (reload_inqi): Check for MEM before strict_memory_address_p...
* alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
since any_memory_operand() allows pseudos during reload.
(reload_inhi, reload_outqi, reload_outhi): Likewise.

From-SVN: r16219
1997-10-28 14:40:01 -08:00
Jim Wilson
0841747819 Fix coldfire/btst problems.
* m68k.md (btst patterns): Add 5200 support.

From-SVN: r16217
1997-10-28 11:56:50 -08:00
Toon Moene
750e83485a fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3) optimizations...
* fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
        optimizations, look inside dividend to determine if the expression
        can be simplified by using EXACT_DIV_EXPR.

From-SVN: r16216
1997-10-28 12:02:23 -07:00
Jason Merrill
ede1993290 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
From-SVN: r16215
1997-10-28 13:23:50 -05:00
Richard Henderson
66d91cb9ea * alpha.c (summarize_insn [SUBREG]): Propogate SET.
From-SVN: r16213
1997-10-28 00:34:06 -08:00
Richard Henderson
4f3f5e9fcb alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap on a CLOBBER.
* alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
on a CLOBBER.

From-SVN: r16212
1997-10-28 00:04:16 -08:00
Richard Henderson
f3352b9e9f alpha.md (movqi, movhi): Make sure new insns created during reload won't need reloading themselves.
* alpha.md (movqi, movhi): Make sure new insns created during reload
won't need reloading themselves.
(reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.

From-SVN: r16211
1997-10-27 21:28:29 -08:00
Jeffrey A Law
0cecc1904d * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
From-SVN: r16209
1997-10-27 16:07:37 -07:00
Jason Merrill
c9670e62b9 * Makefile.in: check-target-libio depends on all-target-libstdc++.
From-SVN: r16206
1997-10-27 15:04:45 -05:00
Richard Henderson
a09ba5a2b5 alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
* alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
Patch from Klaus Kaempf <kkaempf@progis.de>.

From-SVN: r16196
1997-10-26 13:47:50 -08:00
Jim Wilson
7581a30fe2 expr.c (expand_expr, [...]): Optimize a reference to an element in a constant string.
* expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
        to an element in a constant string.

From-SVN: r16195
1997-10-26 13:33:27 -07:00
Jeff Law
edaa4ee062 Fix typo in last change.
From-SVN: r16194
1997-10-26 13:25:38 -07:00
Jason Merrill
16540e1b03 rebuild
From-SVN: r16193
1997-10-26 15:01:11 -05:00
Jason Merrill
d84e64d416 dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32 bit PC-relative offset.
* dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
 	bit PC-relative offset.  The exception range table pointer is now in
 	the CIE.
	* frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
	(count_fdes, add_fdes, get_cie): Adjust.
	(cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.

	From H.J. Lu:
	* frame.c (count_fdes, add_fdes): Skip linked once FDE entries.

From-SVN: r16192
1997-10-26 14:54:42 -05:00
Jeff Law
bd123dc9f2 Opps. Checked in some development patches by accident.
From-SVN: r16189
1997-10-26 11:55:13 -07:00
Richard Henderson
962867229a alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just like stack_pointer_rtx.
* alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
        like stack_pointer_rtx.

From-SVN: r16188
1997-10-26 11:48:31 -07:00
Manfred Hollstein
361e618f25 Makefile.in (bootstrap-lean): Combined with `normal' bootstrap targets using "$@" to provide support for...
* Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
        targets using "$@" to provide support for similar but not identical
        targets without having to duplicate code.
        (bootstrap4): New goal.

From-SVN: r16187
1997-10-26 11:45:07 -07:00
Manfred Hollstein
cc71c0ca1f Makefile.in (bootstrap-lean): Combined with `normal' bootstrap targets using "$@" to provide support for...
* Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
        targets using "$@" to provide support for similar but not identical
        targets without having to duplicate code.

From-SVN: r16186
1997-10-26 11:44:33 -07:00
Jeffrey A Law
adb9effb26 Take out find_base_value change -- not needed, only the find_base_term
change was needed.

From-SVN: r16185
1997-10-26 11:39:57 -07:00
Manfred Hollstein
e85988b5d5 Makefile.in (compare, [...]): Combined to one ruleset determining actions to be performed via $@.
* Makefile.in (compare, compare-lean, compare3): Combined to one
        ruleset determining actions to be performed via $@.
        (compare4, compare4-lean): New targets.
        (gnucompare, gnucompare3): Combined to one ruleset determining
        actions to be performed via $@. Also, note which files failed
        the comparison test in .bad_compare.
        (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.

From-SVN: r16184
1997-10-26 11:28:57 -07:00
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