]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
10 years agoMakefile.in (C_COMMON_OBJS): Depend on c-cilkplus.o.
Aldy Hernandez [Fri, 15 Nov 2013 21:43:59 +0000 (21:43 +0000)] 
Makefile.in (C_COMMON_OBJS): Depend on c-cilkplus.o.

* Makefile.in (C_COMMON_OBJS): Depend on c-cilkplus.o.
* gimple-pretty-print.c (dump_omp_for): Add case for
GF_OMP_FOR_KIND_CILKSIMD.
* gimple.h (enum gf_mask): Restructure entries to add
GF_OMP_FOR_KIND_CILKSIMD.
* gimplify.c (is_gimple_stmt): Add case for CILK_SIMD.
(gimplify_omp_for): Handle CILK_SIMD.
(gimplify_expr): Add ccase for CILK_SIMD.
* omp-low.c (extract_omp_for_data): Handle CILK_SIMD.
(build_outer_var_ref): Same.
(check_omp_nesting_restrictions): Same.
(lower_rec_input_clauses): Same.
(lower_lastprivate_clauses): Same.
(expand_omp_for): Same.
(execute_expand_omp): Check flag_enable_cilkplus.
(execute_lower_omp): Same.
(diagnose_sb_0): Handle CILK_SIMD.
(diagnose_omp_structured_block_errors): Check
flag_enable_cilkplus.
(setjmp_or_longjmp_p): New.
(scan_omp_1_stmt): Error on setjmp/longjmp in a simd construct.
* tree-pretty-print.c (dump_generic_node): Add case for CILK_SIMD.
* tree.def: Add tree code for CILK_SIMD.

testsuite/
* c-c++-common/cilk-plus/PS: New directory.
* g++.dg/cilk-plus/cilk-plus.exp: Run shared tests.
* g++.dg/dg.exp: Run Cilk Plus tests.
* gcc.dg/cilk-plus/cilk-plus.exp: Run shared tests.

c-family/
* c-cilkplus.c: New file.
* c-common.c (readonly_error): Add location argument.
* c-common.h (readonly_error): Same.
(c_finish_cilk_clauses): Protoize.
(c_check_cilk_loop): Same.
c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
Do not fail on error_mark_node.
Abstract increment canonicalization to here...
(c_omp_for_incr_canonicalize_ptr): New.
c-pragma.c (init_pragma): Register "simd" pragma.
c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
(enum pragma_cilk_clause): New.

c/
* c-parser.c (c_parser_cilk_simd): New.
(c_parser_cilk_verify_simd): New.
(c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
(c_parser_omp_for_loop): Add case for NE_EXPR.
Set c_break_label for CILK_SIMD.
(c_parser_cilk_clause_vectorlength): New.
(c_parser_cilk_clause_linear): New.
(c_parser_cilk_clause_name): New.
(c_parser_cilk_all_clauses): New.
* c-typeck.c (build_unary_op): Pass location argument to
readonly_error.
(build_modify_expr): Same.
(build_asm_expr): Same.
(c_finish_bc_stmt): Error on break/continue in loops.

cp/
* Make-lang.in (CXX_AND_OBJCXX_OBJS): Depend on cp/cp-cilkplus.o.
* cp-cilkplus.c: New file.
* cp-tree.h (cpp_validate_cilk_plus_loop): Protoize.
* parser.c (cp_parser_cilk_simd): New.
(cp_debug_parser): Add case for IN_CILK_SIMD_FOR.
(cp_parser_jump_statement): Same.
(cp_parser_omp_for_cond): Add new argument.
Add case for NE_EXPR.
(cp_parser_omp_for_loop): Pass new argument to
cp_parser_omp_for_cond.
Handle CILK_SIMD nodes.
Abstract initilization code to..
(cp_parser_omp_for_loop_init): ...here.
(cp_parser_pragma): Add case for PRAGMA_CILK_SIMD.
(cp_parser_cilk_simd_vectorlength): New.
(cp_parser_cilk_simd_linear): New.
(cp_parser_cilk_simd_clause_name): New.
(cp_parser_cilk_simd_all_clauses): New.
(cp_parser_cilk_simd): New.
* parser.h (IN_CILK_SIMD_FOR): New macro.
* pt.c (tsubst_expr): Add case for CILK_SIMD.
* typeck2.c (cxx_readonly_error): Pass location argument to
readonly_error.

From-SVN: r204863

10 years agoaltivec.md (UNSPEC_VPERM_X, [...]): Remove.
Bill Schmidt [Fri, 15 Nov 2013 21:16:32 +0000 (21:16 +0000)] 
altivec.md (UNSPEC_VPERM_X, [...]): Remove.

gcc:

2013-11-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (UNSPEC_VPERM_X, UNSPEC_VPERM_UNS_X):
Remove.
(altivec_vperm_<mode>): Revert earlier little endian change.
(*altivec_vperm_<mode>_internal): Remove.
(altivec_vperm_<mode>_uns): Revert earlier little endian change.
(*altivec_vperm_<mode>_uns_internal): Remove.
* config/rs6000/vector.md (vec_realign_load_<mode>): Revise
commentary.

gcc/testsuite:

2013-11-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/3b-15.c: Revise for little endian.

From-SVN: r204862

10 years agobasic-block.h (has_abnormal_or_eh_outgoing_edge): Renamed from has_abnormal_or_outgoi...
Jeff Law [Fri, 15 Nov 2013 21:11:50 +0000 (14:11 -0700)] 
basic-block.h (has_abnormal_or_eh_outgoing_edge): Renamed from has_abnormal_or_outgoing_edge.

* basic-block.h (has_abnormal_or_eh_outgoing_edge): Renamed from
has_abnormal_or_outgoing_edge.  Check for EH edges as well.
* gimple-ssa-isolate-paths.c
(find_implicit_erroneous_behaviour): Corresponding changes.
Do not check stmt_ends_bb_p or GIMPLE_RETURN anymore.
(find_explicit_erroneous_behaviour): Likewise.

From-SVN: r204861

10 years agoifcvt.c (find_cond_trap): Properly handle case where trap_bb == else_bb.
Jeff Law [Fri, 15 Nov 2013 18:14:10 +0000 (11:14 -0700)] 
ifcvt.c (find_cond_trap): Properly handle case where trap_bb == else_bb.

* ifcvt.c (find_cond_trap): Properly handle case where
trap_bb == else_bb.

From-SVN: r204856

10 years agoconfigure.ac: Do not define HAVE_STRTOLD.
Steve Ellcey [Fri, 15 Nov 2013 17:50:28 +0000 (17:50 +0000)] 
configure.ac: Do not define HAVE_STRTOLD.

2013-11-15  Steve Ellcey  <sellcey@mips.com>

* configure.ac: Do not define HAVE_STRTOLD.
* configure: Regenerate.

From-SVN: r204855

10 years agopicflag.m4 (m68k-*-*): Use default PIC flag.
Andreas Schwab [Fri, 15 Nov 2013 17:49:36 +0000 (17:49 +0000)] 
picflag.m4 (m68k-*-*): Use default PIC flag.

config/
* picflag.m4 (m68k-*-*): Use default PIC flag.

gcc/
* configure: Regenerate.

libada/
* configure: Regenerate.

libgcc/
* configure: Regenerate.

libiberty/
* configure: Regenerate.

From-SVN: r204854

10 years agoruntime: Use runtime_m to get m value after call to runtime_mcall.
Ian Lance Taylor [Fri, 15 Nov 2013 17:20:25 +0000 (17:20 +0000)] 
runtime: Use runtime_m to get m value after call to runtime_mcall.

From-SVN: r204853

10 years ago[AArch64] Remove simd_type
James Greenhalgh [Fri, 15 Nov 2013 17:05:37 +0000 (17:05 +0000)] 
[AArch64] Remove simd_type

gcc/
* config/aarch64/aarch64-simd.md: Remove simd_type from all
patterns.
* config/aarch64/aarch64.md: Likewise, correct "type" attribute
where it is incorrect or missing.

From-SVN: r204852

10 years agostl_bvector.h (vector<bool>::emplace_back()): LWG 2187: Define.
Jonathan Wakely [Fri, 15 Nov 2013 16:34:06 +0000 (16:34 +0000)] 
stl_bvector.h (vector<bool>::emplace_back()): LWG 2187: Define.

* include/bits/stl_bvector.h (vector<bool>::emplace_back()): LWG 2187:
Define.
(vector<bool>::emplace()): Likewise.
* testsuite/23_containers/vector/bool/emplace.cc: New.

From-SVN: r204851

10 years agobuild_hacking.xml: Fix documentation typos.
Ondřej Bílka [Fri, 15 Nov 2013 16:33:59 +0000 (17:33 +0100)] 
build_hacking.xml: Fix documentation typos.

2013-11-15  Ondřej Bílka <neleai@seznam.cz>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/build_hacking.xml: Fix documentation typos.
* doc/xml/manual/configure.xml: Likewise.
* include/bits/atomic_base.h: Fix typos in comments.
* include/bits/random.h: Likewise.
* include/ext/cast.h: Likewise.
* libsupc++/cxxabi.h: Likewise.
* testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/testcase.h:
Likewise.
* testsuite/util/exception/safety.h: Likewise.
* testsuite/util/testsuite_containers.h: Likewise.
* testsuite/util/testsuite_hooks.cc: Likewise.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r204850

10 years agostl_map.h (map): Implement C++11 allocator-aware container requirements.
Jonathan Wakely [Fri, 15 Nov 2013 15:34:14 +0000 (15:34 +0000)] 
stl_map.h (map): Implement C++11 allocator-aware container requirements.

* include/bits/stl_map.h (map): Implement C++11 allocator-aware
container requirements.
* include/bits/stl_multimap.h (multimap): Likewise.
* include/bits/stl_multiset.h (multiset): Likewise.
* include/bits/stl_set.h (set): Likewise.
* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_buffer and
add accessors for value.
(_Rb_tree_iterator, _Rb_tree_const_iterator): Use _Rb_tree_node
accessors.
(_Rb_tree): Use allocator_traits and implement support for sets and
maps the be allocator-aware.
* include/bits/forward_list.h (_Fwd_list_base::_M_create_node): Do
not zero-initialize storage buffer.
* include/bits/hashtable_policy.h (_Hashtable_alloc::_M_allocate_node):
Likewise.
* include/bits/stl_vector.h (vector(vector&&, const allocator_type&)):
Add conditional noexcept specification.
* doc/xml/manual/status_cxx2011.xml: Update status of containers.
* testsuite/util/testsuite_allocator.h: Re-indent.
* testsuite/23_containers/forward_list/allocator/copy.cc: Test
allocator-extended copy constructor.
* testsuite/23_containers/unordered_map/allocator/copy.cc: Likewise.
* testsuite/23_containers/unordered_multimap/allocator/copy.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/copy.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/copy.cc: Likewise.
* testsuite/23_containers/vector/allocator/copy.cc: Likewise.
* testsuite/23_containers/forward_list/allocator/move.cc: New.
* testsuite/23_containers/unordered_map/allocator/move.cc: New.
* testsuite/23_containers/unordered_multimap/allocator/move.cc: New.
* testsuite/23_containers/unordered_multiset/allocator/move.cc: New.
* testsuite/23_containers/unordered_set/allocator/move.cc: New.
* testsuite/23_containers/vector/allocator/move.cc: New.
* testsuite/23_containers/map/allocator/copy.cc: New.
* testsuite/23_containers/map/allocator/copy_assign.cc: New.
* testsuite/23_containers/map/allocator/minimal.cc: New.
* testsuite/23_containers/map/allocator/move.cc: New.
* testsuite/23_containers/map/allocator/move_assign.cc: New.
* testsuite/23_containers/map/allocator/noexcept.cc: New.
* testsuite/23_containers/map/allocator/swap.cc: New.
* testsuite/23_containers/multimap/allocator/copy.cc: New.
* testsuite/23_containers/multimap/allocator/copy_assign.cc: New.
* testsuite/23_containers/multimap/allocator/minimal.cc: New.
* testsuite/23_containers/multimap/allocator/move.cc: New.
* testsuite/23_containers/multimap/allocator/move_assign.cc: New.
* testsuite/23_containers/multimap/allocator/noexcept.cc: New.
* testsuite/23_containers/multimap/allocator/swap.cc: New.
* testsuite/23_containers/multiset/allocator/copy.cc: New.
* testsuite/23_containers/multiset/allocator/copy_assign.cc: New.
* testsuite/23_containers/multiset/allocator/minimal.cc: New.
* testsuite/23_containers/multiset/allocator/move.cc: New.
* testsuite/23_containers/multiset/allocator/move_assign.cc: New.
* testsuite/23_containers/multiset/allocator/noexcept.cc: New.
* testsuite/23_containers/multiset/allocator/swap.cc: New.
* testsuite/23_containers/set/allocator/copy.cc: New.
* testsuite/23_containers/set/allocator/copy_assign.cc: New.
* testsuite/23_containers/set/allocator/minimal.cc: New.
* testsuite/23_containers/set/allocator/move.cc: New.
* testsuite/23_containers/set/allocator/move_assign.cc: New.
* testsuite/23_containers/set/allocator/noexcept.cc: New.
* testsuite/23_containers/set/allocator/swap.cc: New.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r204848

10 years agoc-pretty-print.c (pp_c_character_constant): Remove unnecessary wchar_type and host_in...
Richard Sandiford [Fri, 15 Nov 2013 14:52:36 +0000 (14:52 +0000)] 
c-pretty-print.c (pp_c_character_constant): Remove unnecessary wchar_type and host_integerp checks.

gcc/c-family/
* c-pretty-print.c (pp_c_character_constant): Remove unnecessary
wchar_type and host_integerp checks.

From-SVN: r204847

10 years agodwarf2out.c (gen_enumeration_type_die): Remove unnecessary host_integerp test.
Richard Sandiford [Fri, 15 Nov 2013 14:52:23 +0000 (14:52 +0000)] 
dwarf2out.c (gen_enumeration_type_die): Remove unnecessary host_integerp test.

gcc/
* dwarf2out.c (gen_enumeration_type_die): Remove unnecessary
host_integerp test.
* tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
Use TREE_INT_CST_LOW rather than tree_low_cst when reading the
constant.
* fold-const.c (fold_binary_loc): Replace a host_integerp/tree_low_cst
pair with a TREE_CODE test and TREE_INT_CST_LOW.
* tree-vect-generic.c (expand_vector_divmod): Likewise.

From-SVN: r204846

10 years agore PR middle-end/50262 (PTA doesn't disambiguate locally allocated heap objects from...
Richard Biener [Fri, 15 Nov 2013 14:48:22 +0000 (14:48 +0000)] 
re PR middle-end/50262 (PTA doesn't disambiguate locally allocated heap objects from pointed to by arguments)

2013-11-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/50262
* tree-ssa-alias.h (struct pt_solution): Split
vars_contains_global into vars_contains_nonlocal,
vars_contains_escaped and vars_contains_escaped_heap.
* tree-ssa-structalias.c (label_visit): Expand comment.
(handle_lhs_call): Adjust comment.
(set_uids_in_ptset): Set the new flags appropriately.
(pt_solution_set): Adjust.
(pt_solution_set_var): Likewise.
(pt_solution_ior_into): Likewise.
(pt_solution_includes_global): Likewise.
(pt_solutions_intersect_1): Optimize escaped handling.
(compute_points_to_sets): Remove heap variable globalization.
(ipa_escaped_pt): Adjust initializer.
(pass_data_ipa_pta): Do not run TODO_update_ssa.
* gimple-pretty-print.c (pp_points_to_solution): Print split
flags.
* tree-ssa-alias.c (dump_points_to_solution): Likewise.

* gcc.dg/tree-ssa/alias-28.c: New testcase.
* gcc.dg/strlenopt-1.c: Adjust.
* gcc.dg/strlenopt-1f.c: Likewise.

From-SVN: r204845

10 years agotree-loop-distribution.c (tree_loop_distribution): Make sure to distribute all stores.
Richard Biener [Fri, 15 Nov 2013 14:43:52 +0000 (14:43 +0000)] 
tree-loop-distribution.c (tree_loop_distribution): Make sure to distribute all stores.

2013-11-15  Richard Biener  <rguenther@suse.de>

* tree-loop-distribution.c (tree_loop_distribution): Make sure
to distribute all stores.

* gcc.dg/torture/20131115-1.c: New testcase.

From-SVN: r204843

10 years ago* doc/invoke.texi (-mabi=elfv1, -mabi=elfv2): Document.
Ulrich Weigand [Fri, 15 Nov 2013 14:21:39 +0000 (14:21 +0000)] 
* doc/invoke.texi (-mabi=elfv1, -mabi=elfv2): Document.

From-SVN: r204842

10 years agoacinclude.m4 (GCC_GLIBC_VERSION_GTE_IFELSE): New configure macro.
Joseph Myers [Fri, 15 Nov 2013 12:34:28 +0000 (12:34 +0000)] 
acinclude.m4 (GCC_GLIBC_VERSION_GTE_IFELSE): New configure macro.

* acinclude.m4 (GCC_GLIBC_VERSION_GTE_IFELSE): New configure
macro.
* configure.ac: Determine target_header_dir earlier.
(--with-glibc-version): New configure option.
Use GCC_GLIBC_VERSION_GTE_IFELSE in enable_gnu_unique_object,
gcc_cv_libc_provides_ssp and gcc_cv_target_ldbl128 tests.
* configure: Regenerate.
* doc/install.texi (--enable-gnu-unique-object): Don't refer to
native toolchains for default.
(--with-glibc-version): Document.

From-SVN: r204841

10 years agoAdd and use System.Linux.time_t for time_t
H.J. Lu [Fri, 15 Nov 2013 12:06:25 +0000 (12:06 +0000)] 
Add and use System.Linux.time_t for time_t

PR ada/54040
* s-linux-x32.ads: New file.
* s-osprim-x32.adb: Likewise.
* s-linux.ads (time_t): New type.
* s-linux-alpha.ads (time_t):  Likewise.
* s-linux-hppa.ads (time_t):  Likewise.
* s-linux-mipsel.ads (time_t):  Likewise.
* s-linux-sparc.ads (time_t):  Likewise.
* s-osinte-linux.ads (time_t): Mark it private.  Replace long
with System.Linux.time_t.
(timespec): Replace long with time_t.
* s-osinte-posix.adb (To_Timespec): Likewise.
* s-taprop-linux.adb (timeval): Replace C.long with
System.OS_Interface.time_t.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Replace
s-linux.ads with s-linux-x32.ads, s-osprim-posix.adb with
s-osprim-x32.adb for x32.

From-SVN: r204840

10 years ago* fold-const.c (fold_binary_loc) <comparisons>: Reuse local variable.
Eric Botcazou [Fri, 15 Nov 2013 11:07:40 +0000 (11:07 +0000)] 
* fold-const.c (fold_binary_loc) <comparisons>: Reuse local variable.

From-SVN: r204839

10 years agofix PR sanitizer/58994
Kostya Serebryany [Fri, 15 Nov 2013 10:31:14 +0000 (10:31 +0000)] 
fix PR sanitizer/58994

From-SVN: r204838

10 years agolto-streamer-in.c (input function): Call cgraph_create_node if cgraph_get_node failed.
Uros Bizjak [Fri, 15 Nov 2013 08:46:54 +0000 (09:46 +0100)] 
lto-streamer-in.c (input function): Call cgraph_create_node if cgraph_get_node failed.

* lto-streamer-in.c (input function): Call cgraph_create_node if
cgraph_get_node failed.

From-SVN: r204836

10 years agoucnid-9.c: New test.
Joseph Myers [Fri, 15 Nov 2013 02:15:26 +0000 (02:15 +0000)] 
ucnid-9.c: New test.

gcc/testsuite:
* gcc.dg/cpp/ucnid-9.c: New test.

libcpp:
* ucnid.tab: Mark C99 digits as [C99DIG].
* makeucnid.c (read_ucnid): Handle [C99DIG].
(read_table): Don't check for digit characters.
* ucnid.h: Regenerate.

From-SVN: r204835

10 years agoDaily bump.
GCC Administrator [Fri, 15 Nov 2013 00:16:47 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r204833

10 years agocfgexpand.c (defer_stack_allocation): When optimization is enabled...
Eric Botcazou [Thu, 14 Nov 2013 23:58:39 +0000 (23:58 +0000)] 
cfgexpand.c (defer_stack_allocation): When optimization is enabled...

* cfgexpand.c (defer_stack_allocation): When optimization is enabled,
defer allocation of DECL_IGNORED_P variables at toplevel unless really
small.  Factorize size threshold computation from the existing one.
(expand_used_vars): Refine comment.

From-SVN: r204830

10 years agoRevert the last change
H.J. Lu [Thu, 14 Nov 2013 22:39:21 +0000 (22:39 +0000)] 
Revert the last change

* gnat.dg/specs/addr1.ads: Revert the last change.
* gnat.dg/specs/atomic1.ads: Likewise.

From-SVN: r204829

10 years agoruntime: Don't use filename without '/' for backtrace library.
Ian Lance Taylor [Thu, 14 Nov 2013 22:31:29 +0000 (22:31 +0000)] 
runtime: Don't use filename without '/' for backtrace library.

Fixes http://golang.org/issue/6715.

From-SVN: r204828

10 years agocompiler: Use backend interface for comparisons.
Ian Lance Taylor [Thu, 14 Nov 2013 22:13:41 +0000 (22:13 +0000)] 
compiler: Use backend interface for comparisons.

From-SVN: r204827

10 years agoInclude gimple.h and pointer-set.h in gcc-interface/trans.c
H.J. Lu [Thu, 14 Nov 2013 22:04:04 +0000 (22:04 +0000)] 
Include gimple.h and pointer-set.h in gcc-interface/trans.c

* gcc-interface/trans.c: Include gimple.h and pointer-set.h.

From-SVN: r204826

10 years agotree-vectorizer.h (struct dr_with_seg_len): Remove the base address field as it can...
Cong Hou [Thu, 14 Nov 2013 20:59:47 +0000 (15:59 -0500)] 
tree-vectorizer.h (struct dr_with_seg_len): Remove the base address field as it can be obtained from dr.

2013-11-14  Cong Hou  <congh@google.com>

    * tree-vectorizer.h (struct dr_with_seg_len): Remove the base
    address field as it can be obtained from dr.  Rename the struct.
    * tree-vect-data-refs.c (comp_dr_with_seg_len_pair): Consider
    steps of data references during sort.
    (vect_prune_runtime_alias_test_list): Adjust with the change to
    struct dr_with_seg_len.
    * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
    Adjust with the change to struct dr_with_seg_len.

2013-11-14  Cong Hou  <congh@google.com>

    * gcc.dg/vect/vect-alias-check.c: Update.

From-SVN: r204822

10 years agobasic-block.h (has_abnormal_outgoing_edge_p): Moved here from...
Jeff Law [Thu, 14 Nov 2013 20:57:38 +0000 (13:57 -0700)] 
basic-block.h (has_abnormal_outgoing_edge_p): Moved here from...

* basic-block.h (has_abnormal_outgoing_edge_p): Moved here from...
* tree-inline.c (has_abnormal_outgoing_edge_p): Remove.
* gimple-ssa-isolate-paths.c: Include tree-cfg.h.
(find_implicit_erroneous_behaviour): If a block has abnormal outgoing
edges, then ignore it.  If the statement exhibiting erroneous
behaviour ends basic blocks, with the exception of GIMPLE_RETURNs,
then we can not optimize.
(find_explicit_erroneous_behaviour): Likewise.

From-SVN: r204821

10 years agonet: On Solaris use Darwin keepalive code.
Ian Lance Taylor [Thu, 14 Nov 2013 20:19:51 +0000 (20:19 +0000)] 
net: On Solaris use Darwin keepalive code.

From-SVN: r204819

10 years agore PR c++/57887 (nested non-type template parameters not declared in this scope)
Paolo Carlini [Thu, 14 Nov 2013 20:16:51 +0000 (20:16 +0000)] 
re PR c++/57887 (nested non-type template parameters not declared in this scope)

/cp
2013-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57887
* parser.c (cp_parser_late_parsing_nsdmi): Call
maybe_begin_member_template_processing.
* pt.c (maybe_begin_member_template_processing): Handle NSDMIs.
(inline_needs_template_parms): Adjust.

/testsuite
2013-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57887
* g++.dg/cpp0x/nsdmi-template3.C: New.
* g++.dg/cpp0x/nsdmi-template4.C: Likewise.

From-SVN: r204818

10 years agoruntime: Add netpoll code that uses select.
Ian Lance Taylor [Thu, 14 Nov 2013 20:15:04 +0000 (20:15 +0000)] 
runtime: Add netpoll code that uses select.

Required for Solaris support.

From-SVN: r204817

10 years agoruntime: Fix GC flag in when allocating memory from cgo.
Ian Lance Taylor [Thu, 14 Nov 2013 20:04:32 +0000 (20:04 +0000)] 
runtime: Fix GC flag in when allocating memory from cgo.

From-SVN: r204815

10 years agogimplify-be.h: New file.
Andrew MacLeod [Thu, 14 Nov 2013 19:39:38 +0000 (19:39 +0000)] 
gimplify-be.h: New file.

* gimplify-be.h:  New file.  Add prototypes.
* gimplify.h: Don't include gimple.h.
(struct gimplify_hasher, struct gimplify_ctx, is_gimple_sizepos,
gimplify_hasher::hash, gimplify_hasher::equal): Relocate from gimple.h.
* gimple.h (struct gimplify_hasher, gimplify_hasher::hash,
gimplify_hasher::equal, struct gimplify_ctx, is_gimple_sizepos): Move
to gimplify.h.
(enum gsi_iterator_update): Move to gimple-iterator.h.
* gimple-iterator.h (enum gsi_iterator_update): Relocate from gimple.h.
* gimplify-be.c: New File.
(force_gimple_operand_1, force_gimple_operand,
force_gimple_operand_gsi_1, force_gimple_operand_gsi): Relocate from
gimplify.c.
* gimplify.c (force_gimple_operand_1, force_gimple_operand,
force_gimple_operand_gsi_1, force_gimple_operand_gsi): Move to
gimplify-be.c.
* Makefile.in (OBJS): Add gimplify-be.o
* asan.c: Include only gimplify.h, gimplify-be.h, and/or gimple.h as
required.
* cfgloopmanip.c: Likewise.
* cgraphunit.c: Likewise.
* cilk-common.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* gimple-expr.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-split.c: Likewise.
* ipa.c: Likewise.
* langhooks.c: Likewise.
* omp-low.c: Likewise.
* sese.c: Likewise.
* stor-layout.c: Likewise.
* targhooks.c: Likewise.
* trans-mem.c: Likewise.
* tree-affine.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-complex.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* value-prof.c: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/xtensa/xtensa.c: Likewise.

* c/c-typeck.c: Include only gimplify.h and gimple.h as needed.
* c-family/c-common.c: Likewise.
* c-family/c-gimplify.c: Likewise.
* c-family/cilk.c: Likewise.

* cp/class.c: Include only gimplify.h and gimple.h as needed.
* cp/cp-gimplify.c: Likewise.
* cp/error.c: Likewise.
* cp/init.c: Likewise.
* cp/optimize.c: Likewise.
* cp/pt.c: Likewise.
* cp/semantics.c: Likewise.
* cp/tree.c: Likewise.
* cp/vtable-class-hierarchy.c: Likewise.

* fortran/trans-expr.c: Include only gimplify.h and gimple.h as needed.
* fortran/trans-openmp.c: Likewise.

* go/go-lang.c: Include only gimplify.h and gimple.h as needed.

* java/java-gimplify.c: Include only gimplify.h and gimple.h as needed.

* objc/objc-act.c: Include only gimplify.h and gimple.h as needed.

From-SVN: r204812

10 years agoarc.md (doloop_begin_i): Remove extra alignment; use (.&-4) idiom.
Joern Rennecke [Thu, 14 Nov 2013 18:53:25 +0000 (18:53 +0000)] 
arc.md (doloop_begin_i): Remove extra alignment; use (.&-4) idiom.

* config/arc/arc.md (doloop_begin_i): Remove extra alignment;
use (.&-4) idiom.

From-SVN: r204810

10 years agosysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define.
Ulrich Weigand [Thu, 14 Nov 2013 18:51:41 +0000 (18:51 +0000)] 
sysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/sysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define.

From-SVN: r204809

10 years agors6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
Ulrich Weigand [Thu, 14 Nov 2013 18:50:48 +0000 (18:50 +0000)] 
rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.

gcc/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
(RS6000_SAVE_TOC): Remove.
(RS6000_TOC_SAVE_SLOT): New macro.
* config/rs6000/rs6000.c (rs6000_parm_offset): New function.
(rs6000_parm_start): Use it.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_emit_prologue): Use RS6000_TOC_SAVE_SLOT.
(rs6000_emit_epilogue): Likewise.
(rs6000_call_aix): Likewise.
(rs6000_output_function_prologue): Do not save/restore r11
around calling _mcount for ABI_ELFv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space):
Add prototype.
* config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove.
(REG_PARM_STACK_SPACE): Call rs6000_reg_parm_stack_space.
* config/rs6000/rs6000.c (rs6000_parm_needs_stack): New function.
(rs6000_function_parms_need_stack): Likewise.
(rs6000_reg_parm_stack_space): Likewise.
(rs6000_function_arg): Do not replace BLKmode by Pmode when
returning a register argument.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Michael Gschwind  <mkg@us.ibm.com>

* config/rs6000/rs6000.h (FP_ARG_MAX_RETURN): New macro.
(ALTIVEC_ARG_MAX_RETURN): Likewise.
(FUNCTION_VALUE_REGNO_P): Use them.
* config/rs6000/rs6000.c (TARGET_RETURN_IN_MSB): Define.
(rs6000_return_in_msb): New function.
(rs6000_return_in_memory): Handle ELFv2 homogeneous aggregates.
Handle aggregates of up to 16 bytes for ELFv2.
(rs6000_function_value): Handle ELFv2 homogeneous aggregates.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Michael Gschwind  <mkg@us.ibm.com>

* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
(rs6000_discover_homogeneous_aggregate): Likewise.
(rs6000_function_arg_boundary): Handle homogeneous aggregates.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Michael Gschwind  <mkg@us.ibm.com>

* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
(rs6000_discover_homogeneous_aggregate): Likewise.
(rs6000_function_arg_boundary): Handle homogeneous aggregates.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (machine_function): New member
r2_setup_needed.
(rs6000_emit_prologue): Set r2_setup_needed if necessary.
(rs6000_output_mi_thunk): Set r2_setup_needed.
(rs6000_output_function_prologue): Output global entry point
prologue and local entry point marker if needed for ABI_ELFv2.
Output -mprofile-kernel code here.
(output_function_profiler): Do not output -mprofile-kernel
code here; moved to rs6000_output_function_prologue.
(rs6000_file_start): Output ".abiversion 2" for ABI_ELFv2.

(rs6000_emit_move): Do not handle dot symbols for ABI_ELFv2.
(rs6000_output_function_entry): Likewise.
(rs6000_assemble_integer): Likewise.
(rs6000_elf_encode_section_info): Likewise.
(rs6000_elf_declare_function_name): Do not create dot symbols
or .opd section for ABI_ELFv2.

(rs6000_trampoline_size): Update for ABI_ELFv2 trampolines.
(rs6000_trampoline_init): Likewise.
(rs6000_elf_file_end): Call file_end_indicate_exec_stack
for ABI_ELFv2.

(rs6000_call_aix): Handle ELFv2 indirect calls.  Do not check
for function descriptors in ABI_ELFv2.

* config/rs6000/rs6000.md ("*call_indirect_aix<mode>"): Support
on ABI_AIX only, not ABI_ELFv2.
("*call_value_indirect_aix<mode>"): Likewise.
("*call_indirect_elfv2<mode>"): New pattern.
("*call_value_indirect_elfv2<mode>"): Likewise.

* config/rs6000/predicates.md ("symbol_ref_operand"): Do not
check for function descriptors in ABI_ELFv2.
("current_file_function_operand"): Likewise.

* config/rs6000/ppc-asm.h [__powerpc64__ && _CALL_ELF == 2]:
(toc): Undefine.
(FUNC_NAME): Define ELFv2 variant.
(JUMP_TARGET): Likewise.
(FUNC_START): Likewise.
(HIDDEN_FUNC): Likewise.
(FUNC_END): Likeiwse.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1
and --with-abi=elfv2.
* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add "abi".
* config/rs6000/rs6000.opt (mabi=elfv1): New option.
(mabi=elfv2): Likewise.
* config/rs6000/rs6000-opts.h (enum rs6000_abi): Add ABI_ELFv2.
* config/rs6000/linux64.h (DEFAULT_ABI): Do not hard-code to AIX_ABI
if !RS6000_BI_ARCH.
(ELFv2_ABI_CHECK): New macro.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
rs6000_current_abi to ABI_AIX or ABI_ELFv2.
(GLIBC_DYNAMIC_LINKER64): Support ELFv2 ld.so version.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
_CALL_ELF and __STRUCT_PARM_ALIGN__ if appropriate.

* config/rs6000/rs6000.c (rs6000_debug_reg_global): Handle ABI_ELFv2.
(debug_stack_info): Likewise.
(rs6000_file_start): Treat ABI_ELFv2 the same as ABI_AIX.
(rs6000_legitimize_tls_address): Likewise.
(rs6000_conditional_register_usage): Likewise.
(rs6000_emit_move): Likewise.
(init_cumulative_args): Likewise.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_output_function_entry): Likewise.
(rs6000_assemble_integer): Likewise.
(rs6000_savres_strategy): Likewise.
(rs6000_stack_info): Likewise.
(rs6000_function_ok_for_sibcall): Likewise.
(rs6000_emit_load_toc_table): Likewise.
(rs6000_savres_routine_name): Likewise.
(ptr_regno_for_savres): Likewise.
(rs6000_emit_prologue): Likewise.
(rs6000_emit_epilogue): Likewise.
(rs6000_output_function_epilogue): Likewise.
(output_profile_hook): Likewise.
(output_function_profiler): Likewise.
(rs6000_trampoline_size): Likewise.
(rs6000_trampoline_init): Likewise.
(rs6000_elf_output_toc_section_asm_op): Likewise.
(rs6000_elf_encode_section_info): Likewise.
(rs6000_elf_reloc_rw_mask): Likewise.
(rs6000_elf_declare_function_name): Likewise.
(rs6000_function_arg_boundary): Treat ABI_ELFv2 the same as ABI_AIX,
except that rs6000_compat_align_parm is always assumed false.
(rs6000_gimplify_va_arg): Likewise.
(rs6000_call_aix): Update comment.
(rs6000_sibcall_aix): Likewise.
* config/rs6000/rs6000.md ("tls_gd_aix<TLSmode:tls_abi_suffix>"):
Treat ABI_ELFv2 the same as ABI_AIX.
("*tls_gd_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
("tls_ld_aix<TLSmode:tls_abi_suffix>"): Likewise.
("*tls_ld_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
("load_toc_aix_si"): Likewise.
("load_toc_aix_di"): Likewise.
("call"): Likewise.
("call_value"): Likewise.
("*call_local_aix<mode>"): Likewise.
("*call_value_local_aix<mode>"): Likewise.
("*call_nonlocal_aix<mode>"): Likewise.
("*call_value_nonlocal_aix<mode>"): Likewise.
("*call_indirect_aix<mode>"): Likewise.
("*call_value_indirect_aix<mode>"): Likewise.
("sibcall"): Likewise.
("sibcall_value"): Likewise.
("*sibcall_aix<mode>"): Likewise.
("*sibcall_value_aix<mode>"): Likewise.
* config/rs6000/predicates.md ("symbol_ref_operand"): Likewise.
("current_file_function_operand"): Likewise.

gcc/testsuite/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* gcc.target/powerpc/ppc64-abi-1.c (stack_frame_t): Remove
compiler and linker field if _CALL_ELF == 2.
* gcc.target/powerpc/ppc64-abi-2.c (stack_frame_t): Likewise.
* gcc.target/powerpc/ppc64-abi-dfp-1.c (stack_frame_t): Likewise.
* gcc.dg/stack-usage-1.c (SIZE): Update value for _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* gcc.target/powerpc/ppc64-abi-dfp-1.c (FUNC_START): New macro.
(WRAPPER): Use it.
* gcc.target/powerpc/no-r11-1.c: Skip on powerpc_elfv2.
* gcc.target/powerpc/no-r11-2.c: Skip on powerpc_elfv2.
* gcc.target/powerpc/no-r11-3.c: Skip on powerpc_elfv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* lib/target-supports.exp (check_effective_target_powerpc_elfv2):
New function.
* gcc.target/powerpc/pr57949-1.c: Disable for powerpc_elfv2.
* gcc.target/powerpc/pr57949-2.c: Likewise.

libgcc/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/linux-unwind.h (TOC_SAVE_SLOT): Define.
(frob_update_context): Use it.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/tramp.S [__powerpc64__ && _CALL_ELF == 2]:
(trampoline_initial): Provide ELFv2 variant.
(__trampoline_setup): Likewise.

* config/rs6000/linux-unwind.h (frob_update_context): Do not
check for AIX indirect function call sequence if _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/linux-unwind.h (get_regs): Do not support
old kernel versions if _CALL_ELF == 2.
(frob_update_context): Do not support PLT stub variants only
generated by old linkers if _CALL_ELF == 2.

libitm/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
(FUNC): Define ELFv2 variant.
(END): Likewise.
(HIDDEN): Likewise.
(CALL): Likewise.
(BASE): Likewise.
(LR_SAVE): Likewise.

libstdc++/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* scripts/extract_symvers.in: Ignore <localentry: > fields
in readelf --symbols output.

Co-Authored-By: Alan Modra <amodra@gmail.com>
Co-Authored-By: Michael Gschwind <mkg@us.ibm.com>
From-SVN: r204808

10 years agors6000.c (rs6000_arg_partial_bytes): Simplify logic by making use of the fact that...
Ulrich Weigand [Thu, 14 Nov 2013 18:40:12 +0000 (18:40 +0000)] 
rs6000.c (rs6000_arg_partial_bytes): Simplify logic by making use of the fact that for vector / floating point...

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Simplify logic
by making use of the fact that for vector / floating point arguments
passed both in VRs/FPRs and in the fixed parameter area, the partial
bytes mechanism is in fact not used.

From-SVN: r204807

10 years agors6000.c (rs6000_psave_function_arg): New function.
Ulrich Weigand [Thu, 14 Nov 2013 18:39:14 +0000 (18:39 +0000)] 
rs6000.c (rs6000_psave_function_arg): New function.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_psave_function_arg): New function.
(rs6000_finish_function_arg): Likewise.
(rs6000_function_arg): Use rs6000_psave_function_arg and
rs6000_finish_function_arg to handle both vector and floating
point arguments that are also passed in GPRs / the stack.

From-SVN: r204806

10 years agors6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
Ulrich Weigand [Thu, 14 Nov 2013 18:38:08 +0000 (18:38 +0000)] 
rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
(USE_ALTIVEC_FOR_ARG_P): Likewise.
(rs6000_darwin64_record_arg_advance_recurse): Update uses.
(rs6000_function_arg_advance_1):Likewise.
(rs6000_darwin64_record_arg_recurse): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.

From-SVN: r204805

10 years agors6000.c (rs6000_option_override_internal): Replace "DEFAULT_ABI != ABI_AIX" test...
Ulrich Weigand [Thu, 14 Nov 2013 18:36:48 +0000 (18:36 +0000)] 
rs6000.c (rs6000_option_override_internal): Replace "DEFAULT_ABI != ABI_AIX" test by testing for ABI_V4 or ABI_DARWIN.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_option_override_internal): Replace
"DEFAULT_ABI != ABI_AIX" test by testing for ABI_V4 or ABI_DARWIN.
(rs6000_savres_strategy): Likewise.
(rs6000_return_addr): Likewise.
(rs6000_emit_load_toc_table): Replace "DEFAULT_ABI != ABI_AIX" by
testing for ABI_V4 (since ABI_DARWIN is impossible here).
(rs6000_emit_prologue): Likewise.
(legitimate_lo_sum_address_p): Simplify DEFAULT_ABI test.
(rs6000_elf_declare_function_name): Remove duplicated test.
* config/rs6000/rs6000.md ("load_toc_v4_PIC_1"): Explicitly test
for ABI_V4 (instead of "DEFAULT_ABI != ABI_AIX" test).
("load_toc_v4_PIC_1_normal"): Likewise.
("load_toc_v4_PIC_1_476"): Likewise.
("load_toc_v4_PIC_1b"): Likewise.
("load_toc_v4_PIC_1b_normal"): Likewise.
("load_toc_v4_PIC_1b_476"): Likewise.
("load_toc_v4_PIC_2"): Likewise.
("load_toc_v4_PIC_3b"): Likewise.
("load_toc_v4_PIC_3c"): Likewise.
* config/rs6000/rs6000.h (RS6000_REG_SAVE): Simplify DEFAULT_ABI test.
(RS6000_SAVE_AREA): Likewise.
(FP_ARG_MAX_REG): Likewise.
(RETURN_ADDRESS_OFFSET): Likewise.
* config/rs6000/sysv.h (TARGET_TOC): Test for ABI_V4 instead
of ABI_AIX.
(SUBTARGET_OVERRIDE_OPTIONS): Likewise.
(MINIMAL_TOC_SECTION_ASM_OP): Likewise.

From-SVN: r204804

10 years agors6000.c (rs6000_call_indirect_aix): Rename to ...
Ulrich Weigand [Thu, 14 Nov 2013 18:32:48 +0000 (18:32 +0000)] 
rs6000.c (rs6000_call_indirect_aix): Rename to ...

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_call_indirect_aix): Rename to ...
(rs6000_call_aix): ... this.  Handle both direct and indirect calls.
Create call insn directly instead of via various gen_... routines.
Mention special registers used by the call in CALL_INSN_FUNCTION_USAGE.
(rs6000_sibcall_aix): New function.
* config/rs6000/rs6000.md (TOC_SAVE_OFFSET_32BIT): Remove.
(TOC_SAVE_OFFSET_64BIT): Likewise.
(AIX_FUNC_DESC_TOC_32BIT): Likewise.
(AIX_FUNC_DESC_TOC_64BIT): Likewise.
(AIX_FUNC_DESC_SC_32BIT): Likewise.
(AIX_FUNC_DESC_SC_64BIT): Likewise.
("call" expander): Call rs6000_call_aix.
("call_value" expander): Likewise.
("call_indirect_aix<ptrsize>"): Replace this pattern ...
("call_indirect_aix<ptrsize>_nor11"): ... and this pattern ...
("*call_indirect_aix<mode>"): ... by this insn pattern.
("call_value_indirect_aix<ptrsize>"): Replace this pattern ...
("call_value_indirect_aix<ptrsize>_nor11"): ... and this pattern ...
("*call_value_indirect_aix<mode>"): ... by this insn pattern.
("*call_nonlocal_aix32", "*call_nonlocal_aix64"): Replace by ...
("*call_nonlocal_aix<mode>"): ... this pattern.
("*call_value_nonlocal_aix32", "*call_value_nonlocal_aix64"): Replace
("*call_value_nonlocal_aix<mode>"): ... by this pattern.
("*call_local_aix<mode>"): New insn pattern.
("*call_value_local_aix<mode>"): Likewise.
("sibcall" expander): Call rs6000_sibcall_aix.
("sibcall_value" expander): Likewise.  Move earlier in file.
("*sibcall_nonlocal_aix<mode>"): Replace by ...
("*sibcall_aix<mode>"): ... this pattern.
("*sibcall_value_nonlocal_aix<mode>"): Replace by ...
("*sibcall_value_aix<mode>"): ... this pattern.
* config/rs6000/rs6000-protos.h (rs6000_call_indirect_aix): Remove.
(rs6000_call_aix): Add prototype.
(rs6000_sibcall_aix): Likewise.

From-SVN: r204803

10 years agoForgot to add file in last commit.
Ulrich Weigand [Thu, 14 Nov 2013 18:30:19 +0000 (18:30 +0000)] 
Forgot to add file in last commit.

From-SVN: r204802

10 years agore PR sanitizer/59122 (libsanitizer merge from upstream r191666 causes duplicate...
Jakub Jelinek [Thu, 14 Nov 2013 18:28:43 +0000 (19:28 +0100)] 
re PR sanitizer/59122 (libsanitizer merge from upstream r191666 causes duplicate symbol errors)

PR sanitizer/59122
* asan.c (asan_emit_stack_protection): Ensure -fsection-anchors
isn't confused by the artificial decl.

From-SVN: r204801

10 years agolinux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64...
Ulrich Weigand [Thu, 14 Nov 2013 18:25:33 +0000 (18:25 +0000)] 
linux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64-bit little-endian systems.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
location of CR save area for 64-bit little-endian systems.

Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r204800

10 years agors6000.c (rs6000_emit_prologue): Do not place a RTX_FRAME_RELATED_P marker on the...
Ulrich Weigand [Thu, 14 Nov 2013 18:24:32 +0000 (18:24 +0000)] 
rs6000.c (rs6000_emit_prologue): Do not place a RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn.

ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_emit_prologue): Do not place a
RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn.
Instead, add USEs of all modified call-saved CR fields to the
insn storing the result to the stack slot, and provide an
appropriate REG_FRAME_RELATED_EXPR for that insn.
* config/rs6000/rs6000.md ("*crsave"): New insn pattern.
* config/rs6000/predicates.md ("crsave_operation"): New predicate.

testsuite/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* g++.dg/eh/ppc64-sighandle-cr.C: New test.

From-SVN: r204799

10 years agofunction.c (assign_parms): Use all.reg_parm_stack_space instead of re-evaluating...
Ulrich Weigand [Thu, 14 Nov 2013 18:22:30 +0000 (18:22 +0000)] 
function.c (assign_parms): Use all.reg_parm_stack_space instead of re-evaluating REG_PARM_STACK_SPACE...

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* function.c (assign_parms): Use all.reg_parm_stack_space instead
of re-evaluating REG_PARM_STACK_SPACE target macro.
(locate_and_pad_parm): New parameter REG_PARM_STACK_SPACE.  Use it
instead of evaluating target macro REG_PARM_STACK_SPACE every time.
(assign_parm_find_entry_rtl): Update call.
* calls.c (initialize_argument_information): Update call.
(emit_library_call_value_1): Likewise.
* expr.h (locate_and_pad_parm): Update prototype.

Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r204798

10 years agocalls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL arguments.
Ulrich Weigand [Thu, 14 Nov 2013 18:21:21 +0000 (18:21 +0000)] 
calls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* calls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL
arguments.

From-SVN: r204797

10 years agogo/build: Add all known gccgo architectures to list.
Ian Lance Taylor [Thu, 14 Nov 2013 18:16:59 +0000 (18:16 +0000)] 
go/build: Add all known gccgo architectures to list.

From-SVN: r204796

10 years agorx.c (rx_mode_dependent_address_p): Allow offsets up to 16 bits.
DJ Delorie [Thu, 14 Nov 2013 18:10:36 +0000 (13:10 -0500)] 
rx.c (rx_mode_dependent_address_p): Allow offsets up to 16 bits.

* config/rx/rx.c (rx_mode_dependent_address_p): Allow offsets up
to 16 bits.

From-SVN: r204795

10 years agolibgo/go/go/build: use syslist.go from the gc stdlib.
Ian Lance Taylor [Thu, 14 Nov 2013 18:07:31 +0000 (18:07 +0000)] 
libgo/go/go/build: use syslist.go from the gc stdlib.

If cmd/go is rebuilt using -compiler gccgo the version of go/build that is linked into that cmd/go will not function properly as the list of file suffixes know as operating systems or architectures is incorrect.

From-SVN: r204794

10 years agotree-ssa-threadedge.c (thread_through_normal_block): Only push the EDGE_START_JUMP_TH...
Jeff Law [Thu, 14 Nov 2013 18:05:55 +0000 (11:05 -0700)] 
tree-ssa-threadedge.c (thread_through_normal_block): Only push the EDGE_START_JUMP_THREAD marker if the jump threading path is empty.

* tree-ssa-threadedge.c (thread_through_normal_block): Only push
the EDGE_START_JUMP_THREAD marker if the jump threading path is
empty.

From-SVN: r204793

10 years agoRequire fenv_exceptions in gcc.dg/torture/float128* tests
Rainer Orth [Thu, 14 Nov 2013 14:29:12 +0000 (14:29 +0000)] 
Require fenv_exceptions in gcc.dg/torture/float128* tests

* gcc.dg/torture/float128-cmp-invalid.c: Require fenv_exceptions.
* gcc.dg/torture/float128-div-underflow.c: Likewise.
* gcc.dg/torture/float128-extend-nan.c: Likewise.

From-SVN: r204792

10 years agossa-vrp-thread-1.c: Fix target selector.
Richard Biener [Thu, 14 Nov 2013 14:16:06 +0000 (14:16 +0000)] 
ssa-vrp-thread-1.c: Fix target selector.

2013-11-14  Richard Biener  <rguenther@suse.de>

* gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Fix target selector.

From-SVN: r204791

10 years agoalloc_traits.h (__allow_copy_cons): Remove.
Jonathan Wakely [Thu, 14 Nov 2013 12:43:00 +0000 (12:43 +0000)] 
alloc_traits.h (__allow_copy_cons): Remove.

* include/bits/alloc_traits.h (__allow_copy_cons): Remove.
(__check_copy_constructible): Likewise.
* include/bits/unordered_map.h (unordered_map, unordered_multimap):
Do not derive from __check_copy_constructible.
* include/bits/unordered_set.h (unordered_set, unordered_multiset):
Likewise.
* testsuite/23_containers/unordered_map/55043.cc: It is no longer
necessary for is_copy_constructible to be correct to use nested
unordered containers.
* testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
* testsuite/23_containers/unordered_set/55043.cc: Likewise.
* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.

From-SVN: r204790

10 years agoXFAIL addr1.ads and atomic1.ads on x32
H.J. Lu [Thu, 14 Nov 2013 12:40:15 +0000 (12:40 +0000)] 
XFAIL addr1.ads and atomic1.ads on x32

* gnat.dg/specs/addr1.ads: XFAIL on x32.
* gnat.dg/specs/atomic1.ads: Likewise.

From-SVN: r204789

10 years agoFix typo in ChangeLog entry.
Christophe Lyon [Thu, 14 Nov 2013 10:25:31 +0000 (11:25 +0100)] 
Fix typo in ChangeLog entry.

From-SVN: r204787

10 years ago[AArch64] [-mtune cleanup 5/5] Update invoke.texi
James Greenhalgh [Thu, 14 Nov 2013 10:02:10 +0000 (10:02 +0000)] 
[AArch64] [-mtune cleanup 5/5] Update invoke.texi

gcc/
* doc/invoke.texi: Update documentation for AArch64's -mcpu
and -mtune options.

From-SVN: r204785

10 years ago[AArch64] [-mtune cleanup 4/5] Remove "example-1", "example-2" tuning options.
James Greenhalgh [Thu, 14 Nov 2013 10:00:49 +0000 (10:00 +0000)] 
[AArch64] [-mtune cleanup 4/5] Remove "example-1", "example-2" tuning options.

gcc/
* config/aarch64/aarch64-cores.def (example-1): Remove.
(example-2): Likewise.
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64.md: Do not include "large.md" or "small.md".
(generic_sched): Remove "large", "small".
* config/aarch64/large.md: Delete.
* config/aarch64/small.md: Delete.

gcc/testsuite/
* gcc.target/aarch64/cpu-diagnostics-2.c: Change "-mcpu="
to "cortex-a53".
* gcc.target/aarch64/cpu-diagnostics-3.c: Change "-mcpu="
to "cortex-a53".

From-SVN: r204784

10 years ago[AArch64] [-mtune cleanup 3/5] [Temporary] When asked to tune for
James Greenhalgh [Thu, 14 Nov 2013 09:58:37 +0000 (09:58 +0000)] 
[AArch64] [-mtune cleanup 3/5] [Temporary] When asked to tune for
 Cortex-A57, tune for Cortex-A15

gcc/
* config/aarch64/aarch64-cores.def (cortex-a57): Tune for cortexa15.
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64.md: Include cortex-a15 pipeline model.
(generic_sched): "no" if we are tuning for cortexa15.
* config/arm/cortex-a15.md: Include cortex-a15-neon.md by
relative path.

From-SVN: r204783

10 years ago[AArch64] [-mtune cleanup 2/5] Tune for Cortex-A53 by default.
James Greenhalgh [Thu, 14 Nov 2013 09:56:30 +0000 (09:56 +0000)] 
[AArch64] [-mtune cleanup 2/5] Tune for Cortex-A53 by default.

gcc/
* config/aarch64/aarch64-arches.def (armv8-a): Tune for cortex-a53.
* config/aarch64/aarch64.md: Do not include aarch64-generic.md.
* config/aarch64/aarch64.c (aarch64_tune): Initialize to cortexa53.
(all_cores): Use cortexa53 when tuning for "generic".
(aarch64_override_options): Fix comment.
* config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Set to cortexa53.
* config/aarch64/aarch64-generic.md: Delete.

From-SVN: r204782

10 years ago[AArch64] [-mtune cleanup 1/5] Remove -march=generic.
James Greenhalgh [Thu, 14 Nov 2013 09:52:34 +0000 (09:52 +0000)] 
[AArch64] [-mtune cleanup 1/5] Remove -march=generic.

gcc/
* config/aarch64/aarch64.c (all_architectures): Remove "generic".

From-SVN: r204781

10 years agoFix gcc.dg/atomic/c11-atomic-exec-[45].c tests on Solaris 10+
Rainer Orth [Thu, 14 Nov 2013 09:34:16 +0000 (09:34 +0000)] 
Fix gcc.dg/atomic/c11-atomic-exec-[45].c tests on Solaris 10+

* gcc.dg/atomic/c11-atomic-exec-4.c: Define _XOPEN_SOURCE=600 on
*-*-solaris2.1[0-9]*.
* gcc.dg/atomic/c11-atomic-exec-5.c: Likewise.

From-SVN: r204780

10 years agoaarch64.c: Include aarch-cost-tables.h.
Kyrylo Tkachov [Thu, 14 Nov 2013 09:22:51 +0000 (09:22 +0000)] 
aarch64.c: Include aarch-cost-tables.h.

* config/aarch64/aarch64.c: Include aarch-cost-tables.h.
(generic_rtx_cost_table): Remove.
(aarch64_rtx_costs): Use fields from cpu_cost_table.
* config/aarch64/aarch64-protos.h (tune_params): Use cpu_cost_table for
insn_extra_cost.
(cpu_rtx_cost_table): Remove.

From-SVN: r204779

10 years ago[multiple changes]
Joey Ye [Thu, 14 Nov 2013 08:38:54 +0000 (08:38 +0000)] 
[multiple changes]

2013-11-14  Julian Brown  <julian@codesourcery.com>
        Joey Ye  <joey.ye@arm.com>

        * config/arm/arm.c (arm_cortex_m_branch_cost): New.
        (arm_v7m_tune): New.
        (arm_slowmul_tune, arm_fastmul_tune,
        arm_strongarm_tune, arm_9e_tune, arm_v6t2_tune,
        arm_cortex_tune, arm_cortex_a15_tune,
        arm_cortex_a5_tune, arm_v6m_tune): Add comments
        for Sched adj cost.
        * config/arm/arm-cores.def (cortex-m4, cortex-m3):
        Use arm_v7m_tune.

testsuite:
2013-11-14  Joey Ye  <joey.ye@arm.com>

        * gcc.dg/tree-ssa/forwprop-28.c: Disable for cortex_m.
        * gcc.dg/tree-ssa/vrp47.c: Likewise.
        * gcc.dg/tree-ssa/vrp87.c: Likewise.
        * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Ingore for cortex_m.
        * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise.

From-SVN: r204778

10 years agore PR target/57491 ([ia64] internal compiler error: in ia64_split_tmode -O2, quadmath)
Kirill Yukhin [Thu, 14 Nov 2013 08:33:21 +0000 (08:33 +0000)] 
re PR target/57491 ([ia64] internal compiler error: in ia64_split_tmode -O2, quadmath)

        PR target/57491
        * config/ia64/ia64.c (ia64_split_tmode_move): Relax `dead'
        flag setting.

From-SVN: r204777

10 years agoAdded testcase for 58533, fixed by rev 204714.
Adam Butcher [Thu, 14 Nov 2013 08:26:21 +0000 (08:26 +0000)] 
Added testcase for 58533, fixed by rev 204714.

gcc/testsuite/
PR c++/58533
* g++.dg/cpp1y/pr58533.C: New testcase (fixed by r204714).

From-SVN: r204776

10 years agore PR target/59101 (integer wrong code bug)
Jakub Jelinek [Thu, 14 Nov 2013 08:11:36 +0000 (09:11 +0100)] 
re PR target/59101 (integer wrong code bug)

PR target/59101
* config/i386/i386.md (*anddi_2): Only allow CCZmode if
operands[2] satisfies_constraint_Z that might have bit 31 set.

* gcc.c-torture/execute/pr59101.c: New test.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r204774

10 years agore PR tree-optimization/59102 (ICE on valid code at -Os and above on x86_64-linux...
Jeff Law [Thu, 14 Nov 2013 03:18:17 +0000 (20:18 -0700)] 
re PR tree-optimization/59102 (ICE on valid code at -Os and above on x86_64-linux-gnu)

PR tree-optimization/59102
* gimple-ssa-isolate-paths.c
(insert_trap_and_remove_trailing_statments): Ensure STMT is a
gimple assignment before looking at gimple_assign_lhs.

PR tree-optimization/59102
* gcc.c-torture/compile/pr59102.c: New test.

From-SVN: r204773

10 years agoira.c: Add comment about threads at the top of file.
Vladimir Makarov [Thu, 14 Nov 2013 01:51:07 +0000 (01:51 +0000)] 
ira.c: Add comment about threads at the top of file.

2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

* ira.c: Add comment about threads at the top of file.

From-SVN: r204772

10 years agoira-color.c (coalesce_allocnos): Don't allocate and free sorted_copies.
Vladimir Makarov [Thu, 14 Nov 2013 01:33:09 +0000 (01:33 +0000)] 
ira-color.c (coalesce_allocnos): Don't allocate and free sorted_copies.

2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

* ira-color.c (coalesce_allocnos): Don't allocate and free
sorted_copies.

From-SVN: r204771

10 years agoDaily bump.
GCC Administrator [Thu, 14 Nov 2013 00:16:27 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r204770

10 years agoHandle GIMPLE_ASSIGNs with different vuse in gimple_equal_p
Tom de Vries [Thu, 14 Nov 2013 00:10:42 +0000 (00:10 +0000)] 
Handle GIMPLE_ASSIGNs with different vuse in gimple_equal_p

2013-11-14  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-tail-merge.c (gimple_equal_p): Add test for structural
equality for GIMPLE_ASSIGN.

* gcc.dg/tail-merge-store.c: New test.

From-SVN: r204767

10 years agoFactor out gimple_operand_equal_value_p from gimple_equal_p
Tom de Vries [Thu, 14 Nov 2013 00:10:33 +0000 (00:10 +0000)] 
Factor out gimple_operand_equal_value_p from gimple_equal_p

2013-11-14  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Factor new
function out of ...
(gimple_equal_p): ... here.

From-SVN: r204766

10 years agoAdd is_tm_ending
Tom de Vries [Thu, 14 Nov 2013 00:10:24 +0000 (00:10 +0000)] 
Add is_tm_ending

2013-11-14  Tom de Vries  <tom@codesourcery.com>

* trans-mem.c (is_tm_ending): New function.
* gimple.h (is_tm_ending): Declare.
* tree-ssa-tail-merge.c (gimple_equal_p): Remove test on
BUILT_IN_TM_COMMIT.
(find_duplicate): Use is_tm_ending instead of is_tm_ending_fndecl.

From-SVN: r204765

10 years agoSimplify code in gimple_equal_p
Tom de Vries [Thu, 14 Nov 2013 00:10:13 +0000 (00:10 +0000)] 
Simplify code in gimple_equal_p

2013-11-14  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-tail-merge.c (gimple_equal_p): Remove equal variable.

From-SVN: r204764

10 years agogimple-walk.h: New File.
Andrew Macleod [Wed, 13 Nov 2013 23:54:17 +0000 (23:54 +0000)] 
gimple-walk.h: New File.

* gimple-walk.h: New File.  Relocate prototypes from gimple.h.
(struct walk_stmt_info):  Relocate here from gimple.h.
* gimple-iterator.h: New File.  Relocate prototypes from gimple.h.
(struct gimple_stmt_iterator_d): Relocate here from gimple.h.
(gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb,
gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt,
gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug,
gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb,
gsi_last_nondebug_bb, gsi_bb, gsi_seq): Relocate here from gimple.h.
* gimple.h (struct gimple_stmt_iterator_d): Move to gimple-iterator.h.
(gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb,
gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt,
gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug,
gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb,
gsi_last_nondebug_bb, gsi_bb, gsi_seq): Move to gimple-iterator.h.
(struct walk_stmt_info): Move to gimple-walk.h.
(gimple_seq_set_location): Move to gimple.c
* gimple-walk.c: New File.
(walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm, walk_gimple_op,
walk_gimple_stmt, get_base_loadstore, walk_stmt_load_store_addr_ops,
walk_stmt_load_store_ops): Relocate here from gimple.c.
* gimple-iterator.c: Include gimple-iterator.h.
* gimple.c (walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm,
walk_gimple_op, walk_gimple_stmt, get_base_loadstore,
walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Move to
gimple-walk.c.
(gimple_seq_set_location): Relocate from gimple.h.
* tree-phinodes.h (set_phi_nodes): Move to tree-phinodes.c.
* tree-phinodes.c (set_phi_nodes): Relocate from tree-phinodes.h.
* gengtype.c (open_base_files): Add gimple-iterator.h to include list.
* Makefile.in (OBJS): Add gimple-walk.o

* asan.c: Update Include list as required for gimple-iterator.h and
gimple-walk.h.
* cfgexpand.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopmanip.c: Likewise.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphunit.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-low.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-ssa-isolate-paths.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple-streamer-out.c: Likewise.
* gimplify.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-split.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* omp-low.c: Likewise.
* predict.c: Likewise.
* profile.c: Likewise.
* sese.c: Likewise.
* tracer.c: Likewise.
* trans-mem.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-dfa.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-nrv.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* value-prof.c: Likewise.
* vtable-verify.c: Likewise.

* config/aarch64/aarch64-builtins.c: Include gimple-iterator.h.
* config/rs6000/rs6000.c: Include gimple-iterator.h and gimple-walk.h.
* testsuite/g++.dg/plugin/selfassign.c: Include gimple-iterator.h.
* testsuite/gcc.dg/plugin/selfassign.c: Likewise.

From-SVN: r204763

10 years agogimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.
Steven Bosscher [Wed, 13 Nov 2013 23:23:18 +0000 (23:23 +0000)] 
gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.

* gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.

From-SVN: r204762

10 years agore PR middle-end/59119 (Segfault in -fisolate-erroneous-paths pass)
Jeff Law [Wed, 13 Nov 2013 23:10:34 +0000 (16:10 -0700)] 
re PR middle-end/59119 (Segfault in -fisolate-erroneous-paths pass)

* PR middle-end/59119
* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): New
function, extracted from gimple_ssa_isolate_erroneous_paths.
(find_explicit_erroneous_behaviour): Similarly.
(insert_trap_and_remove_trailing_statements): Remove statements
in reverse order.

* PR middle-end/59119
* gcc.c-torture/compile/pr59119.c: New test.

From-SVN: r204760

10 years agotypo fix
Steven Bosscher [Wed, 13 Nov 2013 22:58:03 +0000 (22:58 +0000)] 
typo fix

From-SVN: r204759

10 years agocfgrtl.c (can_fallthru): Reorder code to move tablejump check up.
Steven Bosscher [Wed, 13 Nov 2013 22:55:49 +0000 (22:55 +0000)] 
cfgrtl.c (can_fallthru): Reorder code to move tablejump check up.

* cfgrtl.c (can_fallthru): Reorder code to move tablejump check up.
Make that check explicit.  BB_HEAD cannot be NULL, remove check for it.
* haifa-sched.c (ready_remove_first_dispatch): Check INSN_P before
looking at INSN_CODE.
* reload1.c (delete_dead_insn) Do not expect JUMP_TABLE_DATA to be an
active_insn_p object, respect basic block boundaries.
* reorg.c (follow_jumps): Use invariant that JUMP_TABLE_DATA always
follows immediately after the jump table data label.
* config/nds32/nds32.c (nds32_output_casesi_pc_relative): Likewise.
* config/sh/sh.c (barrier_align): Likewise.  Rearrange code such
that JUMP_TABLE_DATA is not expected to be an active_insn_p object.

From-SVN: r204758

10 years agore PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap...
Peter Bergner [Wed, 13 Nov 2013 22:34:33 +0000 (16:34 -0600)] 
re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux and aarch64-linux)

PR sanitizer/59009
* sanitizer_common/sanitizer_platform_limits_posix.cc: Temporarily
ifdef out more source.

From-SVN: r204757

10 years agore PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa...
Teresa Johnson [Wed, 13 Nov 2013 21:51:44 +0000 (21:51 +0000)] 
re PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa-inline.c:1008)

2013-11-13  Teresa Johnson  <tejohnson@google.com>

PR ipa/58862
* predict.c (drop_profile): Error is currently too strict.
(handle_missing_profiles): Pass call_count to drop_profile.

From-SVN: r204756

10 years agore PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa...
Teresa Johnson [Wed, 13 Nov 2013 21:48:59 +0000 (21:48 +0000)] 
re PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa-inline.c:1008)

2013-11-13  Teresa Johnson  <tejohnson@google.com>

PR ipa/58862
* ipa-inline.c (edge_badness): Fix overflow.

From-SVN: r204755

10 years agore PR rtl-optimization/59036 (Performance degradation after r204212 on 32-bit x86...
Vladimir Makarov [Wed, 13 Nov 2013 18:00:43 +0000 (18:00 +0000)] 
re PR rtl-optimization/59036 (Performance degradation after r204212 on 32-bit x86 targets.)

2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59036
* ira-color.c (struct allocno_color_data): Add new members
first_thread_allocno, next_thread_allocno, thread_freq.
(sorted_copies): New static var.
(allocnos_conflict_by_live_ranges_p, copy_freq_compare_func): Move
up.
(allocno_thread_conflict_p, merge_threads)
(form_threads_from_copies, form_threads_from_bucket)
(form_threads_from_colorable_allocno, init_allocno_threads): New
functions.
(bucket_allocno_compare_func): Add comparison by thread frequency
and threads.
(add_allocno_to_ordered_bucket): Rename to
add_allocno_to_ordered_colorable_bucket.  Remove parameter.
        (push_only_colorable): Call form_threads_from_bucket.
(color_pass): Call init_allocno_threads.  Use
consideration_allocno_bitmap instead of coloring_allocno_bitmap
for nuillify allocno color data.
(ira_initiate_assign, ira_finish_assign): Allocate/free
sorted_copies.
(coalesce_allocnos): Use static sorted copies.

From-SVN: r204752

10 years agopasses.c (execute_todo): Don't call do_per_function if flags are zero.
Jakub Jelinek [Wed, 13 Nov 2013 17:34:29 +0000 (18:34 +0100)] 
passes.c (execute_todo): Don't call do_per_function if flags are zero.

* passes.c (execute_todo): Don't call do_per_function if
flags are zero.
(execute_one_ipa_transform_pass, execute_one_pass): Don't call
execute_function_dump if dump_file is NULL.

From-SVN: r204751

10 years agore PR libstdc++/59087 (Issues including complex.h in C++11/1y mode because of C's...
Marc Glisse [Wed, 13 Nov 2013 15:47:04 +0000 (16:47 +0100)] 
re PR libstdc++/59087 (Issues including complex.h in C++11/1y mode because of C's complex.h)

2013-11-13  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/59087
* include/ext/pod_char_traits.h: Uglify V, I and S.

From-SVN: r204750

10 years agoira-shrinkwrap-prep-1.c: Add lp64 to target requirements.
Martin Jambor [Wed, 13 Nov 2013 15:41:39 +0000 (16:41 +0100)] 
ira-shrinkwrap-prep-1.c: Add lp64 to target requirements.

2013-11-13  Martin Jambor  <mjambor@suse.cz>

* gcc.dg/ira-shrinkwrap-prep-1.c: Add lp64 to target requirements.
* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.
* gcc.dg/pr10474.c: Likewise.

From-SVN: r204749

10 years agocgraph.c (cgraph_get_create_node): Do what cgraph_get_create_real_symbol_node used...
Martin Jambor [Wed, 13 Nov 2013 15:34:47 +0000 (16:34 +0100)] 
cgraph.c (cgraph_get_create_node): Do what cgraph_get_create_real_symbol_node used to do.

2013-11-13  Martin Jambor  <mjambor@suse.cz>

* cgraph.c (cgraph_get_create_node): Do what
cgraph_get_create_real_symbol_node used to do.
(cgraph_get_create_real_symbol_node): Removed.  Changed all users to
call cgraph_get_create_node.
* cgraph.h (cgraph_get_create_real_symbol_node): Removed.
* lto-streamer-in.c (input_function): Call cgraph_get_node instead of
cgraph_get_create_node.  Assert we get a node.

From-SVN: r204748

10 years agoaarch64-simd.md (vec_extract): New.
Tejas Belagod [Wed, 13 Nov 2013 15:07:27 +0000 (15:07 +0000)] 
aarch64-simd.md (vec_extract): New.

2013-11-13  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/aarch64-simd.md (vec_extract): New.

From-SVN: r204747

10 years agoaarch64-simd.md (vec_set<mode>): Add w -> w option to the constraint.
Tejas Belagod [Wed, 13 Nov 2013 15:04:44 +0000 (15:04 +0000)] 
aarch64-simd.md (vec_set<mode>): Add w -> w option to the constraint.

2013-11-13  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/aarch64-simd.md (vec_set<mode>): Add w -> w option to
the constraint.

From-SVN: r204746

10 years ago2013-11-13 Cesar Philippidis <cesar@codesourcery.com>
Cesar Philippidis [Wed, 13 Nov 2013 14:18:31 +0000 (06:18 -0800)] 
2013-11-13  Cesar Philippidis  <cesar@codesourcery.com>

    * lib/target-supports.exp
    (check_effective_target_vect_cmdline_neeed): Add AArch64 to the list
    of targets that do not need command line argument to enable SIMD.

From-SVN: r204745

10 years agoRemove ada/ prefix
Eric Botcazou [Wed, 13 Nov 2013 12:27:09 +0000 (12:27 +0000)] 
Remove ada/ prefix

From-SVN: r204743

10 years agocfgexpand.c (expand_used_vars): Allocate space for partitions based on PARM_DECLs...
Eric Botcazou [Wed, 13 Nov 2013 12:15:47 +0000 (12:15 +0000)] 
cfgexpand.c (expand_used_vars): Allocate space for partitions based on PARM_DECLs or RESULT_DECLs only if...

* cfgexpand.c (expand_used_vars): Allocate space for partitions based
on PARM_DECLs or RESULT_DECLs only if they are ignored for debug info
or if optimization is enabled.
* tree-ssa-coalesce.c (coalesce_ssa_name): If optimization is disabled,
require that all the names based on a PARM_DECL or a RESULT_DECL that
isn't ignored for debug info be coalesced.

From-SVN: r204742

10 years agoc6x.c: Include "gimple-expr.h".
Jan-Benedict Glaw [Wed, 13 Nov 2013 12:14:40 +0000 (12:14 +0000)] 
c6x.c: Include "gimple-expr.h".

2013-11-13  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/c6x/c6x.c: Include "gimple-expr.h".

[BR]: http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01411.html

From-SVN: r204741

10 years agogimple-streamer-out.c (output_gimple_stmt): Also wrap decls in ADDR_EXPR operands...
Richard Biener [Wed, 13 Nov 2013 11:58:12 +0000 (11:58 +0000)] 
gimple-streamer-out.c (output_gimple_stmt): Also wrap decls in ADDR_EXPR operands inside a MEM_REF and optimize that.

2013-11-13  Richard Biener  <rguenther@suse.de>

* gimple-streamer-out.c (output_gimple_stmt): Also wrap
decls in ADDR_EXPR operands inside a MEM_REF and optimize that.
* gimple-streamer-in.c (input_gimple_stmt): Remove now dead
code dealing with type mismatches inside component reference
chains.

From-SVN: r204740

10 years agore PR tree-optimization/59077 (ipa-pure-const.c (better_state): comment and code...
Marc Glisse [Wed, 13 Nov 2013 11:55:01 +0000 (12:55 +0100)] 
re PR tree-optimization/59077 (ipa-pure-const.c (better_state): comment and code mistmatch)

2013-11-13  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/59077
* ipa-pure-const.c (better_state): Update *state.

From-SVN: r204739

10 years agoaarch64.h (FRAME_GROWS_DOWNWARD): Define to 1.
Christophe Lyon [Wed, 13 Nov 2013 10:11:00 +0000 (10:11 +0000)] 
aarch64.h (FRAME_GROWS_DOWNWARD): Define to 1.

2013-11-13  Christophe Lyon  <christophe.lyon@linaro.org>

* config/aarch64/aarch64.h (FRAME_GROWS_DOWNWARD): Define to 1.
* config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
Update offset calculations.

From-SVN: r204737

10 years agore PR ada/35998 (debug info invalid x86_64 DW_AT_byte_size 0xffffffff)
Eric Botcazou [Wed, 13 Nov 2013 10:07:14 +0000 (10:07 +0000)] 
re PR ada/35998 (debug info invalid x86_64 DW_AT_byte_size 0xffffffff)

PR ada/35998
* dwarf2out.c (add_byte_size_attribute): Also use int_size_in_bytes
for fields.  Do not add the attribute if the size is negative.

From-SVN: r204736