1. 01 Aug, 2013 4 commits
  2. 31 Jul, 2013 15 commits
    • Thompson matcher refactored. · 95c7d828
      2013-07-31  Tim Shen  <timshen91@gmail.com>
      
      	Thompson matcher refactored. Fix grouping problem.
      	* include/bits/regex.h: Use a dispatcher _M_get_matcher().
      	* include/bits/regex_compiler.h: Tweak for auto switching.
      	* include/bits/regex_grep_matcher.h: Class structure.
      	* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
      	matcher) refactoring.
      	* include/bits/regex_nfa.h: Change _Results's interfaces.
      	* include/std/regex: Includes <map> and <queue>.
      	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
      	For both matchers.
      	* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
      	For both matchers.
      	* testsuite/28_regex/algorithms/regex_match/extended/
      	string_dispatch_01.cc: New.
      
      From-SVN: r201391
      Tim Shen committed
    • predicates.md (fusion_gpr_addis): New predicates to support power8 load fusion. · d86e633a
      [gcc]
      2013-07-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/predicates.md (fusion_gpr_addis): New predicates
      	to support power8 load fusion.
      	(fusion_gpr_mem_load): Likewise.
      
      	* config/rs6000/rs6000-modes.def (PTImode): Update a comment.
      
      	* config/rs6000/rs6000-protos.h (fusion_gpr_load_p): New
      	declarations for power8 load fusion.
      	(emit_fusion_gpr_load): Likewise.
      
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
      	tuning for power8, turn on fusion mode by default.  Turn on sign
      	extending fusion mode if normal fusion mode is on, and we are at
      	-O2 or -O3.
      	(fusion_gpr_load_p): New function, return true if we can fuse an
      	addis instruction with a dependent load to a GPR.
      	(emit_fusion_gpr_load): Emit the instructions for power8 load
      	fusion to GPRs.
      
      	* config/rs6000/vsx.md (VSX_M2): New iterator for fusion
      	peepholes.
      	(VSX load fusion peepholes): New peepholes to fuse together an
      	addi instruction with a VSX load instruction.
      
      	* config/rs6000/rs6000.md (GPR load fusion peepholes): New
      	peepholes to fuse an addis instruction with a load to a GPR base
      	register.  If we are supporting sign extending fusions, convert
      	sign extending loads to zero extending loads and add an explicit
      	sign extension.
      
      [gcc/testsuite]
      2013-07-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/fusion.c: New file, test power8 fusion
      	support.
      
      From-SVN: r201385
      Michael Meissner committed
    • mips.exp (mips-dg-options): Test for mabicalls rather than addressing!=absolute when... · b26e3fc2
      gcc/testsuite/
      	* gcc.target/mips/mips.exp (mips-dg-options): Test for mabicalls
      	rather than addressing!=absolute when deciding how to handle MIPS16
      	when the test forces an ABI.
      
      From-SVN: r201380
      Richard Sandiford committed
    • parser.c (cp_parser_sizeof_pack): Check cp_parser_identifier return value for error_mark_node. · 0b57d5fa
      2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* parser.c (cp_parser_sizeof_pack): Check cp_parser_identifier
      	return value for error_mark_node.
      
      From-SVN: r201379
      Paolo Carlini committed
    • re PR libstdc++/56627 (class hash instead of struct hash) · 4333e4dc
      2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/56627
      	* include/bits/stl_bvector.h: Use friend struct hash intead of
      	friend class hash to work around useless warnings produced by
      	some compilers.
      	* include/std/bitset: Likewise.
      
      From-SVN: r201377
      Paolo Carlini committed
    • config.gcc (arm*-*-*): Add aarch-common.o to extra_objs. · c3f35647
      	* config.gcc (arm*-*-*): Add aarch-common.o to extra_objs.  Add
      	aarch-common-protos.h to extra_headers.
      	(arm*-*-*): Add arm/aarch-common-protos.h to tm_p_file.
      	* config/arm/arm.c (arm_early_load_addr_dep): Move from here to ...
      	(arm_early_store_addr_dep): Likewise.
      	(arm_no_early_alu_shift_dep: Likewise.
      	(arm_no_early_alu_shift_value_dep: Likewise.
      	(arm_no_early_mul_dep: Likewise.
      	(arm_no_early_store_addr_dep: Likewise.
      	(arm_mac_accumulator_is_mul_result: Likewise.
      	(arm_mac_accumulator_is_result: Likewise.
      	* config/arm/aarch-common.c: ... here.  New file.
      	* config/arm/arm-protos.h (arm_early_load_addr_dep): Move from here to ...
      	(arm_early_store_addr_dep): Likewise.
      	(arm_no_early_alu_shift_dep: Likewise.
      	(arm_no_early_alu_shift_value_dep: Likewise.
      	(arm_no_early_mul_dep: Likewise.
      	(arm_no_early_store_addr_dep: Likewise.
      	(arm_mac_accumulator_is_mul_result: Likewise.
      	(arm_mac_accumulator_is_result: Likewise.
      	* config/arm/aarch-common-protos.h: ... here.  New file.
      	* config/arm/t-arm (aarch-common.o): Define.
      
      From-SVN: r201376
      Sofiane Naci committed
    • arm.md: Include new file "types.md". · 701bd1bd
      	* config/arm/arm.md: Include new file "types.md".
      	(define_attr "type"): Move from here to ...
      	(define_attr "mul32"): Likewise.
      	(define_attr "mul64"): Likewise.
      	* config/arm/types.md: ... here.  New file.
      
      From-SVN: r201375
      Sofiane Naci committed
    • config.gcc (*-*-rtems*): Use __cxa_atexit by default. · 228c1313
      2013-07-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
      
      	* config.gcc (*-*-rtems*): Use __cxa_atexit by default.
      	* config/rs6000/rtems.h (TARGET_LIBGCC_SDATA_SECTION): Define.
      
      From-SVN: r201370
      Sebastian Huber committed
    • functexcept.cc: Do not include the whole <regex>. · a781834e
      2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* src/c++11/functexcept.cc: Do not include the whole <regex>.
      	* src/c++11/regex.cc: Likewise.
      
      From-SVN: r201369
      Paolo Carlini committed
    • * ChangeLog: Fix my email address. · d6e9046d
      From-SVN: r201365
      Jan-Benedict Glaw committed
    • gen-pass-instances.awk: Fix offset of substr(). · 8ac499bb
      2013-07-31  Jan-Benedict Glaw  <jbglaw@owl.de>
      
      	* gen-pass-instances.awk: Fix offset of substr().
      
      From-SVN: r201364
      Jan-Benedict Glaw committed
    • Revert last commit. · 11510532
      From-SVN: r201360
      Tim Shen committed
    • Introduce gen-pass-instances.awk and pass-instances.def · a167b052
      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
      David Malcolm committed
    • Thompson matcher refactored. · abf1719e
      2013-07-31  Tim Shen  <timshen91@gmail.com>
      
      	Thompson matcher refactored. Fix grouping problem.
      	* include/bits/regex.h: Use a dispatcher _M_get_matcher().
      	* include/bits/regex_compiler.h: Tweak for auto switching.
      	* include/bits/regex_grep_matcher.h: Class structure.
      	* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
      	matcher) refactoring.
      	* include/bits/regex_nfa.h: Change _Results's interfaces.
      	* include/std/regex: Includes <map> and <queue>.
      	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
      	For both matchers.
      	* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
      	For both matchers.
      	* testsuite/28_regex/algorithms/regex_match/extended/
      	string_dispatch_01.cc: New.
      
      From-SVN: r201358
      Tim Shen committed
    • Daily bump. · daaf92f8
      From-SVN: r201357
      GCC Administrator committed
  3. 30 Jul, 2013 18 commits
    • re PR c++/57673 (pack sizeof ... groups ellipsis with preceding expression) · e77da14a
      /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
      Paolo Carlini committed
    • code-readable-1.c: Increase switch size. · df4f7bb8
      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
      Steve Ellcey committed
    • Introduce beginnings of a pass_manager class. · 315f8c0e
      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
      David Malcolm committed
    • mips16.S (DELAYf): Alias to DELAYt for the MIPS IV ISA and up. · 72be589b
      	* config/mips/mips16.S (DELAYf): Alias to DELAYt for the MIPS IV
      	ISA and up.
      
      From-SVN: r201350
      Maciej W. Rozycki committed
    • 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com> · 9a92fa8b
      	Revert last commit.
      
      From-SVN: r201349
      Paolo Carlini committed
    • 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com> · 5034aa21
      	Revert last commit.
      
      From-SVN: r201348
      Paolo Carlini committed
    • re PR c++/57947 (internal compiler error: Segmentation fault using extended… · bd459a61
      re PR c++/57947 (internal compiler error: Segmentation fault using extended 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
      Paolo Carlini committed
    • config.gcc (arm): Require 64-bit host-wide-int for all ARM target configs. · 02cab1c1
      	* config.gcc (arm): Require 64-bit host-wide-int for all ARM target
      	configs.
      
      From-SVN: r201342
      Richard Earnshaw committed
    • * arm.md (mulhi3): New expand pattern. · b2d3f886
      From-SVN: r201341
      Richard Earnshaw committed
    • re PR c++/57901 (Cannot call-by-value such that class has non-trivial (constexpr) move constructor) · b6d846de
      	PR c++/57901
      	* semantics.c (build_data_member_initialization, constexpr_fn_retval):
      	Use break_out_target_exprs instead of unshare_expr.
      
      From-SVN: r201338
      Jason Merrill committed
    • re PR c++/58022 (Compiler rejects abstract class in template class with friend operator<<) · 1b798a0f
      	PR c++/58022
      	* g++.dg/template/abstract1.C: New.
      
      From-SVN: r201337
      Jason Merrill committed
    • Thompson matcher refactored. · a6dc77bc
      2013-07-30  Tim Shen  <timshen91@gmail.com>
      
      	Thompson matcher refactored. Fix grouping problem.
      	* include/bits/regex.h: Use a dispatcher _M_get_matcher().
      	* include/bits/regex_compiler.h: Tweak for auto switching.
      	* include/bits/regex_grep_matcher.h: Class structure.
      	* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
      	matcher) refactoring.
      	* include/bits/regex_nfa.h: Change _Results's interfaces.
      	* include/std/regex: Includes <map> and <queue>.
      	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
      	For both matchers.
      	* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
      	For both matchers.
      	* testsuite/28_regex/algorithms/regex_match/extended/string_dispatch_01.cc:
      	New.
      
      From-SVN: r201334
      Tim Shen committed
    • profile.c (compute_value_histograms): Do not ICE when there is mismatch only on some counters. · 605e86fa
      
      	* 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
      Jan Hubicka committed
    • re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target (which… · 60de1c7d
      re PR fortran/57530 ([OOP] Wrongly rejects  type_pointer => class_target (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
      Tobias Burnus committed
    • re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target (which… · b882aaa8
      re PR fortran/57530 ([OOP] Wrongly rejects  type_pointer => class_target (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
      Tobias Burnus committed
    • re PR rtl-optimization/57637 (Miscompare on 178.galgel in SPEC2000 on arm) · 14a87636
      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
      Zhenqiang Chen committed
    • re PR tree-optimization/57993 (ICE: verify_ssa failed (definition in block n… · 0100cd3f
      re PR tree-optimization/57993 (ICE: verify_ssa failed (definition in block n 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
      Bill Schmidt committed
    • Daily bump. · ac60ce1d
      From-SVN: r201324
      GCC Administrator committed
  4. 29 Jul, 2013 3 commits