1. 24 Apr, 2006 1 commit
  2. 30 Mar, 2006 1 commit
    • re PR target/26734 (GCC cannot bootstrap on IA64 HP-UX) · c7ec5472
      2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
      
      	PR target/26734
      	* rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
      	* target.h (struct gcc_target.speculate_insn): Change type of the
      	second parameter to 'int'.
      	* lists.c (alloc_DEPS_LIST): Change signature.  Update reference to
      	the second operand of the DEPS_LIST.
      	(copy_DEPS_LIST_list): Update reference	to the second operand of the
      	DEPS_LIST.
      	* rtl.h (alloc_DEPS_LIST): Update signature.
      	* sched-int.h (ds_t): Change typedef to 'int'.
      	(DEP_STATUS, BITS_PER_DEP_STATUS): Update.
      
      From-SVN: r112538
      Maxim Kuvyrkov committed
  3. 28 Mar, 2006 1 commit
  4. 27 Mar, 2006 1 commit
    • rtl.def (Copyright): Update date. · 5edb2b13
      2006-03-27  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
      
      	* rtl.def (Copyright): Update date.
      	(DEPS_LIST): Change type of the second operand to 'int'.
      	* target.h (Copyright): Update date.
      	(struct gcc_target.speculate_insn): Change type of the second parameter
      	to 'int'.
      	* lists.c (Copyright): Update date.
      	(alloc_DEPS_LIST): Change signature.  Update reference to the second
      	operand of the DEPS_LIST.
      	(copy_DEPS_LIST_list): Update reference	to the second operand of the
      	DEPS_LIST.
      	* rtl.h (Copyright): Update date.
      	(alloc_DEPS_LIST): Update signature.
      	* sched-int.h (Copyright): Update date.
      	(ds_t): Change typedef to 'int'.
      	(DEP_STATUS, BITS_PER_DEP_STATUS): Update.
      
      From-SVN: r112428
      Maxim Kuvyrkov committed
  5. 16 Mar, 2006 1 commit
    • ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call. · ddbd5439
      2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
                  Andrey Belevantsev <abel@ispras.ru>
      
      	* ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
              * lists.c (unused_deps_list): New variable.
      	(free_list): Add assertions to verify the proper distinguishing 
              between INSN_LISTs and DEPS_LISTs.
              (find_list_elem, remove_list_elem, remove_list_node): New static
      	functions.
              (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node,
              remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem,
              remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions.
              (alloc_INSN_LIST): Assert that the list we're working on is indeed
      	an INSN_LIST.
              (free_INSN_LIST_node): Likewise.
      	* modulo-sched.c (current_sched_info): Initialize flags field.
      	* reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT.
      	* rtl.def (DEPS_LIST): Define.
              * rtl.h: Declare new functions from lists.c.
              * sched-deps.c (spec_dependency_cache): New static variable.
              (maybe_add_or_update_back_dep_1, add_back_dep): New static functions.
              (add_dependence): Change return type to void.  Move the logic to ...
              (add_or_update_back_dep_1): ... here.  Handle speculative dependencies.
              (delete_all_dependences): Add comment about forward_dependency_cache.
      	Handle spec_dependency_cache.  Handle DEPS_LISTs.
              (fixup_sched_groups): Clarify the change of priority of output
              and anti dependencies.
              (sched_analyze_2): Adjust add_dependence calls to create data
      	speculative dependence.
              (add_forward_dependence): Renamed to add_forw_dep, change prototype.
      	Adjust all callers.  Handle DEPS_LISTS.
              (compute_forward_dependences): Use add_forw_dep.  Sort LOG_LINKs in
      	presence of speculation.
              (init_dependency_caches, free_dependency_caches):
      	Handle spec_dependency_cache.
              (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep,
      	estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status):
      	New static functions.
              (add_or_update_back_dep, add_or_update_back_forw_dep,
      	add_back_forw_dep, delete_back_forw_dep): New functions.
      	* sched-int.h (ds_t, dw_t): New typedefs.
      	(struct sched_info): Add new field flags.
      	(struct haifa_insn_data): Add new bitfield has_internal_dep.
      	Prototype new sched-deps.c functions.
              (HAS_INTERNAL_DEP, DEP_STATUS): New access macros.
      	(BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK,
      	MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA,
      	BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC,
      	SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE,
      	SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP):
      	New constants.
              (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS):
      	New enums.
      	* sched-rgn.c (current_sched_info): Initialize flags field.
      	(schedule_insns): Initialize current_sched_info before the sched_init
      	call.
      	* sched-ebb.c (current_sched_info): Initialize flags field.
      	(add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P.
      	Call add_or_update_back_dep instead of add_dependence.
      	Create control speculative dependencies.
      	(schedule_insns): Initialize current_sched_info before the sched_init
      	call.
      
      Co-Authored-By: Andrey Belevantsev <abel@ispras.ru>
      
      From-SVN: r112125
      Maxim Kuvyrkov committed
  6. 11 Mar, 2006 1 commit
  7. 28 Feb, 2006 1 commit
    • * rtl.def (define_constraint, define_register_constraint) · f38840db
      	(define_memory_constraint, define_address_constraint): New MD forms.
      	* gensupport.c (process_rtx): Put define_constraint etc on the
      	predicate queue.
      	* genpreds.c (process_define_predicate): Adjust comment.  Validate
      	the name, and call validate_exp to validate the expression.
      	(mark_mode_tests, write_extract_subexp): Can assume correct input.
      	(write_predicate_expr): Likewise.  NAME argument no longer necessary;
      	all callers changed.
      	(validate_exp, needs_variable, struct constraint_data)
      	(constraints_by_letter_table, first_constraint, last_constraint_ptr)
      	(FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints)
      	(const_dbl_constraints, constraint_max_namelen)
      	(have_register_constraints, have_memory_constraints)
      	(have_address_constraints, have_address_constraints)
      	(have_extra_constraints, have_const_int_constraints)
      	(have_const_dbl_constraints, mangle, add_constraint)
      	(process_define_constraint, process_define_register_constraint)
      	(write_enum_constraint_num, write_lookup_constraint)
      	(write_insn_constraint_len, write_regclass_for_constraint)
      	(write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint)
      	(write_insn_extra_memory_constraint)
      	(write_insn_extra_address_constraint)
      	(write_satisfies_constraint_fns): New.
      	(write_tm_preds_h): If we have new-style constraint definitions,
      	prototype the functions generated from them, and define the
      	old constraint interface (still used by generic code) in terms of
      	those functions.
      	(write_insn_preds_c): If we have new-style constraint definitions,
      	generate all relevant functions from those definitions.
      	(main): Handle define_constraint etc.
      	* genoutput.c (struct constraint_data, indep_constraints)
      	(mdep_constraint_letters, constraints_by_letter_table, note_constraint)
      	(mdep_constraint_len): New data structures and functions, defined
      	#ifdef USE_MD_CONSTRAINTS.
      	(check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS.
      	(validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined,
      	use new logic to validate operand constraints against constraint
      	definitions.
      	(main): Process define_constraint etc. if USE_MD_CONSTRAINTS is
      	defined.
      	* defaults.h: If none of the old-style constraint macros are
      	defined, define USE_MD_CONSTRAINTS; do not provide defaults for any
      	old-style macros; and poison REG_CLASS_FROM_LETTER,
      	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and
      	EXTRA_CONSTRAINT.
      	* recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately.
      	* doc/md.texi: Document new constraint-definition mechanism and the
      	C interface it provides.  Remove references to old mechanism
       	elsewhere in the document.
      	(Machine Constraints): Use pathnames relative to gcc directory,
      	i.e. config/ARCH/FILE.  Change i386 section to refer to
      	config/i386/predicates.md; update that section to match docstrings.
      	* doc/tm.texi: Move all documentation of the old constraint-
      	definition macros to their own section, clearly mark as obsolete.
      
      	* config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t)
      	(u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint
      	definitions.
      	* config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
      	(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
      	* config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from
      	constraint strings.
      	(splits and peepholes): Use satisfies_constraint_*.
      	* config/i386/i386.c (memory_address_length)
      	(ix86_attr_length_immediate_default): Use satisfies_constraint_*.
      
      From-SVN: r111508
      Zack Weinberg committed
  8. 23 Jan, 2006 1 commit
    • r110130@banpei: zack | 2006-01-22 14:52:43 -0800 · 6e7a4706
       r110130@banpei:  zack | 2006-01-22 14:52:43 -0800
       	* rtl.def (match_code): Add second argument.
       	* genpreds.c (write_extract_subexp): New function.
       	(write_match_code): Add path argument.  Use write_extract_subexp.
       	(write_predicate_expr): Pass path to write_match_code.
       	(mark_mode_tests): MATCH_CODE applied to a subexpression does
       	not perform a mode test.
       	* genrecog.c (compute_predicate_codes): MATCH_CODE applied to
       	a subexpression does not constrain the top-level code set.
       	* read-rtl.c (read_rtx_variadic): New function.
       	(read_rtx_1): Use it; allow AND and IOR to be variadic.
       	* doc/md.texi: Document new notation.
       	* config/i386/predicates.md (cmpsi_operand_1): Fold into ...
       	(cmpsi_operand): ... here, using new notation.
      
      From-SVN: r110126
      Zack Weinberg committed
  9. 25 Jun, 2005 1 commit
  10. 22 Jan, 2005 1 commit
    • genopinit.c (optabs): Use smin/smax for floating point too. · 7ae4d8d4
              * genopinit.c (optabs): Use smin/smax for floating point too.
              * doc/md.texi: Update to match.  Clarify that floating point
              results are undefined for +0/-0 and NaN.
              * doc/rtl.texi: Likewise.
              * rtl.def (SMIN, SMAX): Likewise
              * tree.def (MIN_EXPR, MAX_EXPR): Likewise.
      
              * config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add
              leading 's' to the name.
              * config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3,
              smaxxf3, sminxf3): Likewise.
              * config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3):
              Likewise.
      
      From-SVN: r94083
      Richard Henderson committed
  11. 20 Jan, 2005 1 commit
  12. 18 Jan, 2005 1 commit
    • basic-block.h, [...]: Update copyright. · ad616de1
      	* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
      	c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
      	combine.c, config.gcc, coverage.h, cse.c, cselib.c,
      	defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
      	flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
      	gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
      	output.h, postreload-gcse.c, postreload.c, recog.c,
      	resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
      	targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
      	tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
      	tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
      	tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
      	tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
      	tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
      	unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
      
      From-SVN: r93827
      Kazu Hirata committed
  13. 05 Jan, 2005 1 commit
    • combine.c (expand_compound_operation): Add comment that we fall through after case. · 46d096a3
      	* combine.c (expand_compound_operation)  <ZERO_EXTRACT>: Add
      	comment that we fall through after case.
      	(mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
      	(distribute_links): Likewise.
      	* cse.c (cse_insn): Likewise.
      	* cselib.c (cselib_invalidate_mem): Likewise.
      	* df.c: Update comments at the top of the file.
      	(read_modify_subreg_p): Update comments here too.
      	(df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
      	* flow.c (mark_set_1): Likewise.
      	(mark_used_regs): Likewise.
      	* gcse.c (mems_conflict_for_gcse_p): Likewise.
      	(canon_list_insert): Likewise.
      	(mark_set): Likewise.
      	(try_replace_reg): Likewise.
      	(store_killed_in_insn): Likewise.
      	* loop.c (count_one_set): Likewise.
      	(basic_induction_var): Likewise.
      	* postreload-gcse.c (find_mem_conflicts): Likewise.
      	* postreload.c (reload_combine_note_store): Likewise.
      	(move2add_note_store): Likewise.
      	* reload.c (find_equiv_reg): Likewise.
      	(mark_referenced_resources): Likewise.
      	* rtlanal.c (set_noop_p): Likewise.
      	(note_stores): Likewise.
      	(note_uses): Likewise.
      	* sched-deps.c (sched_analyze_1): Likewise.
      	* sched-rgn.c (check_live_1): Likewise.
      	(update_live_1): Likewise.
      	* config/i860/i860.c: Likewise.
      
      	* rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
      	an lvalue.
      	(ZERO_EXTRACT): Mention that this one can be an lvalue.
      
      	* doc/rtl.texi: Update documentation for bit-fields and SET.
      
      From-SVN: r92974
      Steven Bosscher committed
  14. 13 Nov, 2004 1 commit
    • cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and HARD_REGISTER_NUM_P. · d67fb775
      	* cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
      	HARD_REGISTER_NUM_P.
      
      	* cselib.c (new_cselib_val): Make comment correct and more detailed.
      	* flow.c (mark_set_1): Likewise.
      
      	* except.c (duplicate_eh_region_1, duplicate_eh_region_2,
      	duplicate_eh_regions): Remove.
      	* except.h (duplicate_eh_regions): Remove prototype.
      	* integrate.c (get_label_from_map, copy_rtx_and_substitute,
      	global_const_equiv_varray): Remove.
      	* integrate.h (get_label_from_map, copy_rtx_and_substitute,
      	global_const_equiv_varray, set_label_in_map): Remove prototypes,
      	extern declaration, and #define.
      	(MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
      	(struct inline_remap): Remove.
      	* varray.c (struct element): Remove entry for const_equiv_data.
      	* varray.h (struct const_equiv_data): Remove.
      	(enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
      	(union varray_data_tag) <const_equiv>: Remove.
      	(VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
      	VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
      
      	* regstack.c (record_label_references): Remove unused function.
      
      	* rtl.def (VALUE): Update comment.
      	(LABEL_REF): Remove unused operand 2.
      	* rtl.h (struct rtx_def): Update for removed accessor macros.
      	(XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
      	REG_LOOP_TEST_P): Remove.
      	(ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
      	* web.c (entry_register): Don't copy REG_LOOP_TEST_P.
      	* doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
      
      From-SVN: r90580
      Steven Bosscher committed
  15. 10 Sep, 2004 1 commit
  16. 02 Sep, 2004 1 commit
  17. 24 Aug, 2004 2 commits
  18. 18 Aug, 2004 1 commit
    • rtl.def (NIL): Delete. · f822d252
      	* rtl.def (NIL): Delete.
      	* read-rtl.c (read_rtx): Handle (nil) like (define_constants).
      	Tighten the syntax a little.
      
      	* cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
      	* config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
      	* config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
      	* config/i386/predicates.md, config/m32r/m32r.h
      	* config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
      	* config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
      	* config/sparc/sparc.h, doc/tm.texi:
      	Replace all occurrences of NIL with UNKNOWN.
      
      From-SVN: r86193
      Zack Weinberg committed
  19. 12 Aug, 2004 1 commit
    • genpreds.c: Add capability to generate predicate bodies as well as function prototypes. · e543e219
      	* genpreds.c: Add capability to generate predicate bodies as
      	well as function prototypes.  Write function prototypes for
      	the generic predicates too.
      	(process_define_predicate, write_tm_preds_h, write_insn_preds_c)
      	(write_predicate_subfunction, mark_mode_tests, add_mode_tests)
      	(write_match_code, write_predicate_expr, write_one_predicate_function)
      	(parse_option): New functions.
      	(output_predicate_decls): Delete.
      	(main): Read the machine description, process DEFINE_PREDICATE or
      	DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
      	as appropriate.
      
      	* genrecog.c (struct decision_test): Replace index with
      	struct pred_data pointer.
      	(next_index): Remove, unused.
      	(pred_table, preds, special_mode_pred_table): Delete.
      	(compute_predicate_codes, process_define_predicate): New functions.
      	(validate_pattern, add_to_sequence, write_switch): Update for
      	new data structures.
      	(main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
      	Check both error_count and have_error.
      
      	* gensupport.c (in_fname, first_predicate): New globals.
      	(define_pred_queue, define_pred_tail): New RTL-pattern queue.
      	(predicate_table, last_predicate, old_pred_table)
      	(old_special_pred_table): New statics.
      	(hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
      	(add_predicate, init_predicate_table): New functions.
      	(process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
      	(init_md_reader_args_cb): Use the global in_fname.  No need to zero
      	it or max_include_len.  Call init_predicate_table.
      	(read_rtx): Run the predicate queue after the attribute queue
      	but before all the others.
      	* gensupport.h (in_fname, struct pred_data, first_predicate)
      	(lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
      	* rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
      	(DEFINE_SPECIAL_PREDICATE): New RTL codes.
      	* dummy-conditions.c: Don't include bconfig.h, system.h,
      	coretypes.h, tm.h, or system.h.  Do include stddef.h.
      	Duplicate declaration of struct c_test from gensupport.h.
      
      	* Makefile.in (OBJS-common): Add insn-preds.o.
      	(STAGESTUFF, .PRECIOUS): Add insn-preds.c.
      	(insn-preds.c, insn-preds.o): New rules.
      	(s-preds): Also generate insn-preds.c.
      	(dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
      	Update dependencies.
      	(print-rtl.o, print-rtl1.o): Correct dependencies.
      
      	* recog.h: Delete prototypes of predicate functions.
      
      	* doc/md.texi (Predicates): New section with complete
      	documentation of operand/operator predicates.  Remove some
      	incomplete documentation of predicates from other places.
      	* doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
      	PREDICATE_CODES; indicate that both are deprecated in favor
      	of define_predicate/define_special_predicate.
      
      	* config/ia64/ia64.c: All predicate function definitions moved
      	to ia64.md, except
      	(small_addr_symbolic_operand, tls_symbolic_operand): Delete.
      	(ia64_expand_load_address, ia64_expand_move):
      	Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
      
      	* config/ia64/ia64.md: All predicates now defined here.
      	(symbolic_operand): Is now a special predicate.
      
      	* config/ia64/ia64.h: Declare ia64_section_threshold.
      	(PREDICATE_CODES): Delete.
      
      From-SVN: r85855
      Zack Weinberg committed
  20. 20 Jul, 2004 1 commit
    • genattr.c (struct range, [...]): Remove them. · fa0aee89
      2004-07-19  Paolo Bonzini  <bonzini@gnu.org>
      
      	* genattr.c (struct range, struct function_unit,
      	write_units, extend_range, init_range): Remove them.
      	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
      	Output "#define INSN_SCHEDULING" here.
      	* genattrtab.c (struct range, struct function_unit_op,
      	struct function_unit, struct dimension, enum operator,
      	operate_exp, expand_units, simplify_knowing,
      	encode_units_mask, simplify_by_exploding,
      	find_and_mark_used_attributes, unmark_used_attributes,
      	add_values_to_cover, increment_current_value,
      	test_for_current_value, simplify_with_current_value,
      	simplify_with_current_value_aux, gen_unit,
      	write_unit_name, write_function_unit_info,
      	write_complex_function, write_toplevel_expr,
      	find_single_value, extend_range): Remove.
      	(write_attr_get): Do not handle common_av->value
      	being an FFS.
      	(struct attr_desc): Remove func_units_p and blockage_p.
      	(write_attr_valueq): Do not handle them.
      	(find_attr): Do not clear them.
      	(make_internal_attr): Do not initialize them.
      	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
      	* sched-vis.c (init_target_units, insn_print_units,
      	init_block_visualization, print_block_visualization,
      	visualize_scheduled_insns, visualize_no_unit,
      	visualize_stall_cycles, visualize_alloc,
      	visualize_free, target_units, get_visual_tbl_length,
      	MAX_VISUAL_LINES, INSN_LEN, n_visual_lines,
      	visual_tbl_line_length, visual_tbl, n_vis_no_unit,
      	MAX_VISUAL_NO_UNIT, vis_no_unit): Remove.
      	* haifa-sched.c (blockage_range, clear_units,
      	schedule_unit, actual_hazard, potential_hazard,
      	insn_unit, unit_last_insn, unit_tick,
      	actual_hazard_this_instance, potential_hazard,
      	schedule_unit, max_insn_queue_index_value): Remove.
      	(MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to
      	max_insn_queue_index.
      	* rtl.def (DEFINE_FUNCTION_UNIT): Remove.
      	* doc/md.texi (Processor pipeline description): Remove
      	references to old pipeline descriptions.
      	(Automaton pipeline description): Merge with the above.
      	(Old pipeline description, Comparison of the two descriptions):
      	Remove.
      
      	* bt-load.c (migrate_btr_def): Remove references to
      	use_pipeline_interface.
      	* haifa-sched.c (insn_cost, schedule_insn,
      	schedule_block, advance_one_cycle, sched_init,
      	queue_to_ready, sched_finish): Likewise.
      	* modulo-sched.c (sms_schedule, advance_one_cycle,
      	ps_has_conflicts): Likewise.
      	* sched-rgn.c (init_ready): Likewise.
      	(debug_dependencies): Likewise, and remove an "if (1)".
      	* target.h (use_dfa_pipeline_interface): Remove.
      	* config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      	* doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
      
      From-SVN: r84944
      Paolo Bonzini committed
  21. 14 Jul, 2004 1 commit
    • expr.c (enqueue_insn, [...]): Remove. · ad76cef8
      2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
      
      	* expr.c (enqueue_insn, finish_expr_for_function,
      	protect_from_queue, queued_subexp_p, mark_queue,
      	emit_insns_enqueued_after_mark, emit_queue,
      	expand_increment): Remove.
      	(store_constructor): Expand increment as an assignment.
      	(expand_expr_real_1 <case PREINCREMENT_EXPR,
      	case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR,
      	case POSTDECREMENT_EXPR>): Abort.
      	* expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY,
      	QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function,
      	protect_from_queue, emit_queue, queued_subexp_p): Remove.
      	* function.h (pending_chain, x_pending_chain): Remove.
      	* rtl.def (QUEUED): Remove.
      
      	* emit-rtl.c (copy_insn_1, copy_most_rtx,
      	set_used_flags, verify_rtx_sharing): Remove references to QUEUED.
      	* genattrtab.c (attr_copy_rtx, clear_struct_flag,
      	encode_units_mask): Likewise.
      	* local-alloc.c (equiv_init_varies_p): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
      	* simplify-rtx.c (simplify_gen_subreg): Likewise.
      	* config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise.
      
      	* builtins.c (expand_builtin, expand_builtin_apply,
      	expand_builtin_mathfn, expand_builtin_mathfn_2,
      	expand_builtin_mathfn_3, expand_builtin_setjmp_setup):
      	Remove calls to emit_queue and protect_from_queue.
      	* calls.c (expand_call, precompute_arguments,
      	precompute_register_parameters, rtx_for_function_call,
      	store_one_arg): Likewise.
      	* dojump.c (do_compare_and_jump, do_jump): Likewise.
      	* explow.c (memory_address): Likewise.
      	* expmed.c (clear_by_pieces_1, clear_storage,
      	clear_storage_via_libcall, emit_group_load,
      	emit_group_store, emit_store_flag,
      	expand_expr_real_1, store_by_pieces,
      	store_constructor, store_expr, try_casesi,
      	try_tablejump): Likewise.
      	* function.c (expand_pending_sizes): Likewise.
      	* optabs.c (emit_cmp_and_jump_insns,
      	emit_conditional_add, emit_conditional_move,
      	expand_fix, expand_float, prepare_cmp_insn): Likewise.
      	* stmt.c (emit_case_bit_tests,
      	expand_asm_expr, expand_computed_goto,
      	expand_decl_init, expand_end_case_type,
      	expand_end_stmt_expr, expand_expr_stmt_value,
      	expand_return, expand_start_case,
      	optimize_tail_recursion): Likewise.
      	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
      	* config/s390/s390.c (s390_expand_cmpmem): Likewise.
      
      From-SVN: r84675
      Paolo Bonzini committed
  22. 04 Jul, 2004 1 commit
    • rtl.def (ADDRESSOF): Remove. · 8fff4fc1
      	* rtl.def (ADDRESSOF): Remove.
      	* alias.c (rtx_equal_for_memref_p): Don't handle addressof.
      	(find_base_term, memrefs_conflict_p): Likewise.
      	* cse.c (fixed_base_plus_p, find_best_addr: Likewise.
      	(fold_rtx, cse_insn, set_live_p): Likewise.
      	* dwarf2out.c (mem_loc_descriptor): Likewise.
      	(add_location_or_const_value_attribute): Likewise.
      	* emit-rtl.c (copy_insn_1): Likewise.
      	* explow.c (memory_address): Likewise.
      	* expmed.c (store_split_bit_field): Likewise.
      	* expr.c (expand_expr_real_1): Likewise.
      	* function.c (instantiate_decl
      	(instantiate_virtual_regs_1, fix_lexical_addr): Likewise.
      	* genrecog.c (preds, validate_pattern): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	* recog.c (general_operand, register_operand): Likewise.
      	(memory_address_p): Likwise.
      	* reload1.c (eliminate_regs, elimination_effects): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
      	(rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* stmt.c (expand_asm_operands): Likewise.
      	* web.c (entry_register, replace_ref, web_main): Likewise.
      	* config/alpha/alpha.c (input_operand, alpha_legitimate_address_p,
      	alpha_expand_block_move, alpha_expand_block_clear): Likewise.
      	* config/arm/arm.c (thumb_rtx_costs): Likewise.
      	* config/c4x/c4x.c (c4x_valid_operands): Likewise.
      	* config/frv/frv.c (move_destination_operand, move_source_operand,
      	condexec_dest_operand, condexec_source_operand,
      	condexec_memory_operand): Likewise.
      	* config/h8300/h8300.h (PREDICATE_CODES): Likewise.
      	* config/ia64/ia64.c (general_xfmode_operand): Likewise.
      	(destination_xfmode_operand): Likewise.
      	* config/mips/mips.h (PREDICATE_CODES): Likewise.
      	* config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise.
      	* config/s390/s390.c (general_s_operand): Likewise.
      	* config/s390/s390.md (mov*): Likewise.
      	* config/sparc/sparc.h (PREDICATE_CODES): Likewise.
      
      	* c-typeck.c (c_mark_addressable): Don't put_var_into_stack.
      	* expr.c (expand_expr_real_1): Likewise.
      	* stmt.c (expand_decl): Likewise.
      	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
      
      	* function.c (struct fixup_replacement, struct insns_for_mem_entry,
      	postponed_insns, put_var_into_stack, put_reg_into_stack,
      	schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement,
      	fixup_var_refs_insns, fixup_var_refs_insns_with_hash,
      	fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg,
      	walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field,
      	gen_mem_addressof, flush_addressof, put_addressof_into_stack,
      	purge_bitfield_addressof_replacements, purge_addressof_replacements,
      	purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp,
      	struct insns_for_mem_walk_info, insns_for_mem_walk,
      	compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect,
      	setjmp_protect_args): Remove.
      	(push_function_context_to): Don't handle var_refs_queue.
      	(pop_function_context_from, free_after_compilation): Likewise.
      	(instantiate_virtual_regs): Don't handle parm_reg_stack_loc.
      	(assign_parms, allocate_struct_function): Likewise.
      	(use_register_for_decl): New.
      	(expand_function_end): Don't setjmp_protect.
      	* function.h (struct emit_status): Update commentary.
      	(struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc.
      	(max_parm_reg, parm_reg_stack_loc): Remove.
      	* passes.c (DFI_addressof): Remove.
      	(dump_file_info): Remove addressof.
      	(rest_of_handle_addressof): Remove.
      	(rest_of_compilation): Don't call it.
      	* rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove.
      	* stmt.c (expand_decl): Use use_register_for_decl.
      	* tree.h: Update decls.
      	* web.c (mark_addressof): Remove.
      	* doc/invoke.texi (-dF): Remove.
      
      ada/
              * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
      cp/
              * typeck.c (cxx_mark_addressable): Don't put_var_into_stack.
      fortran/
              * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
      treelang/
              * treetree.c (tree_mark_addressable):  Don't put_var_into_stack.
      
      From-SVN: r84072
      Richard Henderson committed
  23. 30 Jun, 2004 1 commit
    • Conditionally compile support for --enable-mapped_location. · c1667470
      	* input.h:  #include line-map.h for source_location typedef.
      	(BUILTINS_LOCATION, UNKNOWN_LOCATION, expand_location,
      	LOCATION_FILE, LOCATION_LINE):  New macros and functions.
      	(expanded_location, source_locus):  New typedefs.
      	(push_srcloc):  Change parameter list if USE_MAPPED_LOCATION.
      	* rtl.def (NOTE, ASM_OPERANDS):  Modify specifcation, if
      	USE_MAPPED_LOCATION.
      	* rtl.h (NOTE_DELETED_LABEL_NAME):  New macro.
      	(NOTE_SOURCE_LOCATION, NOTE_EXPNDED_LOCATION, SET_INSN_DELETED):
      	New conditional macros.
      	(ASM_OPERANDS_SOURCE_FILE, ASM_OPERANDS_SOURCE_LINE):  Replace
      	by ASM_OPERANDS_SOURCE_LOCATION if USE_MAPPED_LOCATION.
      	* tree.h (EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_HAS_LOCATION,
      	EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LINENO,
      	DECL_IS_BUILTIN):  New macros, most depending on USE_MAPPED__LOCATION.
      	(tree_exp):  Change type of locus to use new source_locus typedef.
      	* tree.c (build1_stat):  Use SET_EXPR_LOCATION.
      	(annotate_with_locus, annotate_with_file_line):  Conditionalize.
      	(expand_location):  New function.
      	* toplev.c (unknown_location):  New static, when USE_MAPPED_LOCATION.
      	(push_srcloc, pop_loc):  Adjust parameter handling.
      	(process_options):  Don't set input_filename by itself.
      	(lang_dependent_init):  Save, set input_location to <built-in>.
      	(warn_deprecated_use):  Use expand_location.
      
      From-SVN: r83918
      Per Bothner committed
  24. 03 Jun, 2004 2 commits
    • * rtl.def (VAR_LOCATION): Make RTX_EXTRA. · ed5947c9
      From-SVN: r82607
      Steven Bosscher committed
    • basic-block.c (tail_recursion_label_list): Don't declare. · 6ce2bcb7
      	* basic-block.c (tail_recursion_label_list): Don't declare.
      	(CLEANUP_PRE_SIBCALL): Remove.  Renumber the other CLEANUP_*
      	accordingly.
      	* cfgbuild.c (find_label_refs): Remove.
      	(find_basic_blocks_1): Don't handle CALL_PLACEHOLDER insns.
      	* cfgcleanup.c (tail_recursion_label_p): Remove.
      	(merge_blocks_move): Do not check for tail recursion.
      	(try_optimize_cfg): Likewise.
      	(cleanup_cfg): Never handle CLEANUP_PRE_SIBCALL.
      	* cfgrtl.c (tail_recursion_label_list): Remove.
      	* except.c (remove_unreachable_regions): Don't handle
      	CALL_PLACEHOLDER insns.
      	(convert_from_eh_region_ranges_1, can_throw_internal,
      	can_throw_external): Likewise.
      	* function.c (free_after_compilation): Don't clear
      	x_tail_recursion_label.
      	(fixup_var_refs_insns): Don't handle CALL_PLACEHOLDER insns.
      	(identify_blocks_1): Don't recurse for CALL_PLACEHOLDER insns.
      	(reorder_blocks_1): Likewise.
      	* function.h (struct function): Remove x_tail_recursion_label
      	member.  Don't define tail_recursion_label.
      	* jump.c (mark_all_labels): Don't handle CALL_PLACEHOLDER insns.
      	* print-rtl.c (print_rtx): Likewise.
      	* rtl.def (CALL_PLACEHOLDER): Remove.
      	* rtl.h (sibcall_use_t): Remove enum.
      	(optimize_sibling_and_tail_recursive_calls,
      	replace_call_placeholder): Remove function prototypes.
      	* stmt.c (tail_recursion_args): Remove.
      	(optimize_tail_recursion): Remove.
      	(expand_return): Don't check for possible tail recursion.
      	* tree.h (optimize_tail_recursion): Remove prototype.
      
      From-SVN: r82597
      Steven Bosscher committed
  25. 13 May, 2004 1 commit
  26. 03 Mar, 2004 1 commit
    • alias.c (rtx_equal_for_memref_p): Use predicates to test rtx classes and new rtx class codes... · ec8e098d
      2004-02-07  Paolo Bonzini  <bonzini@gnu.org>
      
      	* alias.c (rtx_equal_for_memref_p): Use predicates
      	to test rtx classes and new rtx class codes, possibly
      	splitting conditionals that tested against '<' and 'o'.
      	* caller-save.c (save_call_clobbered_regs): Likewise.
      	* combine.c (contains_muldiv, find_split_point, subst,
      	combine_simplify_rtx, simplify_if_then_else,
      	simplify_set, simplify_logical, expand_compound_operation,
      	make_compound_operation, if_then_else_cond, known_cond,
      	apply_distributive_law, cached_nonzero_bits,
      	cached_num_sign_bit_copies, simplify_shift_const,
      	gen_binary, simplify_comparison, update_table_tick,
      	record_value_for_reg, get_lsat_value_validate): Likewise.
      	* cse.c (mention_regs, find_best_addr, find_comparison_args,
      	fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
      	Likewise.
      	* emit-rtl.c (copy_insn_1): Likewise.
      	* expr.c (force_operand): Likewise.
      	* final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
      	* flow.c (notice_stack_pointer_modification_1,
      	invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
      	and_reg_cond, elim_reg_cond): Likewise.
      	* function.c (update_epilogue_consts): Likewise.
      	* genattrtab.c (attr_rtx_1): Likewise.
      	* genopinit.c (gen_insn): Likewise.
      	* integrate.c (subst_constants): Likewise.
      	* jump.c (reversed_comparison_code_parts,
      	reversed_comparison_code, delete_related_insns,
      	rtx_renumbered_equal_p): Likewise.
      	* local-alloc.c (block_alloc): Likewise.
      	* loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
      	canonicalize_condition): Likewise.
      	* loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
      	Likewise.
      	* optabs.c (add_equal_node, expand_binop): Likewise.
      	* predict.c (estimate_probability): Likewise.
      	* ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
      	* recog.c (validate_replace_rtx_1, comparison_operator,
      	offsettable_address_p, constrain_operands): Likewise.
      	* reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
      	Likewise.
      	* regclass.c (scan_one_insn): Likewise.
      	* regmove.c (stable_and_no_regs_but_for_p): Likewise.
      	* regrename.c (kill_autoinc_value): Likewise.
      	* reload.c (find_reusable_reload, find_reloads,
      	reg_overlap_mentioned_for_reload_p): Likewise.
      	* reload1.c (gen_reload, delete_address_reloads_1): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtl.h (CONSTANT_P, INSN_P): Likewise.
      	* rtlanal.c (commutative_operand_precedence): Likewise.
      	* sched-deps.c (conditions_mutex_p): Likewise.
      	* sched-rgn.c (is_cfg_nonregular): Likewise.
      	* simplify-rtx.c (simplify_gen_binary,
      	simplify_gen_relational, simplify_replace_rtx,
      	simplify_unary_operation, simplify_binary_operation,
      	simplify_ternary_operation, simplify_rtx): Likewise.
      	* unroll.c (reg_dead_after_loop): Likewise.
      	* config/alpha/alpha.c (alpha_swapped_comparison_operator,
      	print_operand): Likewise.
      	* config/arc/arc.c (proper_comparison_operator): Likewise.
      	* config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
      	Likewise.
      	* config/avr/avr.c (_reg_unused_after): Likewise.
      	* config/frv/frv.c (frv_ifcvt_modify_tests,
      	frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
      	* config/i386/i386.c (ix86_comparison_operator,
      	ix86_carry_flag_operator, fcmov_comparison_operator,
      	arith_or_logical_operator, print_operand,
      	ix86_expand_binary_operator, ix86_binary_operator_ok):
      	Likewise.
      	* config/i386/i386.md: Likewise.
      	* config/ia64/ia64.c (not_postinc_memory_operand,
      	ia64_print_operand, update_set_flags, errata_emit_nops):
      	Likewise.
      	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
      	CONSTRAINT_OK_FOR_S): Likewise.
      	* config/ip2k/ip2k.c (mdr_resequence_xy_yx,
      	mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
      	ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
      	ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
      	Likewise.
      	* config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
      	eqne_comparison_operator, signed_comparison_operator):
      	Likewise.
      	* config/mips/mips.c (cmp_op, symbolic_expression_p):
      	Likewise.
      	* config/mmix/mmix (mmix_foldable_comparison_operator,
      	mmix_comparison_operator): Likewise.
      	* config/pa/pa.c (hppa_legitimize_address): Likewise.
      	* config/rs6000/rs6000.c (stmw_operation,
      	branch_comparison_operator, trap_comparison_operator,
      	ccr_bit): Likewise.
      	* config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
      	* config/s390/s390.c (s390_alc_comparison,
      	s390_slb_comparison):L Likewise.
      	* config/sh/sh.c (gen_block_redirect, reg_unused_after):
      	Likewise.
      	* config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
      	noov_compare_op, noov_compare64_op, v9_regcmp_op,
      	emit_hard_tfmode_operation, reg_unused_after)
      	* doc/md.texi, doc/rtl.texi: Likewise.
      
      	* ra-debug.c: Add 2004 to list of copyright years.
      	* unroll.c: Likewise.
      
      	* combine.c (simplify_logical): Remove dummy test,
      	(apply_distributive_law): Fix typo in comment.
      	GET_CODE (x) == AND so x is a commutative binary op.
      	* jump.c (delete_related_insns): simplify loop
      	condition, move testing of RTX codes inside the loop.
      	(rtx_renumbered_equal_p): do not use RTX_CODE.
      	* rtl.c (rtx_class): Declare as enum rtx_class.
      	* rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
      	Move to RTX_COMM_COMPARE class.
      	(HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
      	Move to RTX_CONST_OBJ class.
      	* rtl.h (enum rtx_class): New declaration,
      	(RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
      	RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
      	RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
      	RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
      	RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
      	ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
      	SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
      	OBJECT_P): New macros.
      	* config/sparc/sparc.c (noov_compare_op): Remove register
      	from parameter.
      
      From-SVN: r78824
      Paolo Bonzini committed
  27. 02 Mar, 2004 2 commits
  28. 06 Feb, 2004 1 commit
    • Josef Zlomek <zlomekj@suse.cz> · 014a1138
      	Josef Zlomek  <zlomekj@suse.cz>
      	* Makefile.in (var-tracking.o): New.
      	* common.opt (fvar-tracking): New.
      	* flags.h (flag_var_tracking): New.
      	* gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
      	* opts.c (common_handle_option): Add OPT_fvar_tracking.
      	* print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
              * rtl.c (note_insn_name): Likewise.
              * rtl.def (VAR_LOCATION): New.
              * rtl.h (NOTE_VAR_LOCATION): New.
              (NOTE_VAR_LOCATION_DECL): New.
              (NOTE_VAR_LOCATION_LOC): New.
              (enum insn_note): NOTE_INSN_VAR_LOCATION was added.
              (variable_tracking_main): New exported function.
              * timevar.def (TV_VAR_TRACKING): New.
              * toplev.c (enum dump_file_index): Added DFI_vartrack.
              (dump_file): "vartrack" was added (-dV).
              (flag_var_tracking): New.
              (f_options): "var-tracking" was added.
      	(rest_of_handle_variable_tracking): New function.
              (rest_of_compilation): Run variable tracking.
      	(process_options): If user has not specified flag_var_tracking set it
      	according to optimize, debug_info_level and debug_hooks.
      	* tree.h (frame_base_decl): New.
              * var-tracking.c: New file.
      	* config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
      	(ia64_override_options): Set flags to run variable tracking in machine
      	dependent reorg instead of toplev.c.
      	(ia64_reorg): Run variable tracking if wanted.
              * doc/invoke.texi: Mention variable tracking in -dV,
      	add and -fvar-tracking.
              * doc/passes.texi: Added variable tracking pass.
      
      	Daniel Berlin <dberlin@dberlin.org>
      	* debug.h (struct gcc_debug_hooks): Added var_location debug hook.
      	* dbxout.c (dbx_debug_hooks): Likewise.
      	(xcoff_debug): Likewise.
      	* debug.c (do_nothing_debug_hooks): Likewise.
      	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
      	* dwarfout.c (dwarf_debug_hooks): Likewise.
      	* sdbout.c (sdb_debug_hooks): Likewise.
      	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
      	* final.c (final_scan_insn): Call var_location debug hook for each
      	NOTE_INSN_VAR_LOCATION.
      
      Co-Authored-By: Daniel Berlin <dberlin@dberlin.org>
      
      From-SVN: r77418
      Josef Zlomek committed
  29. 22 Jan, 2004 1 commit
  30. 13 Jan, 2004 1 commit
    • rtl.def: Add comment about new option in automata_option. · dfa849f3
      2004-01-13  Vladimir Makarov  <vmakarov@redhat.com>
      
              * rtl.def: Add comment about new option in automata_option.
      
      	* genautomata.c (PROGRESS_OPTION): New macro.
      	(progress_flag): New global variable.
      	(gen_automata_option): Process `progress'.
      	(transform_insn_regexps, check_unit_distributions_to_automata,
      	make_automaton, NDFA_to_DFA, build_automaton, create_automata,
      	expand_automata, write_automata): Print about the progress only if
      	progress_flag.  Remove fflush.
      	(initiate_automaton_gen): Process command line flag `-progress'.
      
      	* doc/md.texi: Describe the new option.
      
      From-SVN: r75812
      Vladimir Makarov committed
  31. 10 Dec, 2003 1 commit
  32. 24 Nov, 2003 1 commit
    • genattrtab.c (simplify_cond): Update indices correctly. · 8653a1ed
      	* genattrtab.c (simplify_cond): Update indices correctly.
      	(attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
      	attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
      	(check_attr_test, encode_units_mask, compute_alternative_mask,
      	make_alternative_compare, simplify_and_tree,
      	attr_rtx_cost, simplify_test_exp, gen_attr,
      	write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
      	* rtl.def (EQ_ATTR_ALT): New.
      
      From-SVN: r73873
      Zdenek Dvorak committed
  33. 21 Nov, 2003 1 commit
    • ssa.c, [...]: Remove files. · c132886e
              * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
              * Makefile.in (OBJS-common, GTFILES): Don't reference them.
              (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
              (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
              * flow.c: Don't include ssa.h.
              (set_phi_alternative_reg): Remove.
              (calculate_global_regs_live): Don't call it.
              (mark_used_regs): Don't handle PHI.
              * gengtype.c (open_base_files): Don't reference ssa.h.
              * rtl.def (PHI): Remove.
              * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
              * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
              * opts.c (common_handle_option): Likewise.
              * toplev.c (f_options): Likewise.
              (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
              (dump_file): Update to match.
              (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
              (rest_of_handle_ssa): Remove.
              (rest_of_compilation): Don't call it.
              * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
              * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
              * doc/passes.texi (SSA optimizations): Remove.
      
              * gcc.dg/20020201-2.c: Remove.
              * gcc.dg/20020201-4.c: Remove.
              * gcc.dg/20020304-1.c: Remove.
      
      From-SVN: r73789
      Richard Henderson committed
  34. 18 Oct, 2003 1 commit
    • rtl.h (rtl_size): Declare. · e1de1560
      	* rtl.h (rtl_size): Declare.
      	(rtunion): Remove rtwint.
      	(rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
      	(RTX_HDR_SIZE, RTX_SIZE): New macros.
      	(RTL_CHECK1): Adjust for new rtx_def layout.
      	(RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
      	(XWINT, XCWINT): Likewise.  Access the rtx structure directly.
      	(X0WINT): Remove.
      	(X0ANY): New macro.
      	* rtl.def: Adjust comments for new rtx_def layout.
      	* ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
      	number of slots.
      	* rtl.c (rtx_size): New array.
      	(rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
      	(copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
      	(shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
      	* integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
      	* emit-rtl.c (copy_most_rtx): Likewise.
      	(copy_rtx_if_shared): Use RTX_SIZE.
      	(copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
      	* gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
      	* gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
      	(adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
      	an array.  Adjust output for new rtx_def layout.
      	* ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
      	* reload1.c (eliminate_regs): Use RTX_SIZE.
      	* rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
      	* gdbinit.in (pi): Likewise.
      
      From-SVN: r72647
      Richard Sandiford committed
  35. 11 Jul, 2003 1 commit
  36. 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
  37. 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