aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-09-18re PR tree-optimization/45453 (ICE: verify_cgraph_node failed: inlined_to ↵Jan Hubicka7-2/+54
pointer set for noninline callers with -O2 -fno-early-inlining) PR tree-optimization/45453 * cgraphunit.c (cgraph_finalize_function): Consider comdat & external virtual functions are reachable. * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise. * ipa.c (cgraph_remove_unreachable_nodes): Likewise. * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P when modifying function. * g++.dg/tree-ssa/pr45453.C: New testcase. From-SVN: r164405
2010-09-18frontend-passes.c (gfc_expr_walker): Also handle EXPR_SUBSTRING.Thomas Koenig2-1/+7
2010-09-19 Thomas Koenig <tkoenig@gcc.gnu.org> * frontend-passes.c (gfc_expr_walker): Also handle EXPR_SUBSTRING. From-SVN: r164404
2010-09-18frontend-passes.c (gfc_expr_walker): Handle constructors and references.Thomas Koenig2-0/+63
2010-09-17 Thomas Koenig <tkoenig@gcc.gnu.org> * frontend-passes.c (gfc_expr_walker): Handle constructors and references. From-SVN: r164403
2010-09-18re PR tree-optimization/45605 (Missed devirtualization)Jan Hubicka3-5/+76
PR tree-optimization/45605 * cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack. * gimple-fold.c (static_object_in_other_unit_p): New function. (canonicalize_constructor_val): Use it. (get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val returning NULL. (gimple_fold_obj_type_ref_known_binfo): Use static_object_in_other_unit_p. From-SVN: r164402
2010-09-18call.c (compare_ics): Do lvalue/rvalue reference binding comparison for ↵Jason Merrill4-6/+27
ck_list, too. * call.c (compare_ics): Do lvalue/rvalue reference binding comparison for ck_list, too. From-SVN: r164401
2010-09-18re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at ↵Richard Guenther4-5/+45
tree-phinodes.c:395) 2010-09-18 Richard Guenther <rguenther@suse.de> PR tree-optimization/45709 * tree-inline.c (copy_phis_for_bb): Delay commit of edge insertions until after all PHI nodes of the block are processed. * g++.dg/torture/pr45709-2.C: New testcase. From-SVN: r164397
2010-09-18* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.Tijl Coosemans2-0/+9
From-SVN: r164396
2010-09-18Pass -fno-pic to gcc.target/i386/pad-3.c.H.J. Lu2-1/+6
2010-09-18 H.J. Lu <hongjiu.lu@intel.com> PR testsuite/45719 * gcc.target/i386/pad-3.c: Pass -fno-pic. From-SVN: r164395
2010-09-18lto-elf.c (lto_obj_file_open): Also provide filename when elf_begin fails.Gerald Pfeifer2-1/+6
* lto-elf.c (lto_obj_file_open): Also provide filename when elf_begin fails. From-SVN: r164394
2010-09-18config.gcc (*-w64-mingw*): Correct typo about t-dfprules.Kai Tietz2-1/+5
2010-09-18 Kai Tietz <kai.tietz@onevision.com> * config.gcc (*-w64-mingw*): Correct typo about t-dfprules. From-SVN: r164393
2010-09-18re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at ↵Richard Guenther3-1/+29
tree-phinodes.c:395) 2010-09-18 Richard Guenther <rguenther@suse.de> PR tree-optimization/45709 * tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it. * g++.dg/torture/pr45709.C: New testcase. From-SVN: r164390
2010-09-18In libobjc/:Nicola Pero9-249/+506
* hash.c: Include objc-private/hash.h instead of objc/hash.h. * objc/sarray.h: Moved into objc/deprecated/sarray.h; objc/sarray.h replaced with a placeholder including the file from the deprecated/ directory. * objc-private/sarray.h: New file (private copy of sarray.h). * hash.c: Include <assert.h> instead of "assert.h" * sarray.c: Include <assert.h> instead of "assert.h". Include objc-private/sarray.h instead of objc/sarray.h. * selector.c: Include objc-private/sarray.h instead of objc/sarray.h. * sendmsg.c: Include <assert.h>. Include objc-private/sarray.h instead of objc/sarray.h. * Makefile.in (OBJC_DEPRECATED_H): Added sarray.h. From-SVN: r164389
2010-09-18re PR libstdc++/45713 (sizeof std::bitset<ULONG_MAX> == 1)Luc Hermitte3-2/+34
2010-09-17 Luc Hermitte <hermitte@free.fr> Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/45713 * include/std/bitset: Fix _GLIBCXX_BITSET_WORDS macro. * testsuite/23_containers/bitset/45713.cc: New. Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com> From-SVN: r164388
2010-09-18Daily bump.GCC Administrator1-1/+1
From-SVN: r164387
2010-09-17Add DEBUG_FUNCTION to all the dot_* debugging functions.Sebastian Pop4-5/+13
2010-09-17 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION. (dot_deps_stmt): Same. * graphite-poly.c (dot_lst): Same. * graphite-scop-detection.c (dot_all_scops): Same. (dot_scop): Same. From-SVN: r164381
2010-09-17Add back dot_rdg.Sebastian Pop2-0/+76
2010-09-17 Sebastian Pop <sebastian.pop@amd.com> Revert commit: 2009-12-16 Ben Elliston <bje@au.ibm.com> * tree-data-ref.c (dot_rdg_1): Added back. (dot_rdg): Same. Added "#if 0" around system call. From-SVN: r164380
2010-09-17Pad short functions with NOPs for Atom.H.J. Lu17-1/+343
gcc/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> Richard Henderson <rth@redhat.com> * config/i386/i386.c (initial_ix86_tune_features): Add X86_TUNE_PAD_SHORT_FUNCTION. (ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION. (ix86_count_insn): New. (ix86_pad_short_function): Likewise. (ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION. * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_PAD_SHORT_FUNCTION. (TARGET_PAD_SHORT_FUNCTION): New. * config/i386/i386.md (UNSPEC_NOPS): New. (nops): Likewise. gcc/testsuite/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> * gcc.target/i386/pad-1.c: New. * gcc.target/i386/pad-2.c: Likewise. * gcc.target/i386/pad-3.c: Likewise. * gcc.target/i386/pad-4.c: Likewise. * gcc.target/i386/pad-5a.c: Likewise. * gcc.target/i386/pad-5b.c: Likewise. * gcc.target/i386/pad-6a.c: Likewise. * gcc.target/i386/pad-6b.c: Likewise. * gcc.target/i386/pad-7.c: Likewise. * gcc.target/i386/pad-8.c: Likewise. * gcc.target/i386/pad-9.c: Likewise. * gcc.target/i386/pad-10.c: Likewise. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r164379
2010-09-17Do not print warning messages when there are no occurences.Sebastian Pop2-2/+10
2010-07-02 Sebastian Pop <sebastian.pop@amd.com> * check_GNU_style.sh: Do not print warning messages when there are no occurences. From-SVN: r164378
2010-09-17Make sure that all variable sized adjustments are multiple of preferredH.J. Lu4-0/+57
stack boundary after stack alignment. gcc/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/45234 * calls.c (expand_call): Make sure that all variable sized adjustments are multiple of preferred stack boundary after stack alignment. gcc/testsuite/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/45234 * gcc.dg/torture/stackalign/alloca-5.c: New. From-SVN: r164377
2010-09-17rx.c (valid_psw_flag): New.DJ Delorie3-12/+54
* config/rx/rx.c (valid_psw_flag): New. (rx_expand_builtin): Call it for setpsw/clrpsw. (rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an RTX. * config/rx/rx.md (bitclr): Don't mark the output as early-clobber. (bitclr_in_memory): Likewise. (clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile. From-SVN: r164376
2010-09-17Update stack alignment when increasing local variable alignment.H.J. Lu4-11/+48
gcc/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/45678 * cfgexpand.c (update_stack_alignment): New. (get_decl_align_unit): Use it. (expand_one_stack_var_at): Call update_stack_alignment. gcc/testsuite/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/45678 * gcc.dg/torture/pr45678-2.c: New. From-SVN: r164375
2010-09-17In libobjc/:Nicola Pero5-57/+13
* objc-private/objc-list.h (list_remove_elem): Unused function removed. (list_nth): Unused function removed. (list_find): Unused function removed. (list_lenght): Unused function removed. Also, fixed an error in my last commit by adding back objc/hash.h and objc/objc-list.h that had not been committed. From-SVN: r164374
2010-09-17In libobjc/:Nicola Pero15-9/+408
* objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h replaced with a placeholder including the file from the deprecated/ directory. * objc/objc-api.h: Updated includes. * objc/typedstream.h: Updated includes. * objc-private/hash.h: New file (private copy of hash.h). * objc/objc-list.h: Moved into objc/deprecated/objc-list.h; objc/objc-list.h replaced with a placeholder including the file from the deprecated/ directory. * objc-private/objc-list.h: New file (private copy of objc-list.h). * init.c: Include objc-private/hash.h and objc-private/objc-list.h instead of objc/hash.h and objc/objc-list.h. * selector.c: Same change. * class.c: Added include <string.h>, which used to be implicitly included when hash.h was included. * exception.c: Same change. * objects.c: Same change. * sarray.c: Same change. * sendmsg.c: Same change. * Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h. (OBJC_H): Removed hash.h and objc-list.h From-SVN: r164373
2010-09-17lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers): ↵Richard Guenther2-1/+6
Properly copy the read string. 2010-09-17 Richard Guenther <rguenther@suse.de> * lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers): Properly copy the read string. From-SVN: r164371
2010-09-17options.texi (Variable): Document.Joseph Myers13-58/+87
* doc/options.texi (Variable): Document. * optc-gen.awk, opth-gen.awk: Handle Variable records. Don't generate target_flags declarations explicitly. Don't define VarExists variables for the driver. * common.opt (target_flags): New Variable record. (flag_dump_unnumbered, flag_dump_unnumbered_links, flag_var_tracking, flag_var_tracking_assignments, flag_var_tracking_assignments_toggle): Don't mark variables with VarExists. * config/i386/i386.c (ix86_isa_flags): Don't define here. * config/i386/i386.opt (ix86_isa_flags): Define here. * config/mcore/mcore.c (mcore_stack_increment): Don't define here. * config/mcore/mcore.opt (mcore_stack_increment): Don't mark with VarExists. * flags.h (flag_dump_unnumbered, flag_var_tracking): Remove. * print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links): Only define for generator programs. * rtlanal.c (target_flags): Remove. * toplev.c (flag_var_tracking, flag_var_tracking_assignments, flag_var_tracking_assignments_toggle): Remove. From-SVN: r164370
2010-09-17re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)Richard Guenther2-0/+21
2010-09-17 Richard Guenther <rguenther@suse.de> PR middle-end/45678 * gcc.dg/torture/pr45678-1.c: New testcase. From-SVN: r164369
2010-09-17re PR tree-optimization/43432 (Missed vectorization: "complicated access ↵Michael Matz10-7/+202
pattern" for increasing and decreasing data indexing) PR tree-optimization/43432 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Accept backwards consecutive accesses. (vect_create_data_ref_ptr): If step is negative generate decreasing IVs. * tree-vect-stmts.c (vectorizable_store): Reject negative steps. (perm_mask_for_reverse, reverse_vec_elements): New functions. (vectorizable_load): Handle loads with negative steps when easily possible. testsuite/ PR tree-optimization/43432 * lib/target-supports.exp (check_effective_target_vect_perm_byte, check_effective_target_vect_perm_short): New predicates. (check_effective_target_vect_perm): Include x86_64. * gcc.dg/vect/pr43432.c: New test. * gcc.dg/vect/vect-114.c: Adjust. * gcc.dg/vect/vect-15.c: Ditto. * gcc.dg/vect/slp-perm-8.c: Use new predicate. * gcc.dg/vect/slp-perm-9.c: Ditto. From-SVN: r164367
2010-09-17lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.Jan Hubicka4-3/+11
* lto-cgraph.c (compute_ltrans_boundary): Use const_value_known. * lto.c (lto_promote_cross_file_statics): Use const_value_known. From-SVN: r164366
2010-09-17v850.c (v850_function_value_regno_p): Make static.Naveen H.S3-158/+139
* config/v850/v850.c (v850_function_value_regno_p): Make static. Adjust comments. Declare. (TARGET_FUNCTION_VALUE_REGNO_P): Define. * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete. From-SVN: r164365
2010-09-17In gcc/testsuite/:Nicola Pero2-1/+19
* objc/execute/exceptions/throw-nil.m: Run the test only with the GNU runtime. From-SVN: r164359
2010-09-17common.opt (combine): Remove.Richard Guenther25-149/+99
2010-09-17 Richard Guenther <rguenther@suse.de> * common.opt (combine): Remove. * gcc.c (default_compilers): Remove specs testing combine. The C compilers no longer can combine. (option_map): Remove -combine. (display_help): Remove -combine. (driver_handle_option): Remove OPT_combine handling. (compile_input_file_p): Remove. (do_spec): Remove code concerning combine. (main): Likewise. * doc/invoke.texi: Remove traces of -combine. * lto-wrapper.c (run_gcc): Do not pass -combine to the compiler driver. lto/ * lang.opt (flag_wpa): Also enable for the driver. * gcc.dg/pr27898.c: Use -flto instead of -combine. * gcc.dg/pr28706.c: Likewise. * gcc.dg/pr28712.c: Likewise. * gcc.dg/pr30762-1.c: Likewise. * gcc.dg/pr30762-2.c: Likewise. * gcc.dg/pr31529-1.c: Likewise. * gcc.dg/pr31529-2.c: Likewise. * gcc.dg/pr34457-1.c: Likewise. * gcc.dg/pr34457-2.c: Likewise. * gcc.dg/pr34668-1.c: Likewise. * gcc.dg/pr34668-2.c: Likewise. * gcc.dg/pr34989-1.c: Likewise. * gcc.dg/pr34989-2.c: Likewise. * gcc.dg/pr43557-1.c: Likewise. * gcc.dg/pr43557-2.c: Likewise. * gcc.dg/debug/pr41893-1.c: Likewise. * gcc.dg/matrix/matrix.exp: Do not use -combine. * gcc.dg/matrix/matrix-3.c: Drop dg-options. * gcc.dg/matrix/matrix-4.c: Likewise. * gcc.dg/struct/struct-reorg.exp: Do not use -combine. * gcc.dg/struct/wo_prof_empty_str.c: Drop dg-options. * gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise. * gcc.dg/struct/wo_prof_escape_return.c: Likewise. From-SVN: r164357
2010-09-17re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)Richard Guenther2-14/+41
2010-09-17 Richard Guenther <rguenther@suse.de> PR middle-end/45678 * builtins.c (fold_builtin_memory_op): Always properly adjust alignment of memory accesses. From-SVN: r164356
2010-09-17lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when ↵Jan Hubicka4-6/+20
processing clone. * lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when processing clone. * lto.c (lto_materialize_function): Do not tamper with STATIC and EXTERNAL flags. From-SVN: r164354
2010-09-17Daily bump.GCC Administrator1-1/+1
From-SVN: r164353
2010-09-16re PR fortran/43665 (INTENT(IN) etc. optimization of calls: function ↵Tobias Burnus5-1/+91
annotations for noclobber/noescape arguments) 2010-09-16 Tobias Burnus <burnus@net-b.de> PR fortran/43665 * trans-types.c (create_fn_spec): New function. (gfc_get_function_type): Call it. 2010-09-16 Tobias Burnus <burnus@net-b.de> PR fortran/43665 * gfortran.dg/cray_pointers_2.f90: Disable inlining to avoid optimizations. * gfortran.dg/intent_optimize_1.f90: New test. From-SVN: r164348
2010-09-16* config/i386/i386.md: Rearrange divmod patterns a bit.Uros Bizjak1-175/+175
From-SVN: r164347
2010-09-16Add -m8bit-idiv for x86.H.J. Lu25-1/+574
gcc/ 2010-09-16 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386-protos.h (ix86_split_idivmod): New prototype. * config/i386/i386.c (predict_jump): Add prototype. (flag_opts): Add -m8bit-idiv. (ix86_split_idivmod): New. * config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New. Add 2 splitters for SI/DI mode divide. (divmod<mode>4_1): New pattern. (udivmod<mode>4_1): Likewise. (testdi_ccno_1): Likewise. * config/i386/i386.opt (m8bit-idiv): New. * doc/invoke.texi: Document -m8bit-idiv. gcc/testsuite/ 2010-09-16 H.J. Lu <hongjiu.lu@intel.com> * gcc.target/i386/divmod-1.c: New. * gcc.target/i386/divmod-2.c: Likewise. * gcc.target/i386/divmod-3.c: Likewise. * gcc.target/i386/divmod-4.c: Likewise. * gcc.target/i386/divmod-4a.c: Likewise. * gcc.target/i386/divmod-5.c: Likewise. * gcc.target/i386/divmod-6.c: Likewise. * gcc.target/i386/divmod-7.c: Likewise. * gcc.target/i386/divmod-8.c: Likewise. * gcc.target/i386/udivmod-1.c: Likewise. * gcc.target/i386/udivmod-2.c: Likewise. * gcc.target/i386/udivmod-3.c: Likewise. * gcc.target/i386/udivmod-4.c: Likewise. * gcc.target/i386/udivmod-4a.c: Likewise. * gcc.target/i386/udivmod-5.c: Likewise. * gcc.target/i386/udivmod-6.c: Likewise. * gcc.target/i386/udivmod-7.c: Likewise. * gcc.target/i386/udivmod-8.c: Likewise. From-SVN: r164346
2010-09-16re PR bootstrap/45680 (cc1 fails to link on Solaris 9/x86 with Sun as: ↵Reza Yazdani2-1/+8
min_insn_size missing) Fix PR45680. 2010-09-16 Reza Yazdani <reza.yazdani@amd.com> PR bootstrap/45680 * config/i386/i386.c (min_insn_size): Moved out of the ASM_OUTPUT_MAX_SKIP_PAD ifdef. From-SVN: r164345
2010-09-16pr45679-1_0.C: New file.Jan Hubicka9-12/+359
* g++.dg/lto/pr45679-1_0.C: New file. * g++.dg/lto/pr45679-1_1.C: New file. * g++.dg/lto/pr45679-0_0.C: New file. * g++.dg/lto/pr45679-0_1.C: New file. * lto-cgraph.c (lto_output_node): Fix handling of clones. * ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of unreachable clones with reachable clones. * tree-inline.c (copy_bb): Fix sanity checking when producing unreachable clone. From-SVN: r164344
2010-09-16stl_raw_storage_iter.h (raw_storage_iterator<>:: operator=(const _Tp&)): Use ↵Paolo Carlini2-2/+7
std::__addressof. 2010-09-16 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/stl_raw_storage_iter.h (raw_storage_iterator<>:: operator=(const _Tp&)): Use std::__addressof. From-SVN: r164343
2010-09-16gfortran.h (walk_code_fn_t, [...]): New types.Jakub Jelinek3-251/+284
* gfortran.h (walk_code_fn_t, walk_expr_fn_t): New types. (gfc_expr_walker, gfc_code_walker): New prototypes. * frontend-passes.c (gfc_expr_walker, gfc_code_walker): New functions. (WALK_SUBEXPR, WALK_SUBEXPR_TAIL, WALK_SUBCODE): Define. (optimize_namespace): Use gfc_code_walker. (optimize_code, optimize_expr): Rewritten as gfc_code_walker hooks. (optimize_expr_0, optimize_code_node, optimize_actual_arglist): Removed. (optimize_assignment): Don't call optimize_expr_0. From-SVN: r164342
2010-09-16Record PR middle-end/44763 in ChangeLog.Rainer Orth1-0/+1
From-SVN: r164341
2010-09-16m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.Anatoly Sokolov2-3/+10
* config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove. (TARGET_MEMORY_MOVE_COST): Define. (m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED. From-SVN: r164340
2010-09-16system_error (system_error::system_error(error_code), [...]): Fix for what() ↵Paolo Carlini8-27/+40
to return the NBTS recommended in the Note in 19.5.6.2/14. 2010-09-16 Paolo Carlini <paolo.carlini@oracle.com> * include/std/system_error (system_error::system_error(error_code), system_error(error_code, const string&), system_error(int, const error_category&), system_error(int, const error_category&, const string&)): Fix for what() to return the NBTS recommended in the Note in 19.5.6.2/14. * testsuite/19_diagnostics/system_error/cons-1.cc: Adjust. * testsuite/19_diagnostics/system_error/what-1.cc: Likewise. * testsuite/19_diagnostics/system_error/what-2.cc: Likewise. * testsuite/19_diagnostics/system_error/what-big.cc: Likewise. * testsuite/19_diagnostics/system_error/what-3.cc: Likewise. * testsuite/19_diagnostics/system_error/what-4.cc: Tidy includes. From-SVN: r164339
2010-09-16re PR fortran/45674 ([OOP] Undefined references for extended types)Janus Weil4-2/+46
2010-09-16 Janus Weil <janus@gcc.gnu.org> PR fortran/45674 * interface.c (compare_parameter): Create vtab for actual argument, instead of formal (if needed). 2010-09-16 Janus Weil <janus@gcc.gnu.org> PR fortran/45674 * gfortran.dg/class_dummy_2.f03: New. From-SVN: r164338
2010-09-16complex (complex<float>::operator=(float), [...]): Simplify a tad...Paolo Carlini2-42/+58
2010-09-16 Paolo Carlini <paolo.carlini@oracle.com> * include/std/complex (complex<float>::operator=(float), complex<float>::operator+=(float), complex<float>::operator-=(float), complex<double>::operator=(double), complex<double>::operator+=(double), complex<double>::operator-=(double), complex<long double>::operator=(long double), complex<long double>::operator+=(long double), complex<long double>::operator-=(long double)): Simplify a tad, just forward to the underlying __complex__ T operators, as operator*= and operator/= already do. * include/std/complex (complex<float>, complex<double>, complex<long double>): Simplify spelling of return types, just say complex, instead of complex<float>, complex<double>, complex<long double>, respectively. From-SVN: r164337
2010-09-16sel-sched.c (move_cond_jump): Use tidy_control_flow instead of ↵Alexander Monakov4-3/+11
maybe_tidy_empty_bb. 2010-09-16 Alexander Monakov <amonakov@ispras.ru> * sel-sched.c (move_cond_jump): Use tidy_control_flow instead of maybe_tidy_empty_bb. Revert: 2010-09-06 Alexander Monakov <amonakov@ispras.ru> * sel-sched-ir.c (maybe_tidy_empty_bb): Export. From-SVN: r164336
2010-09-16target.def (target_option.optimization): New hook.Joseph Myers58-281/+351
* target.def (target_option.optimization): New hook. * doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to TARGET_OPTION_OPTIMIZATION hook. * doc/tm.texi: Regenerate. * hooks.c (hook_void_int_int): New. * hooks.h (hook_void_int_int): Declare. * opts.c: Don't include tm_p.h. (decode_options): Use targetm.target_option.optimization instead of OPTIMIZATION_OPTIONS. * system.h (OPTIMIZATION_OPTIONS): Poison. * config/arm/arm-protos.h (arm_optimization_options): Remove. * config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define. (arm_optimization_options): Rename to arm_option_optimization. Make static. * config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove. * config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define. (cris_option_optimization): New. * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove. * config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define. (crx_option_optimization): New. * config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove. * config/frv/frv-protos.h (frv_optimization_options): Remove. * config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define. (frv_optimization_options): Rename to frv_option_optimization. Make static. * config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove. * config/h8300/h8300.c (h8300_option_optimization): New. (TARGET_OPTION_OPTIMIZATION): Define. * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove. * config/i386/i386-protos.h (optimization_options): Remove. * config/i386/i386.c (optimization_options): Rename to ix86_option_optimization. Make static. (TARGET_OPTION_OPTIMIZATION): Define. * config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove. * config/ia64/ia64-protos.h (ia64_optimization_options): Remove. * config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define. (ia64_optimization_options): Rename to ia64_option_optimization. Make static. Call SUBTARGET_OPTIMIZATION_OPTIONS. * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove. Remove commented-out definition. * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define instead of OPTIMIZATION_OPTIONS. * config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define. (m32r_option_optimization): New. * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove. * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options): Remove. * config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define. (mcore_option_optimization): New. * config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove. * config/mep/mep-protos.h (mep_optimization_options): Remove. * config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define. (mep_optimization_options): Rename to mep_option_optimization. Make static. Take unused level and size parameters. * config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove. * config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define. (mmix_option_optimization): New. * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove. * config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define. (pdp11_option_optimization): New. * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove. * config/rs6000/rs6000-protos.h (optimization_options): Remove. * config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define. (optimization_options): Rename to rs6000_option_optimization. Make static. * config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove. * config/rx/rx-protos.h (rx_set_optimization_options): Remove. * config/rx/rx.c (rx_set_optimization_options): Rename to rx_option_optimization. Make static. Take unused level and size parameters. (TARGET_OPTION_OPTIMIZATION): Define. * config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove. * config/s390/s390-protos.h (optimization_options): Remove. * config/s390/s390.c (optimization_options): Rename to s390_option_optimization. Make static. Don't mark size parameter unused. (TARGET_OPTION_OPTIMIZATION): Define. * config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove. * config/sh/sh-protos.h (sh_optimization_options): Remove. * config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define. (sh_optimization_options): Rename to sh_option_optimization. Make static. Don't mark parameters unused. * config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove. * config/spu/spu-protos.h (spu_optimization_options): Remove. * config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define. (spu_optimization_options): Rename to spu_option_optimization. Make static. * config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove. * config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define. (v850_option_optimization): New. * config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove. * config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define. (xtensa_option_optimization): New. * config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove. From-SVN: r164335
2010-09-16tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.Joseph Myers110-488/+537
* doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation. (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS. * doc/tm.texi: Regenerate. * system.h (OVERRIDE_OPTIONS): Poison. * target.def (override): Default to hook_void_void. * targhooks.c (default_target_option_override): Remove. * genmodes.c, machmode.def: Update comments mentioning OVERRIDE_OPTIONS. * config/alpha/alpha-modes.def: Update comment mentioning alpha_override_options. * config/alpha/alpha-protos.h (override_options): Remove. * config/alpha/alpha.c (override_options): Rename to alpha_option_override. Call SUBTARGET_OVERRIDE_OPTIONS. Make static. (TARGET_OPTION_OVERRIDE): Define. * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove. * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of OVERRIDE_OPTIONS. * config/arc/arc-protos.h (arc_init): Remove. * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define. (arc_init): Rename to arc_option_override. Make static. * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment. (OVERRIDE_OPTIONS): Remove. * config/arm/arm-protos.h (arm_override_options): Remove. * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define. (arm_override_options): Rename to arm_option_override. Make static. Call SUBTARGET_OVERRIDE_OPTIONS. * config/arm/arm.h (OVERRIDE_OPTIONS): Remove. * config/arm/arm.md: Update comment referring to arm_override_options. * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of OVERRIDE_OPTIONS. * config/avr/avr-protos.h (avr_override_options): Remove. * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define. (avr_override_options): Rename to avr_option_override. Make static. * config/avr/avr.h (OVERRIDE_OPTIONS): Remove. * config/bfin/bfin-protos.h (override_options): Remove (twice). * config/bfin/bfin.c (override_options): Rename to bfin_option_override. Make static. (TARGET_OPTION_OVERRIDE): Define. * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove. * config/cris/cris-protos.h (cris_override_options): Remove. * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define. (cris_override_options): Rename to cris_option_override. Make static. * config/cris/cris.h (OVERRIDE_OPTIONS): Remove. * config/frv/frv-protos.h (frv_override_options): Remove. * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define. (frv_override_options): Rename to frv_option_override. Make static. * config/frv/frv.h (OVERRIDE_OPTIONS): Remove. * config/h8300/h8300-protos.h (h8300_init_once): Remove. * config/h8300/h8300.c (h8300_init_once): Rename to h8300_option_override. Make static. (TARGET_OPTION_OVERRIDE): Define. * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove. * config/i386/i386-protos.h (override_options): Remove. * config/i386/i386.c (override_options): Rename to ix86_option_override_internal. Make static. Comments referring to this function and callers changed. (ix86_option_override): New. (TARGET_OPTION_OVERRIDE): Define. * config/i386/i386.h (OVERRIDE_OPTION): Remove. * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update comment. * config/ia64/ia64.c (ia64_file_start): Update comment referring to ia64_override_options. * config/iq2000/iq2000-protos.h (override_options): Remove. * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define. (override_options): Rename to iq2000_option_override. Make static. * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove. * config/lm32/lm32-protos.h (lm32_override_options): Remove. * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define. (lm32_override_options): Rename to lm32_option_override. Make static. * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove. * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define. (m32r_option_override): New. (m32r_init): Update comment. * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove. * config/m68hc11/m68hc11-protos.h (m68hc11_override_options): Remove. * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define. (m68hc11_override_options): Rename to m68hc11_option_override. Make static. Return void. * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove. * config/m68k/m68k-protos.h (override_options): Remove. * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define. (override_options): Rename to m68k_option_override. Make static. * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove. * config/mcore/mcore-protos.h (mcore_override_options): Remove. * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define. (mcore_override_options): Rename to mcore_option_override. Make static. * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove. * config/mep/mep-protos.h (mep_override_options): Remove. * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define. (mep_override_options): Rename to mep_option_override. Make static. * config/mep/mep.h (OVERRIDE_OPTIONS): Remove. * config/mmix/mmix-protos.h (mmix_override_options): Remove. * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define. (mmix_override_options): Rename to mmix_option_override. Make static. * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove. * config/mn10300/mn10300-protos.h (mn10300_override_options): Remove. * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define. (mn10300_override_options): Rename to mn10300_option_override. Make static. * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove. * config/moxie/moxie-protos.h (moxie_override_options): Remove. * config/moxie/moxie.c (moxie_override_options): Rename to moxie_option_override. Make static. (TARGET_OPTION_OVERRIDE): Define. * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove. * config/picochip/picochip-protos.h (picochip_override_options): Remove. Update comment referring to picochip_override_options. * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define. (picochip_override_options): Rename to picochip_option_override. Make static. Update comment and definition of TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE. * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove. * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define instead of OVERRIDE_OPTIONS. * config/rs6000/rs6000-modes.def: Update comment referring to rs6000_override_options. * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove. * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define. (rs6000_override_options): Rename to rs6000_option_override_internal. Make static. Commented referring to rs6000_override_options and OVERRIDE_OPTIONS updated. (rs6000_option_override): New. * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define instead of OVERRIDE_OPTIONS. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/s390/s390-protos.h (override_options): Remove. * config/s390/s390.c (override_options): Rename to s390_option_override. Make static. (TARGET_OPTION_OVERRIDE): Define. * config/s390/s390.h (OVERRIDE_OPTIONS): Remove. * config/score/score-protos.h (score_override_options): Remove. * config/score/score.c (TARGET_OPTION_OVERRIDE): Define. (score_override_options): Rename to score_option_override. Make static. * config/score/score.h (OVERRIDE_OPTIONS): Remove. Update comment referring to override_options. * config/score/score3.c (score3_override_options): Rename to score3_option_override. * config/score/score3.h (score3_override_options): Rename to score3_option_override. * config/score/score7.c (score7_override_options): Rename to score7_option_override. * config/score/score7.h (score7_override_options): Rename to score7_option_override. * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS. * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define. (sparc_override_options): Rename to sparc_option_override. Make static. Call SUBTARGET_OVERRIDE_OPTIONS. * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove. * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of OVERRIDE_OPTIONS. * config/spu/spu-protos.h (spu_override_options): Remove. * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define. (spu_override_options): Rename to spu_option_override. Make static. * config/spu/spu.h (OVERRIDE_OPTIONS): Remove. * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of OVERRIDE_OPTIONS. * config/vax/vax-protos.h (override_options): Remove. * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define. (override_options): Rename to vax_option_override. Make static. Call SUBTARGET_OVERRIDE_OPTIONS. * config/vax/vax.h (OVERRIDE_OPTIONS): Remove. * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS. * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS. * config/xtensa/xtensa-protos.h (override_options): Remove. * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define. (override_options): Rename to xtensa_option_override. Make static. * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove. From-SVN: r164334
2010-09-16re PR tree-optimization/45623 (GCC 4.5.[01] breaks our ffi on Linux64. ABI ↵Richard Guenther4-23/+110
break?) 2010-09-16 Richard Guenther <rguenther@suse.de> PR tree-optimization/45623 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust. (get_constraint_for_component_ref): If computing a constraint for the rhs handle type punning through unions. (get_constraint_for_address_of): Adjust. (get_constraint_for_1): Likewise. (get_constraint_for): Likewise. (get_constraint_for_rhs): New function. (do_structure_copy): Adjust. (make_constraint_to): Likewise. (handle_const_call): Likewise. (find_func_aliases): Likewise. (process_ipa_clobber): Likewise. (create_variable_info_for): Likewise. * gcc.dg/torture/pr45623.c: New testcase. From-SVN: r164333