Commit Graph

383 Commits

Author SHA1 Message Date
Richard Henderson
f4e31cf56f alpha.c (summarize_insn): Handle ASM_OPERANDS.
* alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
        for SUBREG, just fall through.

        * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.

        * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.

From-SVN: r16339
1997-11-04 20:36:53 -07:00
Jeffrey A Law
3ed18aebe9 * fixincludes: Fix "hypot" prototype in NeXT math.h.
From-SVN: r16338
1997-11-04 20:09:18 -07:00
Jeffrey A Law
3fe40e055a Makefile.in (USE_ALLOCA): Always include alloca.o.
* Makefile.in (USE_ALLOCA): Always include alloca.o.
        (USE_HOST_ALLOCA): Likewise.

From-SVN: r16336
1997-11-04 19:25:26 -07:00
Jim Wilson
ff3467a9eb Fix alpha-linux GNU libc build failures.
* combine.c (try_combine): When setting elim_i2, check whether newi2pat
	sets i2dest.  When calling distribute_notes for i3dest_killed, pass
	elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
	sets i1dest.

From-SVN: r16334
1997-11-04 18:08:25 -08:00
Jeffrey A Law
f754c4a10a rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES and LABEL_REFS fields.
* rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
        and LABEL_REFS fields.
        * rtl.h (LABEL_REFS): Update.

From-SVN: r16333
1997-11-04 18:56:33 -07:00
Jim Wilson
4911814e8e Fix bitfield insert/extract aliasing problem found by GNAT.
* mips.md (insv, extzv, extv): Add change_address call.
	(movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.

From-SVN: r16331
1997-11-04 17:49:52 -08:00
Jim Wilson
474eff8855 Fix c++ problem resulting from ADDRESSOF support.
* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.

From-SVN: r16330
1997-11-04 17:15:04 -08:00
Jim Wilson
3feffdfe8e Bug fix for v850 port.
* reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.

From-SVN: r16329
1997-11-04 17:08:08 -08:00
Jim Wilson
ab00eb0aa3 Fix shared library problem found by GNAT users.
* mips.c (mips_expand_epilogue): Emit blockage insn before call to
	save_restore_insns if no FP and GP will be restored.

From-SVN: r16327
1997-11-04 16:55:50 -08:00
Jim Wilson
31c8581d25 Fix nightly testing mips64-elf build failure.
* dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
	Convert CCmode to word_mode before calling GET_MODE_SIZE.

From-SVN: r16326
1997-11-04 16:50:18 -08:00
Jim Wilson
7636d56743 Fix irix5 build problem resulting from FSF merge.
* acconfig.h (HAVE_INTTYPES_H): Undef.
	* configure.in (inttypes.h): Check for conflicts between sys/types.h
	and inttypes.h, and verify that intmax_t is defined.
	* config/mips/x-iris (CC, OPT, OLDCC): Comment out.
	* config/mips/x-iris3: Likewise.

From-SVN: r16325
1997-11-04 16:30:37 -08:00
Jeffrey A Law
73774bc7c0 alias.c (find_base_value): When copying arguments, return the tenative value for a hard register.
* alias.c (find_base_value): When copying arguments, return the
        tenative value for a hard register.

From-SVN: r16319
1997-11-04 16:09:21 -07:00
Doug Evans
645ebf3767 c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
* c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
	(yylex): Record wide strings using target endianness, not host.

From-SVN: r16315
1997-11-04 21:56:24 +00:00
Jeffrey A Law
f762058716 mn10200.h (ASM_OUTPUT_BSS): Delete.
* mn10200.h (ASM_OUTPUT_BSS): Delete.
        (ASM_OUTPUT_ALIGNED_BSS): New macro
        * mn10300.h (ASM_OUTPUT_BSS): Delete.
        (ASM_OUTPUT_ALIGNED_BSS): New macro.
        * v850.h (ASM_OUTPUT_BSS): Delete.
        (ASM_OUTPUT_ALIGNED_BSS): New macro.

From-SVN: r16312
1997-11-04 13:38:45 -07:00
J"orn Rennecke
1686f1a2ae * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
From-SVN: r16309
1997-11-04 02:11:45 +00:00
Jeff Law
08bb4b3b2c Remove last combine patch. rth & jim are working on a new one.
From-SVN: r16304
1997-11-03 14:55:49 -07:00
Jeffrey A Law
f6857708b8 * configure.in (sco5): Use cpio to install header files.
From-SVN: r16303
1997-11-03 14:40:15 -07:00
Manfred Hollstein
e566af0431 aclocal.m4 (conftestdata_from, [...]): Names shortened to 14 char length.
* aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
        14 char length.
        * configure: Rebuild.

From-SVN: r16298
1997-11-02 23:30:09 -07:00
Richard Henderson
be2053f3dd combine.c (try_combine): Don't elim_i1 when it is used in i2src.
* combine.c (try_combine): Don't elim_i1 when it is used in i2src.

        * combine.c (try_combine): When setting elim_i2, check whether newi2pat
        sets i2dest.  When calling distribute_notes for i3dest_killed, pass
        elim_i2 and elim_i1.

Co-Authored-By: Jim Wilson <wilson@cygnus.com>

From-SVN: r16296
1997-11-02 23:24:36 -07:00
Robert Lipe
cbd44549e6 * i386/sco5.h: enable -gstabs once again.
From-SVN: r16284
1997-11-02 19:42:31 -07:00
Jeffrey A Law
5663681816 * arm.c (output_move_double): Allocate 3 entries in otherops array.
From-SVN: r16281
1997-11-02 19:26:49 -07:00
Jeffrey A Law
8072f69c31 alias.c (init_alias_analysis): Handle -fno-alias-check when optimizing correctly.
* alias.c (init_alias_analysis): Handle -fno-alias-check when
        optimizing correctly.

From-SVN: r16268
1997-11-01 23:28:31 -07:00
Jeffrey A Law
6cad9e3280 expr.c (expand_builtin_setjmp): Don't emit a SETJMP note or set current_function_calls_setjmp anymore.
* expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
        or set current_function_calls_setjmp anymore.

From-SVN: r16267
1997-11-01 22:15:13 -07:00
Mike Stump
9ad8a5f011 except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG notes for sjlj exceptions too.
* except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
        notes for sjlj exceptions too.
        (expand_eh_region_end): Similarly for EH_REGION_END notes.
        (exception_optimize): Optimize EH regions for sjlj exceptions too.
        * final.c (final_scan_insn): Don't output labels for EH REGION
        notes if doing sjlj exceptions.

From-SVN: r16266
1997-11-01 21:43:34 -07:00
Jeffrey A Law
f8671389c5 flow.c (find_basic_blocks): If we delete the label for an exception handler...
* flow.c (find_basic_blocks): If we delete the label for an
        exception handler, remove it from the EH label list and remove
        the EH_BEGIN/EH_END notes for that EH region.

From-SVN: r16265
1997-11-01 19:15:01 -07:00
Jason Merrill
a886ae747e flow.c (find_basic_blocks): Generate correct flow control information when exception handling notes are present.
* flow.c (find_basic_blocks): Generate correct flow control
        information when exception handling notes are present.

From-SVN: r16263
1997-11-01 16:45:10 -07:00
Jeffrey A Law
c2c85462f3 dwarf2out.c (output_call_frame_info): Fix length argument to ASM_OUTPUT_ASCII.
* dwarf2out.c (output_call_frame_info): Fix length argument
        to ASM_OUTPUT_ASCII.
        (output_die, output_pubnames, output_line_info): Likewise.

From-SVN: r16262
1997-11-01 13:43:02 -07:00
Jeffrey A Law
27ca375af6 * version.c: Bump for snapshot.
From-SVN: r16255
1997-10-31 09:47:28 -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
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
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
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
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
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
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