aboutsummaryrefslogtreecommitdiff
path: root/gcc/Makefile.in
AgeCommit message (Collapse)AuthorFilesLines
2006-06-16function.h (enum function_frequency): Move declaration out of struct function.Richard Guenther1-2/+6
2006-06-16 Richard Guenther <rguenther@suse.de> * function.h (enum function_frequency): Move declaration out of struct function. (struct function): Move bool fields and the enum to the bitfield section. Reorder elements to avoid padding. Remove unused fields left over from the RTL inliner removal. * function.c (free_after_compilation): Do not zero removed fields. * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency. (ipa-type-escape.o): Likewise. From-SVN: r114712
2006-06-15re PR middle-end/27781 (weak-attribute over-optimisation)Richard Guenther1-1/+1
2006-06-16 Richard Guenther <rguenther@suse.de> PR tree-optimization/27781 * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency. * ipa-pure-const.c (target.h): Include. (analyze_function): Do not analyze functions that do not bind locally. * gcc.dg/tree-ssa/pr27781.c: New testcase. From-SVN: r114681
2006-06-15Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Export CFLAGS and LDFLAGS too.Paolo Bonzini1-1/+1
2006-06-15 Paolo Bonzini <bonzini@gnu.org> * Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Export CFLAGS and LDFLAGS too. * Makefile.in: Regenerate. gcc: 2006-06-15 Paolo Bonzini <bonzini@gnu.org> * configure.ac (CFLAGS): Get them from the toplevel or from the configure invocation. * configure: Regenerate. * Makefile.in (CFLAGS): Substitute value provided by configure. From-SVN: r114673
2006-06-13Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL, html__strip_dir, html__mkdir_p.Carlos O'Donell1-4/+32
gcc/ 2006-06-13 Carlos O'Donell <carlos@codesourcery.com> * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL, html__strip_dir, html__mkdir_p. Enhance install-html target. * configure.ac: AC_SUBST datarootdir, docdir and htmldir. * configure: Regenerate. From-SVN: r114620
2006-06-06Makefile.in: Rename to htmldir to build_htmldir to avoid installing during ↵Mike Stump1-10/+17
build. * Makefile.in: Rename to htmldir to build_htmldir to avoid installing during build. java,fortran: * Make-lang.in: Rename to htmldir to build_htmldir to avoid installing during build. treelang: * Make-lang.in: Rename to gcc_htmldir to build_htmldir to avoid installing during build. From-SVN: r114426
2006-06-03re PR other/27850 (gcov-enabled sh-elf compiler fails to build)J"orn Rennecke1-1/+1
PR other/27850 * Makefile.in (stmp-fixinc): Fix typo. From-SVN: r114332
2006-05-31gcc/, libcpp/Daniel Jacobowitz1-1/+1
gcc/, libcpp/ * Makefile.in (CATALOGS): Add po/ prefix. * configure: Regenerated. config/ * gettext-sister.m4 (ZW_GNU_GETTEXT_SISTER_DIR): Provide some defines otherwise gotten from AM_GNU_GETTEXT. Remove the po/ prefix from CATALOGS. From-SVN: r114268
2006-05-19re PR target/22209 (libgfortran unresolvable symbols on irix6.5)Richard Sandiford1-0/+1
* libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from libgcc2.h. (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD. * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here. Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to determine the size of Wtype, etc. * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument. (swfloatfuncs): New variable. (dwfloatfuncs): Likewise. (lib2funcs): Remove floating-point conversion functions from initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine the set of conversion routines needed. Allow entries to specify an object name, filename and word size. Update users accordingly. * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS. * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define. Revert: 2006-02-08 Roger Sayle <roger@eyesopen.com> PR target/22209 * config/fixtfdi.c: New libgcc source file. * config/fixunstfdi.c: New source file. * config/floatditf.c: New source file. * config/floatunditf.c: New souce file. * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source files above instead of config/mips/_tilib.c. * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise. From-SVN: r113903
2006-05-17re PR bootstrap/22541 (Building into empty PREFIX causes broken limits.h to ↵Bernd Schmidt1-2/+8
be installed) PR bootstrap/22541 From Dan Kegel <dank@kegel.com>: * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR. From-SVN: r113859
2006-05-16Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.H.J. Lu1-1/+4
gcc/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o. (gcc-options.o): New rule. * optc-gen.awk: Protect variables for gcc-options.o with #ifdef GCC_DRIVER/#endif. gcc/java/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> * lang.opt (femit-class-file): Remove VarExists. From-SVN: r113841
2006-05-16re PR target/26885 (-m64 -m32 no longer creates 32-bit object)H.J. Lu1-8/+13
gcc/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> PR driver/26885 * Makefile.in (GCC_OBJS): New. (OBJS-common): Add opts-common.o. (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS). (cpp$(exeext)): Likewise. (gcc.o): Also depend on opts.h. (opts-common.o): New. * common.opt (gcoff): Add Negative(gdwarf-2). (gdwarf-2): Add Negative(gstabs). (gstabs): Add Negative(gstabs+). (gstabs+): Add Negative(gvms). (gvms): Add Negative(gxcoff). (gxcoff): Add Negative(gxcoff+). (gxcoff+): Add Negative(gcoff). * config/i386/i386.opt (m32): Add Negative(m64). (m64): Add Negative(m32). * doc/options.texi: Document the Negative option. * gcc.c: Include "opts.h". (main): Call prune_options after expandargv. * optc-gen.awk: Generate common declarations for all flag variables in options.c. Output the neg_index field. * opts.c (find_opt): Moved to ... * opts-common.c: Here. New file. * opts.h (cl_option): Add a neg_index field. (find_opt): New. (prune_options): Likewise. gcc/cp/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> PR driver/26885 * Make-lang.in (GXX_OBJS): Replace gcc.o with $(GCC_OBJS). gcc/fortran/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> PR driver/26885 * Make-lang.in (GFORTRAN_D_OBJS): Replace gcc.o with $(GCC_OBJS). gcc/java/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> PR driver/26885 * Make-lang.in ($(GCJ)$(exeext)): Replace gcc.o with $(GCC_OBJS). gcc/treelang/ 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> PR driver/26885 * Make-lang.in (gtreelang$(exeext)): Replace gcc.o with $(GCC_OBJS). From-SVN: r113824
2006-05-10tree.h: Include "hashtab.h".Ben Elliston1-1/+1
* tree.h: Include "hashtab.h". (iterative_hash_expr): Use hashval_t in its prototype. * Makefile.in (TREE_H): Add $(HASHTAB_H). From-SVN: r113668
2006-05-04[multiple changes]Razya Ladelsky1-1/+4
2006-05-04 Leehod Baruch <leehod@il.ibm.com> * see.c: New file. * Makefile.in (OBJS-common): Add see.o. (see.o): Add dependencies. * common.opt (fsee): New flag for the see optimization was added. * opts.c (flag_see): Initialized. * passes.c (init_optimization_passes, pass_see): New pass. * rtl.h (see_main): Declaration as extern. * timevar.def (TV_SEE): New. * tree-pass.h (pass_see): Declaration as extern. * invoke.texi (-fsee): Document. * recog.c (validate_simplify_insn): New function. * recog.h (validate_simplify_insn): Declaration as extern. * df-problems.c (df_chain_dump): Check for NULL. 2006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com> Daniel Berlin <dberlin@dberlin.org> * cfgrtl.c (insert_insn_bb_end_new): New function. * basic-block.h (insert_insn_bb_end_new): Declaration as extern. 2006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il> * df.h (struct web_entry): Moved from web.c. (union_defs): Declaration as extern. (unionfind_root): Likewise. (unionfind_union): Likewise. * web.c (struct web_entry): Moved to df.h. (unionfind_root): Remove static declaration. (unionfind_union): Likewise. (union_defs): Likewise and generalize to use callback function. (web_main): Update arguments for union_defs function call. From-SVN: r113518
2006-05-01vec.c: Include bconfig.h when appropriate.DJ Delorie1-1/+1
* vec.c: Include bconfig.h when appropriate. * Makefile.in (build/vec.o): Adjust dependencies. * mkconfig.sh: Make sure config.h isn't used for build machine compiles. From-SVN: r113432
2006-04-23Makefile.in (c-convert.o): Add dependency on $(TARGET_H)H.J. Lu1-14/+15
2006-04-23 H.J. Lu <hongjiu.lu@intel.com> * Makefile.in (c-convert.o): Add dependency on $(TARGET_H) (tree-vect-patterns.o): Likewise. (jump.o): Likewise. (cselib.o): Likewise. (loop-doloop.o): Likewise. (regclass.o): Likewise. (reload1.o): Likewise. (explow.o): Replace target.h with $(TARGET_H). (ipa-prop.o): Likewise. (ipa-cp.o): Likewise. (ipa-inline.o): Likewise. (reorg.o): Likewise. (reg-stack.o): Likewise. From-SVN: r113212
2006-04-19dominance.c: Include timevar.h.Zdenek Dvorak1-1/+1
* dominance.c: Include timevar.h. (calculate_dominance_info): Use TV_DOMINANCE. * timevar.def (TV_DOMINANCE): New timevar. * Makefile.in (dominance.o): Add TIMEVAR_H dependency. From-SVN: r113075
2006-04-18soft-fp: New directory.Joseph Myers1-1/+8
* config/soft-fp: New directory. From glibc. * config/soft-fp/t-softfp: New. * config/soft-fp/README: New. * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE. * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New. (libgcc.mk): Pass LIB2FUNCS_EXCLUDE. (LIBGCC_DEPS): Add $(SFP_MACHINE). * config.gcc: Use rs6000/t-fprules-fpbit or rs6000/t-fprules-softfp and soft-fp/t-softfp together with rs6000/t-fprules. * config/rs6000/sfp-machine.h: New. Based on glibc. * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp: New. * config/rs6000/t-fprules: Remove fp-bit rules. * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=. * config/rs6000/t-linux64: Likewise. Remove duplicates from LIB2FUNCS_EXTRA. Remove fp-bit rules. (softfp_wrap_start, softfp_wrap_end): New. From-SVN: r113056
2006-04-12Makefile.in (GTFILES): Move functions.h after tree.h.Kazu Hirata1-2/+2
* Makefile.in (GTFILES): Move functions.h after tree.h. * function.c (reset_block_changes, record_block_change, check_block_change, free_block_changes): Use VEC instead of VARRAY. * function.h (function): Change the type of ib_boundaries_block to VEC(tree,gc) *. * tree-inline.c (copy_cfg_body): Initialize ib_boundaries_block to NULL instead of (varray_type) 0. From-SVN: r112894
2006-04-12Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.Kazu Hirata1-1/+1
* Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h. * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete, tpa_compact, root_var_init, type_var_init): Use VEC instead of VARRAY. * tree-ssa-live.h: Include vecprim.h. (tree_partition_associator_d): Change the type of first_partition to VEC(int,heap) *. (tpa_first_partition): Use VEC instead of VARRAY. From-SVN: r112893
2006-04-10* gcc/Makefile.in (gcc-cross): Add $(exeext) to target name.Mike Frysinger1-2/+2
From-SVN: r112847
2006-04-1120060410.c: New.Aldy Hernandez1-1/+1
PR/21391 * testsuite/gcc.dg/20060410.c: New. * dwarf2out.c (struct die_struct): Add die_perennial_p field. (premark_used_types_helper): New. (premark_used_types): New. (gen_subprogram_die): Call premark_used_types. (prune_unused_types_walk): Do not prune perennial dies. * function.c (used_types_insert): New. * function.h (struct function): Add used_types_hash field. (used_types_insert): Add prototype. * Makefile.in (FUNCTION_H): Depend on HASHTAB_H. * c-parser.c (c_parser_cast_expression): Save casted types in used types hash table. From-SVN: r112845
2006-04-10Makefile.in (tree-into-ssa.o, [...]): Depend on vecprim.h.Kazu Hirata1-11/+11
* Makefile.in (tree-into-ssa.o, tree-outof-ssa.o, tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o, global.o, cfglayout.o, lambda-code.o, reg-stack.o, build/genextract.o): Depend on vecprim.h. * cfglayout.c, df-problems.c, function.c, genextract.c, global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c, tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include vecprim.h. * vecprim.h: New. From-SVN: r112830
2006-04-03Makefile.in (unprotoize.o): Same dependencies as for protoize.o.Matthias Klose1-4/+4
2006-04-04 Matthias Klose <doko@debian.org> * Makefile.in (unprotoize.o): Same dependencies as for protoize.o. From-SVN: r112647
2006-03-30Makefile.in: Rename docdir to gcc_docdir.Carlos O'Donell1-7/+7
gcc/ 2006-03-30 Carlos O'Donell <carlos@codesourcery.com> * Makefile.in: Rename docdir to gcc_docdir. gcc/java/ 2006-03-30 Carlos O'Donell <carlos@codesourcery.com> * Make-lang.in: Rename docdir to gcc_docdir. gcc/ada/ 2006-03-29 Carlos O'Donell <carlos@codesourcery.com> * Make-lang.in: Rename docdir to gcc_docdir. gcc/fortran/ 2006-03-29 Carlos O'Donell <carlos@codesourcery.com> * Make-lang.in: Rename docdir to gcc_docdir. gcc/treelang/ 2006-03-29 Carlos O'Donell <caros@codesourcery.com> * Make-lang.in: Rename docdir to gcc_docdir. From-SVN: r112545
2006-03-29* Makefile.in (build/genpeep.o): Add toplev.h dependency.David Edelsohn1-1/+1
From-SVN: r112522
2006-03-29* Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.David Edelsohn1-1/+1
From-SVN: r112517
2006-03-29genemit.c (main): Add tm-constrs.h to included headers.David Edelsohn1-7/+13
* 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
2006-03-28tree-loop-linear.c: Don't include varray.h.Sebastian Pop1-4/+4
* tree-loop-linear.c: Don't include varray.h. (gather_interchange_stats, try_interchange_loops, linear_transform_loops): Use VEC instead of VARRAY. * lambda-mat.c: Don't include varray.h. * tree-chrec.c: Same. * lambda-trans.c: Same. * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use VEC instead of VARRAY. * tree-vectorizer.h: Idem. * tree-data-ref.c (dump_data_references, dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs, initialize_data_dependence_relation, finalize_ddr_dependent, compute_all_dependences, find_data_references_in_loop, compute_data_dependences_for_loop, analyze_all_data_dependences, free_dependence_relation, free_dependence_relations, free_data_refs): Idem. * tree-data-ref.h (data_reference_p, subscript_p): New. (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use VEC instead of VARRAY. (DDR_SUBSCRIPTS_VECTOR_INIT): Removed. (find_data_references_in_loop, compute_data_dependences_for_loop, dump_ddrs, dump_dist_dir_vectors, dump_data_references, dump_data_dependence_relations, free_dependence_relations, free_data_refs): Adjust declaration. (lambda_transform_legal_p): Move declaration here... * tree-vect-analyze.c (vect_analyze_data_ref_dependences, vect_compute_data_refs_alignment, vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses, vect_analyze_data_refs): Use VEC instead of VARRAY. * lambda.h (lambda_transform_legal_p): ...from here. * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY. * tree-vect-transform.c (vect_update_inits_of_drs): Idem. * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o, tree-chrec.o): Don't depend on VARRAY_H. From-SVN: r112437
2006-03-21bfin-protos.h (bfin_dsp_memref_p): Declare.Bernd Schmidt1-6/+7
* config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare. * config/bfin/bfin.c (bfin_dsp_memref_p): New function. (bfin_valid_reg_p): Test for pseudos explicitly and use only REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all callers changed. * config/bfin/bfin.h (PREG_P): Use P_REGNO_P. (IREG_P, P_REGNO_P, I_REGNO_P): New macros. (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS. (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete macros. (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS, REGNO_MODE_CODE_OK_FOR_BASE_P): New macros. (REGNO_REG_CLASS): ARGP is in PREGS. * config/bfin/bfin.md (movhi_insn): Allow for addresses containing IREGS. (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split to deal with those addresses. * addresses.h: New file. * caller-save.c: Include "addresses.h". (init_caller_save): Use new base_reg_class function. * rtl-factoring.c: Include "addresses.h". (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1. * recog.c: Include "addresses.h". (preprocess_constraints): Use new base_reg_class function. * regrename.c: Include "addresses.h". (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class functions. Keep track of a new var INDEX_CODE to compute valid classes. (replace_oldest_value_addr): Likewise. (replace_oldest_value_mem): Use base_reg_class. * reload.c: Include "addresses.h". (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros. (find_reloads): Use new base_reg_class function. (find_reloads_address): Likewise; also use regno_ok_for_base_p. (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE; all callers and prototype changed. * reload1.c: Include "addresses.h". (maybe_fix_stack_asms): Use base_reg_class. * regclass.c: Include "addresses.h". (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions. (init_reg_autoinc): Use new base_reg_class function. (record_reg_classes): Likewise. (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE, OUTER_CODE and INDEX_CODE. All callers and prototype changed. Use new args to compute necessary class. * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o, regrename.o, rtl-factoring.o): Update dependencies. * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document. (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise. (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P, REG_OK_FOR_INDEX_P): Delete documentation. From-SVN: r112248
2006-03-16re PR middle-end/18259 (-fdump-tree-tu omits real constant values)Roger Sayle1-92/+95
2006-03-16 Roger Sayle <roger@eyesopen.com> Daniel Speyer <dspeyer@wam.umd.edu> PR middle-end/18259 * tree-dump.c (dump_real): New function. (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants. * Makefile.in (REAL_H): New macro for dependencies on real.h. (tree-dump.o): Add $(REAL_H) to the dependencies. Co-Authored-By: Daniel Speyer <dspeyer@wam.umd.edu> From-SVN: r112147
2006-03-16target.h (struct spec_info_def): New opaque declaration.Maxim Kuvyrkov1-1/+2
2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> * target.h (struct spec_info_def): New opaque declaration. (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended, speculate_insn, needs_block_p, gen_check, first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags. * target-def.h (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK, TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in gcc_target.sched. (TARGET_SCHED): Use new macros. * rtl.h (copy_DEPS_LIST_list): New prototype. * sched-int.h (struct sched_info): Change signature of new_ready field, adjust all initializations. New fields: add_remove_insn, begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg, region_head_or_leaf_p. (struct spec_info_def): New structure declaration. (spec_info_t): New typedef. (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec, recovery_block, orig_pat. (glat_start, glat_end): New variables declaraions. (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT): New access macros. (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB, DETACH_LIFE_INFO, USE_GLAT. (enum SPEC_SCHED_FLAGS): New enumeration. (NOTE_NOTE_BB_P): New macro. (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block, attach_life_info, debug_spec_status, check_reg_live): New functions. (get_block_head_tail): Change signature to get_ebb_head_tail, adjust all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c, sched-ebb.c (get_dep_weak, ds_merge): Prototype functions from sched-deps.c . * ddg.c (get_block_head_tail): Adjust all uses. * modulo-sched.c (get_block_head_tail): Adjust all uses. (sms_sched_info): Initialize new fields. (contributes_to_priority): Removed. * haifa-sched.c (params.h): New include. (get_block_head_tail): Adjust all uses. (ISSUE_POINTS): New macro. (glat_start, glat_end): New global variables. (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data, nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header, old_last_basic_block, before_recovery, current_sched_info_var, rgn_n_insns, luid): New static variables. (insn_cost1): New function. Move logic from insn_cost to here. (find_insn_reg_weight1): New function. Move logic from find_insn_reg_weight to here. (reemit_notes, move_insn, max_issue): Change signature. (move_insn1): Removed. (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d, extend_bb): New static functions to support extension of scheduler's data structures. (generate_recovery_code, process_insn_depend_be_in_spec, begin_speculative_block, add_to_speculative_block, init_before_recovery, create_recovery_block, create_check_block_twin, fix_recovery_deps): New static functions to support generation of recovery code. (fix_jump_move, find_fallthru_edge, dump_new_block_header, restore_bb_notes, move_block_after_check, move_succs): New static functions to support ebb scheduling. (init_glat, init_glat1, attach_life_info1, free_glat): New static functions to support handling of register live information. (associate_line_notes_with_blocks, change_pattern, speculate_insn, sched_remove_insn, clear_priorities, calc_priorities, bb_note, add_jump_dependencies): New static functions. (check_cfg, has_edge_p, check_sched_flags): New static functions for consistancy checking. (debug_spec_status): New function to call from debugger. (priority): Added code to handle speculation checks. (rank_for_schedule): Added code to distinguish speculative instructions. (schedule_insn): Added code to handle speculation checks. (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes): Fixed to handle ebbs. (move_insn): Added code to handle ebb scheduling. (max_issue): Added code to use ISSUE_POINTS of instructions. (choose_ready): Added code to choose between speculative and non-speculative instructions. (schedule_block): Added code to handle ebb scheduling and scheduling of speculative instructions. (sched_init): Initialize new variables. (sched_finish): Free new variables. Print statistics. (try_ready): Added code to handle speculative instructions. * lists.c (copy_DEPS_LIST_list): New function. * sched-deps.c (extend_dependency_caches): New function. Move logic from create_dependency_caches to here. (get_dep_weak, ds_merge): Make global. * genattr.c (main): Code to output prototype for dfa_clear_single_insn_cache. * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros. (output_dfa_clean_insn_cache_func): Code to output dfa_clear_single_insn_cache function. * sched-ebb.c (target_n_insns): Remove. Adjust all users to use n_insns. (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs): Removed. (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb): New static variables. (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb, fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from struct sched_info. (ebb_sched_info): Initialize new fields. (get_block_head_tail): Adjust all uses. (compute_jump_reg_dependencies): Fixed to use glat_start. (schedule_ebb): Code to remove unreachable last block. (schedule_ebbs): Added code to update register live information. * sched-rgn.c (region_sched_info): Initialize new fields. (get_block_head_tail): Adjust all uses. (last_was_jump): Removed. Adjust users. (begin_schedule_ready, add_remove_insn, insn_points, extend_regions, add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p): Implement new hooks. (check_dead_notes1): New static function. (struct region): New fields: dont_calc_deps, has_real_ebb. (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros. (BB_TO_BLOCK): Fixed to handle EBBs. (EBB_FIRST_BB, EBB_LAST_BB): New macros. (ebb_head): New static variable. (debug_regions, contributes_to_priority): Fixed to handle EBBs. (find_single_block_regions, find_rgns, find_more_rgns): Initialize new fields. (compute_dom_prob_ps): New assertion. (check_live_1, update_live_1): Fixed to work with glat_start instead of global_live_at_start. (init_ready_list): New assertions. (can_schedule_ready_p): Split update code to begin_schedule_ready. (new_ready): Add support for BEGIN_CONTROL speculation. (schedule_insns): Fixed code that updates register live information to handle EBBs. (schedule_region): Fixed to handle EBBs. (init_regions): Use extend_regions and check_dead_notes1. * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY, PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters. * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK, TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, TARGET_SCHED_SET_SCHED_FLAGS): Document. * doc/invoke.texi (max-sched-insn-conflict-delay, sched-spec-prob-cutoff): Document. From-SVN: r112128
2006-03-14Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.Kazu Hirata1-2/+2
* Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h. * reg-stack.c (stack_regs_mentioned_data): Change the type to VEC(char,heap) *. (stack_regs_mentioned): Update the uses of stack_regs_mentioned_data. Don't access the array beyond its end. (reg_to_stack): Update the uses of stack_regs_mentioned_data. Don't include gt-reg-stack.h. From-SVN: r112060
2006-03-08re PR bootstrap/26500 (info/gfortran.info is no longer being installed)Paolo Bonzini1-3/+4
2006-03-08 Paolo Bonzini <bonzini@gnu.org> PR bootstrap/26500 * Makefile.in (dvi, html, install-info): Invoke the corresponding language hook targets. * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in, objcp/Make-lang.in: Create stub rules for dvi, html, install-info if language hook targets were missing. From-SVN: r111845
2006-03-08tree-ssa-opfinalize.h: Removed.Zdenek Dvorak1-2/+1
* tree-ssa-opfinalize.h: Removed. * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h dependency. * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h. (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST, INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op, add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops, finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops, finalize_ssa_v_must_def_ops): New. From-SVN: r111843
2006-03-03gengtype.c (main): Handle double_int type.Zdenek Dvorak1-2/+4
* gengtype.c (main): Handle double_int type. * tree.h (struct tree_int_cst): Make type of int_cst double_int. * double-int.c: New file. * double-int.h: New file. * system.h: Include doubleint.h. * Makefile.in (SYSTEM_H): Include double-int.h. (double-int.o): Add. From-SVN: r111663
2006-03-03re PR bootstrap/26478 (bootstrap fails with readonly source directory)Joseph Myers1-0/+1
PR bootstrap/26478 * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before copying over it. From-SVN: r111662
2006-03-01mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.Ben Elliston1-1/+3
* mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS. Compile dfp-bit.c from the source directory using -DWIDTH and $DFP_CFLAGS to control the compilation of that file, rather than generating width-specific versions in the build directory. * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS. (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc]. From-SVN: r111595
2006-02-26common.opt (-floop-optimize, [...]): Remove.Steven Bosscher1-6/+1
gcc/ * common.opt (-floop-optimize, -frerun-loop-opt): Remove. * tree-pass.h (pass_loop_optimize): Remove. * passes.c (pass_loop_optimize): Never run it. * toplev.c (backend_init): Don't call init_loop. * opts.c (flag_loop_optimize_set): Remove. (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt. (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable the old RTL loop optimizer when profiling enabled. * predict.c (tree_estimate_probability): Always strip builtin_expect. * cfgcleanup.c (try_forward_edges): Don't avoid killing loop pre-headers for the sake of the old RTL loop optimizer. * Makefile.in: Remove all references to loop.o. * doc/invoke.texi: Remove all references to -floop-optimize and -frerun-loop-opt. testsuite/ * gcc.dg/20031201-1.c: Don't use -frerun-loop-opt. * g++.old-deja/g++.robertl/eb132.C: Likewise. From-SVN: r111459
2006-02-22Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR).Daniel Jacobowitz1-1/+13
* Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR). (real-install-headers-tar, real-install-headers-cpio) (real-install-headers-cp): New targets. From-SVN: r111372
2006-02-20tree-chrec.c (eq_evolutions_p): New.Sebastian Pop1-1/+1
* tree-chrec.c (eq_evolutions_p): New. * tree-chrec.h (eq_evolutions_p): Declared. * tree-data-ref.c: Fix formatting. (datadep_stats, dependence_stats): New. (gcd): Moved... (print_direction_vector): New. (dump_data_dependence_relation): Use print_direction_vector. (object_analysis, create_data_ref): Handle COMPONENT_REF. (compute_subscript_distance): Static. (initialize_data_dependence_relation): Static. Get the number of loops surrounding the references from the callers, and initialize DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and base_object_differ_p analyzers. (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine): Count the classified dependences. Print a message when a test failed. (can_use_analyze_subscript_affine_affine): New. (analyze_siv_subscript): Compute the data dependences on symbolic scevs that verify can_use_analyze_subscript_affine_affine. (chrec_steps_divide_constant_p): Returns true, false, or unknown. (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p. Handle symbolic scevs. (analyze_overlapping_iterations): Let symbolic affine scevs to be analyzed. (subscript_dependence_tester): Moved... (build_classic_dist_vector, build_classic_dir_vector): Don't use lambda_vector_clear on newly allocated vectors. Get nb_loops from DDR_SIZE_VECT instead of getting it in parameter. (subscript_dependence_tester): ... here. Take as a parameter loop_nest_depth. Call build_classic_dist_vector and build_classic_dir_vector. (compute_affine_dependence): Update subscript_dependence_tester parameters. Update datadep_stats counters. Call compute_subscript_distance. (compute_self_dependence): Save the dist and dir vectors. Call compute_subscript_distance. (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved... (compute_all_dependences): Reorder parameters as they were before conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call compute_subscript_distance. Update the use of compute_affine_dependence and initialize_data_dependence_relation. (find_data_references_in_loop): Handle COMPONENT_REF. (compute_data_dependences_for_loop): Initialize dependence_stats. Don't call build_classic_dist_vector and build_classic_dir_vector. Update the parameters of initialize_data_dependence_relation and compute_all_dependences. Print the statistics from datadep_stats. (analyze_all_data_dependences): Static. Not used until the pass for checking the data dependences is contributed. * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): ... here. (initialize_data_dependence_relation, compute_affine_dependence, analyze_all_data_dependences, compute_subscript_distance): Removed. (print_direction_vector): New. * lambda.h (gcd): ... here. (lambda_vector_gcd): Moved here from gcd_vector. * lambda-code.c (gcd, gcd_vector): Removed. (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting. * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H. From-SVN: r111312
2006-02-20Make-lang.in (OBJC): RemoveRafael Espindola1-3/+2
* gcc/objc/Make-lang.in (OBJC): Remove (OBJECTIVE-C): Remove (objective-c): Remove (.PHONY): Remove objective-c and ObjC * gcc/objcp/Make-lang.in (OBJ-C++): Remove (.PHONY): Remove Obj-c++ and obj-C++. Add obj-c++ * gcc/cp/Make-lang.in (C++): Remove (.PHONY): Remove C++ * gcc/ada/Make-lang.in (Ada): Remove (.PHONY): Remove Ada * gcc/fortran/Make-lang.in (FORTRAN): Remove (.PHONY): Remove F95 and f95. Add fortran * gcc/treelang/Make-lang.in (.phony): Remove TREELANG (TREELANG): Remove * gcc/Makefile.in (C): Remove (PROTO): Remove (.PHONY): Remove C and PROTO From-SVN: r111307
2006-02-20re PR bootstrap/25670 (build fail with 'make all-gcc')Paolo Bonzini1-11/+25
2006-02-20 Paolo Bonzini <bonzini@gnu.org> PR bootstrap/25670 * Makefile.tpl ([+compare-target+]): Print explanation messages. * Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass. * Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass. (EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES, BUILD_PREFIX, BUILD_PREFIX_1. * configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute. * Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too. * Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too. * Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+], all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead of `cat stage_current`. Always provide the `r' and `s' variables. (clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into a single shell execution. (configure-[+prefix+][+module+], all-[+prefix+][+module+]): For bootstrapped modules, make the stage1 module if the build was not started yet, else build the current stage. (all-host, all-target): Omit bootstrapped modules (if bootstrapping). (all-build, all-host, all-target, [+make_target+]-host, [+make_target+]-target): Do not use \-continued lines. (target modules): Depend on stage_last, not all-gcc, if bootstrapping. (current_stage, restrap, stage_last): New. * Makefile.in: Regenerate. * configure: Regenerate. gcc: 2006-02-20 Paolo Bonzini <bonzini@gnu.org> PR bootstrap/25476 * Makefile.in (LDFLAGS): Define from autoconf substitution. * Makefile.in (BOOTSTRAPPING): New. (quickstrap): New definition if BOOTSTRAPPING=yes. * Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages. * configure.ac: Substitute all_selected_languages with the languages that were configured. For all the other variables except lang_specs_files, include all the languages in the tree. * configure: Regenerate. * Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory, if there is one. Run the commands to run fixincludes in the same subshell. * doc/makefile.texi: Document new makefile targets from toplevel bootstrap. * doc/install.texi: Document exact conventions for searching target tools. Document --with-build-time-tools. Document toplevel bootstrap. Document something more about building an Ada cross-compiler. Don't list GNU Make requirements which affect all platforms. From-SVN: r111295
2006-02-18re PR target/9703 ([arm] Accessing data through constant pool more times ↵Richard Sandiford1-2/+3
could be solved in less instructions) * cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE. * emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx. (copy_insn_1): Likewise. Don't copy each field individually. Reindent. * read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead of RTX_SIZE. * reload1.c (eliminate_regs): Use shallow_copy_rtx. * rtl.c (rtx_size): Rename variable to... (rtx_code_size): ...this. (rtx_size): New function. (rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE. (copy_rtx): Use shallow_copy_rtx. Don't copy each field individually. Reindent. (shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE. * rtl.h (rtx_code_size): New variable. (rtx_size): Change from a variable to a function. (RTX_SIZE): Rename to... (RTX_CODE_SIZE): ...this. PR target/9703 PR tree-optimization/17106 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document. (Anchored Addresses): New section. * doc/invoke.texi (-fsection-anchors): Document. * doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise. (SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise. (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise. * hooks.c (hook_bool_mode_rtx_false): New function. * hooks.h (hook_bool_mode_rtx_false): Declare. * gengtype.c (create_optional_field): New function. (adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when SYMBOL_REF_IN_BLOCK_P is true. * target.h (output_anchor, use_blocks_for_constant_p): New hooks. (min_anchor_offset, max_anchor_offset): Likewise. (use_anchors_for_symbol_p): New hook. * toplev.c (compile_file): Call output_object_blocks. (target_supports_section_anchors_p): New function. (process_options): Check that -fsection-anchors is only used on targets that support it and when -funit-at-a-time is in effect. * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL if the decl doesn't have one. * dwarf2out.c: Remove instantiations of VEC(rtx,gc). * expr.c (emit_move_multi_word, emit_move_insn): Pass the result of force_const_mem through use_anchored_address. (expand_expr_constant): New function. (expand_expr_addr_expr_1): Call it. Use the same modifier when calling expand_expr for INDIRECT_REF. (expand_expr_real_1): Pass DECL_RTL through use_anchored_address for all modifiers except EXPAND_INITIALIZER. Use expand_expr_constant. * expr.h (use_anchored_address): Declare. * loop-unroll.c: Don't declare rtx vectors here. * explow.c: Include output.h. (validize_mem): Call use_anchored_address. (use_anchored_address): New function. * common.opt (-fsection-anchors): New switch. * varasm.c (object_block_htab, anchor_labelno): New variables. (hash_section, object_block_entry_eq, object_block_entry_hash) (use_object_blocks_p, get_block_for_section, create_block_symbol) (use_blocks_for_decl_p, change_symbol_section): New functions. (get_variable_section): New function, split out from assemble_variable. (make_decl_rtl): Create a block symbol if use_object_blocks_p and use_blocks_for_decl_p say so. Use change_symbol_section if the symbol has already been created. (assemble_variable_contents): New function, split out from... (assemble_variable): ...here. Don't output any code for block symbols; just pass them to place_block_symbol. Use get_variable_section and assemble_variable_contents. (get_constant_alignment, get_constant_section, get_constant_size): New functions, split from output_constant_def_contents. (build_constant_desc): Create a block symbol if use_object_blocks_p says so. Or into SYMBOL_REF_FLAGS. (assemble_constant_contents): New function, split from... (output_constant_def_contents): ...here. Don't output any code for block symbols; just pass them to place_section_symbol. Use get_constant_section and get_constant_alignment. (force_const_mem): Create a block symbol if use_object_blocks_p and use_blocks_for_constant_p say so. Or into SYMBOL_REF_FLAGS. (output_constant_pool_1): Add an explicit alignment argument. Don't switch sections here. (output_constant_pool): Adjust call to output_constant_pool_1. Switch sections here instead. Don't output anything for block symbols; just pass them to place_block_symbol. (init_varasm_once): Initialize object_block_htab. (default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK. (default_asm_output_anchor, default_use_aenchors_for_symbol_p) (place_block_symbol, get_section_anchor, output_object_block) (output_object_block_htab, output_object_blocks): New functions. * target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro. (TARGET_ASM_OUT): Include it. (TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro. (TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros. (TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro. (TARGET_INITIALIZER): Include them. * rtl.c (rtl_check_failed_block_symbol): New function. * rtl.h: Include vec.h. Declare heap and gc rtx vectors. (block_symbol, object_block): New structures. (rtx_def): Add a block_symbol field to the union. (BLOCK_SYMBOL_CHECK): New macro. (rtl_check_failed_block_symbol): Declare. (SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags. (SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates. (SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2. (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors. * output.h (output_section_symbols): Declare. (object_block): Name structure. (place_section_symbol, get_section_anchor, default_asm_output_anchor) (default_use_anchors_for_symbol_p): Declare. * Makefile.in (RTL_BASE_H): Add vec.h. (explow.o): Depend on output.h. * config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default. (TARGET_MAX_ANCHOR_OFFSET): Likewise. (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. (rs6000_use_blocks_for_constant_p): New function. From-SVN: r111254
2006-02-16re PR rtl-optimization/26296 (ACATS ICE cxg2007 cxg2012 verify_flow_info failed)Zdenek Dvorak1-1/+1
PR rtl-optimization/26296 * Makefile.in (loop-invariant.c): Add except.h dependency. * loop-invariant.c: Include except.h. (find_invariant_insn): Ignore insns satisfying can_throw_internal. From-SVN: r111139
2006-02-15Makefile.in: Fix the examples about the use of stampsRafael Espindola1-4/+4
* gcc/Makefile.in: Fix the examples about the use of stamps M gcc/ChangeLog M gcc/Makefile.in From-SVN: r111113
2006-02-14invoke.texi (-fprefetch-loop-arrays, [...]): Document.Zdenek Dvorak1-2/+9
* doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl): Document. * tree-ssa-loop-niter.c (number_of_iterations_ne, number_of_iterations_lt, number_of_iterations_cond): Remember the shape of the ending condition. * tree-ssa-loop-manip.c: Include params.h. (build_if_stmt, can_unroll_loop_p, determine_exit_conditions, tree_unroll_loop): New functions. * tree-pass.h (pass_loop_prefetch): Declare. * loop.c (rest_of_handle_loop_optimize): Test for -fprefetch-loop-arrays-rtl. * tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h. * timevar.def (TV_TREE_PREFETCH): New timevar. * tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch, pass_loop_prefetch): New. * tree-cfgcleanup.c: Include tree-scalar-evolution.h. (cleanup_tree_cfg_loop): Call scev_reset. * common.opt (fprefetch-loop-arrays-rtl): Add. * tree-ssa-loop-prefetch.c: New file. * tree-outof-ssa.c (struct value_expr_d): Add expr_vars field. (new_temp_expr_table): Initialize expr_vars. (free_temp_expr_table): Cleanup expr_vars. (check_replaceable, find_replaceable_in_bb): Prevent accumulating expressions from being merged into one. * tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h. (struct tree_niter_desc): Add control, bound and cmp fields. (tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop): Declare. * Makefile.in (tree-ssa-loop-prefetch.o): Add. (tree-cfgcleanup.o): Add SCEV_H dependency. (tree-ssa-loop-manip.o): Add PARAMS_H dependency. * passes.c (init_optimization_passes): Add pass_loop_prefetch. From-SVN: r110964
2006-02-07tree-vrp.c (find_conditional_asserts): Update comments.Jeff Law1-1/+5
2006-02-07 Jeff Law <law@redhat.com> * tree-vrp.c (find_conditional_asserts): Update comments. (simplify_stmt_for_jump_threading): New. (identify_jump_threads, finalize_jump_threads): New. (vrp_finalize): Call identify_jump_threads. (execute_vrp): Call finalize_jump_threads. * tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field. (vrp_element, vrp_data, vrp_element_p): Remove. (vrp_hash_elt, vrp_variables_stack): Remove. (vrp_hash, vrp_eq, record_range): Remove. (simplify_cond_and_lookup_avail_expr): Remove. (extract_range_from_cond): Remove. (thread_across_edge): Relocated into tree-ssa-threadedge.c. (simplify_stmt_for_jump_threading): New. (dom_thread_across_edge): New wrapper. (tree_ssa_dominator_optimize): No longer initialize or finalize any of the VRP datastructures. Remove iteration step and simplify as a result of removal of iteration step. (pass_dominator): Perform a cfg cleanup after DOM. (dom_opt_finalize_block): Use the new common routines for threading jumps. Simplify stack management slightly. No longer need to unwind VRP state. (record_equivalences_from_incoming_edge): No longer record VRP information. (eliminate_redundant_computations): No longer call simplify_cond_and_lookup_avail_expr. * tree-flow.h (potentially_threadable_block): Prototype. (thread_across_edge): Likewise. * Makefile.in (OBJS-common): Add tree-ssa-threadedge.o (tree-ssa-threadedge.o): Add dependencies. * tree-ssa-threadedge.c: New file. * passes.c (init_optimization_passes): Merge PHIs before calling VRP. Run VRP again late in the SSA optimization pipeline. * gcc.dg/tree-ssa/vrp01.c: Update dumpfile names now that we have multiple VRP passes. * gcc.dg/tree-ssa/vrp09.c: Likewise. * gcc.dg/tree-ssa/vrp18.c: Likewise. * gcc.dg/tree-ssa/pr21582.c: Likewise. * gcc.dg/tree-ssa/pr20657.c: Likewise. * gcc.dg/tree-ssa/pr21001.c: Likewise. * gcc.dg/tree-ssa/vrp02.c: Likewise * gcc.dg/tree-ssa/vrp11.c: Likewise * gcc.dg/tree-ssa/pr14341.c: Likewise * gcc.dg/tree-ssa/vrp19.c: Likewise * gcc.dg/tree-ssa/vrp20.c: Likewise * gcc.dg/tree-ssa/vrp03.c: Likewise * gcc.dg/tree-ssa/pr21086.c: Likewise * gcc.dg/tree-ssa/pr21959.c: Likewise * gcc.dg/tree-ssa/vrp21.c: Likewise * gcc.dg/tree-ssa/vrp04.c: Likewise * gcc.dg/tree-ssa/pr25485.c: Likewise * gcc.dg/tree-ssa/pr22026.c: Likewise * gcc.dg/tree-ssa/vrp22.c: Likewise * gcc.dg/tree-ssa/vrp05.c: Likewise * gcc.dg/tree-ssa/20030807-10.c: Likewise * gcc.dg/tree-ssa/pr20701.c: Likewise * gcc.dg/tree-ssa/vrp23.c: Likewise * gcc.dg/tree-ssa/vrp06.c: Likewise * gcc.dg/tree-ssa/pr22117.c: Likewise * gcc.dg/tree-ssa/pr20702.c: Likewise * gcc.dg/tree-ssa/vrp15.c: Likewise * gcc.dg/tree-ssa/pr21090.c: Likewise * gcc.dg/tree-ssa/pr21294.c: Likewise * gcc.dg/tree-ssa/vrp24.c: Likewise * gcc.dg/tree-ssa/vrp07.c: Likewise * gcc.dg/tree-ssa/pr21563.c: Likewise * gcc.dg/tree-ssa/pr25382.c: Likewise * gcc.dg/tree-ssa/vrp16.c: Likewise * gcc.dg/tree-ssa/vrp25.c: Likewise * gcc.dg/tree-ssa/vrp08.c: Likewise * gcc.dg/tree-ssa/20030807-6.c: Likewise * gcc.dg/tree-ssa/vrp17.c: Likewise * gcc.dg/tree-ssa/pr21458.c: Likewise * g++.dg/tree-ssa/pr18178.C: Likewise From-SVN: r110705
2006-02-06tree-vrp.c (execute_vrp): Do not pass dump argument to.Zdenek Dvorak1-2/+2
* tree-vrp.c (execute_vrp): Do not pass dump argument to. loop_optimizer_init and loop_optimizer_finalize * tree-ssa-sink.c (execute_sink_code): Ditto. * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. * tree-ssa-loop.c (tree_loop_optimizer_init, tree_ssa_loop_init, tree_ssa_loop_done): Ditto. * tree-ssa-pre.c (init_pre, fini_pre): Ditto. * sched-ebb.c: Include output.h. (schedule_ebbs): Do not use dump argument. * value-prof.h (struct profile_hooks): Remove profile_dump_file. * loop.c (loop_dump_stream): Removed. (loop_optimize, rest_of_handle_loop_optimize): Do not use dump argument. (scan_loop, move_movables, find_and_verify_loops, mark_loop_jump, emit_prefetch_instructions, loop_bivs_find, loop_bivs_check, final_biv_value, loop_biv_eliminable_p, loop_givs_rescan, loop_iterations, strength_reduce, record_biv, record_giv, final_giv_value, check_final_value, check_ext_dependent_givs, combine_givs, check_dbra_loop, maybe_eliminate_biv, load_mems, try_copy_prop, loop_delete_insns, try_swap_copy_prop): Use dump_file instead of loop_dump_stream. * ddg.c (print_ddg_edge, print_ddg, vcg_print_ddg): Do not call argument dump_file. * reorg.c (dbr_schedule, rest_of_handle_delay_slots): Do not use dump argument. * flow.c (life_analysis, rest_of_handle_life): Ditto. * haifa-sched.c: Include output.h (schedule_insns, sched_init): Do not use dump argument. * mode-switching.c (optimize_mode_switching): Ditto. * modulo-sched.c (stats_file): Removed. (print_node_sched_params): Do not call argument dump_file. (sms_schedule_by_order, loop_canon_p, sms_schedule, rest_of_handle_sms): Do not use dump argument. Use dump_file instead of stats_file. * cse.c (cse_main, rest_of_handle_cse, rest_of_handle_cse2): Do not use dump argument. * loop-init.c (loop_optimizer_init, loop_optimizer_finalize, rtl_loop_init, rtl_loop_done): Ditto. * global.c (global_alloc, rest_of_handle_global_alloc): Ditto. * predict.c (combine_predictions_for_bb, tree_estimate_probability): Ditto. * recog.c (peephole2_optimize, rest_of_handle_peephole2): Ditto. * lcm.c (pre_edge_lcm, pre_edge_rev_lcm): Ditto. * regmove.c (fixup_match_1, fixup_match_2, regmove_optimize, rest_of_handle_regmove, rest_of_handle_stack_adjustments): Ditto. * emit-rtl.c (renumber_insns): Ditto. * cfgexpand.c (add_reg_br_prob_note, expand_gimple_cond_expr, expand_gimple_basic_block, tree_expand_cfg): Ditto. * regclass.c (regclass): Ditto. * tree-outof-ssa.c (analyze_edges_for_bb, perform_edge_inserts, remove_ssa_form, rewrite_out_of_ssa): Ditto. * reg-stack.c (compensate_edge, compensate_edges, convert_regs_1, convert_regs_2, convert_regs, reg_to_stack, rest_of_handle_stack_regs): Ditto. * sched-rgn.c (schedule_insns, rest_of_handle_sched): Ditto. * local-alloc.c (rest_of_handle_local_alloc): Do not pass dump_file to regclass. * gcse.c (gcse_file, debug_stderr): Removed. (gcse_main, bypass_jumps, rest_of_handle_jump_bypass, rest_of_handle_gcse): Do not use dump argument. (cprop_jump, cprop_insn, do_local_cprop, cprop, find_implicit_sets, one_cprop_pass, bypass_block, compute_pre_data, insert_insn_end_bb, pre_edge_insert, pre_insert_copy_insn, pre_delete, one_pre_gcse_pass, compute_code_hoist_vbeinout, compute_code_hoist_data, one_code_hoisting_pass, trim_ld_motion_mems, update_ld_motion_stores, compute_store_table, build_store_vectors, insert_insn_start_bb, insert_store, remove_reachable_equiv_notes, replace_store_insn, store_motion): Use dump_file instead of gcse_file. * ipa-type-escape.c (type_escape_execute): Remove debugging comments. * profile.c (profile_dump_file): Removed. (branch_prob): Use dump_file instead of profile_dump_file. * ipa.c (cgraph_remove_unreachable_nodes): Do not call argument dump_file. * tree-ssa-copy.c (dump_copy_of): Ditto. * rtl-factoring.c (rtl_seqabstr, rest_of_rtl_seqabstr): Do not pass dump file to life_analysis. * bt-load.c (branch_target_load_optimize): Ditto. * cfgcleanup.c (rest_of_handle_jump2): Do not pass dump_file to renumber_insns. * rtl.h (cse_main, renumber_insns, schedule_insns, schedule_ebbs, regclass, dbr_schedule): Declaration changed. * sched-int.h (sched_init): Declaration changed. * tree-profile.c (tree_profile_dump_file): Removed. (tree_profile_hooks): Removed profile_dump_file hook. * rtl-profile (rtl_profile_dump_file): Removed. (rtl_profile_hooks): emoved profile_dump_file hook. * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize): Declaration changed. * c-gimplify.c (c_genericize): Do not call local variable dump_file. * tree-cfg.c (build_tree_cfg): Ditto. * Makefile.in (haifa-sched.o, sched-ebb.o): Add output.h dependency. * basic-block.h (life_analysis, pre_edge_lcm, pre_edge_rev_lcm): Declaration changed. * config/sh/sh.c (sh_output_mi_thunk): Do not pass dump_file to life_analysis and schedule_insns. * config/m68hc11/m68hc11.c (m68hc11_reorg): Do not pass dump_file to life_analysis. * config/mt/mt.c (mt_machine_reorg): Do not pass dump_file to dbr_schedule. * config/mips/mips.c (mips_reorg): Ditto. * config/ia64/ia64.c (ia64_reorg): Do not pass dump_file to schedule_ebbs. From-SVN: r110656
2006-01-29configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported.Gabriel Dos Reis1-0/+2
* configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported. * Makefile.in (CXX_COMPAT_WARN): Define. * configure: Regenerate. cp/ * Make-lang.in (cp-warn): Include CXX_COMPAT_WARN. * repo.c (extract_string, afgets): Use cast when converting from void *. From-SVN: r110380
2006-01-29c.opt: Add -W(no-)overlength-strings.Zack Weinberg1-6/+4
gcc: * c.opt: Add -W(no-)overlength-strings. * doc/invoke.texi: Document it. * c-opts.c (c_common_handle_option): -pedantic implies -Woverlength-strings, if not explicitly disabled already. (c_common_post_options): -Woverlength-strings defaults to off, and is always off for C++. * c-common.c (fix_string_type): Issue warning about strings longer than is portable only if warn_overlength_strings. Rearrange code a little for clarity. * configure.in: Check for -Wno-overlength-strings as well before enabling -pedantic in stage 1. * Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings. (gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete. * genconditions.c (write_header, write_one_condition) (write_conditions, write_writer): Consolidate very long strings that were broken up to fit in C89 portable limit. Don't use printf when fputs will do. gcc/testsuite: * gcc.dg/Woverlength-strings.c * gcc.dg/Woverlength-strings-pedantic-c89.c * gcc.dg/Woverlength-strings-pedantic-c89-no.c * gcc.dg/Woverlength-strings-pedantic-c99.c * gcc.dg/Woverlength-strings-pedantic-c99-no.c: New tests. ================================================================== From-SVN: r110360