1. 25 Nov, 2009 1 commit
    • Remove trailing white spaces. · b8698a0f
      2009-11-25  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* alias.c: Remove trailing white spaces.
      	* alloc-pool.c: Likewise.
      	* alloc-pool.h: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* builtins.def: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-format.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-tree.h: Likewise.
      	* c-typeck.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cif-code.def: Likewise.
      	* collect2.c: Likewise.
      	* combine.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbgcnt.c: Likewise.
      	* dbgcnt.def: Likewise.
      	* dbgcnt.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* ddg.h: Likewise.
      	* defaults.h: Likewise.
      	* df-byte-scan.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* df.h: Likewise.
      	* dfp.c: Likewise.
      	* diagnostic.c: Likewise.
      	* diagnostic.h: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* double-int.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2asm.h: Likewise.
      	* dwarf2out.c: Likewise.
      	* ebitmap.c: Likewise.
      	* ebitmap.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* flags.h: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcov-dump.c: Likewise.
      	* gcov-io.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genchecksum.c: Likewise.
      	* genconfig.c: Likewise.
      	* genflags.c: Likewise.
      	* gengtype-parse.c: Likewise.
      	* gengtype.c: Likewise.
      	* gengtype.h: Likewise.
      	* genmddeps.c: Likewise.
      	* genmodes.c: Likewise.
      	* genopinit.c: Likewise.
      	* genpreds.c: Likewise.
      	* gensupport.c: Likewise.
      	* ggc-common.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc-zone.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.def: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graphds.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* gthr-nks.h: Likewise.
      	* gthr-posix.c: Likewise.
      	* gthr-posix.h: Likewise.
      	* gthr-posix95.h: Likewise.
      	* gthr-single.h: Likewise.
      	* gthr-tpf.h: Likewise.
      	* gthr-vxworks.h: Likewise.
      	* gthr.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* hard-reg-set.h: Likewise.
      	* hooks.c: Likewise.
      	* hooks.h: Likewise.
      	* hosthooks.h: Likewise.
      	* hwint.h: Likewise.
      	* ifcvt.c: Likewise.
      	* incpath.c: Likewise.
      	* init-regs.c: Likewise.
      	* integrate.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa-struct-reorg.h: Likewise.
      	* ipa-type-escape.c: Likewise.
      	* ipa-type-escape.h: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lambda-code.c: Likewise.
      	* lambda-mat.c: Likewise.
      	* lambda-trans.c: Likewise.
      	* lambda.h: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* libgcov.c: Likewise.
      	* lists.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto-wpa-fixup.c: Likewise.
      	* matrix-reorg.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omega.h: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* opts-common.c: Likewise.
      	* opts.c: Likewise.
      	* params.def: Likewise.
      	* params.h: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* predict.def: Likewise.
      	* pretty-print.c: Likewise.
      	* pretty-print.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* read-rtl.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sbitmap.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-dump.h: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sel-sched.h: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* stub-objc.c: Likewise.
      	* sync-builtins.def: Likewise.
      	* target-def.h: Likewise.
      	* target.h: Likewise.
      	* targhooks.c: Likewise.
      	* targhooks.h: Likewise.
      	* timevar.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* toplev.h: Likewise.
      	* tracer.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-affine.h: Likewise.
      	* tree-browser.def: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-dump.h: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-flow-inline.h: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-loop-linear.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nomudflap.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pass.h: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-operands.h: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* treestruct.def: Likewise.
      	* unwind-compat.c: Likewise.
      	* unwind-dw2-fde-glibc.c: Likewise.
      	* unwind-dw2.c: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vec.c: Likewise.
      	* vec.h: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* xcoffout.c: Likewise.
      
      From-SVN: r154645
      H.J. Lu committed
  2. 22 Jun, 2009 1 commit
    • alias.c: Use REG_P... · 481683e1
      2009-06-22  Shujing Zhao  <pearly.zhao@oracle.com>
      
      	* alias.c: Use REG_P, MEM_P, CONST_INT_P, LABEL_P, CALL_P, NOTE_P and
      	JUMP_TABLE_DATA_P predicates where applicable.
      	* auto-inc-dec.c: Ditto.
      	* builtins.c: Ditto.
      	* caller-save.c: Ditto.
      	* calls.c: Ditto.
      	* cfgcleanup.c: Ditto.
      	* cfglayout.c: Ditto.
      	* cfgrtl.c: Ditto.
      	* combine.c: Ditto.
      	* combine-stack-adj.c: Ditto.
      	* cse.c: Ditto.
      	* cselib.c: Ditto.
      	* dbxout.c: Ditto.
      	* df-scan.c: Ditto.
      	* dse.c: Ditto.
      	* dwarf2asm.c: Ditto.
      	* dwarf2out.c: Ditto.
      	* emit-rtl.c: Ditto.
      	* except.c: Ditto.
      	* explow.c: Ditto.
      	* expmed.c: Ditto.
      	* expr.c: Ditto.
      	* final.c: Ditto.
      	* function.c: Ditto.
      	* fwprop.c: Ditto.
      	* gcse.c: Ditto.
      	* genpreds.c: Ditto.
      	* genrecog.c: Ditto.
      	* ifcvt.c: Ditto.
      	* ira-costs.c: Ditto.
      	* ira-lives.c: Ditto.
      	* jump.c: Ditto.
      	* loop-iv.c: Ditto.
      	* lower-subreg.c: Ditto.
      	* modulo-sched.c: Ditto.
      	* optabs.c: Ditto.
      	* postreload.c: Ditto.
      	* print-rtl.c: Ditto.
      	* recog.c: Ditto.
      	* reginfo.c: Ditto.
      	* regmove.c: Ditto.
      	* reload1.c: Ditto.
      	* reload.c: Ditto.
      	* reorg.c: Ditto.
      	* rtlanal.c: Ditto.
      	* rtl.c: Ditto.
      	* sched-vis.c: Ditto.
      	* sdbout.c: Ditto.
      	* sel-sched-ir.c: Ditto.
      	* simplify-rtx.c: Ditto.
      	* targhooks.c: Ditto.
      	* var-tracking.c: Ditto.
      	* vmsdbgout.c: Ditto.
      
      From-SVN: r148786
      Shujing Zhao committed
  3. 30 Apr, 2009 1 commit
  4. 24 Apr, 2009 1 commit
  5. 06 Mar, 2009 1 commit
  6. 20 Feb, 2009 1 commit
  7. 09 Dec, 2008 1 commit
    • tm.texi (TARGET_IRA_COVER_CLASSES): Modify description. · 7db7ed3c
      2008-12-09  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
      
      	* doc/invoke.texi (-fira-region): Describe new option.
      	(-fira-algorithm): Change the values.
      
      	* ira-conflicts.c (build_conflict_bit_table,
      	build_allocno_conflicts): Use ira_reg_classes_intersect_p.
      	(ira_build_conflicts): Use flag flag_ira_region instead of
      	flag_ira_algorithm.  Prohibit usage of callee-saved likely spilled
      	base registers for allocnos crossing calls.
      
      	* flags.h (enum ira_algorithm): Redefine.
      	(enum ira_region): New.
      	(flag_ira_region): New.
      
      	* cfgloopanal.c (estimate_reg_pressure_cost): Use flag_ira_region
      	instead of flag_ira_algorithm.
      
      	* toplev.c (flag_ira_algorithm): Change the initial value.
      	(flag_ira_region): New.
      
      	* ira-int.h (ira_reg_classes_intersect_p,
      	ira_reg_class_super_classes): New.
      
      	* ira-color.c (update_copy_costs): Use
      	ira_reg_classes_intersect_p.  Use right class to find hard reg
      	index.
      	(update_conflict_hard_regno_costs): Ditto.  Add a new parameter.
      	(assign_hard_reg): Ditto.  Pass additional argument to
      	update_conflict_hard_regno_costs.  Do not uncoalesce for priority
      	coloring.
      	(allocno_priorities, setup_allocno_priorities,
      	allocno_priority_compare_func): Move before color_allocnos.
      	(color_allocnos): Add priority coloring.  Use flag flag_ira_region
      	instead of flag_ira_algorithm.
      	(move_spill_restore): Check classes of the same reg allocno from
      	different regions.
      	(update_curr_costs): Use ira_reg_classes_intersect_p.
      	(ira_reassign_conflict_allocnos): Ditto.
      
      	* opts.c (decode_options): Always set up flag_ira.  Set up
      	flag_ira_algorithm.  Warn CB can not be used for architecture.
      	(common_handle_option): Modify code for -fira-algorithm.  Add code
      	to process -fira-region.
      
      	* ira-lives.c (update_allocno_pressure_excess_length): Process
      	superclasses too.
      	(set_allocno_live, clear_allocno_live, mark_reg_live,
      	mark_reg_dead, process_bb_node_lives): Ditto.
      
      	* ira-emit.c (ira_emit): Fix insn codes.
      	
      	* ira-build.c (propagate_allocno_info): Use flag flag_ira_region
      	instead of flag_ira_algorithm.
      	(allocno_range_compare_func): Ignore classes for priority
      	coloring.
      	(setup_min_max_conflict_allocno_ids): Ditto.
      	(ira_flattening): Use ira_reg_classes_intersect_p.
      
      	* genpreds.c (write_enum_constraint_num): Output
      	CONSTRAINT__LIMIT.
      	
      	* common.opt (fira-algorithm): Modify.
      	(fira-region): New.
      
      	* ira.c (setup_class_hard_regs): Initialize.
      	(setup_cover_and_important_classes): Modify code setting class
      	related info for priority coloring.
      	(setup_class_translate): Ditto.
      	(ira_reg_classes_intersect_p, ira_reg_class_super_classes): New.
      	(setup_reg_class_intersect_union): Rename to
      	setup_reg_class_relations.  Add code for setting up new variables.
      	(find_reg_class_closure): Do not check targetm.ira_cover_classes.
      	(ira): Use flag flag_ira_region instead of flag_ira_algorithm.
      
      	* ira-costs.c (common_classes): New.
      	(print_costs): Use flag flag_ira_region instead of
      	flag_ira_algorithm.
      	(find_allocno_class_costs): Ditto.  Use common_classes.  Translate
      	alt_class.
      	(ira_costs): Allocate/deallocate common_classes.
      	
      	* config/m32c/m32.h (REG_ALLOC_ORDER): Add reg 19.
      	(REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): New entries for
      	R02A_REGS.
      
      	* reload1.c (choose_reload_regs): Use MODE_INT for partial ints in
      	smallest_mode_for_size.
      
      From-SVN: r142610
      Vladimir Makarov committed
  8. 26 Jun, 2008 1 commit
    • cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or -Wcast-qual warnings. · 7cbb2a85
      	* cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or
      	-Wcast-qual warnings.
      	* gcc.c (process_command): Likewise.
      	* genattrtab.c (oballoc): Use XOBNEW.
      	(oballocvec): Define.
      	(attr_hash_add_rtx, attr_hash_add_string, attr_string,
      	get_attr_value, fill_attr, make_length_attrs, gen_attr, gen_insn,
      	gen_delay, find_attr, gen_insn_reserv, gen_bypass_1): Fix
      	-Wc++-compat and/or -Wcast-qual warnings.
      	* genautomata.c (XCREATENODE, XCREATENODEVEC, XCREATENODEVAR,
      	XCOPYNODE, XCOPYNODEVEC, XCOPYNODEVAR): New.
      	(gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
      	gen_presence_absence_set, gen_automaton, gen_regexp_el,
      	gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
      	gen_regexp_sequence, gen_reserv, gen_insn_reserv, process_excls,
      	add_excls, process_presence_absence_names,
      	process_presence_absence_patterns, add_presence_absence,
      	process_regexp, add_advance_cycle_insn_decl, get_free_alt_state,
      	get_free_state, add_arc, get_free_automata_list_el,
      	form_reserv_sets_list, copy_insn_regexp, transform_1, transform_2,
      	transform_3, cache_presence, create_ainsns, create_automata,
      	create_state_ainsn_table, dfa_insn_code_enlarge,
      	output_trans_func, output_min_issue_delay_func,
      	output_dead_lock_func, output_reset_func,
      	output_get_cpu_unit_code_func, output_dfa_start_func,
      	expand_automata): Likewise.
      	* genextract.c (gen_insn): Likewise.
      	* gengtype-lex.l: Likewise.
      	* gengtype.c (read_input_list, adjust_field_type,
      	process_gc_options): Likewise.
      	* genoutput.c (note_constraint): Likewise.
      	* genpreds.c (mangle, add_constraint): Likewise.
      	* genrecog.c (process_define_predicate, new_decision,
      	add_to_sequence): Likewise.
      	* gensupport.c (record_insn_name): Likewise.
      
      From-SVN: r137135
      Kaveh R. Ghazi committed
  9. 27 May, 2008 1 commit
    • defaults.h (TARGET_MEM_CONSTRAINT): New target macro added. · a4edaf83
      2008-05-27  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	* defaults.h (TARGET_MEM_CONSTRAINT): New target macro added.
      	* postreload.c (reload_cse_simplify_operands): Replace 'm'
      	constraint with TARGET_MEM_CONSTRAINT.
      	* recog.c (asm_operand_ok, preprocess_constraints,
      	constrain_operands): Likewise.
      	* regclass.c (record_reg_classes): Likewise.
      	* reload.c (find_reloads, alternative_allows_const_pool_ref):
      	Likewise.
      	* reload1.c (maybe_fix_stack_asms): Likewise.
      	* stmt.c (parse_output_constraint, parse_input_constraint):
      	Likewise.
      	* recog.h: Adjust comment.
      	* genpreds.c (generic_constraint_letters): Remove 'm' constraint.
      	* genoutput.c (note_constraint): Don't emit error for 'm'
      	constraint.
      	* doc/md.texi: Add a note to description of 'm' constraint.
      	* doc/tm.texi: Document the new TARGET_MEM_CONSTRAINT macro.
      
      From-SVN: r136011
      Andreas Krebbel committed
  10. 26 Jul, 2007 1 commit
  11. 03 Apr, 2007 1 commit
  12. 17 Jan, 2007 1 commit
  13. 04 Oct, 2006 1 commit
    • Fix bug in constraint-check generator, reported by Rask Ingemann Lambertsen: · 9e826585
      	Fix bug in constraint-check generator, reported by Rask Ingemann
      	Lambertsen:
      	* genpreds.c (add_constraint): Don't remove anything from the
      	expression here.
      	(write_tm_constrs_h): Detect whether "op" argument is used, and
      	mark it ARG_UNUSED if it isn't.
      	(write_insn_const_int_ok_for_constraint): Skip the part of the
      	expression that would test whether "op" (which is not available
      	here) is a CONST_INT.
      
      From-SVN: r117433
      Zack Weinberg committed
  14. 30 Jun, 2006 1 commit
  15. 29 Jun, 2006 2 commits
  16. 28 Jun, 2006 1 commit
    • genpreds.c (generate_switch_p): New function. · 7caf6734
      	* genpreds.c (generate_switch_p): New function.
      	(add_mode_tests): Push the new mode test down inside an AND expr
      	if this allows the switch-suitable MATCH_CODE to be near the root.
      	(write_match_code_switch): New function to write a MATCH_CODE as
      	a switch statement.
      	(write_predicate_stmts): New function to write a predicate RTX
      	expression as a sequence of statements.
      	(write_one_predicate_function): Use write_predicate_stmts.
      	(write_tm_constrs_h): Likewise.
      
      From-SVN: r115055
      Roger Sayle committed
  17. 29 Mar, 2006 2 commits
    • * genpreds.c (write_tm_constrs_h): Delete variable p. · 10a27391
      From-SVN: r112515
      David Edelsohn committed
    • genemit.c (main): Add tm-constrs.h to included headers. · 279bb624
              * genemit.c (main): Add tm-constrs.h to included headers.
              * genoutput.c (output_prologue): Add tm-constrs.h to included headers.
              * genpeep.c (main): Add tm-constrs.h to included headers.
              * genpreds.c (write_satisfies_constraint_fns): Rename to ...
              (write_tm_constrs_h): this and write complete file.
              (write_tm_preds_h): Do not emit satisfies_constraint fns.
              (write_insn_preds_c): Add tm-constrs.h to included headers.
              (gen_constrs): New variable.
              (parse_option): Parse "-c".
              (main): Invoke write_tm_constrs_h.
              * genrecog.c (write_header): Add tm-constrs.h to included headers.
              * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h.
              (object_out_file): Add tm-constrs.h dependency.
              (insn-emit.o): Same.
              (insn-output.o): Same.
              (insn-peep.o): Same.
              (insn-preds.o): Same.
              (insn-recog.o): Same.
              (tm-constsr.h): New target.
              (s-constrs-h): New target.
      
              * config/rs6000/constraints.md: New file.
              * config/rs6000/rs6000.c: Include tm-constrs.h.
              (num_insn_constant_wide): Convert to satisfies_constraint.
              (rs6000_rtx_costs): Convert to satisfies_constraint.
              * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete.
              (CONST_OK_FOR_LETTER_P): Delete.
              (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
              (EXTRA_CONSTRAINT): Delete.
              (EXTRA_MEMORY_CONSTRAINT): Delete.
              (EXTRA_ADDRESS_CONSTRAINT): Delete.
              * config/rs6000/predicates.md: Convert to satisfies_constraint.
              * config/rs6000/rs6000.md: Include constraints.md.  Convert to
              satisfies_constraint.
      
              * config/i386/i386.c: Include tm-constrs.h.
      
      From-SVN: r112508
      David Edelsohn committed
  18. 20 Mar, 2006 1 commit
  19. 19 Mar, 2006 1 commit
  20. 10 Mar, 2006 1 commit
  21. 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
  22. 23 Jan, 2006 2 commits
    • 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
    • r110124@banpei: zack | 2006-01-22 14:45:55 -0800 · 0458fe77
       r110124@banpei:  zack | 2006-01-22 14:45:55 -0800
       	* gensupport.c: Define get_insn_name and record_insn_name here.
       	(read_md_rtx): Call record_insn_name as appropriate.
       	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
       	* genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
       	* genpreds.c, genrecog.c: Don't define get_insn_name nor
       	record_insn_name.
       	* Makefile.in (BUILD_SUPPORT, BUILD_PRINT): Fold into BUILD_RTL.
       	(BUILD_VARRAY): Delete.
       	(genprognormal): Rename genprogmd.  Fold in all programs from
       	genprognoprint; also attrtab.
       	(build/genattrtab): Just mention genautomata.o and varray.o.
       	Reorganize a bit, add comments to make the categories clearer.
      
      From-SVN: r110120
      Zack Weinberg committed
  23. 17 Dec, 2005 1 commit
    • tree-inline.c (copy_body_r): Use explicit cast when converting from void *. · cceb1885
              * tree-inline.c (copy_body_r): Use explicit cast when
                converting
              from void *.
              (copy_bb): Likewise.
              (copy_edges_for_bb): Likewise.
              (remap_decl_1): Likewise.
              (estimate_num_insns_1): Likewise.
              * cgraph.c (hash_node): Use explicit cast when converting from
              void *.
              (eq_node): Likewise.
              (cgraph_create_node): Use GGC_CNEW.
              (cgraph_create_edge): Use GGC_NEW.
              (cgraph_remove_node): Use explicit cast when converting from
                void *.
              (hash_varpool_node): Likewise.
              (eq_varpool_node): Likewise.
              (cgraph_varpool_node): Use GGC_CNEW.
              * lambda.h (lambda_vector_new): Use GGC_CNEWVEC.
              * tree-scalar-evolution.c (new_scev_info_str): Use XNEW.
              (eq_scev_info): Use explicit cast when converting from void *.
              (find_var_scev_info): Likewise.
              (set_instantiated_value): Likewise.
              (gather_stats_on_scev_database_1): Likewise.
              * cfgloop.h (simple_loop_desc): Use explicit cast when
                converting
              from void *.
              * c-pch.c (c_common_write_pch): Use XNEWVEC.
              (c_common_read_pch): Likewise.
              * prefix.c (save_string): Use XNEWVEC.
              (translate_name): Use explicit cast when converting from void
                *.
              * c-ppoutput.c (print_line): Use explicit cast when converting
              from void *.
              (pp_dir_change): Likewise.
              * c-cppbuiltin.c (builtin_define_std): Likewise.
              (builtin_define_with_value): Likewise.
              (builtin_define_with_value_n): Likewise.
              (builtin_define_with_int_value): Likewise.
              (builtin_define_type_max): Likewise.
              * c-incpath.c (add_env_var_paths): Use XNEWVEC.
              (add_path): Use XNEW.
              * c-format.c (check_format_info_main): Use GGC_NEW.
              (format_type_warning): Use explicit cast when converting from
                void *.
              * c-typeck.c (alloc_tagged_tu_seen_cache): Use XNEW instead of
              xmalloc. 
              (start_init): Likewise.
              * tree-flow-inline.h (first_referenced_var): Use explicit cast
              when converting from void *.
              (next_referenced_var): Likewise.
              * c-pragma.c (push_alignment): Use GGC_NEW instead of
                ggc_alloc.
              * gensupport.c (lookup_predicate): Use explicit cast to
                convert
              from void *.
              (init_predicate_table): Use XCNEW instead of xcalloc.
              * genpreds.c (process_define_predicate): Likewise.
      
      From-SVN: r108723
      Gabriel Dos Reis committed
  24. 25 Jun, 2005 1 commit
  25. 06 Jun, 2005 1 commit
    • libiberty.h (XOBFINISH): New. · 7973fd2a
      libiberty/
      2005-06-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
      
              * libiberty.h (XOBFINISH): New.
      
      gcc/
      2005-06-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
      
              * c-lex.c (lex_string): Use XOBFINISH.
              * collect2.c (extract_string, dump_file): Likewise.
              * dbxout.c (dbxout_finish_complex_stabs): Likewise.
              * gcc.c (init_spec, build_search_list, convert_filename,
              set_collect_gcc_options, do_spec_2, do_spec_1, main):
              * Likewise.
              * genpreds.c (write_predicate_subfunction): Likewise.
              * genflags.c (main): Likewise.
              * read-rtl.c (mode_attr_index, apply_macro_to_string,
              join_c_conditions, read_quoted_string, read_braced_string,
              read_rtx_1): Likewise.
              * stringpool.c (ggc_alloc_string): Likewise.
              * tlink.c (obstack_fgets, recompile_files): Likewise.
      
      From-SVN: r100678
      Gabriel Dos Reis committed
  26. 04 Mar, 2005 1 commit
    • * rtl.h (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions) · 7445392c
      	(print_c_condition): Declare.
      	* read-rtl.c (ptr_loc): New structure.
      	(ptr_locs, ptr_loc_obstack, joined_conditions)
      	(joined_conditions_obstack): New variables.
      	(leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc)
      	(get_rtx_ptr_loc, copy_rtx_ptr_loc, print_rtx_ptr_loc)
      	(join_c_conditions, print_c_condition): New functions.
      	(apply_macro_to_string): Associate the new string with the same
      	source location as the old one.
      	(add_condition_to_string): Use join_c_conditions.
      	(read_string): Use set_rtx_ptr_loc to record a filename and line
      	number for the string.
      	(read_rtx): Initialize the new variables above.
      	* genattrtab.c (write_test_expr, write_attr_value): Use
      	print_c_condition.
      	* genconditions.c (write_header): Don't define MAYBE_EVAL.  Move its
      	comment above the GCC_VERSION check.
      	(write_one_condition): Use print_rtx_ptr_loc and print_c_condition.
      	Inline the definition of MAYBE_EVAL.
      	* genemit.c (gen_expand, gen_split): Use print_rtx_ptr_loc.
      	* genoutput.c (process_template): Likewise.
      	* genpreds.c (write_predicate_subfunction): Likewise.
      	(write_predicate_expr): Use print_c_condition.
      	* genrecog.c (write_cond): Likewise.
      	* gensupport.c (process_rtx): Use join_c_conditions to join the
      	conditions of a define_insn_and_split.  Record a source location
      	for the string after the "&&".
      	(alter_test_for_insn): Use join_c_conditions.
      
      From-SVN: r95883
      Richard Sandiford committed
  27. 23 Feb, 2005 2 commits
  28. 13 Dec, 2004 1 commit
    • Makefile.in (insn-preds.o): Depend on REGS_H. · 9a9286af
              * Makefile.in (insn-preds.o): Depend on REGS_H.
              * genpreds.c (write_insn_preds_c): Include regs.h.
              * config/i386/predicates.md (index_register_operand): Use
              REG_OK_FOR_INDEX_STRICT_P and REG_OK_FOR_INDEX_NONSTRICT_P.
      
              * config/i386/i386.h (REG_CLASS_FROM_LETTER): Add 'l'.
              * config/i386/i386.md (lea_general_1, lea_general_1_zext,
              lea_general_2, lea_general_2_zext, lea_general_3, lea_general_3_zext,
              adddi_1_rex64, addsi_1, addsi_1_zext, addhi_1_lea, addqi_1_lea,
              ashldi3_1_rex64, ashlsi3_1, ashlsi3_1_zext, ashlhi3_1_lea,
              ashlqi3_1_lea): Use 'l' for index register operand.
              (ashldi3_1_rex64 splitter): Use index_register_operand.
              (ashlsi3_1 splitter): Be more careful with modes.
      
      From-SVN: r92080
      Richard Henderson committed
  29. 22 Oct, 2004 1 commit
    • alias.c, [...]: Fix comment formatting. · 471854f8
      	* alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
      	final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
      	lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
      	pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
      	tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
      	tree-scalar-evolution.c, tree-ssa-dom.c,
      	tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
      	tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
      	tree-vectorizer.c, vec.h: Fix comment formatting.
      
      From-SVN: r89453
      Kazu Hirata committed
  30. 09 Sep, 2004 1 commit
    • Makefile.in (gengtype): Use $(BUILD_ERRORS). · b2d59f6f
      	* Makefile.in (gengtype): Use $(BUILD_ERRORS).
      	(gengtype.o): Depend on errors.h.
      	* genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
      	(attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
      	attr_alt_subset_p, attr_alt_subset_of_compl_p,
      	attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
      	write_test_expr, write_attr_value, write_eligible_delay,
      	make_internal_attr, make_numeric_value): Likewise.
      	* genautomata.c (regexp_name, get_str_vect,
      	gen_presence_absence_set, automaton_decl_hash,
      	automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
      	decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
      	process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
      	test_unit_reserv, it_is_empty_reserv_sets,
      	reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
      	reserv_sets_and, output_cycle_reservs, get_free_state,
      	intersected_state_reservs_p, states_union, remove_arc,
      	copy_insn_regexp, transform_1, transform_2, transform_3,
      	regexp_transform_func, store_alt_unit_usage,
      	check_regexp_units_distribution, process_seq_for_forming_states,
      	process_alts_for_forming_states, make_automaton,
      	form_arcs_marked_by_insn, create_composed_state,
      	set_out_arc_insns_equiv_num, partition_equiv_class,
      	process_insn_equiv_class, set_insn_equiv_classes,
      	units_to_automata_heuristic_distr, form_regexp,
      	longest_path_length, output_dfa_max_issue_rate, add_vect,
      	out_state_arcs_num, add_vect_el, output_trans_table,
      	output_state_alts_table, output_dead_lock_vect,
      	output_max_insn_queue_index_def,
      	output_min_insn_conflict_delay_func,
      	output_internal_insn_latency_func, output_print_reservation_func,
      	output_cpu_unit_reservation_p, output_state_arcs,
      	make_insn_alts_attr, make_internal_dfa_insn_code_attr,
      	make_default_insn_latency_attr,
      	form_important_insn_automata_lists): Likewise.
      	* genemit.c (gen_exp, output_add_clobbers,
      	output_added_clobbers_hard_reg_p): Likewise.
      	* genextract.c (print_path, main): Likewise.
      	* genflags.c (gen_macro): Likewise.
      	* gengenrtl.c: Include errors.h
      	(type_from_format, accessor_from_format): Likewise.
      	* gengtype.c (get_file_basename, output_mangled_typename,
      	walk_type, write_types_process_field,
      	write_types_local_process_field): Likewise.
      	* genmodes.c (complete_mode): Likewise.
      	* genopinit.c (gen_insn): Likewise.
      	* genoutput.c (output_insn_data, check_constraint_len,
      	constraint_len): Likewise.
      	* genpreds.c (add_mode_tests):Likewise.
      	* gen-protos.c (add_hash): Likewise.
      	* genrecog.c (find_operand, find_matching_operand,
      	validate_pattern, add_to_sequence, maybe_both_true,
      	nodes_identical_1, merge_trees, write_switch, write_cond,
      	write_action, is_unconditional, make_insn_sequence,
      	debug_decision_2): Likewise.
      	* gensupport.c (is_predicable, collect_insn_data,
      	alter_predicate_for_insn, maybe_eval_c_test): Likewise.
      
      From-SVN: r87236
      Nathan Sidwell committed
  31. 13 Aug, 2004 1 commit
    • Makefile.in (insn-preds.o): Depend on TREE_H. · 201312c2
              * Makefile.in (insn-preds.o): Depend on TREE_H.
              * genpreds.c (write_insn_preds_c): Include tree.h.
              * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
              reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
              const48_operand, and_operand, or_operand, mode_width_operand,
              mode_mask_operand, mul8_operand, const0_operand,
              hard_fp_register_operand, hard_int_register_operand,
              reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
              samegp_function_operand, direct_call_operand, small_symbolic_operand,
              global_symbolic_operand, call_operand, symbolic_operand,
              dtp16_symbolic_operand, dtp32_symbolic_operand,
              gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
              gottp_symbolic_operand, alpha_comparison_operator,
              alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
              signed_comparison_operator, alpha_fp_comparison_operator,
              divmod_operator, fix_operator, aligned_memory_operand,
              unaligned_memory_operand, reg_or_unaligned_mem_operand,
              any_memory_operand, reg_not_elim_operand, normal_memory_operand,
              reg_no_subreg_operand, addition_operation): Move to predicates.md.
              (reg_or_const_int_operand): Remove.  Replace all users with
              reg_or_cint_operand.
              (tls_symbolic_operand_1): Export.  Don't check mode or for CONST.
              (resolve_reload_operand): Split out of aligned_memory_operand.
              * config/alpha/alpha-protos.h: Update for exports.
              * config/alpha/alpha.h (PREDICATE_CODES): Remove.
              * config/alpha/alpha.md: Include predicates.md.
              * config/alpha/predicates.md: New file.
      
      From-SVN: r85953
      Richard Henderson committed
  32. 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
  33. 04 Aug, 2004 1 commit
    • Makefile.in (RTL_BASE_H, RTL_H): Correct. · 7e7ec48e
      	* Makefile.in (RTL_BASE_H, RTL_H): Correct.
      	(BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
      	(genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
      	(read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
      	(genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
      	(genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
      	(genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
      	(ggc-none.o, errors.o): Move rule to generators section;
      	correct dependencies.
      	(min-insn-modes.o): Move rule to generators section; remove
      	unnecessary explicit command; correct dependencies.
      	(print-rtl.o, print-rtl1.o): Correct dependencies.
      	($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
      	(mostlyclean): Update.
      
      	* errors.c: Include bconfig.h not config.h.  Correct comment.
      	* gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
      	* ggc-none.c: Include bconfig.h; not config.h or tm.h.
      	* print-rtl.c: Don't include tm_p.h.
      
      	* rtl.h: Move forward-decl of struct function down where it's
      	needed.  Include genrtl.h #ifndef GENERATOR_FILE, not
      	#ifndef NO_GENRTL_H.  Remove unnecessary #ifdef BUFSIZ statements.
      
      From-SVN: r85574
      Zack Weinberg committed
  34. 01 Jun, 2003 1 commit
    • genrecog.c: Use ISO C90 prototypes. · 3d7aafde
      	* genrecog.c: Use ISO C90 prototypes.
      	(nodes_identical): Correct declaration to match prototype.
      	(maybe_both_true): Likewise.
      	(merge_trees): Likewise.
      
      	* genpeep.c (gen_peephole): Remove #if 0 code.
      	Use ISO C90 prototypes.
      
      	* genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
      	Remove #if 0'ed function simplify_by_alternatives.
      	(optimize_attrs): Remove #if 0'ed code.
      	Remove ^L.
      	Use ISO C90 prototypes.
      	(make_canonical): Remove #if 0'ed code.
      	(convert_const_symbol_ref): Remove #if 0'ed function.
      
      	* gen-protos.c (main): Check for argument.
      
      	* rtl.h: Use ISO C90 prototypes for functions from lists.c.
      
      	* params.h: Use ISO C90 prototypes.
      	* params.c: Likewise.
      	* intl.c: Likewise.
      	* intl.h: Likewise.
      	* lists.c: Likewise.
      	* errors.c: Likewise.
      	* errors.h: Likewise.
      	* gencodes.c: Likewise.
      	* genpreds.c: Likewise.
      	* genattr.c: Likewise.
      	* gen-protos.c: Likewise.
      	* genflags.c: Likewise
      	* genconditions.c: Likewise.
      	* genautomata.c: Likewise.
      	* gencheck.c: Likewise.
      	* genconfig.c: Likewise.
      	* genconstants.c: Likewise.
      	* genemit.c: Likewise.
      	* genextract.c: Likewise.
      	* gengenrtl.c: Likewise.
      	* gengtype.c: Likewise.
      	* gengtype.h: Likewise.
      	* genopinit.c: Likewise.
      	* genoutput.c: Likewise.
      	* gensupport.c: Likewise.
      	* gensupport.h: Likewise.
      
      From-SVN: r67296
      Andreas Jaeger committed
  35. 16 Dec, 2002 1 commit
  36. 03 Mar, 2002 1 commit
    • attribs.c (init_attributes, [...]): Use ARRAY_SIZE in lieu of explicit sizeof/sizeof. · ca7558fc
      	* attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
      	lieu of explicit sizeof/sizeof.
      	* i386.c (override_options, ix86_init_mmx_sse_builtins,
      	ix86_expand_builtin): Likewise.
      	* mips.c (mips_add_gc_roots): Likewise.
      	* mmix.c (mmix_output_condition): Likewise.
      	* rs6000.c (rs6000_override_options, altivec_expand_builtin,
      	altivec_init_builtins): Likewise.
      	* sparc.c (mark_ultrasparc_pipeline_state): Likewise.
      	* cppexp.c (Nsuff, parse_number): Likewise.
      	* cppinit.c (builtin_array_end): Likewise.
      	* gcc.c (n_default_compilers, process_command): Likewise.
      	* genpreds.c (output_predicate_decls): Likewise.
      	* ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
      	* lcm.c (N_ENTITIES): Likewise.
      	* stor-layout.c (set_sizetype): Likewise.
      
      ada:
      	* utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
      	lieu of explicit sizeof/sizeof.
      
      cp:
      	* decl.c (cxx_init_decl_processing): Use ARRAY_SIZE in lieu of
      	explicit sizeof/sizeof.
      	* decl2.c (cxx_decode_option): Likewise.
      	* lex.c (init_reswords, REDUCE_LENGTH, TOKEN_LENGTH): Likewise.
      
      java:
      	* class.c (init_class_processing): Use ARRAY_SIZE in lieu of
      	explicit sizeof/sizeof.
      	* decl.c (java_init_decl_processing): Likewise.
      	* jcf-parse.c (init_jcf_parse): Likewise.
      	* parse.y (init_src_parse): Likewise.
      
      From-SVN: r50255
      Kaveh R. Ghazi committed