Jim Wilson [Wed, 5 Nov 1997 02:08:25 +0000 (02:08 +0000)]
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.
Jim Wilson [Wed, 5 Nov 1997 00:30:37 +0000 (00:30 +0000)]
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.
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
Jason Merrill [Sun, 2 Nov 1997 20:28:22 +0000 (20:28 +0000)]
Makefile.in (install): Some of HEADERS come from the stl dir now.
* Makefile.in (install): Some of HEADERS come from the stl dir now.
* algorithm, deque, functional, iterator, list, map, memory, numeric,
queue, set, stack, utility, vector: Now in stl dir.
Jeffrey A Law [Sun, 2 Nov 1997 02:15:01 +0000 (02:15 +0000)]
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.
Brendan Kehoe [Sat, 1 Nov 1997 19:50:18 +0000 (19:50 +0000)]
lex.c (FILE_NAME_NONDIRECTORY): Delete macro.
* lex.c (FILE_NAME_NONDIRECTORY): Delete macro.
(file_name_nondirectory): New function, doing the same as the macro.
(set_typedecl_interface_info): Use it instead of the macro.
(check_newline): Likewise.
(handle_cp_pragma): Likewise.
* repo.c (get_base_filename): Cast result of rindex to char*.
(open_repo_file): Likewise.
* xref.c (open_xref_file): Likewise.
* error.c (dump_char): Make its arg int, not char.
bring over the changes that went in yesterday to fix irix6 native cc
build problems
Jeffrey A Law [Fri, 31 Oct 1997 16:30:48 +0000 (16:30 +0000)]
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.
Jeffrey A Law [Fri, 31 Oct 1997 15:35:31 +0000 (15:35 +0000)]
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.
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.
Doug Evans [Thu, 30 Oct 1997 22:52:41 +0000 (22:52 +0000)]
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.
Jeffrey A Law [Thu, 30 Oct 1997 20:34:59 +0000 (20:34 +0000)]
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.
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.
Toon Moene [Tue, 28 Oct 1997 19:02:23 +0000 (20:02 +0100)]
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.
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.
Jason Merrill [Sun, 26 Oct 1997 19:54:42 +0000 (19:54 +0000)]
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.