1. 04 Jun, 2002 1 commit
    • Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz> · 63f4a88e
      	* cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
      	* final.c (final_scan_insn): Likewise.
      	* ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
      	NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
      	* haifa-sched.c (unlink_other_notes): Likeewise.
      	(reemit_notes): Likewise.
      	* print-rtl.c (print_rtx): Likewise.
      	* sched-deps (sched-analyze): Likewise.
      	* rtl.c (note_insn_name): Likewise.
      	* rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
      	(enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
      	(RANGE_*): Kill.
      
      From-SVN: r54250
      Jan Hubicka committed
  2. 02 Jun, 2002 1 commit
    • loop.c (emit_prefetch_instructions): Properly place the address computation. · ba4f7968
      
      	* loop.c (emit_prefetch_instructions): Properly place the address computation.
      
      
      	* basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
      	(set_block_for_insn): Turn into macro.
      	* cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
      	* cfglayout.c (insn_scopes): Kill.
      	(scope_to_insns_initialize): Do not use insn_scopes.
      	(scope_to_insns_finalize): Likewise.
      	(duplicate_insn_chain): Likewise.
      	(cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
      	* cfgrtl.c (basic_block_for_insn): Kill.
      	(delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
      	(create_basic_block_structure): Use reorder_insns.
      	(compute_bb_for_insn): Do not use basic_block_for_insn.
      	(merge_blocks_nomove): Likewise.
      	(update_bb_for_insn): Likewise.
      	(verify_flow_info): Likewise.
      	(set_block_for_insn): Kill.
      	* combine.c (try_combine): Update gen_rtx_INSN call.
      	* emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
      	(mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
      	scopes and BBs.
      	(add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
      	(emit_note_before, emit_note_after, emit_line_note_after, emit_note):
      	Clear BB.
      	(emit_insns_after): Simplify.
      	(emit_copy_of_insn_after): Copy scope.
      	* final.c (final_start_function): Lower scopes.
      	* flow.c (check_function_return_warnings): Do not rely on deleted insn.
      	* integrate.c (copy_insn_list): Cope scopes.
      	* jump.c (duplicate_loop_exit_test): LIkewise; simplify.
      	* loop.c (loop_optimize): Do not care block notes.
      	* print-rtl.c (print_rtx): Print BB.
      	* recog.c (apply_change_group): Simplify.
      	* rtl.c (copy_rtx): Handle 'B'.
      	* rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
      	* rtl.h (Field accessors): Update indexes.
      	* sched-ebb.c (schedule_ebbs): Do not lower notes.
      	* sched-rgn.c (schedule_insns): Likewise.
      	* toplev.c (rest_of_compilation): Lower notes.
      	* unroll.c (unroll_loop): Do not care scoping notes.
      	(copy_loop_body): Copy scopes.
      
      From-SVN: r54188
      Jan Hubicka committed
  3. 09 May, 2002 1 commit
    • read-rtl.c: Fix formatting. · a6a2274a
      	* read-rtl.c: Fix formatting.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* reg-stack.c: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* resource.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl-error.c: Likewise.
      
      From-SVN: r53313
      Kazu Hirata committed
  4. 08 May, 2002 2 commits
    • rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name, and use it in all… · 2d4cc6a7
      rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name, and use it in all invocations of these macros.
      
      	* rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
      	and use it in all invocations of these macros.  Clean up comments.
      	* rtl.c (rtl_check_failed_flag): Add an argument for the name
      	of the flag access macro whose check failed.
      	* doc/rtl.texi (Flags): Document additional flag uses.
      
      From-SVN: r53306
      Janis Johnson committed
    • cfglayout.c (function_tail_eff_head): Rename to ... · 969d70ca
      	* cfglayout.c (function_tail_eff_head): Rename to ...
      	(function_footer): ... this one.
      	(unlink_insn_chain): New functions.
      	(label_for_bb): Only call block_label and emit debug message.
      	(record_effective_endpoints): Actually unlink the headers and footers.
      	(fixup_reorder_cahin): Re-insert the unlinked sequences.
      	(cfg_layout_duplicate_bb): Use duplicate_insn_chain.
      	* cfglayout.h (struct reorder_block_def): New fields footer/header;
      	remove eff_head/eff_end.
      	* rtl.h (set_first_insn): Declare.
      	* emit-rtl.c (set_first_insn): New function.
      
      	* cfglayout.c (fixup_reorder_chain): Dump duplicated
      	(cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
      	cfg_layout_duplicate_bb): New global function.
      	(duplicate_insn_chain): New static function.
      	* cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
      	cfg_layout_duplicate_bb): Declare.
      	(struct reorder_block_def): Add "original" field.
      	* emit-rtl.c (emit_copy_of_insn_after): New function.
      	* rtl.h (emit_copy_of_insn_after): Declare.
      
      	* cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
      	(fixup_reorder_chain): properly handle edges to exit block.
      
      Wed May  8 11:10:31 CEST 2002  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
      			       Jan Hubicka  <jh@suse.cz>
      
      	* basic-block.h (note_prediction_to_br_prob): declare.
      	* c-semantics.c: Inlucde predit.h
      	(expand_stmt): predict GOTO_STMT as not taken.
      	* cfgcleanup.c: (delete_unreachable_blocks): Make global.
      	(cleanup_cfg): Do not free tail_recursion_list.
      	* cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
      	(flow_delete_block): Kill predictions past end of basic block.
      	* output.h (delete_unreachable_blocks): Declare.
      	* predict.c (predicted_by_p, process_note_predictions,
      	process_note_prediction, last_block_p): New function.
      	(estimate_probability): Bypass loop on PRED_CONTINUE;
      	do not handle noreturn heuristics; kill PRED_RETURN; add
      	PRED_EARLY_RETURN.
      	* predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
      	PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
      	* predict.h (IS_TAKEN): New constant.
      	* print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
      	* rtl.c (NOTE_INSN_PREDICTION): New.
      	* rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
      	New macro.
      	(insn_note): add NOTE_INSN_PREDICTION.
      	* sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
      	CFG; free tail_recursion_label_list.
      	* stmt.c: Include predict.h;
      	(return_prediction): New.
      	(expand_value_return): Use it.
      	* toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
      
      From-SVN: r53285
      Jan Hubicka committed
  5. 07 May, 2002 1 commit
    • rtl.h (struct rtx_def): Update comments. · 5a63e069
      	* rtl.h (struct rtx_def): Update comments.
      	(RTL_FLAG_CHECK[12345678]): New.  (rtl_check_failed_flag): Declare.
      	(RTL_FLAG): New.  (CLEAR_RTX_FLAGS): New.  (flag access macros): Use
      	RTL_FLAG_CHECK macros with list of expected RTL codes.
      	* rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
      	(rtl_check_failed_flag): New.
      	* reload1.c (reload): Use REG macro before changing rtx to MEM.
      	(reload_cse_noop_set_p): Check rtx code before using access macro.
      	* config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
      	before using access macro.
      
      From-SVN: r53245
      Janis Johnson committed
  6. 19 Apr, 2002 1 commit
    • real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as appropriate. · 46468cd9
      	* real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
      	appropriate.  Document need for extended precision even when
      	MAX_LONG_DOUBLE_TYPE_SIZE is smaller.  Define REAL_WIDTH here,
      	based on REAL_VALUE_TYPE_SIZE.  Use REAL_WIDTH to size
      	REAL_VALUE_TYPE.  Define CONST_DOUBLE_FORMAT here.  Use #error
      	instead of relying on later syntax error when REAL_WIDTH > 5.
      	* real.c: Define NE based only on whether or not we have a
      	full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
      	Require sizeof(REAL_VALUE_TYPE) == 2*NE.  Unconditionally
      	define GET_REAL and PUT_REAL as simple memcpy operations; no
      	need to byteswap or round.
      	Use #error instead of #ifdef-ing out the entire file, for
      	prompt error detection.
      
      	* rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
      
      From-SVN: r52502
      Zack Weinberg committed
  7. 08 Mar, 2002 1 commit
  8. 03 Mar, 2002 1 commit
    • emit-rtl.c, [...]: Remove all #ifndef REAL_ARITHMETIC blocks... · ba31d94e
      	* emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
      	print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
      	tree.c, config/m68k/m68k.c, f/com.c, f/target.h, java/expr.c,
      	java/jcf-parse.c, java/lex.c:
      	Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
      	REAL_ARITHMETIC blocks unconditional.  Delete some further
      	#ifdef blocks predicated on REAL_ARITHMETIC.
      	* flags.h, toplev.c: Delete remaining references to
      	flag_pretend_float.
      
      	* doc/invoke.texi: Remove documentation of -fpretend-float.
      	* doc/tm.texi: Describe the various REAL_* macros as provided by
      	real.h, not by the target configuration files.
      
      	* config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
      	config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
      	config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
      	config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
      	config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
      	config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
      	config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
      	config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
      	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
      	config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
      	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
      	config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
      	config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
      	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
      	config/xtensa/xtensa.h:
      	Do not define, undefine, or mention in comments any of
      	REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
      	REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
      	REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
      	REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
      	REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
      	REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
      	REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
      	REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
      	REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
      
      From-SVN: r50263
      Zack Weinberg committed
  9. 19 Feb, 2002 1 commit
    • i386.md ("mmx_uavgv8qi3"): Use const_vector. · 69ef87e2
      2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
      
      	* config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
      	("mmx_uavgv4hi3"): Same.
      	("pmulhrwv4hi3"): Same.
      
      	* tree-inline.c (walk_tree): Handle vectors.
      
      	* c-common.c (constant_expression_warning): Handle vectors.
      	(overflow_warning): Same.
      
      	* sched-deps.c (sched_analyze_2): Handle vectors.
      
      	* rtlanal.c (rtx_unstable_p): Handle vectors.
      	(rtx_varies_p): Same.
      	(count_occurrences): Same.
      	(regs_set_between_p): Same.
      	(modified_between_p): Same.
      	(modified_in_p): Same.
      	(volatile_insn_p): Same.
      	(volatile_refs_p): Same.
      	(side_effects_p): Same.
      	(may_trap_p): Same.
      	(inequality_comparisons_p): Same.
      	(replace_regs): Same.
      	(computed_jump_p_1): Same.
      
      	* rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
      	argument.
      	(inner_mode_array): New.
      	(copy_rtx): Handle vectors.
      	(copy_most_rtx): Same.
      	(rtx_equal_p): Same.
      	(get_mode_alignment): Adjust for vectors.
      
      	* resource.c (mark_referenced_resources): Handle vectors.
      	(mark_set_resources): Same.
      
      	* reload1.c (eliminate_regs): Handle vectors.
      	(elimination_effects): Same.
      	(scan_paradoxical_subregs): Same.
      
      	* reload.c (subst_reg_equivs): Handle vectors.
      
      	* regrename.c (scan_rtx): Handle vectors.
      
      	* regclass.c (reg_scan_mark_refs): Handle vectors.
      
      	* recog.c (find_single_use_1): Handle vectors.
      
      	* local-alloc.c (equiv_init_varies_p): Handle vectors.
      	(contains_replace_regs): Same.
      	(memref_referenced_p): Same.
      
      	* integrate.c (copy_rtx_and_substitute): Handle vectors.
      	(subst_constants): Same.
      
      	* genattrtab.c (attr_copy_rtx): Handle vectors.
      	(encode_units_mask): Same.
      	(clear_struct_flag): Same.
      	(count_sub_rtxs): Same.
      
      	* gcse.c (want_to_gcse_p): Handle vectors.
      	(oprs_unchanged_p): Same.
      	(hash_expr_1): Same.
      	(oprs_not_set_p): Same.
      	(expr_killed_p): Same.
      	(compute_transp): Same.
      	(store_ops_ok): Same.
      
      	* function.c (purge_addressof_1): Do not allow paradoxical subregs
      	of vectors.
      	(fixup_var_refs_1): Same.
      	(instantiate_virtual_regs_1): Same.
      
      	* fold-const.c (operand_equal_p): Handle vectors.
      	(fold): Same.
      	(rtl_expr_nonnegative_p): Same.
      
      	* flow.c (mark_used_regs): Handle vectors.
      
      	* df.c (df_uses_record): Handle vectors.
      
      	* cselib.c (cselib_subst_to_values): Handle vectors.
      	(cselib_mem_conflict_p): Same.
      	(hash_rtx): Same.
      
      	* cse.c (canon_reg): Handle vectors.
      	(fold_rt): Same.
      	(cse_process_notes): Same.
      	(count_reg_usage): Same.
      	(canon_hash): Same.
      
      	* alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
      
      	* combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
      
      	* emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
      	(gen_rtx): Handle CONST_VECTOR.
      	(gen_const_vector_0): New.
      	(copy_rtx_if_shared): CONST_VECTORs can be shared.
      	(reset_used_flags): Same.
      	(copy_insn_1): Same.
      	(initializer_constant_valid_p): Handle VECTOR_CST.
      
      	* doc/c-tree.texi (Expression trees): Document VECTOR_CST.
      
      	* doc/rtl.texi (Constants): Document const_vector.
      	(CONST0_RTX): Update for vectors.
      	(RTL sharing): Same.
      
      	* print-tree.c (print_node): Add case for VECTOR_CST.
      
      	* tree.h (TREE_VECTOR_CST_ELTS): New.
      	(struct tree_vector): New.
      	(union tree_node): Add vector node.
      	(build_vector): Add prototype.
      
      	* tree.def (VECTOR_CST): New.
      
      	* tree.c (build_vector): New.
      
      	* expmed.c (make_tree): Handle CONST_VECTOR.
      
      	* rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
      	(CONST_VECTOR_ELT): New.
      	(CONST_VECTOR_NUNITS): New.
      
      	* machmode.h (GET_MODE_INNER): New.
      	(DEF_MACHMODE): Accept 8th arg.
      
      	* machmode.def: Add 8th argument for vector inner mode.
      	Add inner vector modes for vectors.
      
      	* rtl.def (VEC_CONST): Remove.
      	(CONST_VECTOR): New.
      
      	* expr.c (clear_storage): Allow vectors.
      	(is_zeros_p): Handle VECTOR_CST.
      
      	* varasm.c (output_constant_pool): Handle vectors.
      	(rtx_const): Add veclo and vechi fields.
      	(kind): Add RTX_VECTOR.
      	(decode_rtx_const): Add case for vector.
      
      	* config/rs6000/rs6000-protos.h: Add zero_constant.
      
      	* config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
      	constants.  Force easy vector constants into memory.
      	(easy_vector_constant): New.
      	(emit_easy_vector_constant): New.
      	(rs6000_legitimize_reload_address): Do not generate bad reloads on
      	darwin.
      
      	* config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
      	instruction does.
      	("altivec_lvxl"): Same.
      	(altivec_lvebx): Same.
      	(altivec_lvehx): Same.
      	(altivec_lvewx): Same.
      	("*movv4si_const0"): New.
      	("*movv4sf_const0"): New.
      	("*movv8hi_const0"): New.
      	("*movv16qi_const0"): New.
      
      From-SVN: r49853
      Aldy Hernandez committed
  10. 31 Jan, 2002 1 commit
    • rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New. · e803a64b
              * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
              * rtl.c (note_insn_name): Update.
              * emit-rtl.c (remove_unnecessary_notes): Kill it.
              * stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
              to perform loop rotation.
              (expand_exit_loop_top_cond): New.
              * tree.h (expand_exit_loop_top_cond): Declare it.
              * c-semantics.c (genrtl_while_stmt): Use it.
              (genrtl_for_stmt): Likewise.
      
              * ada/trans.c (tree_transform) [N_Loop_Statement]: Use
              expand_exit_loop_top_cond.
      
              * f/ste.c (ffeste_begin_iterdo_): Use expand_exit_loop_top_cond.
              (ffeste_R819B): Likewise.
      
      From-SVN: r49364
      Richard Henderson committed
  11. 10 Jan, 2002 1 commit
    • read-rtl.c: Fix formatting. · f4f4d0f8
      	* read-rtl.c: Fix formatting.
      	* real.c: Likewise.
      	* regclass.c: Likewise.
      	* regrename.c: Likewise.
      	* reg-stack.c: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* rtl.c: Likewise.
      
      From-SVN: r48704
      Kazu Hirata committed
  12. 18 Dec, 2001 1 commit
    • machmode.h (mode_name, [...]): Set array size in declaration to NUM_MACHINE_MODES. · 86460bab
      	* machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
      	mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
      	declaration to NUM_MACHINE_MODES.
      	(mode_size, mode_unit_size): Set array type to unsigned char.
      	(mode_bitsize): Set array type to unsigned short.
      
      	* rtl.c (rtx_length): Set array type to unsigned char.
      	(rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
      	NUM_RTX_CODE.
      	(mode_bitsize): Set array type to unsigned short.
      	(mode_size, mode_unit_size): Set array type to unsigned char.
      	(mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
      	mode_wider_mode, mode_mask_array): Set array size to
      	NUM_MACHINE_MODES.
      
      	* rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
      	size in declaration to NUM_RTX_CODE.
      
      From-SVN: r48139
      Kaveh R. Ghazi committed
  13. 08 Dec, 2001 1 commit
  14. 03 Nov, 2001 1 commit
    • cselib.c (cselib_subst_to_values, [...]): Remove reference to CONST_DOUBLE_MEM in comment. · a79e3a45
      	* cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
       	reference to CONST_DOUBLE_MEM in comment.
      	* emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
      	(gen_rtx, case CONST_DOUBLE): Call it with one less operand.
      	(init_emit_once): Don't clear CONST_DOUBLE_MEM.
      	* function.c (pop_function_context_from): Don't call
      	restore_varasm_status.
      	* function.h (restore_varasm_status): Delete declaration.
      	* gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
      	* rtl.c: Likewise.
      	* rtl.def (CONST_DOUBLE): Update comment.
      	* rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
      	(CONST_DOUBLE_CHAIN): Likewise.
      	(CONST_DOUBLE_MEM): Delete.
      	(gen_rtx_CONST_DOUBLE): Update parameters.
      	* varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
      	Remove reference to CONST_DOUBLE_MEM.
      	(const_alias_set): New variable.
      	(immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
      	(immed_real_const_1): Adjust tests for 0, 1, and 2.
      	Don't set CONST_DOUBLE_MEM.
      	(clear_const_double_mem): Don't do anything with const_tiny_rtx.
      	(output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
      	Put constant in const_alias_set.
      	(struct pool_constant): ALIGN now unsigned.
      	OFFSET now HOST_WIDE_INT.
      	Delete LABEL.
      	(restore_varasm_status): Deleted.
      	(mark_pool_constant): Mark desc->rtl.
      	(force_const_mem): Rework to store rtl in hash table,
      	not CONST_DOUBLE_MEM.
      	Put constant in const_alias_set.
      	(find_pool_constant): Check desc->rtl.
      	(mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
      	(init_varasm_once): Initialize const_alias_set.
      
      From-SVN: r46736
      Richard Kenner committed
  15. 23 Oct, 2001 1 commit
    • alias.c (can_address_p): Compnonents are not addressable if the containing type has alias set 0. · 8ac61af7
      	* alias.c (can_address_p): Compnonents are not addressable if
      	the containing type has alias set 0.
      	(get_alias_set): Rework to use STRIP_NOPS.
      	Only call front-end routine on object, type, or object with
      	NOPs stripped, not inner values.
      	Use language hook to call front-end routine.
      	* builtins.c (get_memory_rtx): Always call set_mem_attributes.
      	(expand_builtin_apply): Call set_mem_align on MEMs we make.
      	Don't pass alignment to emit_block_move.
      	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
      	(expand_builtin_memset): Likewise, but for clear_storage.
      	* c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
      	and remove C++ specific parts.
      	* c-common.h (c_common_get_alias_set): Add declaration.
      	* c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
      	* calls.c (emit_call_1): Fix typo in sibcall_pop case.
      	(save_fixed_argument_area): Call set_mem_align.
      	Remove alignment in call to emit_block_move.
      	(emit_library_call_value_1, store_one_arg): Likewise.
      	(target_for_arg): Remove; disabled long ago.
      	* emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
      	once and similar cleanups.
      	(offset_address): Use proper introductory comment.
      	* expr.c (emit_block_move): Use alignment from that of MEM args, not
      	from explicit operand; all callers changed.
      	(clear_storage): Likewise.
      	(expand_assignment): Don't call set_mem_alias_set on to_rtx.
      	(store_field): Remove kludge on alias set used for to_rtx.
      	(highest_pow2_factor, case *_DIV_EXPR): Never return 0.
      	(expand_expr_unaligned): Call set_mem_attributes instead of
      	set_mem_alias_set.
      	* expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
      	* function.c (assign_stack_temp_for_type): Set MEM alignment.
      	(expand_function_end): Track MEM attributes of trampolines.
      	* ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
      	* integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
      	attributes from original.
      	* langhooks.c (lang_hook_default_get_alias_set): New function.
      	(hook_get_alias_set_0): New function.
      	* langhooks.h (hook_get_alias_set_0): New declaration.
      	(lang_hook_default_get_alias_set): Likewise.
      	(LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
      	* reload1.c (alter_reg): Use adjust_address_nv.
      	* rtl.c (get_mode_alignment): Moved to here.
      	* rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
      	change default if unknown from 1 to BITS_PER_UNIT.
      	* stor-layout.c (get_mode_alignment): Remove from here.
      	* toplev.h (struct lang_hoks): Add get_alias_set field.
      	* tree.h (lang_get_alias_set): Delete declaration.
      	* config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
      	* config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
      	(ix86_va_arg): Likewise.
      	* config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
      	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
      	* config/sparc/sparc.c (sparc_va_arg): Likewise.
      	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
      	(expand_block_move_mem): Remove dead code.
      	* cp/cp-lang.c (cxx_get_alias_set): New function.
      	Point LANG_HOOKS_GET_ALIAS_SET to it.
      	* f/com.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
      	(lang_get_alias_set): Delete.
      	* java/lang.c (lang_get_alias_set): Deleted.
      
      From-SVN: r46440
      Richard Kenner committed
  16. 11 Oct, 2001 2 commits
    • rtl.h (REG_VTABLE_REF): New. · 4a8d0c9c
              * rtl.h (REG_VTABLE_REF): New.
              * rtl.c (reg_note_name): Add it.
              * combine.c (distribute_notes): Handle it.
              * final.c (final_scan_insn): Handle it.
              * tree.def (VTABLE_REF): New.
              * expr.c (expand_expr): Handle it.
              * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
              * output.h: Declare them.
      cp/
              * class.c (build_vtable_entry_ref): Create a VTABLE_REF instead
              of an asm statement.
              (build_vtbl_ref_1): Split out from build_vtbl_ref.
              (build_vfn_ref): Use it to handle vtable descriptors before
              calling build_vtable_entry_ref.
              * decl2.c (output_vtable_inherit): Use assemble_vtable_inherit.
      testsuite/
              * g++.old-deja/g++.other/crash18.C: Add -S to options.
      
      From-SVN: r46195
      Richard Henderson committed
    • alias.c: Remove uses of "register" specifier in declarations of arguments and local... · b3694847
      2001-10-10  Stan Shebs  <shebs@apple.com>
      
              * alias.c: Remove uses of "register" specifier in declarations
              of arguments and local variables.
              * c-common.c: Ditto.
              * c-convert.c: Ditto.
              * c-decl.c: Ditto.
              * c-format.c: Ditto.
              * c-semantics.c: Ditto.
              * c-typeck.c: Ditto.
              * caller-save.c: Ditto.
              * calls.c: Ditto.
              * cfg.c: Ditto.
              * cfgbuild.c: Ditto.
              * cfgrtl.c: Ditto.
              * collect2.c: Ditto.
              * combine.c: Ditto.
              * convert.c: Ditto.
              * cppexp.c: Ditto.
              * cppfiles.c: Ditto.
              * cse.c: Ditto.
              * dbxout.c: Ditto.
              * defaults.h: Ditto.
              * df.c: Ditto.
              * dwarf2out.c: Ditto.
              * dwarfout.c: Ditto.
              * emit-rtl.c: Ditto.
              * explow.c: Ditto.
              * expmed.c: Ditto.
              * expr.c: Ditto.
              * final.c: Ditto.
              * fix-header.c: Ditto.
              * floatlib.c: Ditto.
              * flow.c: Ditto.
              * fold-const.c: Ditto.
              * function.c: Ditto.
              * gcc.c: Ditto.
              * gcse.c: Ditto.
              * gen-protos.c: Ditto.
              * genattrtab.c: Ditto.
              * gencheck.c: Ditto.
              * genconfig.c: Ditto.
              * genemit.c: Ditto.
              * genextract.c: Ditto.
              * genflags.c: Ditto.
              * gengenrtl.c: Ditto.
              * genoutput.c: Ditto.
              * genpeep.c: Ditto.
              * genrecog.c: Ditto.
              * gensupport.c: Ditto.
              * global.c: Ditto.
              * gmon.c: Ditto.
              * graph.c: Ditto.
              * haifa-sched.c: Ditto.
              * hard-reg-set.h: Ditto.
              * hash.c: Ditto.
              * integrate.c: Ditto.
              * jump.c: Ditto.
              * lists.c: Ditto.
              * local-alloc.c: Ditto.
              * loop.c: Ditto.
              * mips-tdump.c: Ditto.
              * mips-tfile.c: Ditto.
              * optabs.c: Ditto.
              * prefix.c: Ditto.
              * print-rtl.c: Ditto.
              * read-rtl.c: Ditto.
              * real.c: Ditto.
              * recog.c: Ditto.
              * reg-stack.c: Ditto.
              * regclass.c: Ditto.
              * regmove.c: Ditto.
              * reload.c: Ditto.
              * reload1.c: Ditto.
              * reorg.c: Ditto.
              * resource.c: Ditto.
              * rtl.c: Ditto.
              * rtlanal.c: Ditto.
              * scan.c: Ditto.
              * sched-deps.c: Ditto.
              * sched-rgn.c: Ditto.
              * sdbout.c: Ditto.
              * simplify-rtx.c: Ditto.
              * stmt.c: Ditto.
              * stor-layout.c: Ditto.
              * toplev.c: Ditto.
              * tradcif.y: Ditto.
              * tradcpp.c: Ditto.
              * tree.c: Ditto.
              * unroll.c: Ditto.
              * varasm.c: Ditto.
              * xcoffout.c: Ditto.
      
      From-SVN: r46173
      Stan Shebs committed
  17. 22 Aug, 2001 1 commit
    • Makefile.in, [...]: replace "GNU CC" with "GCC". · 1322177d
      	* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
      	bitmap.h, builtin-types.def, builtins.c, builtins.def,
      	c-aux-info.c, c-common.c, c-common.def, c-common.h,
      	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
      	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
      	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
      	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
      	conditions.h, config.gcc, configure.frag, configure.in,
      	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
      	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
      	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
      	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
      	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
      	emit-rtl.c, errors.c, errors.h, except.c, except.h,
      	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
      	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
      	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
      	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
      	gencheck.c, gencodes.c, genconfig.c, genemit.c,
      	genextract.c, genflags.c, gengenrtl.c, genmultilib,
      	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
      	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
      	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
      	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
      	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
      	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
      	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
      	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
      	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
      	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
      	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
      	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
      	params.h, predict.c, predict.def, predict.h, prefix.c,
      	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
      	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
      	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
      	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
      	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
      	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
      	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
      	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
      	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
      	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
      	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
      	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
      	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
      	xcoffout.h: replace "GNU CC" with "GCC".
      
      From-SVN: r45105
      Lars Brinkhoff committed
  18. 12 Aug, 2001 1 commit
    • gcc.c: Fix comment formatting. · dc297297
      	* gcc.c: Fix comment formatting.
      	* gccspec.c: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genemit.c: Likewise.
      	* gengenrtl.c: Likewise.
      	* genrecog.c: Likewise.
      	* gensupport.c: Likewise.
      	* ggc-page.c: Likewise.
      	* global.c: Likewise.
      	* graph.c: Likewise.
      	* ifcvt.c: Likewise.
      	* integrate.c: Likewise.
      	* lcm.c: Likewise.
      	* libgcc2.c: Likewise.
      	* loop.c: Likewise.
      	* mbchar.c: Likewise.
      	* optabs.c: Likewise.
      	* predict.c: Likewise.
      	* prefix.c: Likewise.
      	* profile.c: Likewise.
      	* protoize.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* reg-stack.c: Likewise.
      	* reload1.c: Likewise.
      	* resource.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtl.c: Likewise.
      
      From-SVN: r44837
      Kazu Hirata committed
  19. 11 Aug, 2001 1 commit
  20. 08 Aug, 2001 1 commit
    • calls.c (ECF_ALWAYS_RETURN): New constant. · 9d98f8f9
      	* calls.c (ECF_ALWAYS_RETURN): New constant.
      	(emit_call_1): Add REG_ALWAYS_RETURN note if needed.
      	(expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
      	(emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
      	* flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
      	* rtl.c (reg_note_name): New name.
      	* rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
      
      From-SVN: r44722
      Jan Hubicka committed
  21. 07 Aug, 2001 1 commit
    • calls.c (expand_call): Do not emit INSN_SETJMP note. · 570a98eb
      	* calls.c (expand_call): Do not emit INSN_SETJMP note.
      	(emit_library_call_value_1): Likewise.
      	(emit_call_1): Emit REG_SETJMP note.
      	* cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
      	of INSN_SETJMP
      	* cselib.c (cselib_process_insn): Likewise.
      	* flow.c (propagate_block): Likewise.
      	* loop.c (find_and_verify_loops): Likewise.
      	* reload.c (find_equiv_regs): Likewise.
      	* reload1.c (reload): Likewise.
      	* resource.c (mark_referenced_resources,
      	mark_set_resources): Likewise.
      	* sched-deps (sched_analyze_insn, sched_analyze): Likewise.
      	* final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
      	* haifa-sched.c (unlink_other_notes): Likewise.
      	(reemit_notes): Likewise.
      	* sched-ebb.c (sched_ebb): Likewise.
      	* sched-rgc.c (sched_region): Likewise.
      	* rtl.c (note_insn_name): Likewise.
      	(reg_note_name): Add REG_SETJMP
      	* rtl.h (reg_note): Add REG_SETJMP.
      	(insn_note): Remove NOTE_INSN_SETJMP.
      
      	* profile.c (branch_prob): Add fake edges for setjmp.
      
      From-SVN: r44700
      Jan Hubicka committed
  22. 16 Jul, 2001 1 commit
  23. 03 Jul, 2001 1 commit
  24. 30 Jun, 2001 1 commit
    • rtl.def (DEFINE_INSN, [...]): Change output-template slot to format 'T'. · 1f3b37a3
      	* rtl.def (DEFINE_INSN, DEFINE_INSN_AND_SPLIT, DEFINE_PEEPHOLE):
      	Change output-template slot to format 'T'.
      	* rtl.h (XTMPL): New.
      	* read-rtl.c (read_escape): New function.
      	(read_quoted_string, read_braced_string): Use it.
      	(read_rtx): Set star_if_braced from the format string.
      	Use XTMPL where appropriate.
      	* genoutput.c (gen_insn, gen_peephole): Use XTMPL to get the
      	template string.
      
      	* rtl.c: Include errors.h for sake of rtl_check_failed* routines.
      	Document 'T' in rtx format strings.
      	* Makefile.in (rtl.o, $(HOST_PREFIX_1)rtl.o): Depend on errors.h.
      	* errors.c (internal_error): Add missing ": " at end of string.
      
      	* i860.md: Change triple backslashes to double backslashes at
      	ends of lines in output templates.
      
      From-SVN: r43665
      Zack Weinberg committed
  25. 28 Jun, 2001 1 commit
    • i386.md: Global update to use new string syntax where it will improve readability. · 0f40f9f7
      	* config/i386/i386.md: Global update to use new string syntax
      	where it will improve readability.  Warning fixes:
      	(*truncdfsf2_2): Abort if which_alternative is not 0 or 1.
      	(*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64,
      	*adddi_4_rex64, *adddi_5_rex64): Cast 1 to unsigned int.
      
      	* read-rtl.c: Syntactic sugar for C embedded in strings in
      	machine descriptions.
      	(read_string): Break inner loop into separate function.  Takes
      	an int.  Dispatch to read_quoted_string or read_braced_string
      	as appropriate.  Automatically insert a leading star on braced
      	strings if STAR_IF_BRACED is true.
      	(read_quoted_string, read_braced_string): New functions.
      	* doc/rtl.texi, doc/md.texi: Document new syntax.  Update
      	examples to match.
      
      	* rtl.c: Split RTL reader (read_rtx, read_skip_spaces,
      	traverse_md_constants, fatal_with_file_and_line,
      	fatal_expected_char, read_name, read_string, def_hash,
      	def_name_eq_p, read_constants, and related data) to its own
      	file.  Weed out now-unnecessary #includes.
      	* read-rtl.c: New file.
      	* Makefile.in (HOST_RTL): Add read-rtl.o.
      	(read-rtl.o): New rule.
      	(rtl.o, $(HOST_PREFIX_1)rtl.o): Update dependencies.
      	* doc/gcc.texi (Passes): Talk briefly about the support
      	library used by genfoo.
      	* doc/rtl.texi (Reading RTL): read_rtx is not available in the
      	compiler itself.
      
      From-SVN: r43646
      Zack Weinberg committed
  26. 22 May, 2001 1 commit
  27. 06 Mar, 2001 1 commit
    • aclocal.m4 (libiberty_AC_FUNC_C_ALLOCA): New. · b548dffb
      libiberty:
      	* aclocal.m4 (libiberty_AC_FUNC_C_ALLOCA): New.
      	* configure.in: Replace all alloca logic with a simple use of
      	the above new macro.
      	* config.table: Kill *-*-beos* entry.
      	* config/mh-beos: Delete.
      	* configure, config.in: Regenerate.
      
      	* Makefile.in (ALLOCA, HFILES): Kill.
      	(REQUIRED_OFILES): Add alloca.o.
      	(alloca.o): Depend on libiberty.h.
      	(argv.o): Don't depend on alloca-conf.h.
      	* alloca-conf.h: Delete.
      	* alloca.c: Include libiberty.h.  Kill all #ifdef emacs
      	blocks.  Provide the C alloca unconditionally.  Use PTR where
      	appropriate.  Make i00afunc static.
      	* argv.c: Don't include alloca-conf.h.
      
      include:
      	* libiberty.h: Prototype C_alloca; define alloca to either
      	__builtin_alloca or C_alloca as appropriate.
      
      gcc:
      	* aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
      	AC_FUNC_ALLOCA.
      	* configure, config.in: Regenerate.
      	* config.gcc: Remove references to deleted files.
      
      	* genattr.c, genattrtab.c, genextract.c, genoutput.c,
      	genrecog.c, rtl.c: Do not use alloca anywhere.
      
      	* Makefile.in, build-make, system.h, config/x-interix,
      	config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
      	config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
      	config/arc/xm-arc.h, config/arm/xm-arm.h,
      	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
      	config/h8300/xm-h8300.h, config/i370/x-oe,
      	config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
      	config/i386/x-ncr3000, config/i386/x-sco5,
      	config/i386/xm-dgux.h, config/i860/x-sysv4,
      	config/i960/xm-i960.h, config/m32r/xm-m32r.h,
      	config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
      	config/m68k/x-hp320g, config/m69k/x-mot3300,
      	config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
      	config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
      	config/m68k/xm-mot3300.h, config/m88k/x-dolph,
      	config/m88k/x-sysv4, config/m88k/x-tekXD88,
      	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
      	config/mips/x-iris, config/mips/x-iris3,
      	config/mips/x-sni-svr4, config/mips/x-sysv,
      	config/mips/xm-iris6.h, config/mips/xm-mips.h,
      	config/mips/xm-nws3250v4.h, config/pa/x-hpux,
      	config/pa/x-pa-mpeix, config/pa/xm-pa.h,
      	config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
      	config/pa/xm-papro.h, config/romp/xm-romp.h,
      	config/rs6000/x-aix31, config/rs6000/x-aix41,
      	config/rs6000/x-beos, config/rs6000/x-lynx,
      	config/rs6000/x-mach, config/rs6000/x-rs6000,
      	config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
      	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
      	config/sparc/x-sysv4, config/sparc/xm-linux.h,
      	config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
      	config/vax/xm-vms.h: Eradicate all references to alloca and
      	related stuff.
      
      	* config/xm-alloca.h, config/clipper/x-clix,
      	config/i386/xm-sysv4.h, config/i860/x-fx2800,
      	config/i860/x-sysv3, config/m88k/x-sysv3,
      	config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
      	(contained only alloca related hacks).
      
      	* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
      	USE_C_ALLOCA.
      
      From-SVN: r40259
      Zack Weinberg committed
  28. 24 Feb, 2001 1 commit
  29. 23 Feb, 2001 1 commit
    • diagnostic.c (trim_filename): No longer static. · fce687f8
      	* diagnostic.c (trim_filename): No longer static.
      	* toplev.h (trim_filename): Declare.
      	* rtl.c (rtl_check_failed_bounds): Call internal_error.
      	(rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
      	(rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
      	(rtvec_check_failed_bounds): Likewise.
      	* tree.c (tree_check_failed, tree_class_check_failed): Likewise.
      
      From-SVN: r40016
      Richard Kenner committed
  30. 27 Dec, 2000 1 commit
  31. 21 Dec, 2000 1 commit
    • rtl.h (REG_NON_LOCAL_GOTO): New. · 4b01bd16
              * rtl.h (REG_NON_LOCAL_GOTO): New.
              * rtl.c (reg_note_name): Update.
              * stmt.c (expand_goto): Emit a REG_NON_LOCAL_GOTO note.
              * builtins.c (expand_builtin_longjmp): Likewise.
              * flow.c (make_edges): Check for REG_NON_LOCAL_GOTO and do
              not emit an edge.
      
      From-SVN: r38408
      Richard Henderson committed
  32. 22 Nov, 2000 1 commit
    • rtl.h (traverse_md_constants): Declare. · c25c12b8
      	* rtl.h (traverse_md_constants): Declare.
      	(struct md_constant): Define.
      	* Makefile.in (HOST_RTL): Add hashtab.o .
      	(OBJS): Add hashtab.o .
      	(hashtab.o): New rule.
      	(rtl.o): Depends on HASHTAB_H.
      	* rtl.c (hashtab.h): #include.
      	(md_constants): New static variable.
      	(def_hash, def_name_eq_p, read_constants): New static functions.
      	(traverse_md_constants): New function.
      	(read_name): Do constant expansion.
      	(read_rtx): Recognize define_constants.
      	* gencodes.c (print_md_constant): New function.
      	(main): Emit #defines for all constant definitions encountered.
      	* md.texi (Constant Definitions): New node.
      	* gensupport.c (xcalloc): New function.
      
      From-SVN: r37635
      J"orn Rennecke committed
  33. 16 Nov, 2000 2 commits
  34. 29 Oct, 2000 1 commit
  35. 13 Oct, 2000 1 commit
    • Remove obstacks. · 1f8f4a0b
      	* Makefile.in (ggc-callbacks.o): Remove target.
      	(flow.o): Depend on GGC_H.
      	* alias.c (init_alias_analysis):
      	Remove ggc_p conditionals.
      	(end_alias_analysis): Likewise.
      	* basic-block.h (init_flow): New function.
      	(allocate_reg_life_data): Declare.
      	* bb-reorder.c	(function_obstack): Replace with ...
      	(flow_obstack): ... new variable.
      	(fixup_reorder_chain): Use it.
      	* c-decl.c (ggc_p): Remove.
      	(caller-save.c): Don't call oballoc/obfree.
      	* combine.c (struct
      	undobuf): Remove storage.
      	(try_combine): Don't call oballoc.
      	(undo_all): Don't call obfree.
      	* cse.c (insert): Use xmalloc, not
      	oballoc.
      	(cse_main): Adjust accordingly.
      	* dwarf2out.c (save_rtx): Remove
      	obstack code.
      	(dwarf2out_init): Remove ggc_p conditionals.
      	* emit-rtl.c (rtl_obstack): Remove.
      	(gen_rtx_CONST_INT): Remove ggc_p conditionals.
      	(make_insn_raw): Likewise.
      	(emit_insn_before): Likewise.
      	(emit_insn_after): Likewise.
      	(emit_insn): Likewise.
      	(gen_sequence): Likewise.
      	(copy_insn_1): Remove handling of `b' RTL components.
      	(init_emit_once): Remove ggc_p conditionals.
      	* except.c (create_rethrow_ref): Don't fool with obstacks.
      	(add_partial_entry): Likewise.
      	(call_get_eh_context): Likewise.
      	(begin_protect_partials): Likewise.
      	(protect_with_terminate): Likewise.
      	* explow.c
      	(plus_constant_wide): Likewise.
      	* expr.c (init_expr_once):
      	Likewise.
      	(emit_block_move): Likewise.
      	(clear_storage): Likewise.
      	(expand_expr): Likewise.
      	* flow.c (function_obstack): Remove.
      	(flow_obstack): New variable.
      	(flow_firstobj): Likewise.
      	(create_base_block): Use the flow_obstack.
      	(split_block): Likewise.
      	(split_edge): Likewise.
      	(calculate_global_regs_live): Likewise.
      	(allocate_bb_life_data): Make it static.  Likewiwse.
      	(init_flow): New function.
      	(size_int_type_wide): Remove ggc_p conditionals.
      	* function.c
      	(push_function_context_to): Don't call save_tree_status.
      	(pop_function_context_from): Or restore_tree_status.
      	(assign_stack_local_1): Don't call push_obstacks.
      	(find_fixup_replacement): Use xmalloc.
      	(fixup_var_refs_insns): Free the storage.
      	(insns_for_mem_walk): Don't mess with obstacks.
      	(instantiate_decls): Likewise.
      	(trampoline_address): Likewise.
      	(expand_function_end): Likewise.
      	* function.h (sturct function):
      	Remove obstack-related variables.
      	(save_tree_status): Don't declare.
      	(restore_tree_status): Likewise.
      	* gcse.c (compute_can_copy):
      	Don't call oballoc/obfree.
      	* genattrtab.c (operate_exp): Remove
      	ggc_p conditionals.
      	(simplify_cond): Likewise.
      	(simplify_test_exp): Don't mess with obstacks.
      	(optimize_attrs): Likewise.
      	* gengenrtl.c (gendef): Don't include
      	ggc_p conditionals.
      	* ggc-callbacks.c (ggc_p): Remove.
      	* ggc-none.c (ggc_p): Remove.
      	* ggc.h (ggc_p): Don't declare.
      	* integrate.c (save_for_inline): Don't mess with obstacks.
      	(integrate_decl_tree): Likewise.
      	(output_inline_function): Likewise.
      	* lists.c
      	(init_EXPR_INSN_LIST_cache): Likewise.
      	* loop.c (temp_obstack):
      	Remove.
      	(rtl_obstack): Likewise.
      	(init_loop): Don't mess with obstacks.
      	(reg_address_cost): Free BIVs and GIVs.
      	(check_insns_for_bivs): Use xmalloc, not oballoc.
      	(find_mem_givs): Likewise.
      	(record_biv): Likewise.
      	(general_induction_var): Likewise.
      	(product_cheap_p): Likewse.
      	* optabs.c (init_one_libfunc): Remove
      	ggc_p conditional.
      	* print-tree.c (debug_tree): Don't use
      	oballoc/obfree.
      	(print_node): Likewise.
      	* profile.c (output_func_start_profiler):
      	Remove call to temporary_allocation.
      	* reload1.c
      	(eliminate_regs_in_insn): Don't mess with obstacks.
      	* resource.c
      	(mark_target_live_regs): Use xmalloc.
      	(free_resource_info): Free the memory.
      	* rtl.c (rtl_obstack):
      	Remove.
      	(rtvec_alloc): Don't mess with obstacks.
      	(rtx_alloc): Likewise.
      	(rtx_free): Remove.
      	(copy_rtx): Don't handle `b' cases.
      	(read_rtx): Use a local rtl_obstack.
      	* rtl.h (oballoc): Remove.
      	(obfree): Likewise.
      	(pop_obstacks): Likewise.
      	(push_obstacks): Likewise.
      	(allocate_bb_life_data): Likewise.
      	(allocate_reg_life_data): Likewise.
      	(rtx_free): Likewise.
      	* sdbout.c (sdbout_queue_anonymous_type):
      	Use tree_cons, not saveable_tree_cons.
      	* simplify-rtx.c
      	(cselib_init): Don't mess with obstacks.
      	* stmt.c
      	(mark_block_nesting): Mark the label_chain.
      	(epxand_label): Use ggc_alloc, not oballoc.
      	(clear_last_expr): Don't mess with obstacks.
      	(expand_decl_cleanup): Likewise.
      	(expand_dcc_cleanup): Likewise.
      	(expand_dhc_cleanup): Likewise.
      	(expand_anon_union_decl): Likewise.
      	(add_case_node): Use xmalloc, not oballoc.
      	(free_case_nodes): New function.
      	(expand_end_case): Call it.
      	* stor-layout.c (layout_type): Don't
      	mess with obstacks.
      	(layout_type): Likewise.
      	* toplev.c (wrapup_global_declarations):
      	Likewise.
      	(compile_file): Remove ggc_p conditionals.
      	(rest_of_compilation): Call init_flow.  Remove ggc_p conditionals.
      	(decode_f_option): Remove ggc_p conditionals.
      	* tree.c
      	(function_maybepermanent_obstack): Remove.
      	(maybepermanent_obstack): Likewise.
      	(function_obstack): Likewise.
      	(tmeporary_obstack): Likewise.
      	(momentary_obstack): Likewise.
      	(temp_decl_obstack): Likewise.
      	(saveable_obstack): Likewise.
      	(rtl_obstack): Likewise.
      	(current_obstack): Likewise.
      	(expression_obstack): Likewise.
      	(struct obstack_stack): Likewise.
      	(obstack_stack): Likewise.
      	(obstack_stack_obstack): Likewise.
      	(maybepermanent_firstobj): Likewise.
      	(temporary_firstobj): Likewise.
      	(momentary_firstobj): Likewise.
      	(temp_decl_firstobj): Likewise.
      	(momentary_function_firstobj): Likewise.
      	(all_types_permanent): Likewise.
      	(struct momentary_level): Likewise.
      	(momentary_stack): Likewise.
      	(init_obstacks): Remove initialization of removed obstacks.
      	(save_tree_status): Remove.
      	(restore_tree_status): Likewise.
      	(temporary_allocation): Liekwise.
      	(end_temporary_allocation): Liekwise.
      	(resume_temporary_allocation): Likewise.
      	(saveable_allocation): Likewise.
      	(push_obstacks): Likewise.
      	(push_obstacks_nochange): Likewise.
      	(pop_obstacks): Likewise.
      	(allocation_temporary_p): Likewise.
      	(permanent_allocation): Likewise.
      	(preserve_data): Likewise.
      	(preserve_initializer): Likewise.
      	(rtl_in_current_obstack): Likewise.
      	(rtl_in_saveable_obstack): Likewise.
      	(oballoc): Likewise.
      	(obfree): Likewise.
      	(savealloc): Likewise.
      	(expralloc): Likewise.
      	(print_obstack_name): Likewise.
      	(debug_obstack): Likewise.
      	(object_permanent_p): Likewise.
      	(push_momentary): Likewise.
      	(perserve_momentary): Likewise.
      	(clear_momentary): Likewise.
      	(pop_momentary): Likewise.
      	(pop_momentary_nofree): Likewise.
      	(suspend_momentary): Likewise.
      	(resume_momentary): Likewise.
      	(make_node): Don't set TREE_PERMANENT.
      	(copy_node): Remove ggc_p conditionals.  Don't set TYPE_OBSTACK.
      	Don't set TREE_PERMANENT.
      	(get_identifier): Remove ggc_p conditionals.
      	(build_string): Likewise.
      	(make_tree_vec): Likewise.
      	(build_decl_list): Remove.
      	(build_expr_list): Likewise.
      	(tree_cons): Remove ggc_p conditionals.
      	(decl_tree_cons): Remove.
      	(expr_tree_cons): Likewise.
      	(perm_tree_cons): Likewise.
      	(temp_tree_cons): Likewise.
      	(saveable_tree_cons): Likewise.
      	(build1): Remove ggc_p conditionals.
      	(build_parse_node): Likewise.
      	(build_type_attribute_variant): Don't mess with obstacks.
      	(build_type_copy): Likewise.
      	(type_hash_canon): Likewise.
      	(build_pointer_type): Likewise.
      	(build_reference_type): Likewise.
      	(build_index_type): Likewise.
      	(build_range_type): Likewise.
      	(dump_tree_statistics): Don't print obstack information.
      	* tree.h
      	(struct tree_common): Remove permanent_flag.
      	(TREE_PERMANENT): Remove.
      	(TREE_SET_PERMANENT): Likewise.
      	(TYPE_OBSTACK): Likewise.
      	(struct tree_type): Remove obstack.
      	(oballoc): Remove.
      	(savealloc): Likewise.
      	(build_decl_list): Likewise.
      	(build_expr_list): Likewise.
      	(perm_tree_cons): Likewise.
      	(temp_tree_cons): Likewise.
      	(saveable_tree_cons): Likewise.
      	(decl_tree_cons): Likewise.
      	(expr_tree_cons): Likewise.
      	(suspend_momentary): Likewise.
      	(allocation_temporary_p): Likewise.
      	(resume_momentary): Likewise.
      	(push_obstacks_nochange): Likewise.
      	(permanent_allocation): Likewise.
      	(push_momentary): Likewise.
      	(clear_momentary): Likewise.
      	(pop_momentary): Likewise.
      	(end_temporary_allocation): Likewise.
      	(pop_obstacks): Likewise.
      	(push_obstacks): Likewise.
      	(pop_momentary_nofree): LIkewise.
      	(preserve_momentary): Likewise.
      	(saveable_allocation): Likewise.
      	(temporary_allocation): Likewise.
      	(resume_temporary_allocation): Likewise.
      	(perserve_initializer): Likewise.
      	(debug_obstack): Likewise.
      	(rtl_in_current_obstack): Likewise.
      	(rtl_in_saveable_obstack): Likewise.
      	(obfree): Likewise.
      	* varasm.c (current_obstack): Remove.
      	(saveable_obstack): Remove.
      	(rtl_obstack): Remove.
      	(immed_double_const): Don't mess with obstacks.
      	(immed_real_cons): Likewise.
      	(output_constant_def): Likewise.
      	(init_varasm_status): Use xcalloc.
      	(mark_pool_constant): Mark the pool constant itself.
      	(free_varasm_status): Free memory.
      	(decode_rtx_const): Call bzero directly, rather than expanding it
      	inline.
      	(record_rtx_const): Don't mess with obstacks.
      	(force_const_mem): Likewise.
      	* config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
      	conditionals.
      	(aof_pic_entry): Likewise.
      	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
      	* config/m32r/m32r.c (m32r_encode_section_info): Likewise.
      	* config/pa/pa.c (saveable_obstack): Remove.
      	(rtl_obstack): Likewise.
      	(current_obstack): Likewise.
      	(output_call): Don't mess with obstacks.
      	(hppa_encode_label): Remove ggc_p conditionals.
      	* config/romp/romp.c (get_symref): Don't mess with obstacks.
      	* config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
      	(rs6000_encode_section_info): Likewise.
      	* config/sh/sh.c (get_fpscr_rtx): Likewise.
      
      From-SVN: r36856
      Mark Mitchell committed
  36. 18 Sep, 2000 1 commit
    • machmode.def: Add BImode. · a191f0ee
              * machmode.def: Add BImode.  Add a column for bitsize.
              * machmode.h (DEF_MACHMODE): Adjust for extra column.
              (GET_MODE_BITSIZE): Use it.
              * rtl.c (DEF_MACHMODE): Adjust for extra column.
              (mode_bitsize): New.
              (mode_mask_array): Use bitsize.
              * combine.c (combine_simplify_rtx): Require inner and outer
              modes to match on nonzero_bits optimizations.
      
      From-SVN: r36501
      Richard Henderson committed
  37. 07 Sep, 2000 1 commit