1. 25 Feb, 1999 2 commits
  2. 22 Feb, 1999 1 commit
    • loop.c (libcall_other_regs): Make extern. · 89d3d442
      	* loop.c (libcall_other_regs): Make extern.
      	* rtl.h (find_last_value): Add parameter to prototype.
      	(libcall_other_reg): Add extern declaration.
      	* rtlanal.c (find_last_value): Add another parameter to allow
      	a definition using a hardware register to be found as well.
      
      From-SVN: r25378
      Andrew MacLeod committed
  3. 08 Feb, 1999 1 commit
    • output.h (current_function_has_computed_jump): Rename from current_function_addresses_labels. · acd693d1
              * output.h (current_function_has_computed_jump): Rename from
              current_function_addresses_labels.
              * function.h (struct function): Likewise for addresses_labels member.
              * rtl.h (FUNCTION_FLAGS_HAS_COMPUTED_JUMP): Likewise.
              * function.c (current_function_has_computed_jump): Likewise.
              Update all references.
              * integrate.c (function_cannot_inline_p):
              Test current_function_has_computed_jump instead of addresses_labels.
              (initialize_for_inline): Likewise save.
              (output_inline_function): Likewise restore.
              * expr.c (expand_expr): Don't reference addresses_labels variables.
              * stmt.c (expand_computed_goto): Set has_computed_jump.
      
      From-SVN: r25100
      Richard Henderson committed
  4. 03 Feb, 1999 1 commit
  5. 29 Jan, 1999 1 commit
  6. 27 Jan, 1999 2 commits
    • rtl.h (insn_first_p): Declare. · 3ec2b590
      	* rtl.h (insn_first_p): Declare.
      	* rtlanal.c (insn_first_p): New function.
      	* loop.h (varray.h): Include.
      	(struct induction): Change combined_with to unsigned.
      	New members derived, ix and last_use.
      	(reg_iv_type, reg_iv_info): Now varray_type.  All references changed.
      	(REG_IV_TYPE, REG_IV_INFO): Define.
      	(first_increment_giv, last_increment_giv): Declare.
      	* loop.c (loop_number_loop_cont): New static variable.
      	(loop_number_cont_dominator): Likewise.
      	(reg_iv_type, reg_iv_info): Now varray_type.
      	(first_increment_giv, last_increment_giv): New variables.
      	(compute_luids, verify_dominator, find_life_end): New functions.
      	(cmp_recombine_givs_stats, recombine_givs): Likewise.
      	(loop_optimize): Allocate loop_number_loop_cont and
      	loop_number_cont_dominator.  Use compute_luids.
      	(find_and_verify_loops): Initialize loop_number_loop_cont and
      	loop_number_cont_dominator.
      	(strength_reduce): Try to find bivs that can be expressed as givs
      	of another biv, and to convert biv increments into givs.
      	Call recombine_givs.  Handle derived givs.
      	(record_biv): New argument location.  All callers changed.
      	(record_giv): Initialize derived and last_use fields.
      	(basic_induction_var): New argument location.  All callers changed.
      	(combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
      	Increment combined_with instead of setting to 1.
      	* unroll.c (derived_regs): New static variable.
      	(unroll_loop): Initialize it.
      	Allocate local_regno according to max_reg_num.
      	(copy_loop_body): Cope with derived givs.
      	(find_splittable_givs): Check for Givs made from biv increments.
      	Set derived_regs for givs.
      	* Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
      
      From-SVN: r24889
      J"orn Rennecke committed
  7. 23 Jan, 1999 1 commit
    • final.c (bb_str): Qualify a char* with the keyword `const'. · 9b3142b3
              * final.c (bb_str): Qualify a char* with the keyword `const'.
              (add_bb_string, final_scan_insn, output_asm_insn): Likewise.
              * fix-header.c (read_scan_file): Likewise.
              * genoutput.c (output_epilogue, process_template): Likewise.
              * local-alloc.c (requires_inout, block_alloc): Likewise.
              * output.h (output_asm_insn, assemble_string): Likewise.
              * recog.c (recog_constraints, check_asm_operands,
              decode_asm_operands, extract_insn, preprocess_constraints,
              constrain_operands): Likewise.
              * recog.h (operand_alternative, recog_constraints, insn_template,
              insn_outfun, insn_operand_constraint, insn_name): Likewise.
              * regclass.c (record_reg_classes, scan_one_insn): Likewise.
              * regmove.c (find_matches): Likewise.
              * reload.c (alternative_allows_memconst): Likewise.
              * reload1.c (constraint_accepts_reg_p,
              reload_cse_simplify_operands): Likewise.
              * rtl.h (decode_asm_operands): Likewise.
              * scan.h (fn_decl): Likewise.
              * varasm.c (assemble_string): Likewise.
      
      From-SVN: r24834
      Kaveh R. Ghazi committed
  8. 21 Jan, 1999 1 commit
    • cse.c (fold_rtx): Revert 29 Dec change. · ee5332b8
              * cse.c (fold_rtx): Revert 29 Dec change.
              (cse_insn): Revert 12 Jan change.
              * expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
              * regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
              * rtl.def: Likewise.
              * rtl.h (CONSTANT_P): Likewise.
              * expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
              to memory.
              * recog.c (immediate_operand): Accept CONSTANT_P_RTX.
              * alpha.c (input_operand): Likewise.
              * c4x.c (const_operand): Likewise.
              * explow.c (allocate_dynamic_stack_space): Use register_operand
              instead of arith_operand, which does not exist.
              * 1750a.h: Fix comment closure.
              * a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
              * arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
              * arm.h (TARGET_SWITCHES): Fix typo.
              * i370.md (anon mult and div patterns): Fix set mode mismatch.
              * i860.c (output_delayed_branch): Fix operands to constrain_operands.
              (output_delay_insn): Likewise.
              * m88k.md (anon rotate insns): Fix set mode mismatch.
              (anon BLKmode moves): Commonize and fix set mode mismatches.
              * ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
              * romp.md (movdf): Fix typo.
      
      From-SVN: r24796
      Richard Henderson committed
  9. 19 Jan, 1999 2 commits
    • expr.c (do_jump_for_compare): Handle conditional branch expanders emitting… · d804ed43
      expr.c (do_jump_for_compare): Handle conditional branch expanders emitting multiple jump instructions.
      
              * expr.c (do_jump_for_compare): Handle conditional branch expanders
              emitting multiple jump instructions.
              * jump.c (condjump_label): New function.
              * rtl.h (condjump_label): Declare it.
      
      From-SVN: r24773
      Richard Henderson committed
    • rtl.h (rtx_def): Update documentation. · c6df88cb
      	* rtl.h (rtx_def): Update documentation.
      	(MEM_IN_STRUCT_P): Likewise.
      	(MEM_SCALAR_P): New macro.
      	(MEM_COPY_ATTRIBUTES): Likewise.
      	(MEM_SET_IN_STRUCT_P): Likewise.
      	* rtl.texi (MEM_SCALAR_P): Document.
      	* alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
      	(fixed_scalar_and_varying_struct_p): New function.  Use
      	MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
      	(aliases_everything_p): Likewise.
      	(true_dependence): Use them.
      	(write_dependence_p): New function, containing code common to
      	anti_dependence and output_dependence.
      	(anti_dependence): Use it.
      	(output_dependence): Likewise.
      	* calls.c (save_fixed_argument_area): Don't clear
      	MEM_IN_STRUCT_P.
      	(expand_call): Use MEM_SET_IN_STRUCT_P.
      	(emit_library_call): Don't clear MEM_IN_STRUCT_P.
      	(emit_library_call_value): Likewise.
      	(store_one_arg): Use MEM_SET_IN_STRUCT_P.
      	* combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
      	(make_extraction): Likewise.
      	(simplify_shift_const): Likewise.
      	(gen_lowpart_for_combine): Likewise.
      	* cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
      	* emit-rtl.c (operand_subword): Likewise.
      	(change_address): Likewise.
      	* explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
      	* expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
      	(emit_group_store): Use MEM_SET_IN_STRUCT_P.
      	(copy_blkmode_from_reg): Likewise.
      	(store_field): Likewise.
      	(expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
      	heuristically.  Use MEM_SET_IN_STRUCT_P.
      	(get_memory_rtx): Likewise.
      	* final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
      	* function.c (assign_stack_temp): Clear MEM_SCALAR_P and
      	MEM_ALIAS_SET on newly returned MEMs.
      	(assign_temp): Use MEM_SET_IN_STRUCT_P.
      	(put_reg_into_stack): Likewise.
      	(fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
      	(gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
      	(assign_parms): Likewise.
      	(expand_function): Likewise.
      	* integrate.c (expand_inline_function): Likewise.
      	(copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
      	* loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
      	* optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
      	* print-rtl.c (print_rtx): Print /f for frame_related.
      	* recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
      	* reload1.c (reload): Copy MEM_SCALAR_P as well.
      	* stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
      	(expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
      	* varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
      	(output_constant_def): Likewise.
      	* a29k.c (a29k_set_memflags_1): Take scalar_p.
      	Set MEM_SCALAR_P.
      	(a29k_set_memflags): Use it.
      	* alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
      	* c4x.c (c4x_scan_for_ld): Likewise.
      	* h8300.c (fix_bit_operand): Likewise.
      	* m88k.c (legitimize_address): Likewise.
      	(block_move_loop): Likewise.
      	(block_move_no_loop): Likewise.
      	(block_move_sequence): Likewise.
      	(m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
      	* mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
      	* rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
      	* sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
      	* arm.h (arm_gen_load_multiple): Take scalar_p.
      	(arm_store_load_multiple): Likewise.
      	* arm.c (arm_gen_load_multiple): Likewise.
      	(arm_gen_store_multiple): Likewise.
      	(arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
      
      From-SVN: r24759
      Mark Mitchell committed
  10. 18 Jan, 1999 1 commit
    • cpplib.c (special_symbol): Qualify a char* with the `const' keyword. · 87e11268
              * cpplib.c (special_symbol): Qualify a char* with the `const' keyword.
              Instead of writing to const char *buf directly, use a non-const
              variable `wbuf' to allocate and write a string, then set buf = wbuf.
              * cppulp.c (user_label_prefix): Qualify a char* with the `const'
              keyword.
              * dyn-string.c (dyn_string_append): Likewise.
              * dyn-string.h (dyn_string_append): Likewise.
              * final.c (end_final, output_operand_lossage, asm_fprintf): Likewise.
              * output.h (end_final, output_operand_lossage, asm_fprintf,
              named_section, decode_reg_name, make_decl_rtl, user_label_prefix):
              Likewise.
              * profile.c (init_branch_prob): Likewise.
              * toplev.c (set_target_switch, vmessage,
              v_message_with_file_and_line, v_message_with_decl,
              v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
              verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
              v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
              v_pedwarn_with_file_and_line, vsorry, v_really_sorry,
              open_dump_file, dump_rtl, clean_dump_file,
              print_version, print_single_switch, print_switch_values,
              dump_base_name, debug_args, lang_independent_options,
              user_label_prefix, documented_lang_options, target_switches,
              target_options, print_time, pfatal_with_name, fatal_io_error,
              fatal_insn, default_print_error_function, print_error_function,
              report_error_function, error_with_file_and_line, error_with_decl,
              error_for_asm, error, fatal, warning_with_file_and_line,
              warning_with_decl, warning_for_asm, warning, pedwarn,
              pedwarn_with_decl, pedwarn_with_file_and_line, sorry,
              really_sorry, botch, output_quoted_string, output_file_directive,
              open_dump_file, rest_of_decl_compilation, display_help, main):
              Likewise.
              * toplev.h (print_time, fatal, fatal_io_error, pfatal_with_name,
              fatal_insn, warning, error, pedwarn, pedwarn_with_file_and_line,
              warning_with_file_and_line, error_with_file_and_line, sorry,
              really_sorry, default_print_error_function, report_error_function,
              rest_of_decl_compilation, pedwarn_with_decl, warning_with_decl,
              error_with_decl, error_for_asm, warning_for_asm, output_quoted_string,
              output_file_directive, botch): Likewise.
              * tree.h (make_decl_rtl): Likewise.
              * varasm.c (strip_reg_name, named_section, decode_reg_name,
              make_decl_rtl): Likewise.
      
      From-SVN: r24743
      Kaveh R. Ghazi committed
  11. 29 Dec, 1998 1 commit
  12. 14 Dec, 1998 1 commit
  13. 13 Dec, 1998 1 commit
  14. 12 Dec, 1998 1 commit
  15. 08 Dec, 1998 1 commit
    • See ChangeLog.. · e6cfb550
      Tue Dec  8 15:32:56 EST 1998  Andrew MacLeod  <amacleod@cygnus.com>
      See ChangeLog.. These are the files that were changed:
      	* eh-common.h (struct eh_context): Add table_index for rethrows.
      	* rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
      	* rtl.c (reg_note_name): Add strings for new reg_note enums.
      	* expr.h (rethrow_libfunc): New library decl.
      	* optabs.c (rethrow_libfunc): Initialize.
      	* except.h (struct eh_entry): Add new field 'rethrow_label'.
      	* except.c (create_rethrow_ref): New function to create a single
      	* flow.c (make_edges): Add different edges for rethrow calls,
      	* integrate.c (save_for_inline_eh_labelmap): New callback routine to
      	* libgcc2.c (find_exception_handler): Generalize to enable it to
              * cp/except.c
              * cp/exception.cc
      
      From-SVN: r24194
      Andrew MacLeod committed
  16. 03 Dec, 1998 1 commit
  17. 01 Dec, 1998 1 commit
    • local-alloc.c (function_invariant_p): New function. · 2b49ee39
      	* local-alloc.c (function_invariant_p): New function.
      	(update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
      	to decide if an equivalence should be recorded.
      	* reload1.c (num_eliminable_invariants): New static variable.
      	(reload): Set it.  Use function_invariant_p instead of CONSTANT_P
      	to decide if an equivalence should be recorded.
      	Unshare PLUS.
      	(calculate_needs_all_insns): Skip insns that only set an equivalence.
      	Take num_eliminable_invariants into account when deciding
      	if register elimination should be done.
      	(reload_as_needed): Take num_eliminable_invariants into account
      	when deciding if register elimination should be done.
      	(eliminate_regs): Handle non-constant reg_equiv_constant.
      	* rtl.h (function_invariant_p): Declare.
      
      From-SVN: r24026
      J"orn Rennecke committed
  18. 27 Nov, 1998 1 commit
    • system.h: Include libiberty.h. · 2778b98d
              * system.h: Include libiberty.h.
              * c-aux-info.c: Remove prototypes for concat/concat3.  Change
              function `concat' from fixed parameters to variable parameters,
              as is done in libiberty.  All callers of concat/concat3
              changed to use the new `concat' with variable args.
              * cccp.c: Remove things made redundant by libiberty.h and/or
              conform to libiberty standards.
              * cexp.y: Likewise.
              * collect2.c: Likewise.
              * config/1750a/1750a.h: Likewise.
              * cppalloc.c: Likewise.
              * cppexp.c: Likewise.
              * cppfiles.c: Likewise.
              * cpphash.c: Likewise.
              * cpplib.c: Likewise.
              * dyn-string.c: Likewise.
              * fix-header.c: Likewise.
              * gcc.c: Likewise.
              * gcov.c: Likewise.
              * genattr.c: Likewise.
              * genattrtab.c: Likewise.
              * gencheck.c: Likewise.
              * gencodes.c: Likewise.
              * genconfig.c: Likewise.
              * genemit.c: Likewise.
              * genextract.c: Likewise.
              * genflags.c: Likewise.
              * gengenrtl.c: Likewise.
              * genopinit.c: Likewise.
              * genoutput.c: Likewise.
              * genpeep.c: Likewise.
              * genrecog.c: Likewise.
              * getpwd.c: Likewise.
              * halfpic.c: Likewise.
              * hash.c: Likewise.
              * mips-tdump.c: Likewise.  Wrap malloc/realloc/calloc prototypes
              in NEED_DECLARATION_* macros.
              * mips-tfile.c: Remove things made redundant by libiberty.h and/or
              conform to libiberty standards.
              (fatal): Fix const-ification of variable `format' in
              !ANSI_PROTOTYPES case.
              * prefix.c: Remove things made redundant by libiberty.h and/or
              conform to libiberty standards.
              * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
              conflicting with function `spaces' from libiberty.
              * profile.c: Remove things made redundant by libiberty.h and/or
              conform to libiberty standards.
              * protoize.c: Likewise.
              * rtl.h: Likewise.
              * scan.h: Likewise.
              * tlink.c: Likewise.
              * toplev.c: Likewise.
              * toplev.h: Likewise.
              * tree.h: Likewise.
      
      From-SVN: r23931
      Kaveh R. Ghazi committed
  19. 26 Nov, 1998 1 commit
  20. 25 Nov, 1998 1 commit
    • toplev.c (no_new_pseudos): Define. · f1db3576
              * toplev.c (no_new_pseudos): Define.
              (rest_of_compilation):  Set no_new_pseudos as needed.
              * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
              if no_new_pseudos is set.
              * rtl.h (no_new_pseudos): Declare it.
              * reload1.c (reload): Update comments.
              * md.texi: Corresponding changes.
              * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
              (choose_reload_regs): Rename it here as well.  When computing it,
              also merge in used hardregs.
      
      From-SVN: r23855
      Jeff Law committed
  21. 24 Nov, 1998 1 commit
    • cse.c (fold_rtx): Make autoincrement addressing mode tests be runtime selectable. · 940da324
              * cse.c (fold_rtx): Make autoincrement addressing mode tests be
              runtime selectable.
              * expr.c (move_by_pieces): Similarly.
              (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
              * flow.c (find_auto_inc): Similarly.
              (try_pre_increment): Similarly.
              * loop.c (strength_reduce): Similarly.
              * regclass.c (auto_inc_dec_reg_p): Similarly.
              * regmove.c (try_auto_increment): Similarly.
              (fixup_match_1): Similarly.
              * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
              (HAVE_PRE_DECREMENT): Similarly.
              (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
              sponding changes to all target header files.
      
      From-SVN: r23837
      Jeffrey A Law committed
  22. 07 Nov, 1998 1 commit
    • configure.in (host_xm_file, [...]): Arrange to include gansidecl.h in… · 0056a9b5
      configure.in (host_xm_file, [...]): Arrange to include gansidecl.h in {ht}config.h & tm.h just before the config/...
      
              * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
              Arrange to include gansidecl.h in {ht}config.h & tm.h just
              before the config/ directory headers.
              (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
              gansidecl.h in the list of dependencies.
              * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
              (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
              mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
              gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
              dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
              cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
              Likewise.
              * cccp.c: Don't include gansidecl.h.
              * cexp.y: Likewise.
              * collect2.c: Likewise.
              * config/c4x/c4x.c: Likewise.
              * config/v850/v850.h: Likewise.
              * cppalloc.c: Likewise.
              * cpperror.c: Likewise.
              * cppexp.c: Likewise.
              * cppfiles.c: Likewise.
              * cpphash.c: Likewise.
              * cpplib.c: Likewise.
              * cppmain.c: Likewise.
              * cppulp.c: Likewise.
              * demangle.h: Likewise.
              * doprint.c: Likewise.
              * dyn-string.c: Likewise.
              * eh-common.h: Likewise.
              * fix-header.c: Likewise.
              * frame.c: Likewise.
              * gcc.c: Likewise.
              * gcov.c: Likewise.
              * gen-protos.c: Likewise.
              * gencheck.c: Likewise.
              * halfpic.h: Likewise.
              * hash.c: Likewise.
              * machmode.h: Likewise.
              * mbchar.c: Likewise.
              * prefix.c: Likewise.
              * protoize.c: Likewise.
              * recog.h: Likewise.
              * rtl.h: Likewise.
              * scan-decls.c: Likewise.
              * tree.h: Likewise.
              * varray.h: Likewise.
      
      From-SVN: r23558
      Kaveh R. Ghazi committed
  23. 04 Nov, 1998 1 commit
  24. 29 Oct, 1998 1 commit
    • flow.c (XNMALLOC): New macro. · 421382ac
      	* flow.c (XNMALLOC): New macro.
      	(flow_int_list_blocks, basic_block_succ, basic_block_pred): New
      	static variables.
      	(add_edge, add_edge_to_label): New static functions.
      	(free_bb_memory): New function.
      	(flow_delete_insn): Delete function.
      	(basic_block_drops_in): Delete variable.
      	(find_basic_blocks): Allocate and initialize basic_block_head,
      	basic_block_succ.  Don't allocate basic_block_drops_in.
      	Call free_bb_memory at the beginning.
      	(find_basic_blocks_1): Don't do multiple passes.
      	Delete code to compute basic_block_drops_in.
      	After calling make_edges, mark blocks reached by current block live.
      	Update test for unreachable live blocks.
      	(mark_label_ref): Delete args X, CHECKDUP.  Add PRED arg.  All callers
      	changed.
      	Simplify to call add_edge_to_label when a LABEL_REF is found.
      	(make_edges): Simplify to call add_edge_to_label instead of
      	mark_label_ref most of the time.
      	Compute here whether control drops into the next block.
      	(delete_unreachable_blocks): Return void.  All callers changed.
      	Delete unreachable blocks in reverse order.
      	After deleting all unreachable blocks, renumber the remaining ones
      	and update n_basic_blocks.
      	(delete_block): Speed up deletion a bit.
      	Don't set basic_block_drops_in for deleted blocks.
      	(free_basic_block_vars): Don't free basic_block_drops_in.
      	(life_analysis_1): Update to use new edge representation.
      	(dump_flow_info): Delete code to print basic block info; call
      	dump_bb_data instead.
      	(compute_preds_succs): Delete code to recompute basic_block_drops_in
      	and uid_block_number.
      	Simply copy the previously computed cfg.
      	(dump_bb_data): New arg LIVE_INFO.  All callers changed.
      	Print register lifetime information if LIVE_INFO is nonzero.
      	* basic-block.h (dump_bb_data): Adjust prototype.
      	* gcse.c (gcse_main): Update call to dump_bb_data.
      	* rtl.h (free_bb_memory): Declare.
      	* toplev.c (rest_of_compilation): Call free_bb_memory.
      
      From-SVN: r23443
      Bernd Schmidt committed
  25. 28 Oct, 1998 2 commits
  26. 21 Oct, 1998 1 commit
    • invoke.texi: Document -flang-isoc9x. · 3932261a
      	* invoke.texi: Document -flang-isoc9x.
      	* Makefile.in (OBJS): Add splay-tree.o.
      	(c-common.o): Depend on rtl.h.
      	(splay-tree.o): List dependencies and provide build rule.
      	* rtl.h (record_alias_subset): New function.
      	* alias.c: Include splay-tree.h.
      	(alias_set_entry): New type.
      	(CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
      	(DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
      	(mems_in_disjoin_alias_sets_p): New function.
      	(alias_set_compare): Likewise.
      	(insert_subset_children): Likewise.
      	(get_alias_set_entry): Likewise.
      	* tree.h (TYPE_RESTRICT): New macro.
      	(TYPE_UNQUALIFIED): New manifest constant.
      	(TYPE_QUAL_CONST): Likewise
      	(TYPE_QUAL_VOLATILE): Likewise.
      	(TYPE_QUAL_RESTRICT): Likewise.
      	(tree_type): Add restrict_flag.  Reduce count of free bits.
      	(DECL_POINTER_ALIAS_SET): New macro.
      	(DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
      	(tree_decl): Add pointer_alias_set.
      	(build_qualified_type): New function.
      	(build_type_variant): Define in terms of build_qualified_type.
      	* tree.c (set_type_quals): New function.
      	(make_node): Initializae DECL_POINTER_ALIAS_SET.
      	(build_type_attribute_variant): Use build_qualified_type and
      	set_type_quals.
      	(build_type_variant): Rename, and modify, to become...
      	(build_qualified_type): New function.
      	(build_complex_type): Use set_type_quals.
      	* c-tree.h (C_TYPE_OBJECT_P): New macro.
      	(C_TYPE_FUNCTION_P): Likewise.
      	(C_TYPE_INCOMPLETE_P): Likewise.
      	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
      	(c_apply_type_quals_to_decl): New function.
      	(c_build_qualified_type): New function.
      	(c_build_type_variant): Define in terms of c_build_qualified_type.
      	(flag_isoc9x): Declare.
      	* c-typeck.c (qualify_type): Use c_build_qualified_type.
      	(common_type): Change to use TYPE_QUALS.
      	(comptypes): Likewise.
      	(convert_for_assignment): Likewise.
      	* c-aux-info.c (gen_type): Likewise.  Deal with `restrict'.
      	* c-decl.c (flag_isoc9x): Define.
      	(c_decode_option): Handle -flang-isoc9x.
      	(grokdeclarator): Update to handle restrict.  Use TYPE_QUALS,
      	c_build_qualified_type, etc.  Use c_apply_type_quals_to_decl.
      	* c-lex.c (init_lex): Deal with restrict.
      	(init_lex): Don't treat restrict as a reserved word in
      	-traditional mode, or without -flang-isoc9x.
      	* c-lex.h (rid): Add RID_RESTRICT.
      	* c-parse.gperf (restrict, __restrict, __restrict__): Make
      	equivalent to RID_RESTRICT.
      	* c-parse.in (TYPE_QUAL): Update comment.
      	* c-common.c: Include rtl.h.
      	(c_find_base_decl): New function.
      	(c_build_type_variant): Rename, and modify, to become ...
      	(c_build_qualified_type): New function.
      	(c_apply_type_quals_to_decl): Likewise.
      	(c_get_alias_set): For INDIRECT_REFs, check to see if we can find
      	a particular alias set for the reference.
      	* toplev.c (documented_lang_options): Add -flang-isoc9x.
      
      From-SVN: r23212
      Mark Mitchell committed
  27. 16 Oct, 1998 1 commit
  28. 14 Oct, 1998 1 commit
    • Add ATTRIBUTE_NORETURN in a bunch of places: · bf94d1ec
      	* cppalloc.c (memory_full): Mark function prototype with
      	ATTRIBUTE_NORETURN.
      	* demangle.h (collect_exit): Likewise.
      	* fix-header.c (v_fatal, fatal): Likewise.
      	* gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
      	Likewise.
      	* gcov.c (print_usage): Likewise.
      	* genattr.c (fatal, fancy_abort): Likewise.
      	* genattrtab.c (fatal, fancy_abort): Likewise.
      	* gencodes.c (fatal, fancy_abort): Likewise.
      	* genconfig.c (fatal, fancy_abort): Likewise.
      	* genemit.c (fatal, fancy_abort): Likewise.
      	* genextract.c (fatal, fancy_abort): Likewise.
      	* genflags.c (fatal, fancy_abort): Likewise.
      	* genopinit.c (fatal, fancy_abort): Likewise.
      	* genoutput.c (fatal, fancy_abort): Likewise.
      	* genpeep.c (fatal, fancy_abort): Likewise.
      	* genrecog.c (fatal, fancy_abort): Likewise.
      	* libgcc2.c (__eprintf, __default_terminate, __sjthrow,
      	__sjpopnthrow, __throw): Likewise.
      	* objc/objc-act.c (objc_fatal): Likewise.
      	* protoize.c (usage, aux_info_corrupted,
      	declare_source_confusing): Likewise.
      	* rtl.c (dump_and_abort): Likewise.
      	* rtl.h (sets_cc0_p): Likewise.
      	* toplev.c (float_signal, pipe_closed): Likewise.
      
      From-SVN: r23084
      Kaveh R. Ghazi committed
  29. 13 Oct, 1998 1 commit
  30. 06 Oct, 1998 2 commits
  31. 23 Sep, 1998 1 commit
  32. 18 Sep, 1998 1 commit
    • toplev.c (rest_of_compilation): Set bct_p on second call to loop_optimize. · 5accd822
              * toplev.c (rest_of_compilation): Set bct_p on second call to
              loop_optimize.
              * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
              bct_p.
              (strength_reduce): Only call analyze_loop_iterations and
              insert_bct if bct_p set.
              (check_dbra_loop): Fix typo.
              (insert_bct): Use word_mode instead of SImode.
              (instrument_loop_bct): Likewise.  Do not delete iteration count
              condition code generation insn.  Initialize iteration count before
              loop start.
              * rtl.h (loop_optimize): Update prototype.
              * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
              not doubleword aligned.
              * rs6000.c (optimization_options): New function.
              (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
              * rs6000.h (OPTIMIZATION_OPTIONS): Define.
              (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
              first; cr1 can be used for FP record condition insns.
      
      From-SVN: r22471
      David Edelsohn committed
  33. 15 Sep, 1998 1 commit
    • tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. · 71038426
      	* tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.  Kill.
      	(BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
      	(BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
      	(BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
      	* c-decl.c (init_decl_processing): Update accordingly.
      	* expr.c (expand_builtin): Likewise.
      	* cp/decl.c (init_decl_processing): Likewise.
      	* rtl.h (global_rtl): Add cfa entry.
      	(virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
      	(LAST_VIRTUAL_REGISTER): Update.
      	* emit-rtl.c (global_rtl): Add cfa entry.
      	(init_emit): Initialize it.
      	* function.c (cfa_offset): New.
      	(instantiate_virtual_regs): Initialize it.
      	(instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
      	(expand_function_end): Call expand_eh_return.
      	* tm.texi (ARG_POINTER_CFA_OFFSET): New.
      	* except.c (current_function_eh_stub_label): Kill.
      	(current_function_eh_old_stub_label): Likwise; update all references.
      	(expand_builtin_set_return_addr_reg): Kill.
      	(expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
      	(expand_builtin_set_eh_regs): Kill.
      	(eh_regs): Produce a third reg for the actual handler address.
      	(eh_return_context, eh_return_stack_adjust): New.
      	(eh_return_handler, eh_return_stub_label): New.
      	(init_eh_for_function): Initialize them.
      	(expand_builtin_eh_return, expand_eh_return): New.
      	* except.h: Update prototypes.
      	* flow.c (find_basic_blocks_1): Update references to the stub label.
      	* function.h (struct function): Kill stub label elements.
      	* libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
      	register number is one that would be in the previous window.
      	Provide a dummy definition for non-windowed targets.
      	(get_reg_addr): New function.
      	(get_reg, put_reg, copy_reg): Use it.
      	(__throw): Rely on in_reg_window, not INCOMING_REGNO.  Kill stub
      	generating code and use __builtin_eh_return.  Use __builtin_dwarf_cfa.
      	* alpha.c (alpha_eh_epilogue_sp_ofs): New.
      	(alpha_init_expanders): Initialize it.
      	(alpha_expand_epilogue): Use it.
      	* alpha.h: Declare it.
      	* alpha.md (eh_epilogue): New.
      	* m68h.h (ARG_POINTER_CFA_OFFSET): New.
      	* sparc.h (ARG_POINTER_CFA_OFFSET): New.
      
      From-SVN: r22436
      Richard Henderson committed
  34. 06 Sep, 1998 1 commit
    • Makefile.in (toplev.o): Depend on $(EXPR_H). · 114791ea
              * Makefile.in (toplev.o): Depend on $(EXPR_H).
              (insn-extract.o, insn-attrtab.o): Depend on toplev.h.
              * gansidecl.h: Define ATTRIBUTE_NORETURN.
              * genattrtab.c: Have insn-attrtab.c include toplev.h.
              * genextract.c: Have insn-extract.c include toplev.h.
              * rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
              * toplev.c: Include expr.h.
              (really_sorry, fancy_abort): Remove prototypes.
              (set_target_switch): Add argument in prototype.
              (vfatal): Mark prototype with ATTRIBUTE_NORETURN.
              (v_really_sorry): Likewise.
              (print_version, print_single_switch, print_switch_values): Make
              static and add prototype arguments.
              (decl_printable_name): Add prototype arguments.
              (lang_expand_expr_t): New typedef.
              (lang_expand_expr): Declare as a lang_expand_expr_t.
              (incomplete_decl_finalize_hook): Add prototype argument.
              (decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
              (botch): Likewise for variable `s'.
              (rest_of_type_compilation): Mark variables `type' and `toplev'
              with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
              XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
              (display_help): Make variable `i' an `unsigned long'.
              (main): Remove unused parameter `envp'.
              Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
              Cast -1 when comparing it with a `size_t'.
              * toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
              prototype with ATTRIBUTE_NORETURN.
              (fatal_insn_not_found, fatal_insn, really_sorry,
              push_float_handler, pop_float_handler): Add prototypes.
              (fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
              (do_abort, botch): Add prototypes.
      
      From-SVN: r22293
      Kaveh R. Ghazi committed
  35. 05 Sep, 1998 1 commit