summaryrefslogtreecommitdiff
path: root/gcc/doc/invoke.texi
Commit message (Collapse)AuthorAgeFilesLines
* 2006-10-22 H.J. Lu <hongjiu.lu@intel.com>hjl2006-10-221-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers. (x86_64-*-*): Likewise. * config/i386/i386.c (pta_flags): Add PTA_SSSE3. (override_options): Check SSSE3. (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD, IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD, IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW, IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB, IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND, IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW, IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128, IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128, IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128, IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128, IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128, IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128, IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128, IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and IX86_BUILTIN_PABSD128. (bdesc_2arg): Add SSSE3. (bdesc_1arg): Likewise. (ix86_init_mmx_sse_builtins): Support SSSE3. (ix86_expand_builtin): Likewise. * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise. * config/i386/i386.md (UNSPEC_PSHUFB): New. (UNSPEC_PSIGN): Likewise. (UNSPEC_PALIGNR): Likewise. Include mmx.md before sse.md. * config/i386/i386.opt: Add -mssse3. * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3. (ssse3_phaddwv4hi3): Likewise. (ssse3_phadddv4si3): Likewise. (ssse3_phadddv2si3): Likewise. (ssse3_phaddswv8hi3): Likewise. (ssse3_phaddswv4hi3): Likewise. (ssse3_phsubwv8hi3): Likewise. (ssse3_phsubwv4hi3): Likewise. (ssse3_phsubdv4si3): Likewise. (ssse3_phsubdv2si3): Likewise. (ssse3_phsubswv8hi3): Likewise. (ssse3_phsubswv4hi3): Likewise. (ssse3_pmaddubswv8hi3): Likewise. (ssse3_pmaddubswv4hi3): Likewise. (ssse3_pmulhrswv8hi3): Likewise. (ssse3_pmulhrswv4hi3): Likewise. (ssse3_pshufbv16qi3): Likewise. (ssse3_pshufbv8qi3): Likewise. (ssse3_psign<mode>3): Likewise. (ssse3_psign<mode>3): Likewise. (ssse3_palignrti): Likewise. (ssse3_palignrdi): Likewise. (abs<mode>2): Likewise. (abs<mode>2): Likewise. * config/i386/tmmintrin.h: New file. * doc/extend.texi: Document SSSE3 built-in functions. * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117958 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (Score Options): New section.liqin2006-10-191-0/+34
| | | | | | | | | | | | | | * doc/md.texi (Score family): New section to document constraints. * config/score/t-score-elf: Fix spelling typo. * config/score/score.c: Add TARGET_DEFAULT_TARGET_FLAGS macro. * config/score/score.h: Fix spelling typo. * config/score/score-mdaux.c: Remove TARGET_NOPINDEX condition. * config/score/score.opt: Remove -mnpi -mnuls -mSCORE5/5U -mSCORE7 options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117882 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typomrs2006-10-171-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117808 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (Darwin Options): Document -mkernel.mrs2006-10-161-1/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117798 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to thebje2006-10-101-1/+1
| | | | | | | -mdlmzb option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117596 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-02 Ryan Mansfield <rmansfield@qnx.com>rsandifo2006-10-041-3/+3
| | | | | | | | PR c++/28448 * doc/invoke.texi (fdiagnostics-show-option): Fix typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117429 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/24010jsm282006-09-301-0/+18
| | | | | | | | | | | | | | | | | * c.opt (Woverride-init): New. * c-opts.c (c_common_post_options): Default warn_override_init to extra_warnings. * c-typeck.c (add_pending_init, output_init_element): Warn for overriding initializers without side effects. * doc/invoke.texi (-Woverride-init): Document. (-Wextra): Update. testsuite: * gcc.dg/Woverride-init-1.c, gcc.dg/Woverride-init-2.c, gcc.dg/Woverride-init-3.c: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117334 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-09-25 Matthias Klose <doko@debian.org>doko2006-09-251-1/+1
| | | | | | | * doc/invoke.texi: Add missing full stop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117211 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-09-12 H.J. Lu <hongjiu.lu@intel.com>hjl2006-09-131-5/+3
| | | | | | | | * doc/invoke.texi (mpreferred-stack-boundary): Remove exception for -Os. Update __m128 alignment requirement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116917 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28687jason2006-08-231-1/+3
| | | | | | | | * rtti.c (build_dynamic_cast, build_dynamic_cast_1): Move -fno-rtti check to be more specific. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116350 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.mrs2006-08-161-4/+4
| | | | | | | * doc/cppopts.texi (-MD): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116187 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-08-13 Matthias Klose <doko@debian.org>doko2006-08-131-3/+3
| | | | | | | * doc/invoke.texi: Fix spelling errors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116107 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl2.c (determine_visibility): Don't propagate visibility fromjason2006-07-211-1/+2
| | | | | | | | | type to decl. (constrain_class_visibility): Don't warn in system headers. Don't warn about pointer fields. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115651 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (C++ Dialect Options): Note thatmrs2006-07-211-0/+4
| | | | | | | | | | | | | | | -fvisibility-inlines-hidden doesn't affect explicitly instantiationed inline methods. cp: * decl2.c (determine_visibility_from_class): Don't use hidden visibility for explicit instantiations. testsuite: * g++.dg/ext/visibility/fvisibility-inlines-hidden-3.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115649 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (RS/6000 and PowerPC Options): Document thatnathan2006-07-191-5/+7
| | | | | | | | | | -mlongcall does not guarantee all calls will be long. * doc/extend.texi (long_call/short_call): Document that longcall does not guarantee a long call will be used. (longcall/shortcall): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115582 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-07-17 Toon Moene <toon@moene.indiv.nluug.nl>toon2006-07-171-10/+11
| | | | | | | | | | * invoke.texi: Remove mention of f77; Reformat table for inline parameter options correctly; mention that -malign-double is default on x86-64 targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115529 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:amylaar2006-07-171-2/+9
| | | | | | | | | | | | | | | | | | | PR other/28251 * tree.h (dump_addr): Declare. * print-tree.c (dump_addr): New function. (print_node_brief, print_node): Use it. * print-rtl.c (print_rtx): Likewise. * common.opt (-fdump-noaddr): New option. * doc/invoke.texi (-fdump-noaddr): Document. * loop-unroll.c (si_info_hash): Make hash independent of addresses. (ve_info_hash): Likewise. gcc/testsuite: PR other/28251 gcc.c-torture/unsorted/dump-noaddr.c: New test. gcc.c-torture/unsorted/dump-noaddr.x: New driver. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115519 138bc75d-0d04-0410-961f-82ee72b054a4
* Index: ChangeLoggeoffk2006-07-131-2/+7
| | | | | | | | | | | | | | | | | | | | | | 2006-07-12 Geoffrey Keating <geoffk@apple.com> * doc/invoke.texi (C++ Dialect Options): Explain difference between -fvisibility-inlines-hidden and setting hidden visibility explicitly. Index: cp/ChangeLog 2006-07-12 Geoffrey Keating <geoffk@apple.com> * decl2.c (determine_visibility): Don't change visibility of function locals because of -fvisibility-inlines-hidden. Index: testsuite/ChangeLog 2006-07-12 Geoffrey Keating <geoffk@apple.com> * g++.dg/ext/visibility/fvisibility-inlines-hidden-2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115411 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix requested by Mark for recent g++ clarification.mrs2006-07-071-4/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115270 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (Invoking G++): Clarify prose for g++.mrs2006-07-051-9/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115211 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/26905jason2006-06-301-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/26612 PR c++/27000 PR c++/26984 PR c++/19134 * tree.c (build_decl_stat): Don't hande #pragma visibility here. * c-common.c (c_determine_visibility): Handle it here. * c-decl.c (finish_decl): Call c_determine_visibility for functions, too. * flags.h (enum symbol_visibility): Sort from most to least visibility. * tree.h: Likewise. * varasm.c (default_assemble_visibility): Likewise. * c-common.c (handle_visibility_attribute): Complain about trying to give visibility to an already defined class, or trying to change declared visibility. Always attach the attribute. * cp/decl2.c (determine_visibility): Overhaul. (determine_visibility_from_class): Likewise. (min_vis_r, type_visibility, constrain_visibility): New fns. (constrain_visibility_for_template): Likewise. (constrain_class_visibility): Likewise. * cp/decl.c (cp_finish_decl): Call determine_visibility for function decls, too. * cp/name-lookup.c (pushtag): Call determine_visibility. * cp/decl.c (duplicate_decls): Don't copy visibility from template to specialization. * cp/pt.c (check_explicit_specialization): Likewise. (lookup_template_class, tsubst_decl): Call determine_visibility. * cp/class.c (finish_struct_1): Call constrain_class_visibility. PR c++/26905 PR c++/21675 PR c++/17470 * cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes to grokdeclarator. (cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'. (cp_parser_enum_specifier): Likewise. (cp_parser_elaborated_type_specifier): Apply attributes if this declares only the class. (cp_parser_class_specifier): Apply leading attributes immediately. * cp/semantics.c (begin_class_definition): Add attributes parameter, apply them to the type. * attribs.c (decl_attributes): Ignore type-in-place attributes once the type has been defined. PR c++/21581 PR c++/25915 * cp/tree.c (decl_anon_ns_mem_p): New function. * cp/cp-tree.h: Declare it. * cp/decl2.c (determine_visibility): Make anonymous namespace members static. (min_vis_r, constrain_visibility): Likewise. * cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on pseudo-types. * cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on global_namespace. * cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC on anonymous namespaces. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115086 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typos in --param option docs.wilson2006-06-261-3/+3
| | | | | | | | * doc/invoke/texi (max-cselib-memory-locations): Add missing s at end. (max-flow-memory-locations): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115026 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-06-21 Andrew Pinski <pinskia@physics.uc.edu>pinskia2006-06-211-10/+10
| | | | | | | | | | * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect" section from the "Options for Code Generation Conventions". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114863 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>mkuvyrkov2006-06-061-1/+1
| | | | | | | | | | | | | | * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default value to 0. * doc/invoke.texi (max-sched-extend-regions-iters): Document. * config/ia64/ia64.c (params.h): New header. (ia64_optimization_options): New function to adjust parameters. * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype. * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro. * config/ia64/t-ia64 (ia64.o): Add dependence from params.h . git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114425 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi: Add cpu_type power6.dje2006-06-011-1/+1
| | | | | | | | | | | * config.gcc: Add cpu_type power6. * config/rs6000/rs6000.c (rs6000_override_options): Alias power6 to power5+ with Altivec. * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6. * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114309 138bc75d-0d04-0410-961f-82ee72b054a4
* * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,kazu2006-05-281-2/+2
| | | | | | | | | | | | | | | | config/fr30/fr30.md, config/i386/i386-interix.h, config/i386/i386.c, config/i386/i386.md, config/sh/superh.h, config/sh/superh64.h, config/v850/v850.c, df-core.c, df-problems.c, df.h, except.c, final.c, haifa-sched.c, lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c, reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c, tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos. Follow spelling conventions. * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos. Follow spelling conventions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114168 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (Optimize Options): Document that -funit-at-a-timeebotcazou2006-05-261-3/+3
| | | | | | | | is enabled at -O and above. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114139 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-05-22 Richard Guenther <rguenther@suse.de>rguenth2006-05-221-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert 2006-01-31 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-msselibm): Document. * target.h (expand_library_builtin): New target hook. * builtins.c (expand_builtin): Use expand_library_builtin. (default_expand_library_builtin): New function. * gcc.c (LINK_GCC_MATH_SPEC): Define. (LINK_COMMAND_SPEC): Handle %(link_gcc_math). (link_gcc_math_spec): Declare. (static_specs): Add link_gcc_math_spec. * expr.h (default_expand_library_builtin): Declare. * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. * config/i386/i386.opt (msselibm): New target option. * config/i386/i386.c (ix86_builtin_function_variants): New array. (ix86_init_sse_abi_builtins): New function. (ix86_expand_library_builtin): Likewise. (TARGET_EXPAND_LIBRARY_BUILTIN): Define. (override_options): Handle error conditions wrt -msselibm. (ix86_builtins): Add function codes for SSE2 ABI builtins. (ix86_init_builtins): Call ix86_init_sse_abi_builtins. * doc/extend.texi (__builtin_sse2_*): Document new target specific builtins. * gcc.target/i386/sselibm-1.c: New testcase. * gcc.target/i386/sselibm-2.c: Likewise. * gcc.target/i386/sselibm-3.c: Likewise. * gcc.target/i386/sselibm-4.c: Likewise. * gcc.target/i386/sselibm-5.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113977 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc/config/i386/i386.opt (-mstackrealign): New flag. *stuart2006-05-181-0/+16
| | | | | | | | | | | | | | | | | | | | gcc/config/i386/i386.c (force_align_arg_pointer): New attribute. (ix86_handle_cconv_attribute): Emit error when force_align_arg_pointer attribute collides with too many regparms. (ix86_function_regparm): Limit regparms when used with force_align_arg_pointer attribute. (ix86_internal_arg_pointer): Support stack-realigning prologue in non-main functions. Emit warning for nested functions under -mstackrealign, emit error for nested functions with force_align_arg_pointer attribute. * gcc/doc/extend.texi (force_align_arg_pointer): Document it. * gcc/doc/invoke.texi (-mstackrealign): Document it. * testsuite/gcc.target/i386/20060512-1.c: New. * testsuite/gcc.target/i386/20060512-2.c: New. * testsuite/gcc.target/i386/20060512-3.c: New. * testsuite/gcc.target/i386/20060512-4.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113880 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-05-15 Mircea Namolaru <namolaru@il.ibm.com>razya2006-05-151-1/+0
| | | | | | | | | | | | * see.c: Code style changes such as redundant paranthesis, redundant intialization of local variables etc. (see_main): Declared now as static. * doc/invoke.texi: Update that -fsee is not enabled by default at -O3. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113792 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.host (<i[34567]86-*-*, x86_64-*-*>): Setmatz2006-05-091-0/+7
| | | | | | | | | | | | | | | | | | host_extra_gcc_objs and host_xmake_file. (<*-*-linux*>): Don't overwrite host_xmake_file. * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS. * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define. (host_detect_local_cpu): Declare. (CC1_CPU_SPEC): Add -march=native and -mtune=native cases. * config/i386/i386.c (override_options): Handle -mtune=native as -mtune=generic. * config/i386/x-i386: New file. * config/i386/driver-i386.c: New file. * doc/invoke.texi (<i386 and x86-64 Options>): Describe cpu-type "native". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113655 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-05-04 Leehod Baruch <leehod@il.ibm.com>razya2006-05-041-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113518 138bc75d-0d04-0410-961f-82ee72b054a4
* * common.opt (Woverflow): New command line option.sayle2006-05-011-1/+6
| | | | | | | | | | | | | | | | * c-common.c (constant_expression_warning): Check warn_overflow. (overflow_waring): Pass OPT_Woverflow to warning. (unsigned_conversion_warning): Likewise. (convert_and_check): Likewise. * doc/invoke.texi: Document new command line option. * gcc.dg/Woverflow-1.c: New test case. * gcc.dg/Woverflow-2.c: Likewise. * gcc.dg/Woverflow-3.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113408 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (-Wuninitialized): Clarify -O connection.dpatel2006-04-181-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113048 138bc75d-0d04-0410-961f-82ee72b054a4
* * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,ebotcazou2006-04-141-0/+6
| | | | | | | | | | | | | | defaulting to 100. * params.h (MAX_SCHED_READY_INSNS): New macro. * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle past MAX_SCHED_READY_INSNS during the first scheduling pass. (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in the ready list for 1 cycle during the first scheduling pass. * doc/invoke.texi (--param): New parameter max-sched-ready-insns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112936 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c, config/arm/arm.c, config/i386/cygwin.h,kazu2006-04-081-4/+4
| | | | | | | | | | | | | | | | config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h, config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c, haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h, sched-rgn.c, tree-inline.h, tree-ssa-dom.c, tree-ssa-loop-prefetch.c, tree-ssa-operands.c, tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow spelling convensions. * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi, doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment typos. Follow spelling conventions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112782 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (Function Attributes): Rewrite visibility geoffk2006-04-041-7/+23
| | | | | | | | | | | | attribute documentation. * doc/invoke.texi (C++ Dialect Options): Rewrite -fvisibility-inlines-hidden documentation to describe something entirely different, although in practise compatible. (Code Gen Options): Warn about system headers in -fvisibiltity= documentation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112653 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/carlos2006-03-241-1/+10
| | | | | | | | | | | | | | | | | | 2006-03-24 Carlos O'Donell <carlos@codesourcery.com> * doc/invoke.texi: Document -femit-class-debug-always * common.opt: Add -femit-class-debug-always. gcc/cp/ 2006-03-24 Carlos O'Donell <carlos@codesourcery.com> * search.c (maybe_suppress_debug_info): If flag_emit_class_debug_always then don't suppress. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112360 138bc75d-0d04-0410-961f-82ee72b054a4
* PR driver/22600 reichelt2006-03-221-1/+2
| | | | | | | | | | | | | | | * system.h (ICE_EXIT_CODE): New macro. * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE. (diagnostic_action_after_output): Likewise. * gcc.c (fatal_ice): New function. (execute): Use it instead of fatal. (fancy_abort): Likewise. * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs. * fortran/error.c (gfc_fatal_error): Return ICE_EXIT_CODE instead of 4. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112292 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/md.texi (-mshared): Mention that -mshared code can be linkedrsandifo2006-03-221-2/+3
| | | | | | | into shared libraries. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112281 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/predicates.md (const_call_insn_operand): Allow directrsandifo2006-03-221-5/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS. * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS. Use TARGET_OLDABI instead of !TARGET_NEWABI. (loadgp): Use mips_current_loadgp_style. (loadgp_noshared): New pattern. (sibcall_internal): Use MIPS_CALL. (sibcall_value_internal): Likewise. (sibcall_value_multiple_internal): Likewise. (call_internal): Likewise. (call_value_internal): Likewise. (call_value_multiple_internal): Likewise. (call_split): Use MIPS_CALL and add an 'S' constraint. (call_value_split): Likewise. (call_value_multiple_split): Likewise. * config/mips/mips.opt (-mabicalls): Tweak docstring. (-mshared): New option. * config/mips/mips-protos.h (mips_loadgp_style): New enum. (mips_current_loadgp_style): Declare. * config/mips/mips.c (mips_classify_symbol): Avoid using SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if TARGET_ABSOLUTE_ABICALLS. (override_options): Adjust comments. Improve the warning that is issued when -mabicalls and -G are used together. (mips_file_start): Remove comment. (mips_current_loadgp_style): New function. (mips_gnu_local_gp): New variable. (mips_emit_loadgp): Use mips_current_loadgp_style. Handle LOADGP_ABSOLUTE. (mips_output_function_prologue): Use mips_current_laodgp_style. (mips_expand_prologue): Call mips_emit_loadgp before emitting the cprestore instruction. (mips_extra_live_on_entry): Fix reversed test. Don't make $25 live for TARGET_ABSOLUTE_ABICALLS. * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro. (ASM_SPEC): Pass down -mshared and -mno-shared. (MIPS_CALL): New macro. * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__ definition. * doc/invoke.texi (-mabicalls): Update documentation. (-mshared): Document. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112279 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-03-21 Toon Moene <toon@moene.indiv.nluug.nl>toon2006-03-211-2/+6
| | | | | | | | | | | | | | | * fortran/options.c (gfc_init_options): Initialize flag_argument_noalias to 3. * doc/invoke.texi: Document new flag -fargument-noalias-anything. * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2, argument pointers may not alias any other storage. * common.opt: Define option -fargument-noalias-anything. * tree-ssa-structalias.c (intra_create_variable_infos): Fortran alias semantics is specified by flag_argument_noalias > 2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112243 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>mkuvyrkov2006-03-161-1/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/ia64/ia64.c (stops_p): Added explicit initialization. (ia64_first_cycle_multipass_dfa_lookahead_guard_spec, ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn, ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global, ia64_sched_finish_global): New static functions to implement hooks from gcc_target.sched. (spec_check_no, max_uid, pending_data_specs): New static variables. (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p, ia64_spec_check_src_p): New static functions. (ia64_adjust_cost): Renamed to ia64_adjust_cost_2. (TARGET_SCHED_ADJUST_COST): Removed. (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_FINISH_GLOBAL, 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. (update_set_flags, group_barrier_needed, set_src_needs_barrier): Fixed to handle speculation checks. (rtx_needs_barrier): Fixed to handle speculative loads and their checks. (ia64_variable_issue): Added code to count speculative loads and their checks. (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle speculative loads. (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): New enumerations. (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET): New constants. (ia64_ld_address_bypass_p): Fixed to handle speculative loads. (ia64_reorg): Reset stops_p to NULL after it is freed. * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA, UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants. (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f, chk_a. (data_speculative, control_speculative, check_load): New attributes. (mov<mode>_advanced, mov<mode>_speculative, mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced, zero_extend<mode>di2_speculative, zero_extend<mode>di2_speculative_advanced): New patterns for data and control speculative loads. (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for check loads. (advanced_load_check_clr_<mode>, speculation_check_<mode>): New pattern for data and control speculation checks. (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr, ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr, reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes): Auxiliary definitions for the patterns. * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a, 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource constraints. (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition for speculation. (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i. * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f, 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a): New resource constraints. (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition for speculation. (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i. * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec, msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, msched-in-control-spec, msched-ldc, msched-control-ldc, msched-spec-verbose, msched-prefer-non-data-spec-insns, msched-prefer-non-control-spec-insns, msched-count-spec-in-critical-path): New flags to tune speculative scheduling. * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec, msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, msched-in-control-spec, msched-ldc, msched-control-ldc, msched-spec-verbose, msched-prefer-non-data-spec-insns, msched-prefer-non-control-spec-insns, msched-count-spec-in-critical-path): Document new flags. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112129 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>mkuvyrkov2006-03-161-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112128 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>mkuvyrkov2006-03-161-0/+6
| | | | | | | | | | | | * sched-rgn.c (extend_rgns): New static function. (find_rgns): Use it. (gather_region_statistics, print_region_statistics): New static functions. * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter. * doc/invoke.texi (max-sched-extend-regions-iters): Document. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112126 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.opt (mdlmzb): New option.jsm282006-03-141-1/+10
| | | | | | | | | | | | | | | | (msched-prolog, msched-epilog): Use Var not Mask. * doc/invoke.texi (-mdlmzb): Document. * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_SCHED_PROLOG. (rs6000_override_options): Enable -mdlmzb for 405 and 440. * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440. testsuite: * gcc.target/powerpc/405-dlmzb-strlen-1.c, gcc.target/powerpc/440-dlmzb-strlen-1.c: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112040 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi: Update dump file names.kazu2006-03-131-28/+28
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111993 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (-fdump-rtl-loop): Remove.kazu2006-03-131-6/+5
| | | | | | | (-dL, -fdump-rtl-loop2): Update the dump file names git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111991 138bc75d-0d04-0410-961f-82ee72b054a4
* * predict.c (estimate_probability): Remove.steven2006-03-121-6/+0
| | | | | | | | | | | | | | * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove. * basic-block.h (estimate_probability): Remove prototype. * passes.c (finish_optimization_passes): Dump branch prediction or profiling heuristics to the .profile tree dump. (init_optimization_passes): Unqueue pass_branch_prob. * doc/invoke.texi (-fdump-rtl-bp): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111980 138bc75d-0d04-0410-961f-82ee72b054a4
* Sun Niagara specific optimizations.davem2006-03-021-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc: Recognize niagara as target. * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara. (TARGET_CPU_niagara): Define. (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara. (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara. (CPP_CPU_SPEC): Handle -mcpu=niagara. (ASM_CPU_SPEC): Likewise. (PROCESSOR_NIAGARA): New enum entry. (REGISTER_MOVE_COST): Handle Niagara. (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise. * config/sparc/sparc.c (niagara_costs): New processor_costs entry. (sparc_override_options): Recognize "niagara", set appropriate default MASK_* values for it, and align functions to 32-bytes by default just like ULTRASPARC/ULTRASPARC3. (sparc_initialize_trampoline): Handle niagara like ultrasparc. (sparc64_initialize_trampoline): Likewise. (sparc_use_sched_lookahead): Use zero for niagara. (sparc_issue_rate): Use one for niagara. * config/sparc/niagara.md: New file. * config/sparc/sparc.md: Include it. * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC, ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately when default cpu is niagara. (CPP_CPU_SPEC): Handle -mcpu=niagara. (ASM_CPU_SPEC): Likewise. * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately when default cpu is niagara. (ASM_CPU_SPEC): Handle -mcpu=niagara. * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara just like v9/ultrasparc/ultrasparc3. * doc/invoke.texi: Add documentation for "niagara" and improve existing documentation for ultrasparc variants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111648 138bc75d-0d04-0410-961f-82ee72b054a4