1. 11 Jul, 2003 1 commit
  2. 05 Jul, 2003 1 commit
    • bt-load.c: Fix comment typos. · 4d6922ee
      	* bt-load.c: Fix comment typos.
      	* c-incpath.c: Likewise.
      	* cfg.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* diagnostic.h: Likewise.
      	* dwarfout.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* et-forest.h: Likewise.
      	* expr.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* jump.c: Likewise.
      	* langhooks.h: Likewise.
      	* local-alloc.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* loop-unswitch.c: Likewise.
      	* ra-build.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* rtl.def: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* ssa.c: Likewise.
      	* tracer.c: Likewise.
      	* tree.c: Likewise.
      
      From-SVN: r68975
      Kazu Hirata committed
  3. 08 Jun, 2003 1 commit
    • cfglayout.c (insn_scope): New static function · 0435312e
      	* cfglayout.c (insn_scope): New static function
      	(block_locators_*, line_locators*, file_locators*): New static varrays.
      	(scope_to_insns_initialize): Use them.
      	(insn_line, insn_file): New functions.
      	(scope_to_insns_finalize): Use insn_scope.
      	(prologue_locator, epilogue_locator): New global variables.
      	* emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
      	make_call_insn_raw, emit_copy_of_insn_after): Use locators.
      	(emit_insn_after_scope, emit_insn_before_scope
      	emit_jump_insn_after_scope, emit_jump_insn_before_scope
      	emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
      	(emit_insn_after_setloc, emit_insn_before_setloc
      	emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
      	emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
      	use locators.
      	* final.c (notice_source_line): Use locators.
      	(final_start_function): Set initial source file and line.
      	(final_scan_insn): Use locators.
      	* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
      	noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
      	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
      	noce_process_if_block, find_cond_trap): Likewise.
      	* integrate.c (copy_insn_list): Likewise.
      	* jump.c (duplicate_loop_exit_test): LIkewise.
      	* print-rtl.c (print_rtx): Print locators.
      	* recog.c (peephole2_optimize): Likewise.
      	* rtl.h (INSN_SCOPE): Remove.
      	(emit_insn_after_scope, emit_insn_before_scope
      	emit_jump_insn_after_scope, emit_jump_insn_before_scope
      	emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
      	(emit_insn_after_setloc, emit_insn_before_setloc
      	emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
      	emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
      	(insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
      	* unroll.c (copy_loop_body): Use locators.
      	* function.c (set_insn_locators): New function.
      	(thread_prologue_and_epilogue_insns): Set the locators accordingly.
      
      From-SVN: r67637
      Jan Hubicka committed
  4. 01 Jun, 2003 1 commit
  5. 27 Apr, 2003 1 commit
    • varasm.c (const_str_htab_hash, [...]): Kill. · 32a61907
      	* varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
      	struct deferred_string, const_str_htab): Kill.
      	(n_deferred_strings): New static variable.
      	(build_constant_desc): Set SYMBOL_REF_DECL of the new
      	symbol_ref to point to the constant.
      	(output_constant_def): When a deferred string is forced out,
      	just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
      	(mark_constant): Likewise.
      	(maybe_output_constant_def_contents): When deferring a string
      	constant, just set STRING_POOL_ADDRESS_P and increment
      	n_deferred_strings.
      	(mark_constant_pool): Check n_deferred_strings, not the size
      	of const_str_htab.
      	(init_varasm_once): No need to create const_str_htab.
      
      	* rtl.def, rtl.h, doc/rtl.texi: Document possibility that
      	SYMBOL_REF_DECL points to a constant.
      
      From-SVN: r66133
      Zack Weinberg committed
  6. 11 Apr, 2003 1 commit
    • rtl.def (SYMBOL_REF): Add two 0 fields. · 52859c77
              * rtl.def (SYMBOL_REF): Add two 0 fields.
              * gengtype.c (adjust_field_rtx_def): Handle them.
              * print-rtl.c (print_rtx): Print them.
              * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
              (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
              (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
              (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
              (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
              (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
              (SYMBOL_FLAG_MACH_DEP): New.
              * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
              * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
              (assemble_static_space): Set SYMBOL_REF_FLAGS.
              (assemble_trampoline_template): Likewise.
              (output_constant_def, force_const_mem): Likewise.
              (default_encode_section_info): New.
              * output.h: Declare it.
              * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
      
      From-SVN: r65479
      Richard Henderson committed
  7. 09 Feb, 2003 1 commit
    • i386.md (ahi?v*3): Set third operand type to TImode. · d9deed68
      	* i386.md (ahi?v*3): Set third operand type to TImode.
      	* i386.c (ix86_expand_binop_builtin): Extend operand when needed.
      
      	* simplify-rtx.c (simplify_subreg): Fix conversion from vector into
      	integer mode.
      
      	* rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
      	Change code so they are arithmetic expressions now.
      	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
      	simplify_ternary_operation): Deal with VEC_* expressions.
      
      	* i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
      
      From-SVN: r62600
      Jan Hubicka committed
  8. 01 Feb, 2003 1 commit
    • [multiple changes] · 2928cd7a
      2003-02-01  Richard Henderson  <rth@redhat.com>
      
      	* optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
      	* libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
      	__popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
      	return type to Wtype.
      
      	* libgcc-std.ver (GCC_3.4): Fix inheritance.
      
      	* config/i386/i386.md (ffssi2): Use nonimmediate_operand for
      	expander input constraint.
      
      2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
      
              * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
              OTI_parity.
              (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
              * optabs.c (widen_clz, expand_parity): New.
              (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
              for libcalls to clz, ctz, popcount, and parity.
              (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
              parity_optab, and set up libfunc handlers.
              * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
              __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
              __popcount_tab): New.
              * libgcc2.h: Declare them.
              * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
              * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
              and parity_optab.
              * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
              * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
              BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
              BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
              BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
              BUILT_IN_PARITYLL): New.
              * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
              and add optab argument.
              (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
              * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
              * expr.c (expand_expr): Handle them.
              * fold-const.c (tree_expr_nonnegative_p): Likewise.
              * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
              * reload1.c (eliminate_regs): Handle them.
              (elimination_effects): Likewise.
              * function.c (instantiate_virtual_regs_1): Likewise
              * genattrtab.c (check_attr_value): Likewise.
              * simplify-rtx.c (simplify_unary_operation): Likewise.
              * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
              * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
              (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
              * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
              * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
              __builtin_arm_clz.
              * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
              * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
              * doc/extend.texi (Other Builtins): Add new builtins.
              * doc/md.texi (Standard Names): Add new patterns.
      
      From-SVN: r62252
      Richard Henderson committed
  9. 24 Jan, 2003 1 commit
    • emit-rtl.c (reg_attrs_htab): New static variable. · a560d4d4
      	* emit-rtl.c (reg_attrs_htab): New static variable.
      	(reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
      	functions.
      	(reg_rtx): Do not maintain regno_decl.
      	(gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
      	set_mem_attrs_from_reg): New global function.
      	(init_emit): Do not initialize regno_decl.
      	(init_emit_once): initialize reg_attrs_htab.
      	* final.c (alter_subreg): Do not replace REG by SUBREG.
      	(gen_mem_expr_from_op): Improve output.
      	(output_asm_operands): Likewise.
      	* function.c (assign_params): Do not set REGNO_DECL.
      	* function.h (struct function): Kill regno_decl.
      	(REGNO_DECL): Kill.
      	* gengtype.c (adjust_field_rtx_def): Handle new field of reg.
      	* print_rtl.c (print_rtx): Output REG information.
      	* regclass.c (reg_scan_mark_refs): Update attrs.
      	* reload1.c (alter_reg): Likewise.
      	* simplify_rtx.c (simplify_subreg): Likewise.
      	* stmt.c (expand_decl): Likewise.
      	* rtl.def (REG): Add new field.
      	* rtl.h (struct reg_attrs): New.
      	(rtunion_def): At rtreg.
      	(X0MEMATTR): Add checking.
      	(X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
      	(set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
      	Declare.
      	* tree.h (SET_DECL_RTL): Call set_decl_rtl.
      
      From-SVN: r61741
      Jan Hubicka committed
  10. 09 Jan, 2003 1 commit
  11. 24 Dec, 2002 1 commit
    • regmove.c: Fix comment typos. · 14b493d6
      	* regmove.c: Fix comment typos.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sibcall.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* ssa-ccp.c: Likewise.
      	* ssa.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* system.h: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* tracer.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* unroll.c: Likewise.
      	* varasm.c: Likewise.
      
      From-SVN: r60473
      Kazu Hirata committed
  12. 29 Sep, 2002 1 commit
    • builtins.def: Fix comment formatting. · 991b6592
      	* builtins.def: Fix comment formatting.
      	* c-common.def: Likewise.
      	* cfgcleanup.c: Likewise.
      	* combine.c: Likewise.
      	* gengtype.c: Likewise.
      	* params.def: Likewise.
      	* predict.def: Likewise.
      	* rtl.def: Likewise.
      	* stab.def: Likewise.
      	* stor-layout.c: Likewise.
      	* tree.def: Likewise.
      	* config/darwin.c: Likewise.
      	* config/darwin.h: Likewise.
      	* config/dbxcoff.h: Likewise.
      	* config/elfos.h: Likewise.
      	* config/fp-bit.c: Likewise.
      	* config/freebsd-spec.h: Likewise.
      	* config/interix.h: Likewise.
      	* config/libgloss.h: Likewise.
      	* config/linux-aout.h: Likewise.
      	* config/linux.h: Likewise.
      	* config/lynx-ng.h: Likewise.
      	* config/lynx.h: Likewise.
      	* config/netbsd-aout.h: Likewise.
      	* config/netbsd.h: Likewise.
      	* config/netware.h: Likewise.
      	* config/psos.h: Likewise.
      	* config/ptx4.h: Likewise.
      
      From-SVN: r57624
      Kazu Hirata committed
  13. 27 Sep, 2002 1 commit
    • LANGUAGES: Follow spelling conventions. · 0e9e1e0a
      	* LANGUAGES: Follow spelling conventions.
      	* rtl.def: Likewise.
      	* sbitmap.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sibcall.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* ssa.c: Likewise.
      	* stab.def: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* target.h: Likewise.
      	* timevar.c: Likewise.
      	* toplev.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* unroll.c: Likewise.
      	* varasm.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* treelang/treelang.texi: Likewise.
      	* treelang/treetree.c: Likewise.
      
      From-SVN: r57587
      Kazu Hirata committed
  14. 15 Aug, 2002 1 commit
  15. 19 Jul, 2002 1 commit
    • rtl.def (CODE_LABEL): Remove slot 8. · 0dc36574
      	* rtl.def (CODE_LABEL): Remove slot 8.
      	* rtl.h (struct rtx_def): Document new uses of jump and call fields.
      	(LABEL_ALTERNATE_NAME): Delete.
      	(LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
      	* defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
      
      	* final.c (output_alternate_entry_point): New.
      	(final_scan_insn): Use it instead of
      	ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
      	of a case label being an alternate entry point.
      
      	* cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
      	* emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
      	Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
      	(field deleted).
      	* print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
      
      	* doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
      	LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
      	* doc/tm.texi: Delete documentation of
      	ASM_OUTPUT_ALTERNATE_LABEL_NAME.
      
      From-SVN: r55597
      Zack Weinberg committed
  16. 18 Jun, 2002 1 commit
    • rtl.def (DEFINE_AUTOMATON): Add description of new options `time' and `v'. · e3c8eb86
      2002-06-18  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* rtl.def (DEFINE_AUTOMATON): Add description of new options
      	`time' and `v'.  Fix incorrect description of option `w'.
      
      	* doc/md.texi: Ditto.
      
      	* genautomata.c (TIME_OPTION, V_OPTION): New macros.
      	(gen_automata_option): Process the new options.
      	(transform_2, transform_3): Initialize some variables.
      	(initiate_automaton_gen): Use the new macros.
      
      From-SVN: r54748
      Vladimir Makarov committed
  17. 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
  18. 29 Apr, 2002 1 commit
  19. 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
  20. 20 Dec, 2001 1 commit
  21. 04 Dec, 2001 1 commit
    • rtl.def (PREFETCH): New rtx code. · 21b8482a
      	* rtl.def (PREFETCH): New rtx code.
      	* doc/rtl.texi (PREFETCH): Add documentation.
      	* function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
      	* rtlanal.c (reg_referenced_p): Ditto.
      	* sched-vis.c (print_exp):  Ditto.
      	* ssa-dce.c (find_inherently_necessary):  Ditto.
      
      From-SVN: r47580
      Janis Johnson committed
  22. 14 Nov, 2001 1 commit
    • rtl.def (INCLUDE): Define. · 04d8aa70
      2001-11-05  Alan Matsuoka  <alanm@redhat.com>
      
      	* rtl.def (INCLUDE) : Define.
      	* gensupport.c  (init_include_reader, process_include,
      	save_string) :  New functions to implement an include facility
      	in .md files.
      	* gensupport.h : Add prototype for init_md_reader_args.  *
      	genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
      	genextract.c genflags.c genopinit.c genoutput.c
      	genpeep.c genrecog.c: Change call to init_md_reader to
      	init_md_reader_args.
      	* md.texi: Document (include "path") and -I directives for RTL
      	generation tools.
      
      From-SVN: r47020
      Alan Matsuoka committed
  23. 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
  24. 23 Sep, 2001 1 commit
  25. 30 Aug, 2001 1 commit
    • rtl.def: Undo my patch commited 2001-08-27. · b8ec5764
      2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* rtl.def: Undo my patch commited 2001-08-27.
      
      	* genattrtab.c: Ditto.
      
      	* rtl.h: Ditto.
      
      	* sched-int.h: Ditto.
      
      	* target-def.h: Ditto.
      
      	* target.h: Ditto.
      
      	* haifa-sched.c: Ditto.
      
      	* sched-rgn.c: Ditto.
      
      	* sched-vis.c: Ditto.
      
      	* Makefile.in: Ditto.
      
      	* doc/md.texi: Ditto.
      
      	* doc/tm.texi: Ditto.
      
      	* doc/contrib.texi: Ditto.
      
      	* doc/gcc.texi: Ditto.
      
      	* genattrtab.h: Remove it.
      
      	* genautomata.c: Remove it.
      
      	* genattr.c: Undo my patch and Richard Henderson's patch commited
      	2001-08-27.
      
      From-SVN: r45297
      Vladimir Makarov committed
  26. 27 Aug, 2001 1 commit
    • rtl.def (DEFINE_CPU_UNIT, [...]): New RTL constructions. · acd7baf7
      2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
      
              * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
      	PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
      	AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
      	RTL constructions.
      
      	* genattr.c (main): New variable num_insn_reservations.  Increase
      	it if there is DEFINE_INSN_RESERVATION.  Output automaton based
      	pipeline hazard recognizer interface.
      
      	* genattrtab.h: New file.
      
      	* genattrtab.c: Include genattrtab.h.
      	(attr_printf, check_attr_test, make_internal_attr,
      	make_numeric_value): Move protypes into genattrtab.h.  Define them
      	as external.
      	(num_dfa_decls): New global variable.
      	(main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
      	DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
      	DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
      	DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
      
      	* genautomata.c: New file.
      
      	* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
      
              * sched-int.h: (curr_state): Add the external definition for
      	automaton pipeline interface.
      	(haifa_insn_data): Add comments for members blockage and units.
      
      	* target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
      	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
      	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
      	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
      	TARGET_SCHED_DFA_POST_CYCLE_INSN,
      	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
      	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
      	macros.
      	(TARGET_SCHED): Use the new macros.
      
      	* target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
      	dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
      	first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
      	dfa_bubble): New members in gcc_target.sched.
      
              * haifa-sched.c (insert_schedule_bubbles_p): New variable.
      	(MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
      	(insn_queue): Redefine it as pointer to array.
      	(NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
      	INSN_QUEUE_SIZE.
      	(max_insn_queue_index_macro_value): New variable.
      	(curr_state, dfa_state_size, ready_try): New varaibles for
      	automaton interface.
      	(ready_element, ready_remove, max_issue): New function prototypes
      	for automaton interface.
      	(choose_ready): New function prototype.
      	(insn_unit, blockage_range): Add comments.
      	(unit_last_insn, unit_tick, unit_n_insns): Define them for case
      	FUNCTION_UNITS_SIZE == 0.
      	(insn_issue_delay, actual_hazard_this_instance, schedule_unit,
      	actual_hazard, potential_hazard): Add comments.
      	(insn_cost): Use cost -1 as undefined value.  Remove
      	LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
      	pipeline interface.
      	(ready_element, ready_remove): New functions for automaton
      	interface.
      	(schedule_insn): Add new code for automaton pipeline interface.
      	(queue_to_ready): Add new code for automaton pipeline interface.
      	Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
      	(debug_ready_list): Print newline when the queue is empty.
      	(max_issue): New function for automaton pipeline interface.
      	(choose_ready): New function.
      	(schedule_block): Add new code for automaton pipeline interface.
      	Print ready list before scheduling each insn.
      	(sched_init): Add new code for automaton pipeline interface.
      	Initiate insn cost by -1.
      	(sched_finish): Free the current automaton state and finalize
      	automaton pipeline interface.
      
      	* sched-rgn.c: Include target.h.
      	(init_ready_list, new_ready, debug_dependencies): Add new code for
      	automaton pipeline interface.
      
      	* sched-vis.c: Include target.h.
      	(get_visual_tbl_length): Add code for automaton interface.
      	(target_units, print_block_visualization):  Add comments.
      
              * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
      	USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
      	(sched-rgn.o, sched-vis.o): Add new dependency file target.h.
      	(getruntime.o, genautomata.o): New entries.
      	(genattrtab.o): Add new dependency file genattrtab.h.
      	(genattrtab): Add new dependencies.  Link it with `libm.a'.
      	(getruntime.o, hashtab.o): New entries for canadian cross.
      
      	* doc/md.texi: Description of automaton based model.
      
      	* doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
      	Add comments.
      	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
      	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
      	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
      	TARGET_SCHED_DFA_POST_CYCLE_INSN,
      	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
      	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
      	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
      	hook descriptions.
      	(TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
      	MAX_DFA_ISSUE_RATE): New macro descriptions.
      
      	* doc/contrib.texi: Add dfa based scheduler contribution.
      
      	* doc/gcc.texi: Add more information about genattrtab.
      
      From-SVN: r45202
      Vladimir Makarov committed
  27. 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
  28. 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
  29. 28 Mar, 2001 1 commit
  30. 29 Dec, 2000 1 commit
  31. 28 Jul, 2000 1 commit
    • cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY. · 4b983fdc
      	* cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
      	(cse_insn): Likewise.
      	(addr_affects_sp_p): Likewise.
      	* expr.c (move_by_pieces): Likewise.
      	(clear_by_pieces): Likewise.
      	* gcse.c (oprs_unchanged_p): Likewise.
      	* haifa-sched.c (sched_analyze_2): Likewise.
      	* recog.c (offsettable_address_p): Likewise.
      	* regclass.c (record_address_regs): Likewise.
      	* reload.c (find_reusable_reload): Likewise.
      	(push_reload): Likewise.
      	(operands_match_p): Likewise.
      	(decompose): Likewise.
      	(find_reloads_address_1): Likewise.
      	(find_inc_amount): Likewise.
      	* reload1.c (elimination_effects): Likewise.
      	* resource.c (mark_set_resources): Likewise.
      	* flow.c (attempt_auto_inc): New function; mostly broken out
      	of find_auto_inc.
      	(find_auto_inc): Split into two functions and enhanced to
      	generate POST_MODIFY.
      	* rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment.
      	* rtl.h (count_all_occurrences):  Declare.
      	(HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not
      	defined.
      	* rtlanal.c (count_all_occurrences): New function.
      	* tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP,
      	HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document.
      
      	* config/ia64/ia64-protos.h (destination_operand): Declare.
      	* config/ia64/ia64.c (destination_operand): New function.
      	(ia64_print_operand): Handle POST_MODIFY.
      	(rtx_needs_barrier): Likewise.
      	* config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1.
      	(HAVE_POST_MODIFY_REG): Define to 1.
      	(MAX_REGS_PER_ADDRESS): Change to 2.
      	(GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too.
      	(LEGITIMATE_ADDRESS_REG): New helper macro.
      	(LEGITIMATE_ADDRESS_DISP): Likewise.
      	(PREDICATE_CODES): Add entry for destination_operand.
      	* config/ia64/ia64.md (all mov patterns): Use destination_operand
      	predicate for operand 0.
      
      From-SVN: r35321
      Richard Henderson committed
  32. 24 Jun, 2000 1 commit
  33. 31 May, 2000 1 commit
    • Makefile.in (c-decl.o): Depend on rtl.h and expr.h. · 3bdf5ad1
      	* Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
      	* alias.c (struct alias_entry): alias_set is HOST_WIDE_INT.
      	(REG_BASE_VALUE): Remove unneeded cast to unsigned.
      	(get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT.
      	(find_base_decl): New function, from c_find_base_decl in c-common.c.
      	(new_alias_set): Moved from tree.c; return is HOST_WIDE_INT.
      	(get_alias_set): Likewise.
      	Major rework to do more things and allow language-specific code
      	to just handle special-cases.
      	(record_alias_subset): Args are HOST_WIDE_INT.
      	(record_component_alias): Local vars are HOST_WIDE_INT.
      	Don't handle COMPLEX_EXPR.
      	(get_varargs_alias_set): Moved from builtins.c.
      	(get_frame_alias_set): New function.
      	* builtins.c (expand_builtin_return_address): Use frame alias set.
      	(expand_builtin_setjmp, expand_builtin_longjmp): Use alias set
      	for setjmp buffer.
      	(get_memory_rtx): Rework to use set_mem_attributes.
      	(get_varargs_alias_set): Deleted from here.
      	* c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT.
      	(c_find_base_decl): Deleted from here.
      	(c_get_alias_set): Remove many cases and rework to just handle
      	C-specific cases.
      	* c-common.h (c_get_alias_set): Returns HOST_WIDE_INT.
      	* c-decl.c (rtl.h, expr.h): Now included.
      	(init_decl_processing): Call record_component_aliases on array types.
      	(grokdeclarator): Likewise.
      	Set TREE_ADDRESSABLE for all fields that are not bitfields.
      	* c-typeck.c (common_type): Call record_component_aliases for array.
      	* caller-save.c (setup_save_areas): Rework register loop for unsigned.
      	Set all save areas to the frame alias set.
      	* calls.c (initialie_argument_information): Call set_mem_attributes.
      	(compute_argument_addresses, expand_call): Likewise.
      	* explow.c (set_mem_attributes): New function.
      	(stabilize): Use MEM_COPY_ATTRIBUTES and force_reg.
      	* expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}.
      	LEN and OFFSET now HOST_WIDE_INT.
      	(clear_by_pieces): Similar changes.
      	(move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields.
      	(move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT.
      	(move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES.
      	(clear_by_pieces_1): Likewise.
      	(emit_push_insn): Call set_mem_attributes.
      	(expand_expr, case INDIRECT_REF): Likewise.
      	(expand_expr, case VAR_DECL): Call change_address.
      	* expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and
      	tree_low_cst.
      	(get_varargs_alias_set, get_frame_alias_set): New decls.
      	(record_base_value, record_alias_subset, lang_get_alias_set): Likewise.
      	(new_alias_set, set_mem_attributes): Likewse.
      	* function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT.
      	(assign_stack_temp_for_type): Likewise.
      	Can split slot even if alias set since can copy.
      	Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P.
      	(assign_temp): Use host_integerp and tree_low_cst.
      	(put_var_into_stack): Properly handle SAVE_EXPR.
      	(put_addressof_into_stack): Likewise.
      	(assign_parms): Call set_mem_attributes.
      	Delete #if 0 code.
      	(fix_lexical_address): Put reference to chain into frame alias set.
      	(expand_function_start): Call set_mem_attributes.
      	* integrate.c (expand_inline_function): Likewise.
      	* recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES.
      	* regmove.c (try_apply_stack_adjustment): Likewise.
      	* reload.c (push_reload, make_memloc): Likewise.
      	* reload1.c (alter_reg): Make alias sets for spilled pseudos.
      	* rtl.def (MEM): Update comment.
      	* rtl.h (MEM_ALIAS_SET): Now uses XCWINT.
      	(move_by_pieces): Change length to HOST_WIDE_INT.
      	(record_base_value, record_alias_subset): Delete from here.
      	* stmt.c (expand_decl): Call set_mem_attributes.
      	* stor-layout.c (finish_record_layout): Call record_component_aliases.i
      	* toplev.c (compile_file): Call init_alias_once earlier.
      	* tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted
      	from here: now in alias.c.
      	* tree.h (struct tree_type): alias_set is HOST_WIDE_INT.
      	(struct tree_decl): Likewise.
      	(get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here.
      	* varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes.
      	(output_constant_def, force_const_mem): Likewise.
      	* cp/Makefile.in (decl.o): Include ../expr.h.
      	* cp/decl.c (expr.h): Include.
      	(init_decl_processing): Call record_component_aliases for arrays.
      	(grokdeclarator): Likewise.
      	Set TREE_ADDRESSABLE for fields that aren't bitfields.
      	* cp/tree.c (build_cplus_array_type_1): Call record_component_aliases.
      
      From-SVN: r34305
      Richard Kenner committed
  34. 17 May, 2000 1 commit
    • flow.c (commit_one_edge_insertion): Be prepared for a return insn to be inserted… · f5540cd4
      flow.c (commit_one_edge_insertion): Be prepared for a return insn to be inserted on the edge with a normal jump.
      
              * flow.c (commit_one_edge_insertion): Be prepared for a return
              insn to be inserted on the edge with a normal jump.
              * jump.c (jump_optimize_1): Don't look to create return isns.
      
              * flow.c (flow_delete_insn): Don't adjust reference count of notes.
              * jump.c (jump_optimize_1): Likewise.
              (returnjump_p): Verify the argument is a JUMP_INSN.
              * rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL.
      
      From-SVN: r33950
      Richard Henderson committed
  35. 12 May, 2000 1 commit
    • Makefile.in (final.o): Depend on BASIC_BLOCK_H. · be1bb652
      	* Makefile.in (final.o): Depend on BASIC_BLOCK_H.
      	* final.c (final_end_function): Use app_disable.  Rearrange note
      	handling into a switch.  Emit deleted labels.
      	(output_asm_label): Generate label strings for deleted labels.
      	* flow.c (tail_recursion_label_list): New.
      	(find_basic_blocks_1): Set label_value_list directly.  Collect list
      	of tail recursion labels from call_placeholders.  Don't add deleted
      	labels to the label value list.
      	(cleanup_cfg): Use free_EXPR_LIST_list.
      	(flow_delete_insn_chain): Turn non-removable labels into notes.
      	(flow_delete_block): Don't disable deleting the block because of
      	a non-removable label.
      	(tail_recursion_label_p): New.
      	(merge_blocks_move_predecessor_nojumps): Don't disable the merge
      	because of a label.
      	(merge_blocks_move_successor_nojumps): Likewise.  Also move a
      	jump table.
      	(merge_blocks): Disable a merge because of tail recursion labels.
      	* ifcvt.c (merge_if_block): Don't disable a merge because of a label.
      	Use a more accurate measure of not merging the join block.
      	(find_if_block): Don't disable conversion because of a label.
      	(find_if_case_1, find_if_case_2): Likewise.
      	* jump.c (duplicate_loop_exit_test): Preserve the kind of list
      	element when copying.
      	(squeeze_notes): Also leave EH notes.
      	(mark_jump_label): Ignore deleted labels.  Use an INSN_LIST for
      	REG_LABEL notes.
      	(delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when
      	deleting a label.
      	* print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for
      	NOTE_INSN_DELETED_LABEL.  Print `[# deleted]' for a label_ref
      	referring to a deleted label.  Convert tail handling to a switch.
      	* rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE
      	for NOTE_INSN_DELETED_LABEL.
      	(NOTE): Fix commentary.
      	* rtl.h (REG_LABEL): Update commentary wrt INSN_LIST.
      	(REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise.
      	(CODE_LABEL_NUMBER, LABEL_NAME): Update index.
      	(LABEL_NUSES, LABEL_REFS): Likewise.
      	* unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL.
      
      From-SVN: r33876
      Richard Henderson committed
  36. 07 May, 2000 2 commits
    • rtl.def (COND_EXEC): Clarify. · 6b29b0e2
      	* rtl.def (COND_EXEC): Clarify.
      
      	* i386.md (extendsidi2): Clobber (reg:CC 17) in the
      	same fashion as zero_extendsidi2.
      
      From-SVN: r33756
      John Wehle committed
    • rtl.def (DEFINE_COND_EXEC): New. · 3262c1f5
      	* rtl.def (DEFINE_COND_EXEC): New.
      	* md.texi: Document it.
      
      	* gensupport.c (input_file): Remove.
      	(struct queue_elem): Add lineno.
      	(rtx_ready_queue): Remove.
      	(errors): New.
      	(predicable_default): New.
      	(predicable_true, predicable_false): New.
      	(define_attr_queue, define_attr_tail): New.
      	(define_insn_queue, define_insn_tail): New.
      	(define_cond_exec_queue, define_cond_exec_tail): New.
      	(other_queue, other_tail): New.
      	(queue_pattern): New.
      	(process_rtx): Add patterns to the appropriate queues.
      	(is_predicable, identify_predicable_attribute): New.
      	(n_alternatives, collect_insn_data): New.
      	(alter_predicate_for_insn, alter_test_for_insn): New.
      	(shift_output_template, alter_output_for_insn): New.
      	(process_one_cond_exec, process_define_cond_exec): New.
      	(init_md_reader): Read the entire file.  Process define_cond_exec.
      	(read_md_rtx): Return elements from the queues.
      
      From-SVN: r33751
      Richard Henderson committed
  37. 03 May, 2000 1 commit
    • gensupport.c: New file. · c88c0d42
      	* gensupport.c: New file.
      	* gensupport.h: New file.
      	* Makefile.in (HOST_RTL): Depend on gensupport.
      	(gensupport.o) New rule.
      	* genattr.c: Use gensupport for reading .md files.
      	* genattrtab.c: Ditto.
      	* gencodes.c: Ditto.
      	* genconfig.c: Ditto.
      	* genemit.c: Ditto.
      	* genextract.c: Ditto.
      	* genflags.c: Ditto.
      	* genopinit.c: Ditto.
      	* genoutput.c: Ditto.
      	* genpeep.c: Ditto.
      	* genrecog.c: Ditto.
      	* rtl.def (define_insn_and_split): New DEF_RTL_EXPR.
      	* md.texi (Insn Splitting): Document define_insn_and_split.
      
      From-SVN: r33633
      Clinton Popetz committed
  38. 21 Apr, 2000 1 commit
    • rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG. · b3b42a4d
      	* rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG.
      	* rtl.h: Likewise.
      	* rtl.def: Update comment.
      	* function.c (expand_function): Use NOTE_INSN_REPEATED_LINE_NUMBER.
      	* integrate.c (expand_inline_function): Likewise.
      	* profile.c (branch_prob): Likewise.
      	* ggc-common.c (ggc_mark_rtx_children): Use NOTE_INSN_RANGE_BEG.
      	* print-rtl.c (print_rtx): Likewise.
      	* haifa-sched.c (sched_analyze, unlink_other_notes): Likewise.
      	(reemit_notes): Likewise; also use enum insn_note.
      
      From-SVN: r33314
      Richard Kenner committed
  39. 10 Apr, 2000 1 commit