Commit Graph

124692 Commits

Author SHA1 Message Date
Jan Hubicka c0c123ef52 cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin.
* cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin.
	(cgraph_release_function_body): Likewise.
	(cgraph_can_remove_if_no_direct_calls_p): Likewise.
	* cgraph.h (cgrpah_node): Rename abstract_and_needed
	to used_as_abstract_origin.
	* tree-inline-transfrom.c (can_remove_node_now_p_1): Do not remove
	symbols used as abstract origins.
	* cgraphunit.c (analyze_functions): Update.
	* ipa.c (symtab_remove_unreachable_nodes): Recompute used_as_abstract_origin.
	* tree-inline.c (tree_function_versioning): Update
	used_as_abstract_origin; be ready for DECL_RESULT and DECL_ARGUMENTS to be
	NULL.

	* lto-symtab.c (lto_symtab_merge_symbols): Merge duplicated nodes for abstract functions.
	* cgraph.h (symtab_real_symbol_p): Abstract declarations are not real symbols.

From-SVN: r201408
2013-08-01 13:24:49 +00:00
Vidya Praveen 0cd1dd571b vect-iv-5.c: Make xfail conditional with !arm_neon_ok.
* gcc.dg/vect/vect-iv-5.c: Make xfail conditional with !arm_neon_ok.

From-SVN: r201406
2013-08-01 13:58:13 +01:00
Jan Hubicka 1f02943335 * profile.c (compute_value_histograms): Fix thinko.
From-SVN: r201401
2013-08-01 10:03:55 +00:00
Sofiane Naci c451f4d6c1 config.gcc (aarch64*-*-*): Add aarch-common.o to extra_objs.
* config.gcc (aarch64*-*-*): Add aarch-common.o to extra_objs.  Add
	aarch-common-protos.h to extra_headers.
	(aarch64*-*-*): Add arm/aarch-common-protos.h to tm_p_file.
	* config/aarch64/aarch64.md: Include "../arm/cortex-a53.md"
	* config/aarch64/t-aarch64 (aarch-common.o): Define.

From-SVN: r201400
2013-08-01 09:50:52 +00:00
Sofiane Naci 34b512f5aa aarch64.md (define_attr "type"): Delete.
* config/aarch64/aarch64.md (define_attr "type"): Delete.
	Include "../arm/types.md".  Define "type" attribute for all patterns.
	* config/aarch64/aarch64-simd.md (move_lo_quad_<mode>): Update for
	attribute changes.

From-SVN: r201399
2013-08-01 09:48:48 +00:00
GCC Administrator 04828fb6a6 Daily bump.
From-SVN: r201397
2013-08-01 00:16:34 +00:00
Tim Shen 95c7d82816 Thompson matcher refactored.
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
2013-07-31 22:36:11 +00:00
Michael Meissner d86e633abc predicates.md (fusion_gpr_addis): New predicates to support power8 load fusion.
[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
2013-07-31 20:04:07 +00:00
Richard Sandiford b26e3fc277 mips.exp (mips-dg-options): Test for mabicalls rather than addressing!=absolute when...
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
2013-07-31 18:33:50 +00:00
Paolo Carlini 0b57d5fa43 parser.c (cp_parser_sizeof_pack): Check cp_parser_identifier return value for error_mark_node.
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
2013-07-31 18:28:16 +00:00
Paolo Carlini 4333e4dcf7 re PR libstdc++/56627 (class hash instead of struct hash)
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
2013-07-31 14:36:13 +00:00
Sofiane Naci c3f35647ff config.gcc (arm*-*-*): Add aarch-common.o to extra_objs.
* 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
2013-07-31 14:32:39 +00:00
Sofiane Naci 701bd1bd9c arm.md: Include new file "types.md".
* 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
2013-07-31 14:29:54 +00:00
Sebastian Huber 228c1313ff config.gcc (*-*-rtems*): Use __cxa_atexit by default.
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
2013-07-31 12:58:35 +00:00
Paolo Carlini a781834e44 functexcept.cc: Do not include the whole <regex>.
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
2013-07-31 12:36:37 +00:00
Jan-Benedict Glaw d6e9046de6 * ChangeLog: Fix my email address.
From-SVN: r201365
2013-07-31 09:54:43 +00:00
Jan-Benedict Glaw 8ac499bbd1 gen-pass-instances.awk: Fix offset of substr().
2013-07-31  Jan-Benedict Glaw  <jbglaw@owl.de>

	* gen-pass-instances.awk: Fix offset of substr().

From-SVN: r201364
2013-07-31 09:34:04 +00:00
Tim Shen 1151053225 Revert last commit.
From-SVN: r201360
2013-07-31 03:36:37 +00:00
David Malcolm a167b052df Introduce gen-pass-instances.awk and pass-instances.def
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-31 00:48:03 +00:00
Tim Shen abf1719efe Thompson matcher refactored.
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
2013-07-31 00:20:06 +00:00
GCC Administrator daaf92f822 Daily bump.
From-SVN: r201357
2013-07-31 00:16:43 +00:00
Paolo Carlini e77da14a53 re PR c++/57673 (pack sizeof ... groups ellipsis with preceding expression)
/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-30 22:38:52 +00:00
Steve Ellcey df4f7bb8db code-readable-1.c: Increase switch size.
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-30 20:32:43 +00:00
David Malcolm 315f8c0e21 Introduce beginnings of a pass_manager class.
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-30 18:52:03 +00:00
Maciej W. Rozycki 72be589b8c mips16.S (DELAYf): Alias to DELAYt for the MIPS IV ISA and up.
* config/mips/mips16.S (DELAYf): Alias to DELAYt for the MIPS IV
	ISA and up.

From-SVN: r201350
2013-07-30 18:34:43 +00:00
Paolo Carlini 9a92fa8b66 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
Revert last commit.

From-SVN: r201349
2013-07-30 18:16:33 +00:00
Paolo Carlini 5034aa2102 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
Revert last commit.

From-SVN: r201348
2013-07-30 18:13:15 +00:00
Paolo Carlini bd459a6121 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
2013-07-30 16:48:52 +00:00
Richard Earnshaw 02cab1c17d config.gcc (arm): Require 64-bit host-wide-int for all ARM target configs.
* config.gcc (arm): Require 64-bit host-wide-int for all ARM target
	configs.

From-SVN: r201342
2013-07-30 15:58:32 +00:00
Richard Earnshaw b2d3f886f5 * arm.md (mulhi3): New expand pattern.
From-SVN: r201341
2013-07-30 15:54:30 +00:00
Jason Merrill b6d846de2b re PR c++/57901 (Cannot call-by-value such that class has non-trivial (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-30 09:28:31 -04:00
Jason Merrill 1b798a0fe1 re PR c++/58022 (Compiler rejects abstract class in template class with friend operator<<)
PR c++/58022
	* g++.dg/template/abstract1.C: New.

From-SVN: r201337
2013-07-30 09:28:23 -04:00
Tim Shen a6dc77bc3d Thompson matcher refactored.
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
2013-07-30 12:02:55 +00:00
Jan Hubicka 605e86fa3f profile.c (compute_value_histograms): Do not ICE when there is mismatch only 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-30 12:00:42 +00:00
Tobias Burnus 60de1c7df5 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
2013-07-30 09:20:43 +02:00
Tobias Burnus b882aaa84d 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
2013-07-30 09:18:54 +02:00
Zhenqiang Chen 14a8763670 re PR rtl-optimization/57637 (Miscompare on 178.galgel in SPEC2000 on arm)
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-30 06:53:31 +00:00
Bill Schmidt 0100cd3f7e 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
2013-07-30 01:01:35 +00:00
GCC Administrator ac60ce1da6 Daily bump.
From-SVN: r201324
2013-07-30 00:16:25 +00:00
Joern Rennecke bba3321158 re PR rtl-optimization/58021 (MODE_EXIT switches at NOTE_INSN_DELETED)
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 23:45:38 +01:00
Joern Rennecke e137912234 * gcc.dg/tree-ssa/pr44258.c: Disable scan test for Epiphany.
From-SVN: r201320
2013-07-29 21:46:29 +01:00
Joern Rennecke f0d811f7e4 epiphany.md (*isub_i+2): New peephole.
* 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-29 21:34:29 +01:00
Paolo Carlini 3ea1e3286b re PR c++/57948 (internal compiler error: in initialize_reference, at 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-29 20:12:20 +00:00
Jason Merrill 88e594b6de mangle.c (write_name): Check for null context.
* mangle.c (write_name): Check for null context.
	(write_unscoped_name): Allow PARM_DECL context.

From-SVN: r201317
2013-07-29 15:40:13 -04:00
Po-Chun Chang 502af49176 match.c (gfc_match_call): Exit loop after setting i.
* 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-29 13:08:03 -06:00
Nathan Froyd 272827e446 atomic (compare_exchange_weak, [...]): Add call to __cmpexch_failure_order.
libstdc++-v3/
	* include/std/atomic (compare_exchange_weak, compare_exchange_strong):
	Add call to __cmpexch_failure_order.
	* testsuite/util/testsuite_common_types.h
	(compare_exchange_order_lowering): New generator.
	* testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
	New test.

From-SVN: r201315
2013-07-29 17:13:05 +00:00
Maciej W. Rozycki ff3f395157 linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'.
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-29 14:37:30 +00:00
Uros Bizjak 576e2f3740 re PR target/57954 (AVX missing vxorps (zeroing) before vcvtsi2s %edx, slow 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-29 13:17:51 +02:00
Ramana Radhakrishnan bb80c2eb3a Fix incorrect changelog entry.
From-SVN: r201307
2013-07-29 10:36:11 +00:00
Andreas Krebbel aaaffb2a0d 2013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/target.h (htm_begin, htm_commit, htm_abort)
	(htm_transaction_active): Enable zEC12 instructions in the
	assembler.
	* configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.

From-SVN: r201301
2013-07-29 08:03:38 +00:00