aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-07-31gen-pass-instances.awk: Fix offset of substr().Jan-Benedict Glaw2-1/+5
2013-07-31 Jan-Benedict Glaw <jbglaw@owl.de> * gen-pass-instances.awk: Fix offset of substr(). From-SVN: r201364
2013-07-31Introduce gen-pass-instances.awk and pass-instances.defDavid Malcolm4-3/+85
Introduce a new gen-pass-instances.awk script, and use it at build time to make a pass-instances.def from passes.def. gcc/ * Makefile.in (pass-instances.def): New. (passes.o): Replace dependency on passes.def with one on pass-instances.def * gen-pass-instances.awk: New. * passes.c (pass_manager::pass_manager): Use pass-instances.def rather than passes.def, updating local definition of NEXT_PASS macro to add an extra NUM parameter (currently unused). From-SVN: r201359
2013-07-31Daily bump.GCC Administrator1-1/+1
From-SVN: r201357
2013-07-30re PR c++/57673 (pack sizeof ... groups ellipsis with preceding expression)Paolo Carlini4-1/+21
/cp 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57673 * parser.c (cp_parser_cache_defarg): In an NSDMI don't stop when token->type == CPP_ELLIPSIS. /testsuite 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57673 * g++.dg/cpp0x/nsdmi-sizeof.C: New. From-SVN: r201354
2013-07-30code-readable-1.c: Increase switch size.Steve Ellcey5-0/+39
2013-07-30 Steve Ellcey <sellcey@mips.com> * gcc.target/mips/code-readable-1.c: Increase switch size. * gcc.target/mips/code-readable-2.c: Ditto. * gcc.target/mips/code-readable-3.c: Ditto. * gcc.target/mips/code-readable-4.c: Ditto. From-SVN: r201353
2013-07-30Introduce beginnings of a pass_manager class.David Malcolm14-83/+309
This patch introduces a gcc::pass_manager class and moves various non-GTY globals relating to pass management into it. The gcc::context gains its first field: a pointer to the gcc::pass_manager instance. gcc/ * Makefile.in (PASS_MANAGER_H): New. (lto-cgraph.o): Depend on CONTEXT_H and PASS_MANAGER_H. (passes.o): Likewise. (statistics.o): Likewise. (cgraphunit.o): Likewise. (context.o): Depend on PASS_MANAGER_H. * pass_manager.h: New. * cgraphunit.c (cgraph_add_new_function): Update for moves of globals to fields of pass_manager. (analyze_function): Likewise. (expand_function): Likewise. (ipa_passes): Likewise. (compile): Likewise. * context.c (context::context): New. * context.h (context::context): New. (context::get_passes): New. (context::passes_): New. * lto-cgraph.c (input_node): Update for moves of globals to fields of pass_manager. * passes.c (all_passes): Remove, in favor of a field of the same name within the new class pass_manager. (all_small_ipa_passes): Likewise. (all_lowering_passes): Likewise. (all_regular_ipa_passes): Likewise. (all_late_ipa_passes): Likewise. (all_lto_gen_passes): Likewise. (passes_by_id): Likewise. (passes_by_id_size): Likewise. (gcc_pass_lists): Remove, in favor of "pass_lists" field within the new class pass_manager. (set_pass_for_id): Convert to... (pass_manager::set_pass_for_id): ...method. (get_pass_for_id): Convert to... (pass_manager::get_pass_for_id): ...method. (register_one_dump_file): Move body of implementation into... (pass_manager::register_one_dump_file): ...here. (register_dump_files_1): Convert to... (pass_manager::register_dump_files_1): ...method. (register_dump_files): Convert to... (pass_manager::register_dump_files): ...method. (create_pass_tab): Update for moves of globals to fields of pass_manager. (dump_passes): Move body of implementation into... (pass_manager::dump_passes): ...here. (register_pass): Move body of implementation into... (pass_manager::register_pass): ...here. (init_optimization_passes): Convert into... (pass_manager::pass_manager): ...constructor for new pass_manager class, and initialize the pass_lists array. (check_profile_consistency): Update for moves of globals to fields of pass_manager. (dump_profile_report): Move body of implementation into... (pass_manager::dump_profile_report): ...here. (ipa_write_summaries_1): Update for moves of pass lists from being globals to fields of pass_manager. (ipa_write_optimization_summaries): Likewise. (ipa_read_summaries): Likewise. (ipa_read_optimization_summaries): Likewise. (execute_all_ipa_stmt_fixups): Likewise. * statistics.c (statistics_fini): Update for moves of globals to fields of pass_manager. * toplev.c (general_init): Replace call to init_optimization_passes with construction of the pass_manager instance. * tree-pass.h (all_passes): Remove, in favor of a field of the same name within the new class pass_manager. (all_small_ipa_passes): Likewise. (all_lowering_passes): Likewise. (all_regular_ipa_passes): Likewise. (all_lto_gen_passes): Likewise. (all_late_ipa_passes): Likewise. (passes_by_id): Likewise. (passes_by_id_size): Likewise. (gcc_pass_lists): Remove, in favor of "pass_lists" field within the new class pass_manager. (get_pass_for_id): Remove. gcc/lto/ * Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and PASS_MANAGER_H. * lto.c (do_whole_program_analysis): Update for move of all_regular_ipa_passes from a global to a field of class pass_manager. From-SVN: r201351
2013-07-30re PR c++/57947 (internal compiler error: Segmentation fault using extended ↵Paolo Carlini4-0/+22
initializer lists without -std=c++11 or -std=gnu++11) /cp 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57947 * call.c (is_std_init_list): Return false if cxx_dialect == cxx98. /testsuite 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57947 * g++.dg/parse/crash63.C: New. From-SVN: r201344
2013-07-30config.gcc (arm): Require 64-bit host-wide-int for all ARM target configs.Richard Earnshaw2-12/+6
* config.gcc (arm): Require 64-bit host-wide-int for all ARM target configs. From-SVN: r201342
2013-07-30* arm.md (mulhi3): New expand pattern.Richard Earnshaw2-0/+18
From-SVN: r201341
2013-07-30re PR c++/57901 (Cannot call-by-value such that class has non-trivial ↵Jason Merrill3-3/+25
(constexpr) move constructor) PR c++/57901 * semantics.c (build_data_member_initialization, constexpr_fn_retval): Use break_out_target_exprs instead of unshare_expr. From-SVN: r201338
2013-07-30re PR c++/58022 (Compiler rejects abstract class in template class with ↵Jason Merrill1-0/+12
friend operator<<) PR c++/58022 * g++.dg/template/abstract1.C: New. From-SVN: r201337
2013-07-30profile.c (compute_value_histograms): Do not ICE when there is mismatch only ↵Jan Hubicka2-2/+12
on some counters. * profile.c (compute_value_histograms): Do not ICE when there is mismatch only on some counters. Co-Authored-By: Martin Liska <marxin.liska@gmail.com> From-SVN: r201333
2013-07-30re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target ↵Tobias Burnus3-0/+17
(which have identical declared type)) 2013-07-30 Tobias Burnus <burnus@net-b.de> PR fortran/57530 * symbol.c (gfc_type_compatible): A type is type compatible with a class if both have the same declared type. * interface.c (compare_type): Reject CLASS/TYPE even if they are type compatible. From-SVN: r201329
2013-07-30re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target ↵Tobias Burnus7-7/+281
(which have identical declared type)) 2013-07-30 Tobias Burnus <burnus@net-b.de> PR fortran/57530 * trans-expr.c (gfc_trans_class_assign): Handle CLASS array functions. (gfc_trans_pointer_assign): Ditto and support pointer assignment of a polymorphic var to a nonpolymorphic var. 2013-07-30 Tobias Burnus <burnus@net-b.de> PR fortran/57530 * gfortran.dg/pointer_assign_8.f90: New. * gfortran.dg/pointer_assign_9.f90: New. * gfortran.dg/pointer_assign_10.f90: New. * gfortran.dg/pointer_assign_11.f90: New. From-SVN: r201328
2013-07-30re PR rtl-optimization/57637 (Miscompare on 178.galgel in SPEC2000 on arm)Zhenqiang Chen4-13/+253
gcc/ 2013-07-30 Zhenqiang Chen <zhenqiang.chen@linaro.org> PR rtl-optimization/57637 * function.c (move_insn_for_shrink_wrap): Also check the GEN set of the LIVE problem for the liveness analysis if it exists, otherwise give up. gcc/testsuite/ 2013-07-30 Zhenqiang Chen <zhenqiang.chen@linaro.org> * gcc.target/arm/pr57637.c: New testcase. From-SVN: r201326
2013-07-30re PR tree-optimization/57993 (ICE: verify_ssa failed (definition in block n ↵Bill Schmidt4-0/+60
does not dominate use in block m)) gcc: 2013-07-29 Bill Schmidt <wschmidt@vnet.linux.ibm.com> PR tree-optimization/57993 * gimple-ssa-strength-reduction.c (replace_mult_candidate): Record replaced statement in the candidate table. (phi_add_costs): Return infinite cost when the hidden basis does not dominate all phis on which the candidate is dependent. (replace_one_candidate): Record replaced statement in the candidate table. gcc/testsuite: 2013-07-29 Bill Schmidt <wschmidt@vnet.linux.ibm.com> PR tree-optimization/57993 * gcc.dg/torture/pr57993.c: New test. From-SVN: r201325
2013-07-30Daily bump.GCC Administrator1-1/+1
From-SVN: r201324
2013-07-29re PR rtl-optimization/58021 (MODE_EXIT switches at NOTE_INSN_DELETED)Joern Rennecke2-4/+7
PR rtl-optimization/58021 * mode-switching.c (create_pre_exit): Always split off preceding insns if we are not at the basic block head. From-SVN: r201321
2013-07-29* gcc.dg/tree-ssa/pr44258.c: Disable scan test for Epiphany.Joern Rennecke2-1/+7
From-SVN: r201320
2013-07-29epiphany.md (*isub_i+2): New peephole.Joern Rennecke3-3/+137
* config/epiphany/epiphany.md (*isub_i+2): New peephole. (ashlv2si3): New expander. (*ashlv2si3_i): New define_insn_and_split. * predicates.md (float_operation): Allow patterns with three basic sub-patterns. From-SVN: r201319
2013-07-29re PR c++/57948 (internal compiler error: in initialize_reference, at ↵Paolo Carlini4-5/+38
cp/call.c:9285) /cp 2013-07-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57948 * call.c (initialize_reference): Don't crash when reference_binding returns a conv with conv->kind == ck_ambig. /testsuite 2013-07-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57948 * g++.dg/conversion/ambig2.C: New. From-SVN: r201318
2013-07-29mangle.c (write_name): Check for null context.Jason Merrill2-6/+13
* mangle.c (write_name): Check for null context. (write_unscoped_name): Allow PARM_DECL context. From-SVN: r201317
2013-07-29match.c (gfc_match_call): Exit loop after setting i.Po-Chun Chang6-5/+33
* match.c (gfc_match_call): Exit loop after setting i. * resolve.c (resolve_variable): Exit loop after setting seen. * expr.c (gfc_check_pointer_assign): Exit loop after setting * warn. * trans-array.c (set_loop_bounds): Exit loop after setting nonoptional_arr. * trans-io.c (gfc_trans_transfer): Exit loop after setting * seen_vector. From-SVN: r201316
2013-07-29linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'.Maciej W. Rozycki33-23/+419
gcc/ * config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'. (UCLIBC_DYNAMIC_LINKER): New macro. * config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32): Handle `-mnan=2008'. (GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32): Likewise. (UCLIBC_DYNAMIC_LINKER32): Undefine macro first. Handle `-mnan=2008'. (UCLIBC_DYNAMIC_LINKER64): Redefine macro. (UCLIBC_DYNAMIC_LINKERN32): Likewise. * config/mips/mips-modes.def: Remove RESET_FLOAT_FORMAT calls for SF and DF modes. Use ieee_quad_format for TF mode. * config/mips/mips-opts.h (mips_ieee_754_setting): New enum. * config/mips/mips.c (mips_file_start): Output a `.nan' directive. (mips_option_override): Handle `-mnan=legacy'. * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Handle `-mabs=2008' and `-mnan=2008'. (OPTION_DEFAULT_SPECS): Add "nan" default. (ASM_SPEC): Handle `-mnan='. [!HAVE_AS_NAN] (HAVE_AS_NAN): New macro. * config/mips/mips.md (abs<mode>2): Handle `-mabs=2008', update comment accordingly. (neg<mode>2): Likewise. * config/mips/mips.opt (mabs, mnan): New options. * doc/install.texi (Configuration): Document `--with-nan=' option. * doc/invoke.texi (Option Summary): List MIPS `-mabs=' and `-mnan=' options. (MIPS Options): Document them. * config.gcc <mips*-*-*>: Handle `--with-nan='. * configure.ac <mips*-*-*>: Check for GAS `-mnan=2008' support. * configure: Regenerate. * config.in: Regenerate. gcc/testsuite/ * gcc.target/mips/fabs-2008.c: New test case. * gcc.target/mips/fabs-legacy.c: New test case. * gcc.target/mips/fabsf-2008.c: New test case. * gcc.target/mips/fabsf-legacy.c: New test case. * gcc.target/mips/fneg-2008.c: New test case. * gcc.target/mips/fneg-legacy.c: New test case. * gcc.target/mips/fneg-2008.c: New test case. * gcc.target/mips/fneg-legacy.c: New test case. * gcc.target/mips/nan-2008.c: New test case. * gcc.target/mips/nan-legacy.c: New test case. * gcc.target/mips/nanf-2008.c: New test case. * gcc.target/mips/nanf-legacy.c: New test case. * gcc.target/mips/nans-2008.c: New test case. * gcc.target/mips/nans-legacy.c: New test case. * gcc.target/mips/nansf-2008.c: New test case. * gcc.target/mips/nansf-legacy.c: New test case. * gcc.target/mips/mips.exp: Handle `-mabs=' and `-mnan='. From-SVN: r201313
2013-07-29re PR target/57954 (AVX missing vxorps (zeroing) before vcvtsi2s %edx, slow ↵Uros Bizjak2-38/+64
down AVX code) 2013-07-29 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (float post-reload splitters): Do not check for subregs of SSE registers. 2013-07-29 Uros Bizjak <ubizjak@gmail.com> H.J. Lu <hongjiu.lu@intel.com> PR target/57954 PR target/57988 * config/i386/i386.md (post-reload splitter to avoid partial SSE reg dependency stalls): New pattern. From-SVN: r201308
2013-07-29Fix incorrect changelog entry.Ramana Radhakrishnan1-1/+1
From-SVN: r201307
2013-07-29s390.md ("movcc"): Swap load and store instructions.Dominik Vogt2-6/+10
2013-07-29 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/s390/s390.md ("movcc"): Swap load and store instructions. From-SVN: r201300
2013-07-29target-supports.exp (check_effective_target_non_bionic): New ↵Alexander Ivchenko4-0/+21
effective-target test. * lib/target-supports.exp (check_effective_target_non_bionic): New effective-target test. * g++.dg/tls/thread_local4.C: Disable test for Bionic. * g++.dg/tls/thread_local4g.C: Ditto. Co-Authored-By: Maxim Kuvyrkov <maxim@kugelworks.com> From-SVN: r201298
2013-07-29Daily bump.GCC Administrator1-1/+1
From-SVN: r201297
2013-07-28re PR fortran/58009 (Elements with same value in vector subscript in ↵Thomas Koenig4-0/+77
variable definition context) 2013-07-28 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/58009 * expr.c (gfc_check_vardef_context): Check for same values in vector expression subscripts. 2013-07-28 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/58009 * gfortran.dg/vector_subsript_7.f90: New test. From-SVN: r201294
2013-07-28Daily bump.GCC Administrator1-1/+1
From-SVN: r201290
2013-07-27epiphany.c (epiphany_compute_frame_size): Also reserve space for saving ↵Joern Rennecke2-2/+15
UNKNOWN_REGNUM for leaf functions. * config/epiphany/epiphany.c (epiphany_compute_frame_size): Also reserve space for saving UNKNOWN_REGNUM for leaf functions. From-SVN: r201287
2013-07-27re PR fortran/57991 (Enhance "Same actual argument associated" warning ↵Tobias Burnus4-1/+45
(-Waliasing)) 2013-07-27 Tobias Burnus <burnus@net-b.de> PR fortran/57991 * interface.c (check_some_aliasing): Also warn for intent * OUT/OUT. 2013-07-27 Tobias Burnus <burnus@net-b.de> PR fortran/57991 * gfortran.dg/warn_alias.f90: New. From-SVN: r201286
2013-07-27re PR fortran/57285 ([OOP] ICE on invalid: "gfc_array_dimen_size(): Bad ↵Janus Weil4-3/+24
dimension" due to SIZE intrinsic with invalid dim on CLASS dummy) 2013-07-27 Janus Weil <janus@gcc.gnu.org> PR fortran/57285 * check.c (dim_rank_check): Re-enable this check for CLASS arrays. 2013-07-27 Janus Weil <janus@gcc.gnu.org> PR fortran/57285 * gfortran.dg/class_array_19.f90: New. From-SVN: r201284
2013-07-27pr57705.c: Adjust for a !vect_pack_trunc target.Eric Botcazou5-3/+13
* gcc.dg/vect/pr57705.c: Adjust for a !vect_pack_trunc target. * gcc.dg/vect/pr57741-2.c: Require a vect_float target. * gcc.dg/vect/pr57741-3.c: Likewise. * gcc.dg/vect/bb-slp-32.c: XFAIL for a vect_no_align target. From-SVN: r201282
2013-07-27Daily bump.GCC Administrator1-1/+1
From-SVN: r201279
2013-07-26dwarf2out.c (die_checksum_ordered): Don't include template instantiations in ↵Cary Coutant2-30/+89
signature. gcc/ * dwarf2out.c (die_checksum_ordered): Don't include template instantiations in signature. (is_template_parameter): New function. (is_template_instantiation): New function. (generate_skeleton_bottom_up): Don't include template instantiations in type unit DIE. (generate_skeleton): Likewise. (break_out_comdat_types): Move recursive call to break out nested types earlier. (prune_unused_types_mark_generic_parms_dies): Call is_template_parameter. From-SVN: r201275
2013-07-26Correct ChangeLog entryWilliam Schmidt1-4/+4
From-SVN: r201274
2013-07-26pr37868.c: Disable for epiphany.Joern Rennecke3-2/+5
* gcc.dg/torture/pr37868.c: Disable for epiphany. * gcc.dg/sibcall-6.c: Enable for epiphany. From-SVN: r201272
2013-07-26pr27095.c: For Epiphany, add -mshort-calls.Joern Rennecke3-0/+8
* gcc.dg/pr27095.c: For Epiphany, add -mshort-calls. * gcc.dg/tree-ssa/loop-1.c: Likewise. From-SVN: r201271
2013-07-26* gcc.c-torture/execute/builtins/stpcpy-chk.x: New file.Joern Rennecke2-0/+8
From-SVN: r201270
2013-07-26Skip tests that make assumptions about struct layout that don't hold on ↵Joern Rennecke31-0/+149
epiphany. Skip tests that make assumptions about struct layout that don't hold on epiphany. These tests could be fixed by adding padded attributes, See: http://gcc.gnu.org/ml/gcc-patches/2011-08/msg00006.html http://gcc.gnu.org/ml/gcc-patches/2011-09/msg01513.html http://gcc.gnu.org/ml/gcc-patches/2011-09/msg01504.html * g++.dg/cpp0x/cast.C: Skip for epiphany-*-*. * g++.dg/cpp0x/iop.C: Likewise. * g++.dg/cpp0x/named_refs.C: Likewise. * g++.dg/cpp0x/rv1p.C: Likewise. * g++.dg/cpp0x/rv2p.C: Likewise. * g++.dg/cpp0x/rv3p.C: Likewise. * g++.dg/cpp0x/rv4p.C: Likewise. * g++.dg/cpp0x/rv5p.C: Likewise. * g++.dg/cpp0x/rv6p.C: Likewise. * g++.dg/cpp0x/rv7p.C: Likewise. * g++.dg/cpp0x/rv8p.C: Likewise. * g++.dg/ext/strncpy-chk1.C: Likewise. * gcc.dg/builtin-object-size-10.c: Likewise. * gcc.dg/builtin-object-size-11.c: Likewise. * gcc.dg/builtin-stringop-chk-1.c: Likewise. * gcc.dg/pr25805.c: Likewise. * gcc.c-torture/execute/builtins/memcpy-chk.x: New file. * gcc.c-torture/execute/builtins/memmove-chk.x: Likewise. * gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise. * gcc.c-torture/execute/builtins/memset-chk.x: Likewise. * gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise. * gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise. * gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise. * gcc.c-torture/execute/builtins/strcat-chk.x: Likewise. * gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise. * gcc.c-torture/execute/builtins/strncat-chk.x: Likewise. * gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise. * gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise. * gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise. * gcc.c-torture/execute/zerolen-2.x: Likewise. From-SVN: r201268
2013-07-26minmax_minus.c: ScanKyrylo Tkachov2-2/+5
gcc/testsuite/ * gcc.target/arm/minmax_minus.c: Scan From-SVN: r201267
2013-07-26* gcc.dg/guality/guality.exp: Skip on AIX.David Edelsohn2-0/+7
From-SVN: r201266
2013-07-26ppc-vector-memcpy.c: Test use of VMX for memcpy not initializers.David Edelsohn2-2/+11
* gcc.target/powerpc/ppc-vector-memcpy.c: Test use of VMX for memcpy not initializers. From-SVN: r201265
2013-07-26AArch64 support for NEG in vector registers for DI and SI mode (part 2)Ian Bolton2-0/+7
From-SVN: r201263
2013-07-26re PR c++/57101 (-fcompare-debug failure with <type error>)Paolo Carlini2-0/+225
2013-07-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57101 * g++.dg/cpp0x/pr57101.C: New. From-SVN: r201262
2013-07-26AArch64 support for NEG in vector registers for DI and SI modeIan Bolton4-4/+85
From-SVN: r201261
2013-07-26combine.c (simplify_comparison): Re-canonicalize operands where appropriate.Kyrylo Tkachov3-0/+52
2013-07-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> Richard Earnshaw <richard.earnshaw@arm.com> * combine.c (simplify_comparison): Re-canonicalize operands where appropriate. * config/arm/arm.md (movcond_addsi): New splitter. Co-Authored-By: Richard Earnshaw <rearnsha@arm.com> From-SVN: r201260
2013-07-26Daily bump.GCC Administrator1-1/+1
From-SVN: r201259