Commit Graph

130445 Commits

Author SHA1 Message Date
GCC Administrator
876814dba3 Daily bump.
From-SVN: r210906
2014-05-25 00:16:39 +00:00
Jan Hubicka
6adda80bb2 gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure that var decl is available.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
	that var decl is available.

From-SVN: r210902
2014-05-24 22:02:13 +00:00
Jan Hubicka
aede2c10ca tree-core.h (tree_decl_with_vis): Replace comdat_group by symtab_node pointer.
* tree-core.h (tree_decl_with_vis): Replace comdat_group by
	symtab_node pointer.
	* tree.c (copy_node_stat): Be sure tonot copy
	symtab_node pointer.
	(find_decls_types_r): Do not walk COMDAT_GROUP.
	* tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
	* varasm.c (make_decl_one_only): Use set_comdat_group;
	create node if needed.
	* ipa-inline-transform.c (save_inline_function_body): Update
	way we decl->symtab mapping.
	* symtab.c (symtab_hash, hash_node, eq_node
	symtab_insert_node_to_hashtable): Remove.
	(symtab_register_node): Update.
	(symtab_unregister_node): Update.
	(symtab_get_node): Reimplement as inline function.
	(symtab_add_to_same_comdat_group): Update.
	(symtab_dissolve_same_comdat_group_list): Update.
	(dump_symtab_base): Update.
	(verify_symtab_base): Update.
	(symtab_make_decl_local): Update.
	(fixup_same_cpp_alias_visibility): Update.
	(symtab_nonoverwritable_alias): Update.
	* cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
	* ipa.c (update_visibility_by_resolution_info): UPdate.
	* bb-reorder.c: Include cgraph.h
	* lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
	with comdat groups.
	* ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
	* cgraph.c (cgraph_get_create_node): Update.
	* cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
	and comdat_group_.
	(symtab_get_node): Make inline.
	(symtab_insert_node_to_hashtable): Remove.
	(symtab_can_be_discarded): Update.
	(decl_comdat_group): New function.
	* tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers): Update.
	* lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
	comdat group name.
	(read_comdat_group): New function.
	(input_node, input_varpool_node): Use it.
	* trans-mem.c (ipa_tm_create_version_alias): Update code creating
	comdat groups.
	* mips.c (mips_start_unique_function): Likewise.
	(ix86_code_end): Likewise.
	(rs6000_code_end): Likweise.
	* tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream
	comdat group.

	* lto-symtab.c (lto_symtab_merge_symbols): Update code setting
	symtab pointer.
	* lto.c (compare_tree_sccs_1): Do not compare comdat groups.

	* optmize.c (maybe_thunk_body): Use set_comdat_group.
	(maybe_clone_body): Likewise.
	* decl.c (duplicate_decls): Update code duplicating comdat group;
	do not copy symtab pointer; before freeing newdecl remove it
	from symtab.
	* decl2.c (constrain_visibility): Use set_comdat_group.

	* c-decl.c (merge_decls): Preserve symtab node pointers.
	(duplicate_decls): Free new decl.

From-SVN: r210901
2014-05-24 22:00:14 +00:00
François Dumont
f3de79d43a array: Clean useless white chars.
2014-05-24  François Dumont  <fdumont@gcc.gnu.org>

	* include/profile/array: Clean useless white chars.
	* include/profile/base.h: Likewise.
	* include/profile/iterator_tracker.h: Likewise.
	* include/profile/bitset: Code cleanup and remove not instrumented code.
	* include/profile/deque: Likewise.
	* include/profile/forward_list: Likewise.
	* include/profile/list (std::__profile::_List_profile<>): New.
	(std::__profile::list<>): Inherit from latter and adapt.
	* include/profile/impl/profiler_map_to_unordered_map.h: Generalize
	advise to match any ordered to unordered container conversion.
	* include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
	New.
	* include/Makefile.am: Add latter.
	* include/Makefile.in: Regenerate.
	* include/profile/map.h (std::__profile::map<>): Inherit from latter,
	remove not instrumented code.
	* include/profile/multimap.h (std::__profile::multimap<>): Likewise.
	* include/profile/set.h (std::__profile::set<>): Likewise.
	* include/profile/multiset.h (std::__profile::multiset<>): Likewise.
	* include/profile/unordered_base.h: Add some line feed.
	* include/profile/unordered_map: Clean useless white chars and replace
	spaces with tabs.
	* include/profile/unordered_set: Likewise.
	* include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
	(std::__profile::_Vector_profile_post<>): New.
	(std::__profile::vector<>): Inherit from latter and adapt.

From-SVN: r210900
2014-05-24 20:59:00 +00:00
Jerry DeLisle
1ebfdcab6b re PR libfortran/61173 (Erroneous "end of file" with internal read)
2014-05-24  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/61173
	gfortran.dg/arrayio_14.f90: New test.

From-SVN: r210899
2014-05-24 19:30:38 +00:00
Jerry DeLisle
03c0f19520 re PR libfortran/61173 (Erroneous "end of file" with internal read)
2014-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/61173
	* io/list_read.c (eat_spaces): If the next character pointed to
	is a space, don't seek, must be at the end.

From-SVN: r210898
2014-05-24 19:26:02 +00:00
Andreas Schwab
63cbc2d48f bswap-2.c (main): Handle more bitfield layouts.
* gcc.c-torture/execute/bswap-2.c (main): Handle more bitfield
layouts.

From-SVN: r210897
2014-05-24 18:54:28 +00:00
Jan Hubicka
4df199d153 gengtype-state.c (fatal_reading_state): Bring offline.
* gengtype-state.c (fatal_reading_state): Bring offline.
	* optabs.c (widening_optab_handler): Bring offline.
	* optabs.h (widening_optab_handler): Likewise.
	* final.c (get_attr_length_1): Likewise.

From-SVN: r210896
2014-05-24 17:12:28 +00:00
Jan Hubicka
e0e349f3f2 * sched-int.h (sd_iterator_cond): Manually tail recurse.
From-SVN: r210895
2014-05-24 17:11:35 +00:00
Dominique d'Humieres
06e3da3474 bind_c_array_params_2.f90: Adjust regexp for -flto.
2014-05-24  Dominique d'Humieres <dominiq@lps.ens.fr>

	* gfortran.dg/gfortran.dg/bind_c_array_params_2.f90:
	Adjust regexp for -flto.
	* gfortran.dg/gfortran.dg/pr48636-2.f90: Likewise.
	* gfortran.dg/pr52835.f90: Likewise.

From-SVN: r210892
2014-05-24 16:17:37 +02:00
Uros Bizjak
386c402747 texi2pod.pl: Force .pod file to not be a numbered list.
* texi2pod.pl: Force .pod file to not be a numbered list.

From-SVN: r210889
2014-05-24 08:38:31 +02:00
Jan Hubicka
c517fc92b5 rtti.c: Include tm_p.h
* rtti.c: Include tm_p.h
	(emit_tinfo_decl): Force RTTI data to be aligned to required
	ABI alignment only.

From-SVN: r210887
2014-05-24 01:42:22 +00:00
Jan Hubicka
8ce8d98e74 class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN ignoring other target adjustments.
* class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN
	ignoring other target adjustments.

From-SVN: r210886
2014-05-24 01:41:06 +00:00
GCC Administrator
53cb0386c2 Daily bump.
From-SVN: r210885
2014-05-24 00:17:02 +00:00
Tobias Burnus
2bf716a985 gfc-internals.texi: Change URLs to HTTPS; fix broken links.
2014-05-23  Tobias Burnus  <burnus@net-b.de>

        * gfc-internals.texi: Change URLs to HTTPS; fix broken links.
        * gfortran.texi: Ditto.

From-SVN: r210877
2014-05-23 22:32:04 +02:00
Segher Boessenkool
a35dd1fae7 rs6000: Make all rlw*nm and rld*c* type shift
They are often labeled just "integer" currently.  Fix that.

Also handle shift properly in those scheduling descriptions that
neglected it.

From-SVN: r210873
2014-05-23 18:46:59 +02:00
Segher Boessenkool
73c076c8a2 rs6000: Make all logical instructions one type
They are currently just "integer", but the dot version is fast_compare.
This makes them all "logical".

From-SVN: r210872
2014-05-23 18:45:11 +02:00
Segher Boessenkool
0cbb4f5897 rs6000: Make all add instructions one type
They are currently just "integer", but the dot version is fast_compare.
This makes them all "add".  Later we should introduce attributes to
distinguish e.g. addc and adde (which aren't currently handled as
separate instructions at all, only in groups).

From-SVN: r210871
2014-05-23 18:43:31 +02:00
Segher Boessenkool
892e7fa695 rs6000: Make all shift instructions one type
This uses the attributes "var_shift" and "dot" to specify the differences:

	var_shift_rotate    -> shift var_shift=yes
	delayed_compare     -> shift var_shift=no  dot=yes
	var_delayed_compare -> shift var_shift=yes dot=yes

From-SVN: r210870
2014-05-23 18:41:20 +02:00
Segher Boessenkool
441e02a5c4 rs6000: Make all divide instructions one type
This uses the attribute "size" to specify the differences:

	idiv -> div size=32
	ldiv -> div size=64

It could use "dot" as well, but the current code doesn't handle that.

From-SVN: r210869
2014-05-23 18:39:42 +02:00
Segher Boessenkool
58ee9e6635 rs6000: Make all insert instructions one type
This uses the attribute "size" to specify the differences:

	insert_word  -> insert size=32
	insert_dword -> insert size=64

It could use "dot" as well, but the current code doesn't handle that.

From-SVN: r210868
2014-05-23 18:37:55 +02:00
Segher Boessenkool
e0528ed9e5 rs6000: Make all multiply instructions one type
This uses the attributes "size" and "dot" to specify the differences:

	imul3 -> mul size=8
	imul2 -> mul size=16
	imul -> mul size=32
	lmul -> mul size=64
	imul_compare -> mul size=32 dot=yes
	lmul_compare -> mul size=64 dot=yes

From-SVN: r210867
2014-05-23 18:36:14 +02:00
Segher Boessenkool
1263d6429d rs6000: New type attribute value "halfmul"
This is for the legacy integer multiply-accumulate instructions.
Quite a mouthful, and "mulhw" is also a terrible name since we already
have a machine instruction called exactly that.  Hence "halfmul".

Also fixes the titan automaton description for this.

From-SVN: r210866
2014-05-23 18:34:01 +02:00
Segher Boessenkool
1be6301ac1 [PATCH 1/9] rs6000: Clean up the "type" attribute
Get rid of the one huge line.  Group and order things a bit.  Further
changes will follow so this doesn't try to make it perfect.

From-SVN: r210865
2014-05-23 18:31:33 +02:00
Martin Jambor
8aab521842 re PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement)
2014-05-23  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/53787
	* params.def (PARAM_IPA_MAX_AA_STEPS): New param.
	* ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
	analysis_done, update all uses.
	* ipa-prop.c: Include domwalk.h
	(param_analysis_info): Removed.
	(param_aa_status): New type.
	(ipa_bb_info): Likewise.
	(func_body_info): Likewise.
	(ipa_get_bb_info): New function.
	(aa_overwalked): Likewise.
	(find_dominating_aa_status): Likewise.
	(parm_bb_aa_status_for_bb): Likewise.
	(parm_preserved_before_stmt_p): Changed to use new param AA info.
	(load_from_unmodified_param): Accept func_body_info as a parameter
	instead of parms_ainfo.
	(parm_ref_data_preserved_p): Changed to use new param AA info.
	(parm_ref_data_pass_through_p): Likewise.
	(ipa_load_from_parm_agg_1): Likewise.  Update callers.
	(compute_complex_assign_jump_func): Changed to use new param AA info.
	(compute_complex_ancestor_jump_func): Likewise.
	(ipa_compute_jump_functions_for_edge): Likewise.
	(ipa_compute_jump_functions): Removed.
	(ipa_compute_jump_functions_for_bb): New function.
	(ipa_analyze_indirect_call_uses): Likewise, moved variable
	declarations down.
	(ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
	and info, moved variable declarations down.
	(ipa_analyze_call_uses): Accept and pass on func_body_info instead of
	node and info.
	(ipa_analyze_stmt_uses): Likewise.
	(ipa_analyze_params_uses): Removed.
	(ipa_analyze_params_uses_in_bb): New function.
	(ipa_analyze_controlled_uses): Likewise.
	(free_ipa_bb_info): Likewise.
	(analysis_dom_walker): New class.
	(ipa_analyze_node): Handle node-specific forbidden analysis,
	initialize and free func_body_info, use dominator walker.
	(ipcp_modif_dom_walker): New class.
	(ipcp_transform_function): Create and free func_body_info, use
	ipcp_modif_dom_walker, moved a lot of functionality there.

From-SVN: r210864
2014-05-23 17:52:20 +02:00
Vladimir Makarov
63b0b10636 re PR rtl-optimization/61215 (ICE in gen_add2_insn, at optabs.c:4718 when building wine-1.7.19)
2014-05-23  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/61215
	* gcc.target/i386/pr61215.c: New.

From-SVN: r210863
2014-05-23 15:34:03 +00:00
Marek Polacek
85a16bf8b5 builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
* builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
	* gcc.c (sanitize_spec_function): Likewise.
	* convert.c (convert_to_integer): Include "ubsan.h".  Add
	floating-point to integer instrumentation.
	* doc/invoke.texi: Document -fsanitize=float-cast-overflow.
	* flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
	SANITIZE_NONDEFAULT.
	* opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
	BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
	* ubsan.c: Include "realmpfr.h" and "dfp.h".
	(get_ubsan_type_info_for_type): Handle REAL_TYPEs.
	(ubsan_type_descriptor): Set tkind to 0xffff for types other than
	float/double/long double.
	(ubsan_instrument_float_cast): New function.
	* ubsan.h (ubsan_instrument_float_cast): Declare.
testsuite/
	* c-c++-common/ubsan/float-cast-overflow-1.c: New test.
	* c-c++-common/ubsan/float-cast-overflow-10.c: New test.
	* c-c++-common/ubsan/float-cast-overflow-2.c: New test.
	* c-c++-common/ubsan/float-cast-overflow-3.c: New test.
	* c-c++-common/ubsan/float-cast-overflow-4.c: New test.
	* c-c++-common/ubsan/float-cast-overflow-5.c: New test.
	* c-c++-common/ubsan/float-cast-overflow-6.c: New test.
	* c-c++-common/ubsan/float-cast-overflow-7.c: New test.
	* c-c++-common/ubsan/float-cast-overflow-7.h: New file.
	* c-c++-common/ubsan/float-cast-overflow-8.c: New test.
	* c-c++-common/ubsan/float-cast-overflow-9.c: New test.
	* c-c++-common/ubsan/float-cast.h: New file.
	* g++.dg/ubsan/float-cast-overflow-bf.C: New test.
	* gcc.dg/ubsan/float-cast-overflow-bf.c: New test.
libsanitizer/
	* ubsan/ubsan_value.cc (getFloatValue): Handle 96-bit
	floating-point types.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r210862
2014-05-23 14:44:42 +00:00
Jiong Wang
fee9ba422f [AARCH64] Support tail indirect function call.
From-SVN: r210861
2014-05-23 12:13:56 +00:00
Thomas Schwinge
09af4b4c42 Be a bit less explicit.
gcc/
	* gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
	Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.

From-SVN: r210860
2014-05-23 14:06:48 +02:00
Jonathan Wakely
cfbe41d07e 54297.cc: Remove duplicate dragonfly selector.
* testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
	selector.
	* testsuite/30_threads/call_once/60497.cc: Likewise.
	* testsuite/30_threads/condition_variable/54185.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
	* testsuite/30_threads/packaged_task/60564.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
	* testsuite/30_threads/promise/60966.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
	* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
	* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.

From-SVN: r210859
2014-05-23 12:49:26 +01:00
Thomas Schwinge
ed20ae9814 Make it easier to diff expand_omp_for_* functions.
gcc/
	* omp-low.c (expand_omp_for_static_chunk): Rename variable si to
	gsi, and variables v_* to v*.

From-SVN: r210858
2014-05-23 13:39:35 +02:00
Paolo Carlini
6842efc758 lambda-init9.C: New.
2014-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp1y/lambda-init9.C: New.

From-SVN: r210857
2014-05-23 11:37:57 +00:00
Eric Botcazou
4adf63f9c7 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
From-SVN: r210856
2014-05-23 11:33:42 +00:00
Thomas Schwinge
0aadce7331 GF_OMP_FOR_SIMD: Flag for SIMD variants of OMP_FOR kinds.
gcc/
	* gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
	* omp-low.c: Update accordingly.

From-SVN: r210855
2014-05-23 13:32:01 +02:00
Thomas Schwinge
eb63c927ea Just enumerate all GF_OMP_FOR_KIND_* and GF_OMP_TARGET_KIND_*.
gcc/
	* gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
	for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
	GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
	GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
	GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
	GF_OMP_TARGET_KIND_UPDATE.

From-SVN: r210854
2014-05-23 13:31:51 +02:00
Thomas Schwinge
f3316c6dce Remove duplicated variable initialization.
gcc/c/
	* c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
	initialization.
	gcc/cp/
	* semantics.c (finish_omp_clauses): Remove duplicated variable
	initialization.

From-SVN: r210853
2014-05-23 13:23:49 +02:00
Thomas Schwinge
a5a5434f7b Be more explicit.
gcc/
	* gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
	Explicitly enumerate the expected region types.

From-SVN: r210852
2014-05-23 13:07:57 +02:00
Thomas Schwinge
edbba2ceb5 Fix some bool vs. tree confusion.
gcc/c/
	* c-parser.c (c_parser_omp_target): Return bool values.
	gcc/cp/
	* parser.c (cp_parser_omp_target): Return bool values.

From-SVN: r210851
2014-05-23 13:00:31 +02:00
Jonathan Wakely
d90838f96c 1.cc: Add xfail for dragonfly.
* testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
	dragonfly.
	* testsuite/30_threads/call_once/60497.cc: Add target selectors.
	* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.

From-SVN: r210850
2014-05-23 11:19:32 +01:00
Jonathan Wakely
75a8a745af re PR libstdc++/60793 (Add target *-*-dragonfly* to dg-options on 172 libstdc++ tests)
PR libstdc++/60793
	* testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
	dragonfly target selector to all tests that run on freebsd.

From-SVN: r210849
2014-05-23 11:19:20 +01:00
Paul Eggert
ee526ea745 re PR other/56955 (documentation for attribute malloc contradicts itself)
2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	PR other/56955
	* doc/extend.texi (Function Attributes): Fix  __attribute__ ((malloc))
	documentation; the old documentation didn't clearly state the
	constraints on the contents of the pointed-to storage.

From-SVN: r210848
2014-05-23 10:11:03 +00:00
Richard Biener
803e4cbb22 re PR tree-optimization/61266 (FAIL: gcc.dg/Wstrict-overflow-18.c (test for bogus messages, line 20))
2014-05-23  Richard Biener  <rguenther@suse.de>

	PR testsuite/61266
	* gcc.dg/Wstrict-overflow-18.c: Revert un-XFAILing and
	adjust testcase to reflect reality.

From-SVN: r210846
2014-05-23 08:13:59 +00:00
Maxim Kuvyrkov
676cad4d97 Fix bootstrap error on ia64
* config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
	Return default value.

From-SVN: r210845
2014-05-23 07:33:24 +00:00
Thomas Preud'homme
73984f8494 re PR tree-optimization/54733 (Missing opportunity to optimize endian independent load/store)
2014-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	PR tree-optimization/54733
gcc/
	* tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
	(CMPNOP): Define.
	(find_bswap_or_nop_load): New.
	(find_bswap_1): Renamed to ...
	(find_bswap_or_nop_1): This. Also add support for memory source.
	(find_bswap): Renamed to ...
	(find_bswap_or_nop): This. Also add support for memory source and
	detection of bitwise operations equivalent to load in host endianness.
	(execute_optimize_bswap): Likewise. Also move its leading comment back
	in place and split statement transformation into ...
	(bswap_replace): This.

gcc/testsuite
	* gcc.dg/optimize-bswapdi-3.c: New test to check extension of bswap
	optimization to support memory sources and bitwise operations
	equivalent to load in host endianness.
	* gcc.dg/optimize-bswaphi-1.c: Likewise.
	* gcc.dg/optimize-bswapsi-2.c: Likewise.
	* gcc.c-torture/execute/bswap-2.c: Likewise.

From-SVN: r210843
2014-05-23 03:33:28 +00:00
Thomas Preud'homme
eaa33a6a65 target-supports.exp: New effective targets for architectures capable of performing byte swap.
2014-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* lib/target-supports.exp: New effective targets for architectures
	  capable of performing byte swap.
	* gcc.dg/optimize-bswapdi-1.c: Convert to new bswap target.
	* gcc.dg/optimize-bswapdi-2.c: Likewise.
	* gcc.dg/optimize-bswapsi-1.c: Likewise.

From-SVN: r210842
2014-05-23 02:47:45 +00:00
Hans-Peter Nilsson
ebfedee6d7 configure.ac [...] (HAVE_STRNLEN, [...]): Define.
* configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
	* configure: Regenerate.

From-SVN: r210841
2014-05-23 02:06:40 +00:00
Vladimir Makarov
b17ec42d4c re PR rtl-optimization/61215 (ICE in gen_add2_insn, at optabs.c:4718 when building wine-1.7.19)
2014-05-22  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/61215
	* lra-elelimination.c (lra_eliminate_regs_1): Don't use
	simplify_gen_subreg until final substitution.

From-SVN: r210838
2014-05-23 01:52:01 +00:00
Alan Modra
ea9364db15 re PR target/61231 (bootstrap comparision failure on powerpc64le-linux-gnu)
PR target/61231
	* config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
	* config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
	Use "Y" constraint rather than "m".

From-SVN: r210835
2014-05-23 10:47:41 +09:30
GCC Administrator
bb3d4010c6 Daily bump.
From-SVN: r210834
2014-05-23 00:17:15 +00:00
Paolo Carlini
0c018b6fad re PR c++/61088 (segfault with array of lambdas initialized with initializer list that contains a lambda that captures the array)
/cp
2014-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61088
	* lambda.c (add_capture): Enforce that capture by value requires
	complete type.
	* typeck2.c (cxx_incomplete_type_inform): Early return if
	TYPE_MAIN_DECL is null.

/testsuite
2014-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61088
	* g++.dg/cpp0x/lambda/lambda-ice13.C: New.
	* g++.dg/cpp0x/lambda/lambda-ice7.C: Adjust.

From-SVN: r210829
2014-05-22 22:28:24 +00:00