ramana [Wed, 25 Jun 2014 08:24:23 +0000 (08:24 +0000)]
Adjust options for use of Neon with multilib testing.
2014-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* gcc.target/arm/vect-noalign.c: Adjust options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211969
138bc75d-0d04-0410-961f-
82ee72b054a4
congh [Wed, 25 Jun 2014 02:58:43 +0000 (02:58 +0000)]
2014-06-24 Cong Hou <congh@google.com>
* tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
pattern recognition.
(type_conversion_p): PROMOTION is true if it's a type promotion
conversion, and false otherwise. Return true if the given expression
is a type conversion one.
* tree-vectorizer.h: Adjust the number of patterns.
* tree.def: Add SAD_EXPR.
* optabs.def: Add sad_optab.
* cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
* expr.c (expand_expr_real_2): Likewise.
* gimple-pretty-print.c (dump_ternary_rhs): Likewise.
* gimple.c (get_gimple_rhs_num_ops): Likewise.
* optabs.c (optab_for_tree_code): Likewise.
* tree-cfg.c (estimate_operator_cost): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
* config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
* doc/generic.texi: Add document for SAD_EXPR.
* doc/md.texi: Add document for ssad and usad.
2014-06-24 Cong Hou <congh@google.com>
* gcc.dg/vect/vect-reduc-sad.c: New.
* lib/target-supports.exp (check_effective_target_vect_usad_char): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211966
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 25 Jun 2014 00:16:48 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211965
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 25 Jun 2014 00:13:17 +0000 (00:13 +0000)]
Fixup const qualification of the argument passed to hash_table::find_slot
gcc/
* config/i386/winnt.c (i386_pe_section_type_flags): Fixup const
qualification.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211962
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 24 Jun 2014 23:52:47 +0000 (23:52 +0000)]
runtime: add missing benchmark input files to the repository
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211961
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 24 Jun 2014 23:14:26 +0000 (23:14 +0000)]
* class.c (check_methods, create_vtable_ptr, determine_key_method,
add_vcall_offset_vtbl_entries_1): Guard VINDEX checks by FUNCTION_DECL check.
* cp-tree.h (lang_decl_ns): Add ns_using and ns_users.
(DECL_NAMESPACE_USING, DECL_NAMESPACE_USERS): Use lang_decl_ns.
(DECL_NAMESPACE_ASSOCIATIONS): Use DECL_INITIAL.
(DECL_TEMPLATE_INSTANTIATIONS): Use DECL_SIZE_UNIT.
* tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
* tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
* tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
(tree_function_decl): ... here.
* tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
streaming of vindex to ...
(write_ts_function_decl_tree_pointers): ... here.
* tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
Do not stream DECL_VINDEX.
(lto_input_ts_function_decl_tree_pointers): Stream it here.
* lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
(mentions_vars_p_function): ... here.
(compare_tree_sccs_1): Update VINDEX checks.
(lto_fixup_prevailing_decls): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211960
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Tue, 24 Jun 2014 22:07:39 +0000 (22:07 +0000)]
2014-06-24 Catherine Moore <clm@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
* config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
* config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211959
138bc75d-0d04-0410-961f-
82ee72b054a4
dehao [Tue, 24 Jun 2014 21:12:48 +0000 (21:12 +0000)]
Add me to MAINTAINERS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211958
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Tue, 24 Jun 2014 19:09:57 +0000 (19:09 +0000)]
2014-06-24 Marc Glisse <marc.glisse@inria.fr>
* doc/invoke.texi (Warning Options): Remove duplicated
-Wmaybe-uninitialized.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211957
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Tue, 24 Jun 2014 18:50:00 +0000 (18:50 +0000)]
2014-06-24 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/57742
gcc/
* tree-ssa-strlen.c (get_string_length): Ignore malloc.
(handle_builtin_malloc, handle_builtin_memset): New functions.
(strlen_optimize_stmt): Call them.
* passes.def: Move strlen after loop+dom but before vrp.
gcc/testsuite/
* g++.dg/tree-ssa/calloc.C: New testcase.
* gcc.dg/tree-ssa/calloc-1.c: Likewise.
* gcc.dg/tree-ssa/calloc-2.c: Likewise.
* gcc.dg/strlenopt-9.c: Adapt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211956
138bc75d-0d04-0410-961f-
82ee72b054a4
yufeng [Tue, 24 Jun 2014 16:33:45 +0000 (16:33 +0000)]
Make the AAPCS64 function return tests more robust.
gcc/testsuite
* gcc.target/aarch64/aapcs64/abitest-2.h (saved_return_address): New
global variable.
(FUNC_VAL_CHECK): Update to call myfunc via the 'ret' instruction,
instead of calling sequentially in the C code.
* gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Store
saved_return_address to the stack frame where LR register was stored.
(saved_return_address): Declare weak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211954
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 24 Jun 2014 15:44:17 +0000 (15:44 +0000)]
* include/bits/functexcept.h (__throw_out_of_range_fmt): Change
attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
* include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
Remove unused typedef.
(time_get::do_get_monthname): Likewise.
* include/bits/stl_tree.h: Add system_header pragma.
* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
redundant const-qualifier.
* include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
instead of _GLIBCXX_USE_CONSTEXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211951
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 24 Jun 2014 14:58:19 +0000 (14:58 +0000)]
PR target/61570
* config/i386/driver-i386.c (host_detect_local_cpu): For unknown
model family 6 CPU with has_longmode never use a CPU without
64-bit support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211945
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 24 Jun 2014 14:47:42 +0000 (14:47 +0000)]
/cp
2014-06-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33972
* decl.c (grokdeclarator): Do not early check for operator-function-id
as non-function.
/testsuite
2014-06-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33972
* g++.dg/other/operator3.C: New.
* g++.dg/template/operator8.C: Adjust.
* g++.dg/template/operator9.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211944
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 24 Jun 2014 14:46:18 +0000 (14:46 +0000)]
Revert the last change on driver-i386.c
PR target/61570
* config/i386/driver-i386.c (host_detect_local_cpu): Revert
the last change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211943
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Tue, 24 Jun 2014 13:22:11 +0000 (13:22 +0000)]
add hash_map class
gcc/
* alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
* dominance.c (iterate_fix_dominators): Use hash_map instead of
pointer_map.
* hash-map.h: New file.
* ipa-comdats.c: Use hash_map instead of pointer_map.
* ipa.c: Likewise.
* lto-section-out.c: Adjust.
* lto-streamer.h: Replace pointer_map with hash_map.
* symtab.c (verify_symtab): Likewise.
* tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
* tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
* tree-streamer.h: Likewise.
* tree-streamer.c: Adjust.
* pointer-set.h: Remove pointer_map.
gcc/lto/
* lto.c (canonical_type_hash_cache): Use hash_map instead of
pointer_map.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211938
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Tue, 24 Jun 2014 13:21:53 +0000 (13:21 +0000)]
allow storing values directly in hash tables
gcc/
* hash-table.h: Add a template arg to choose between storing values
and storing pointers to values, and then provide partial
specializations for both.
* tree-browser.c (tree_upper_hasher): Provide the type the hash table
should store, not the type values should point to.
* tree-into-ssa.c (var_info_hasher): Likewise.
* tree-ssa-dom.c (expr_elt_hasher): Likewise.
* tree-complex.c: Adjust.
* tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
table instead of int_tree_map *.
* tree-parloops.c: Adjust.
* tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
type is being stored.
* tree-vectorizer.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211937
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Tue, 24 Jun 2014 13:21:35 +0000 (13:21 +0000)]
Remove a layer of indirection from hash_table
gcc/
* hash-table.h: Remove a layer of indirection from hash_table so that
it contains the hash table's data instead of a pointer to the data.
* alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
fold-const.c, gcse.c, ggc-common.c,
gimple-ssa-strength-reduction.c, gimplify.c,
graphite-clast-to-gimple.c, graphite-dependences.c,
graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
postreload-gcse.c, sese.c, statistics.c, store-motion.c,
trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
tree-ssa-live.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
vtable-verify.c, vtable-verify.h: Adjust.
gcc/c/
* c-decl.c: Adjust.
gcc/cp/
* class.c, semantics.c, tree.c, vtable-class-hierarchy.c:
Adjust.
gcc/java/
* jcf-io.c: Adjust.
gcc/lto/
* lto.c: Adjust.
gcc/objc/
* objc-act.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211936
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 24 Jun 2014 11:38:02 +0000 (11:38 +0000)]
* gcc.target/aarch64/singleton_intrinsics_1.c: Save temps and cleanup.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211934
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 24 Jun 2014 10:35:30 +0000 (10:35 +0000)]
2014-06-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/61572
* tree-ssa-sink.c (statement_sink_location): Do not sink
loads from hard registers.
* gcc.target/i386/pr61572.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211933
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 24 Jun 2014 07:53:52 +0000 (07:53 +0000)]
* gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
not mentioned in clauses use private clause if the iterator is
declared in #pragma omp for simd, and when adding lastprivate
instead, add it to the outer #pragma omp for too. Diagnose
if the variable is private in outer context. For simd collapse > 1
loops, replace all iterators with temporaries.
* omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
same even in collapse > 1 loops.
gcc/c/
* c-parser.c (c_parser_omp_for_loop): For
#pragma omp parallel for simd move lastprivate clause from parallel
to for rather than simd.
gcc/cp/
* parser.c (cp_parser_omp_for_loop): For
#pragma omp parallel for simd move lastprivate clause from parallel
to for rather than simd.
libgomp/
* testsuite/libgomp.c/for-2.c: Define SC to static for
#pragma omp for simd testing.
* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
SC macro.
* testsuite/libgomp.c/simd-14.c: New test.
* testsuite/libgomp.c/simd-15.c: New test.
* testsuite/libgomp.c/simd-16.c: New test.
* testsuite/libgomp.c/simd-17.c: New test.
* testsuite/libgomp.c++/for-10.C: Define SC to static for
#pragma omp for simd testing.
* testsuite/libgomp.c++/simd10.C: New test.
* testsuite/libgomp.c++/simd11.C: New test.
* testsuite/libgomp.c++/simd12.C: New test.
* testsuite/libgomp.c++/simd13.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211930
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 24 Jun 2014 07:45:22 +0000 (07:45 +0000)]
* gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
non-NULL.
<case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
(gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
non-NULL.
(gimplify_adjust_omp_clauses): Likewise.
* omp-low.c (lower_rec_simd_input_clauses,
lower_rec_input_clauses, expand_omp_simd): Handle non-constant
safelen the same as safelen(1).
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED. For
OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
(convert_nonlocal_reference_stmt, convert_local_reference_stmt):
Fixup handling of GIMPLE_OMP_TARGET.
(convert_tramp_reference_stmt, convert_gimple_call): Handle
GIMPLE_OMP_TARGET.
gcc/fortran/
* dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
of n->udr.
* f95-lang.c (gfc_init_builtin_functions): Initialize
BUILT_IN_ASSUME_ALIGNED.
* gfortran.h (gfc_omp_namelist): Change udr field type to
struct gfc_omp_namelist_udr.
(gfc_omp_namelist_udr): New type.
(gfc_get_omp_namelist_udr): Define.
(gfc_resolve_code): New prototype.
* match.c (gfc_free_omp_namelist): Free name->udr.
* module.c (intrinsics): Add INTRINSIC_USER.
(fix_mio_expr): Likewise.
(mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
* openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
(gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
(struct resolve_omp_udr_callback_data): New type.
(resolve_omp_udr_callback, resolve_omp_udr_callback2,
resolve_omp_udr_clause): New functions.
(resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
here.
(omp_udr_callback): Don't check for implicitly declared functions
here.
(gfc_resolve_omp_udr): Don't call gfc_resolve. Don't check for
implicitly declared subroutines here.
* resolve.c (resolve_function): If value.function.isym is non-NULL,
consider it already resolved.
(resolve_code): Renamed to ...
(gfc_resolve_code): ... this. No longer static.
(gfc_resolve_blocks, generate_component_assignments, resolve_codes):
Adjust callers.
* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
by reference type (C_PTR) variables.
(gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
(gfc_trans_omp_udr_expr): Remove.
(gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
expand it as assignment or subroutine call. Don't initialize
value.function.isym.
gcc/testsuite/
* gfortran.dg/gomp/udr2.f90 (f7, f9): Add !$omp parallel with
reduction clause.
* gfortran.dg/gomp/udr4.f90 (f4): Likewise.
Remove Label is never defined expected error.
* gfortran.dg/gomp/udr8.f90: New test.
libgomp/
* testsuite/libgomp.fortran/aligned1.f03: New test.
* testsuite/libgomp.fortran/nestedfn5.f90: New test.
* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
tasks with !$omp parallel !$omp single.
* testsuite/libgomp.fortran/target8.f90: New test.
* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
not to use trim in the combiner, instead call elemental function.
(fn): New elemental function.
* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
Make elemental.
* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
omp_in): Likewise.
* testsuite/libgomp.fortran/udr12.f90: New test.
* testsuite/libgomp.fortran/udr13.f90: New test.
* testsuite/libgomp.fortran/udr14.f90: New test.
* testsuite/libgomp.fortran/udr15.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211929
138bc75d-0d04-0410-961f-
82ee72b054a4
cltang [Tue, 24 Jun 2014 06:33:58 +0000 (06:33 +0000)]
2014-06-24 Chung-Lin Tang <cltang@codesourcery.com>
PR tree-optimization/61554
* tree-ssa-propagate.c: Include "bitmap.h".
(substitute_and_fold_dom_walker): Add 'bitmap need_eh_cleanup' member,
properly update constructor/destructor.
(substitute_and_fold_dom_walker::before_dom_children):
Remove call to gimple_purge_dead_eh_edges, add bb->index to
need_eh_cleaup instead.
(substitute_and_fold): Call gimple_purge_all_dead_eh_edges on
need_eh_cleanup.
testsuite/
2014-06-24 Markus Trippelsdorf <markus@trippelsdorf.de>
PR tree-optimization/61554
* g++.dg/torture/pr61554.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211928
138bc75d-0d04-0410-961f-
82ee72b054a4
chefmax [Tue, 24 Jun 2014 05:52:30 +0000 (05:52 +0000)]
gcc/testsuite/
2014-06-23 Max Ostapenko <m.ostapenko@partner.samsung.com>
* c-c++-common/asan/strlen-overflow-1.c: Change match patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211927
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 24 Jun 2014 03:09:26 +0000 (03:09 +0000)]
* gcc.dg/localalias-2.c: Guard by require-alias.
* gcc.dg/globalalias-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211926
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 24 Jun 2014 03:07:13 +0000 (03:07 +0000)]
* varpool.c (dump_varpool_node): Dump used_by_single_function.
* tree-pass.h (make_pass_ipa_single_use): New pass.
* cgraph.h (used_by_single_function): New flag.
* lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
it.
* passes.def (pass_ipa_single_use): Scedule.
* ipa.c (BOTTOM): New macro.
(meet): New function
(propagate_single_user): New function.
(ipa_single_use): New function.
(pass_data_ipa_single_use): New pass.
(pass_ipa_single_use): New pass.
(pass_ipa_single_use::gate): New gate.
(make_pass_ipa_single_use): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211925
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 24 Jun 2014 00:16:16 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211924
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 23 Jun 2014 22:12:31 +0000 (22:12 +0000)]
* include/experimental/any (any_v1): Rename namespace to
fundamentals_v1. Change string returned by bad_any_cast::what().
* include/experimental/optional (fundamentals_v1): Add namespace.
* include/experimental/string_view (fundamentals_v1): Likewise.
* testsuite/experimental/any/typedefs.cc: New.
* testsuite/experimental/optional/typedefs.cc: New.
* testsuite/experimental/string_view/typedefs.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211920
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Mon, 23 Jun 2014 21:52:31 +0000 (21:52 +0000)]
PR target/39284
* passes.def (peephole2): Move peephole2 pass before
before sched2 pass.
* config/i386/i386.md (peehole2): Combine memories
and indirect jumps.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211919
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Mon, 23 Jun 2014 21:50:48 +0000 (21:50 +0000)]
* gcc.target/i386/indjmp-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211918
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Mon, 23 Jun 2014 21:12:56 +0000 (21:12 +0000)]
2014-06-23 Andrew Pinski <apinski@cavium.com>
* gcc.c-torture/compile/
20140723-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211917
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 23 Jun 2014 20:31:52 +0000 (20:31 +0000)]
Revert "2014-06-23 Paul Gortmaker <paul.gortmaker@windriver.com>"
This reverts commit
ed8c02da028fb10d25a682e1838ba8b23a2c34ff.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211915
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Mon, 23 Jun 2014 19:15:16 +0000 (19:15 +0000)]
2014-06-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix include path for in-tree cloog.
* config/cloog.m4 (CLOOG_INIT_FLAGS): Remove bogus include path.
* configure: Regenerate.
P.S: moved a few ChangeLog entries to gcc/ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211913
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 23 Jun 2014 19:03:07 +0000 (19:03 +0000)]
2014-06-23 Paolo Carlini <paolo.carlini@oracle.com>
* sanitizer_common/sanitizer_common_interceptors.inc:
Cherry pick upstream r211008.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211912
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 23 Jun 2014 18:51:36 +0000 (18:51 +0000)]
2014-06-23 Paul Gortmaker <paul.gortmaker@windriver.com>
* gcc.c (set_multilib_dir): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211911
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 23 Jun 2014 18:23:19 +0000 (18:23 +0000)]
PR c/61553
* c-c++-common/pr61553.c (foo): Add dg-error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211910
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 23 Jun 2014 18:17:03 +0000 (18:17 +0000)]
PR libstdc++/61532
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
apply the signed specifier to wchar_t.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
cv-qualifier and size.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211909
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Mon, 23 Jun 2014 17:09:08 +0000 (17:09 +0000)]
gcc/fortran/
2014-06-23 Tobias Burnus <burnus@net-b.de>
* trans-decl.c (gfc_trans_deferred_vars): Fix handling of
explicit-size arrays with -fcoarray=lib.
gcc/testsuite/
2014-06-23 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_32.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211907
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 23 Jun 2014 17:05:33 +0000 (17:05 +0000)]
/cp
2014-06-23 Paolo Carlini <paolo.carlini@oracle.com>
DR 577
PR c++/33101
* decl.c (grokparms): Accept a single parameter of type 'void'.
/testsuite
2014-06-23 Paolo Carlini <paolo.carlini@oracle.com>
DR 577
PR c++/33101
* g++.dg/other/void1.C: Adjust.
* g++.dg/other/void3.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211906
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 23 Jun 2014 16:57:48 +0000 (16:57 +0000)]
PR c/61553
* c-common.c (get_atomic_generic_size): Don't segfault if the
type doesn't have a size.
* c-c++-common/pr61553.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211905
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 23 Jun 2014 16:51:10 +0000 (16:51 +0000)]
2014-06-23 Richard Biener <rguenther@suse.de>
* tree-ssa-loop.c (gate_loop): New function.
(pass_tree_loop::gate): Call it.
(pass_data_tree_no_loop, pass_tree_no_loop,
make_pass_tree_no_loop): New.
* tree-vectorizer.c: Include tree-scalar-evolution.c
(pass_slp_vectorize::execute): Initialize loops and SCEV if
required.
(pass_slp_vectorize::clone): New method.
* timevar.def (TV_TREE_NOLOOP): New.
* tree-pass.h (make_pass_tree_no_loop): Declare.
* passes.def (pass_tree_no_loop): New pass group with
SLP vectorizer.
* g++.dg/vect/slp-pr50413.cc: Scan and cleanup appropriate SLP dumps.
* g++.dg/vect/slp-pr50819.cc: Likewise.
* g++.dg/vect/slp-pr56812.cc: Likewise.
* gcc.dg/vect/bb-slp-1.c: Likewise.
* gcc.dg/vect/bb-slp-10.c: Likewise.
* gcc.dg/vect/bb-slp-11.c: Likewise.
* gcc.dg/vect/bb-slp-13.c: Likewise.
* gcc.dg/vect/bb-slp-14.c: Likewise.
* gcc.dg/vect/bb-slp-15.c: Likewise.
* gcc.dg/vect/bb-slp-16.c: Likewise.
* gcc.dg/vect/bb-slp-17.c: Likewise.
* gcc.dg/vect/bb-slp-18.c: Likewise.
* gcc.dg/vect/bb-slp-19.c: Likewise.
* gcc.dg/vect/bb-slp-2.c: Likewise.
* gcc.dg/vect/bb-slp-20.c: Likewise.
* gcc.dg/vect/bb-slp-21.c: Likewise.
* gcc.dg/vect/bb-slp-22.c: Likewise.
* gcc.dg/vect/bb-slp-23.c: Likewise.
* gcc.dg/vect/bb-slp-24.c: Likewise.
* gcc.dg/vect/bb-slp-25.c: Likewise.
* gcc.dg/vect/bb-slp-26.c: Likewise.
* gcc.dg/vect/bb-slp-27.c: Likewise.
* gcc.dg/vect/bb-slp-28.c: Likewise.
* gcc.dg/vect/bb-slp-29.c: Likewise.
* gcc.dg/vect/bb-slp-3.c: Likewise.
* gcc.dg/vect/bb-slp-30.c: Likewise.
* gcc.dg/vect/bb-slp-31.c: Likewise.
* gcc.dg/vect/bb-slp-32.c: Likewise.
* gcc.dg/vect/bb-slp-4.c: Likewise.
* gcc.dg/vect/bb-slp-5.c: Likewise.
* gcc.dg/vect/bb-slp-6.c: Likewise.
* gcc.dg/vect/bb-slp-7.c: Likewise.
* gcc.dg/vect/bb-slp-8.c: Likewise.
* gcc.dg/vect/bb-slp-8a.c: Likewise.
* gcc.dg/vect/bb-slp-8b.c: Likewise.
* gcc.dg/vect/bb-slp-9.c: Likewise.
* gcc.dg/vect/bb-slp-cond-1.c: Likewise.
* gcc.dg/vect/bb-slp-pattern-1.c: Likewise.
* gcc.dg/vect/bb-slp-pattern-2.c: Likewise.
* gcc.dg/vect/fast-math-bb-slp-call-1.c: Likewise.
* gcc.dg/vect/fast-math-bb-slp-call-2.c: Likewise.
* gcc.dg/vect/fast-math-bb-slp-call-3.c: Likewise.
* gcc.dg/vect/no-tree-reassoc-bb-slp-12.c: Likewise.
* gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Likewise.
* gcc.dg/vect/pr26359.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211904
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 23 Jun 2014 16:38:48 +0000 (16:38 +0000)]
* c-typeck.c (parser_build_binary_op): Don't call
warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
* c-c++-common/pr49706-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211902
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Mon, 23 Jun 2014 16:28:36 +0000 (16:28 +0000)]
Assume x86-64 if a 32-bit processor supports SSE2 and 64-bit
PR target/61570
* config/i386/driver-i386.c (host_detect_local_cpu): Set arch
to x86-64 if a 32-bit processor supports SSE2 and 64-bit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211901
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Mon, 23 Jun 2014 16:20:31 +0000 (16:20 +0000)]
PR libgcc/61585
* unwind-seh.c (_Unwind_GetGR): Check for proper
index range.
(_Unwind_SetGR): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211900
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Mon, 23 Jun 2014 16:00:02 +0000 (16:00 +0000)]
Re: [AArch64] Implement ADD in vector registers for 32-bit scalar values.
gcc/
* config/aarch64/aarch64.md (addsi3_aarch64): Set "simd" attr to
"yes" where needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211899
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 23 Jun 2014 15:08:30 +0000 (15:08 +0000)]
gcc/
PR bootstrap/61583
* tree-vrp.c (remove_range_assertions): Do not set is_unreachable
to zero on debug statements.
gcc/testsuite/
* gcc.dg/pr61583.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211897
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Mon, 23 Jun 2014 14:07:42 +0000 (14:07 +0000)]
PR/60825 Make {int,uint}64x1_t in arm_neon.h a proper vector type
gcc/ChangeLog:
PR target/60825
* config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers):
Ignore third operand if present by marking qualifier_internal.
* config/aarch64/aarch64-simd-builtins.def (abs): Comment.
* config/aarch64/arm_neon.h (int64x1_t, uint64x1_t): Typedef to GCC
vector extension.
(aarch64_vget_lane_s64, aarch64_vdup_lane_s64,
arch64_vdupq_lane_s64, aarch64_vdupq_lane_u64): Remove macro.
(vqadd_s64, vqadd_u64, vqsub_s64, vqsub_u64, vqneg_s64, vqabs_s64,
vcreate_s64, vcreate_u64, vreinterpret_s64_f64, vreinterpret_u64_f64,
vcombine_u64, vbsl_s64, vbsl_u64, vceq_s64, vceq_u64, vceqz_s64,
vceqz_u64, vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64,
vcgtz_s64, vcle_s64, vcle_u64, vclez_s64, vclt_s64, vclt_u64,
vcltz_s64, vdup_n_s64, vdup_n_u64, vld1_s64, vld1_u64, vmov_n_s64,
vmov_n_u64, vqdmlals_lane_s32, vqdmlsls_lane_s32,
vqdmulls_lane_s32, vqrshl_s64, vqrshl_u64, vqrshl_u64, vqshl_s64,
vqshl_u64, vqshl_n_s64, vqshl_n_u64, vqshl_n_s64, vqshl_n_u64,
vqshlu_n_s64, vrshl_s64, vrshl_u64, vrshr_n_s64, vrshr_n_u64,
vrsra_n_s64, vrsra_n_u64, vshl_n_s64, vshl_n_u64, vshl_s64,
vshl_u64, vshr_n_s64, vshr_n_u64, vsli_n_s64, vsli_n_u64,
vsqadd_u64, vsra_n_s64, vsra_n_u64, vsri_n_s64, vsri_n_u64,
vst1_s64, vst1_u64, vtst_s64, vtst_u64, vuqadd_s64): Wrap existing
logic in GCC vector extensions
(vpaddd_s64, vaddd_s64, vaddd_u64, vceqd_s64, vceqd_u64, vceqzd_s64
vceqzd_u64, vcged_s64, vcged_u64, vcgezd_s64, vcgtd_s64, vcgtd_u64,
vcgtzd_s64, vcled_s64, vcled_u64, vclezd_s64, vcltd_s64, vcltd_u64,
vcltzd_s64, vqdmlals_s32, vqdmlsls_s32, vqmovnd_s64, vqmovnd_u64
vqmovund_s64, vqrshld_s64, vqrshld_u64, vqrshrnd_n_s64,
vqrshrnd_n_u64, vqrshrund_n_s64, vqshld_s64, vqshld_u64,
vqshld_n_u64, vqshrnd_n_s64, vqshrnd_n_u64, vqshrund_n_s64,
vrshld_u64, vrshrd_n_u64, vrsrad_n_u64, vshld_n_u64, vshld_s64,
vshld_u64, vslid_n_u64, vsqaddd_u64, vsrad_n_u64, vsrid_n_u64,
vsubd_s64, vsubd_u64, vtstd_s64, vtstd_u64): Fix type signature.
(vabs_s64): Use GCC vector extensions; call __builtin_aarch64_absdi.
(vget_high_s64, vget_high_u64): Reimplement with GCC vector
extensions.
(__GET_LOW, vget_low_u64): Wrap result using vcreate_u64.
(vget_low_s64): Use __GET_LOW macro.
(vget_lane_s64, vget_lane_u64, vdupq_lane_s64, vdupq_lane_u64): Use
gcc vector extensions, add call to __builtin_aarch64_lane_boundsi.
(vdup_lane_s64, vdup_lane_u64,): Add __builtin_aarch64_lane_bound_si.
(vdupd_lane_s64, vdupd_lane_u64): Fix type signature, add
__builtin_aarch64_lane_boundsi, use GCC vector extensions.
(vcombine_s64): Use GCC vector extensions; remove cast.
(vqaddd_s64, vqaddd_u64, vqdmulls_s32, vqshld_n_s64, vqshlud_n_s64,
vqsubd_s64, vqsubd_u64, vrshld_s64, vrshrd_n_s64, vrsrad_n_s64,
vshld_n_s64, vshrd_n_s64, vslid_n_s64, vsrad_n_s64, vsrid_n_s64):
Fix type signature; remove cast.
gcc/testsuite/ChangeLog:
* g++.dg/abi/mangle-neon-aarch64.C (f22, f23): New tests of
[u]int64x1_t.
* gcc.target/aarch64/aapcs64/func-ret-64x1_1.c: Add {u,}int64x1 cases.
* gcc.target/aarch64/aapcs64/test_64x1_1.c: Likewise.
* gcc.target/aarch64/scalar_intrinsics.c (test_vaddd_u64,
test_vaddd_s64, test_vceqd_s64, test_vceqzd_s64, test_vcged_s64,
test_vcled_s64, test_vcgezd_s64, test_vcged_u64, test_vcgtd_s64,
test_vcltd_s64, test_vcgtzd_s64, test_vcgtd_u64, test_vclezd_s64,
test_vcltzd_s64, test_vqaddd_u64, test_vqaddd_s64, test_vqdmlals_s32,
test_vqdmlsls_s32, test_vqdmulls_s32, test_vuqaddd_s64,
test_vsqaddd_u64, test_vqmovund_s64, test_vqmovnd_s64,
test_vqmovnd_u64, test_vsubd_u64, test_vsubd_s64, test_vqsubd_u64,
test_vqsubd_s64, test_vshld_s64, test_vshld_u64, test_vrshld_s64,
test_vrshld_u64, test_vshrd_n_s64, test_vshrd_n_u64, test_vsrad_n_s64,
test_vsrad_n_u64, test_vrshrd_n_s64, test_vrshrd_n_u64,
test_vrsrad_n_s64, test_vrsrad_n_u64, test_vqrshld_s64,
test_vqrshld_u64, test_vqshlud_n_s64, test_vqshld_s64, test_vqshld_u64,
test_vqshld_n_u64, test_vqshrund_n_s64, test_vqrshrund_n_s64,
test_vqshrnd_n_s64, test_vqshrnd_n_u64, test_vqrshrnd_n_s64,
test_vqrshrnd_n_u64, test_vshld_n_s64, test_vshdl_n_u64,
test_vslid_n_s64, test_vslid_n_u64, test_vsrid_n_s64,
test_vsrid_n_u64): Fix signature to match intrinsic.
(test_vabs_s64): Remove.
(test_vaddd_s64_2, test_vsubd_s64_2): Use force_simd.
(test_vdupd_lane_s64): Rename to...
(test_vdupd_laneq_s64): ...and remove a call to force_simd.
(test_vdupd_lane_u64): Rename to...
(test_vdupd_laneq_u64): ...and remove a call to force_simd.
(test_vtst_s64): Rename to...
(test_vtstd_s64): ...and change int64x1_t to int64_t.
(test_vtst_u64): Rename to...
(test_vtstd_u64): ...and change uint64x1_t to uint64_t.
* gcc.target/aarch64/singleton_intrinsics_1.c: New file.
* gcc.target/aarch64/vdup_lane_1.c, gcc.target/aarch64/vdup_lane_2.c:
Remove out-of-bounds tests.
* gcc.target/aarch64/vneg_s.c (INDEX*, RUN_TEST): Remove INDEX macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211894
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Mon, 23 Jun 2014 12:46:52 +0000 (12:46 +0000)]
PR/60825 Make float64x1_t in arm_neon.h a proper vector type
gcc/ChangeLog:
PR target/60825
* config/aarch64/aarch64.c (aarch64_simd_mangle_map): Add entry for
V1DFmode.
* config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_type_mode):
add V1DFmode
(BUILTIN_VD1): New.
(BUILTIN_VD_RE): Remove.
(aarch64_init_simd_builtins): Add V1DF to modes/modenames.
(aarch64_fold_builtin): Update reinterpret patterns, df becomes v1df.
* config/aarch64/aarch64-simd-builtins.def (create): Make a v1df
variant but not df.
(vreinterpretv1df*, vreinterpret*v1df): New.
(vreinterpretdf*, vreinterpret*df): Remove.
* config/aarch64/aarch64-simd.md (aarch64_create, aarch64_reinterpret*):
Generate V1DFmode pattern not DFmode.
* config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
(VD1): New.
* config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
(vcreate_f64): Remove cast, use v1df builtin.
(vcombine_f64): Remove cast, get elements with gcc vector extensions.
(vget_low_f64, vabs_f64, vceq_f64, vceqz_f64, vcge_f64, vgfez_f64,
vcgt_f64, vcgtz_f64, vcle_f64, vclez_f64, vclt_f64, vcltz_f64,
vdup_n_f64, vdupq_lane_f64, vld1_f64, vld2_f64, vld3_f64, vld4_f64,
vmov_n_f64, vst1_f64): Use gcc vector extensions.
(vget_lane_f64, vdupd_lane_f64, vmulq_lane_f64, ): Use gcc extensions,
add range check using __builtin_aarch64_im_lane_boundsi.
(vfma_lane_f64, vfmad_lane_f64, vfma_laneq_f64, vfmaq_lane_f64,
vfms_lane_f64, vfmsd_lane_f64, vfms_laneq_f64, vfmsq_lane_f64): Fix
type signature, use gcc vector extensions.
(vreinterpret_p8_f64, vreinterpret_p16_f64, vreinterpret_f32_f64,
vreinterpret_f64_f32, vreinterpret_f64_p8, vreinterpret_f64_p16,
vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32,
vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16,
vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpret_s8_f64,
vreinterpret_s16_f64, vreinterpret_s32_f64, vreinterpret_s64_f64,
vreinterpret_u8_f64, vreinterpret_u16_f64, vreinterpret_u32_f64,
vreinterpret_u64_f64): Use v1df builtin not df.
gcc/testsuite/ChangeLog:
* g++.dg/abi/mangle-neon-aarch64.C: Also test mangling of float64x1_t.
* gcc.target/aarch64/aapcs/test_64x1_1.c: New test.
* gcc.target/aarch64/aapcs/func-ret-64x1_1.c: New test.
* gcc.target/aarch64/simd/ext_f64_1.c (main): Compare vector elements.
* gcc.target/aarch64/vadd_f64.c: Rewrite with macro to use vector types.
* gcc.target/aarch64/vsub_f64.c: Likewise.
* gcc.target/aarch64/vdiv_f.c (INDEX*, RUN_TEST): Remove indexing scheme
as now the same for all variants.
* gcc.target/aarch64/vrnd_f64_1.c (compare_f64): Return float64_t not
float64x1_t.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211892
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 23 Jun 2014 11:30:32 +0000 (11:30 +0000)]
* include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
* include/std/chrono (_Checked_integral_constant): Allow zero.
* testsuite/20_util/duration/literals/values.cc: Test non-positive
values and digit separators.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211890
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Mon, 23 Jun 2014 09:04:40 +0000 (09:04 +0000)]
[AArch64] Implement ADD in vector registers for 32-bit scalar values.
gcc/
* config/aarch64/aarch64.md (*addsi3_aarch64): Add alternative in
vector registers.
gcc/testsuite/
* gcc.target/aarch64/scalar_shift_1.c: Fix expected assembler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211887
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 23 Jun 2014 06:33:35 +0000 (06:33 +0000)]
* lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority
directly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211886
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Mon, 23 Jun 2014 02:47:54 +0000 (02:47 +0000)]
2014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* loop-invariant.c (pre_check_invariant_p): New function.
(find_invariant_insn): Call pre_check_invariant_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211885
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 23 Jun 2014 00:16:31 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211884
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 22 Jun 2014 19:32:57 +0000 (19:32 +0000)]
PR target/61565
* compare-elim.c (struct comparison): Add eh_note.
(find_comparison_dom_walker::before_dom_children): Don't eliminate
a redundant comparison in a different EH region. Purge EH edges if
necessary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211881
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 22 Jun 2014 17:21:08 +0000 (17:21 +0000)]
rs6000: Merge the var_shift yes/no alternatives
All instructions that are "var_shift" for some alternative have the shift
amount as operands[2].
This patch introduces an attribute "maybe_var_shift". If that is set to
"yes", the default value of "var_shift" is set based on the operands[2]
value.
With that, we can merge the var_shift yes/no cases everywhere. Do so.
Also change some more "i" to "n".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211880
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 22 Jun 2014 17:18:05 +0000 (17:18 +0000)]
rs6000: Merge ashrsi3 and ashrdi3
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211879
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 22 Jun 2014 17:16:03 +0000 (17:16 +0000)]
rs6000: Merge rotlsi3 and rotldi3
This uses the rotl* extended mnemonics instead of the rlw*nm and rld*cl
mnemonics, because they are shorter and more importantly they look the
same for 32-bit and 64-bit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211878
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 22 Jun 2014 17:14:02 +0000 (17:14 +0000)]
Merge ashlsi3 and ashldi3
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211877
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 22 Jun 2014 17:11:55 +0000 (17:11 +0000)]
rs6000: Merge lshrsi3 and lshrdi3
For this create a new mode_attr "hH".
Also change "i" constraints on the shift amount to "n", which better
describes what it really is (GCC takes the integer value of these
operands and does arithmetic on them; symbolic constants will not work
here).
Also merge the "dot" insns with the corresponding splitters. To do
this, don't allow the dot insns for CBE non-microcode mode at all
(it previously would just split it back always).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211876
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 22 Jun 2014 17:09:24 +0000 (17:09 +0000)]
rs6000: Remove "O" alternative from lshrsi3
Nothing will ever generate RTL matching this alternative. Maybe long
ago this was needed, but not anymore.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211875
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 22 Jun 2014 09:57:02 +0000 (09:57 +0000)]
gcc/
* config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
(mips_move_from_gpr_cost): Likewise.
(mips_register_move_cost): Update accordingly.
(mips_secondary_reload_class): Remove name of in_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211874
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Sun, 22 Jun 2014 09:16:35 +0000 (09:16 +0000)]
2014-06-22 Marc Glisse <marc.glisse@inria.fr>
PR target/61503
* config/i386/i386.md (x86_64_shrd, x86_shrd,
ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211873
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 22 Jun 2014 00:16:45 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211872
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 21 Jun 2014 23:01:41 +0000 (23:01 +0000)]
* gcc.dg/localalias.c: Fix broken commit.
* gcc.dg/globalalias.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211869
138bc75d-0d04-0410-961f-
82ee72b054a4
jbglaw [Sat, 21 Jun 2014 21:52:02 +0000 (21:52 +0000)]
2014-06-21 Jan-Benedict Glaw <jbglaw@lug-owl.de>
gcc/
* config/nios2/nios2.c: Include "builtins.h".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211868
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 21 Jun 2014 02:46:34 +0000 (02:46 +0000)]
* cgraph.h (tls_model_names): New variable.
* print-tree.c (print_node): Simplify.
* varpool.c (tls_model_names): New variable.
(dump_varpool_node): Output tls model.
* lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211865
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 21 Jun 2014 02:39:49 +0000 (02:39 +0000)]
* gcc.dg/localalias.c: New testcase.
* gcc.dg/localalias-2.c: New testcase.
* gcc.dg/globalalias.c: New testcase.
* gcc.dg/globalalias-2.c: New testcase.
* ipa-visibility.c (function_and_variable_visibility): Disable
temporarily local aliases for some targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211864
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 21 Jun 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211863
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Jun 2014 21:21:34 +0000 (21:21 +0000)]
* gcc.target/arm/lto/lto.exp: Exit immediately if not arm*-*-* target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211860
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 20 Jun 2014 21:20:51 +0000 (21:20 +0000)]
* asan.c (pass_sanopt::execute): Handle IFN_UBSAN_BOUNDS.
* flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS and or it
into SANITIZE_UNDEFINED.
* doc/invoke.texi: Describe -fsanitize=bounds.
* gimplify.c (gimplify_call_expr): Add gimplification of internal
functions created in the FEs.
* internal-fn.c: Move "internal-fn.h" after "tree.h".
(expand_UBSAN_BOUNDS): New function.
* internal-fn.def (UBSAN_BOUNDS): New internal function.
* internal-fn.h: Don't define internal functions here.
* opts.c (common_handle_option): Add -fsanitize=bounds.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS,
BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS_ABORT): Add.
* tree-core.h: Define internal functions here.
(struct tree_base): Add ifn field.
* tree-pretty-print.c: Include "internal-fn.h".
(dump_generic_node): Handle functions without CALL_EXPR_FN.
* tree.c (get_callee_fndecl): Likewise.
(build_call_expr_internal_loc): New function.
* tree.def (CALL_EXPR): Update description.
* tree.h (CALL_EXPR_IFN): Define.
(build_call_expr_internal_loc): Declare.
* ubsan.c (get_ubsan_type_info_for_type): Return 0 for non-arithmetic
types.
(ubsan_type_descriptor): Change bool parameter to enum
ubsan_print_style. Adjust the code. Add handling of
UBSAN_PRINT_ARRAY.
(ubsan_expand_bounds_ifn): New function.
(ubsan_expand_null_ifn): Adjust ubsan_type_descriptor call.
(ubsan_build_overflow_builtin): Likewise.
(instrument_bool_enum_load): Likewise.
(ubsan_instrument_float_cast): Likewise.
* ubsan.h (enum ubsan_print_style): New enum.
(ubsan_expand_bounds_ifn): Declare.
(ubsan_type_descriptor): Adjust declaration. Use a default parameter.
c-family/
* c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
(ubsan_walk_array_refs_r): New function.
(c_genericize): Instrument array bounds.
* c-ubsan.c: Include "internal-fn.h".
(ubsan_instrument_division): Mark instrumented arrays as having
side effects. Adjust ubsan_type_descriptor call.
(ubsan_instrument_shift): Likewise.
(ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
(ubsan_instrument_bounds): New function.
(ubsan_array_ref_instrumented_p): New function.
(ubsan_maybe_instrument_array_ref): New function.
* c-ubsan.h (ubsan_instrument_bounds): Declare.
(ubsan_array_ref_instrumented_p): Declare.
(ubsan_maybe_instrument_array_ref): Declare.
testsuite/
* c-c++-common/ubsan/bounds-1.c: New test.
* c-c++-common/ubsan/bounds-2.c: New test.
* c-c++-common/ubsan/bounds-3.c: New test.
* c-c++-common/ubsan/bounds-4.c: New test.
* c-c++-common/ubsan/bounds-5.c: New test.
* c-c++-common/ubsan/bounds-6.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211859
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Fri, 20 Jun 2014 20:11:30 +0000 (20:11 +0000)]
PR fortran/33363
* invoke.texi: Don't mention nonexisting -fcase-lower option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211858
138bc75d-0d04-0410-961f-
82ee72b054a4
macro [Fri, 20 Jun 2014 19:42:22 +0000 (19:42 +0000)]
* config/rs6000/rs6000.md: Append `DONE' to preparation
statements of `bswap' pattern splitters.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211857
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 20 Jun 2014 18:32:35 +0000 (18:32 +0000)]
PR c++/59296
* call.c (add_function_candidate): Avoid special 'this' handling
if we have a ref-qualifier.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211854
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 20 Jun 2014 18:31:53 +0000 (18:31 +0000)]
PR c++/61556
* call.c (build_over_call): Call build_this in template path.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211853
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 20 Jun 2014 18:28:12 +0000 (18:28 +0000)]
Update definition of call_fusage_contains_non_callee_clobbers
2014-06-20 Tom de Vries <tom@codesourcery.com>
* target.def (call_fusage_contains_non_callee_clobbers): Update
definition.
* doc/tm.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211852
138bc75d-0d04-0410-961f-
82ee72b054a4
yufeng [Fri, 20 Jun 2014 16:52:29 +0000 (16:52 +0000)]
gcc/testsuite/
Make the tests big-endian friendly.
* gcc.target/aarch64/aapcs64/test_25.c: Update.
* gcc.target/aarch64/aapcs64/va_arg-1.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-12.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-2.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-3.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-4.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-5.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-6.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-7.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211851
138bc75d-0d04-0410-961f-
82ee72b054a4
chefmax [Fri, 20 Jun 2014 13:33:28 +0000 (13:33 +0000)]
2014-06-18 Yury Gribov <y.gribov@samsung.com>
gcc/
* asan.c (instrument_strlen_call): Fixed instrumentation of
trailing byte.
gcc/testsuite/
* c-c++-common/asan/strlen-overflow-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211849
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 20 Jun 2014 11:19:46 +0000 (11:19 +0000)]
2014-06-20 Martin Jambor <mjambor@suse.cz>
PR ipa/61540
* ipa-prop.c (impossible_devirt_target): New function.
(try_make_edge_direct_virtual_call): Use it, also instead of
asserting.
testsuite/
* g++.dg/ipa/pr61540.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211847
138bc75d-0d04-0410-961f-
82ee72b054a4
chefmax [Fri, 20 Jun 2014 10:26:55 +0000 (10:26 +0000)]
2014-06-18 Yury Gribov <y.gribov@samsung.com>
gcc/
PR sanitizer/61530
* asan.c (build_check_stmt): Add condition.
gcc/testsuite/
* c-c++-common/asan/pr61530.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211846
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 20 Jun 2014 09:54:39 +0000 (09:54 +0000)]
2014-06-20 Martin Jambor <mjambor@suse.cz>
PR ipa/61211
* cgraph.c (clone_of_p): Allow skipped_branch to deal with
expanded clones.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211844
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 20 Jun 2014 08:51:34 +0000 (08:51 +0000)]
[AArch64] Fix some saturating math NEON intrinsics types.
[gcc/]
* config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
Update comments.
(VCONQ): Make comment more helpful.
(VCON): Delete.
* config/aarch64/aarch64-simd.md
(aarch64_sqdmulh_lane<mode>):
Use VCOND for operands 2. Update lane checking and flipping logic.
(aarch64_sqrdmulh_lane<mode>): Likewise.
(aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
(aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
(aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
attribute of operand 3 to VCOND.
(aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
(aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
(aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
(aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
(aarch64_sqdmull2_lane<mode>_internal): Likewise.
(aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
define_insn.
(aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
(aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
(aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
(aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
(aarch64_sqdmull2_laneq<mode>_internal): Likewise.
(aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
operand to VCOND. Update lane flipping and bounds checking logic.
(aarch64_sqdmlal2_lane<mode>): Likewise.
(aarch64_sqdmlsl_lane<mode>): Likewise.
(aarch64_sqdmull_lane<mode>): Likewise.
(aarch64_sqdmull2_lane<mode>): Likewise.
(aarch64_sqdmlal_laneq<mode>):
Replace VCON usage with VCONQ.
Emit aarch64_sqdmlal_laneq<mode>_internal insn.
(aarch64_sqdmlal2_laneq<mode>): Emit
aarch64_sqdmlal2_laneq<mode>_internal insn.
Replace VCON with VCONQ.
(aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
(aarch64_sqdmlsl2_laneq<mode>): Likewise.
(aarch64_sqdmull_laneq<mode>): Emit
aarch64_sqdmull_laneq<mode>_internal insn.
Replace VCON with VCONQ.
(aarch64_sqdmull2_laneq<mode>): Emit
aarch64_sqdmull2_laneq<mode>_internal insn.
(aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
* config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
of 3rd argument to int16x4_t.
(vqdmlalh_lane_s16): Likewise.
(vqdmlslh_lane_s16): Likewise.
(vqdmull_high_lane_s16): Likewise.
(vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
(vqdmlal_lane_s16): Don't create temporary int16x8_t value.
(vqdmlsl_lane_s16): Likewise.
(vqdmull_lane_s16): Don't create temporary int16x8_t value.
(vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
(vqdmlals_lane_s32): Likewise.
(vqdmlsls_lane_s32): Likewise.
(vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
(vqdmulls_lane_s32): Likewise.
(vqdmlal_lane_s32): Don't create temporary int32x4_t value.
(vqdmlsl_lane_s32): Likewise.
(vqdmull_lane_s32): Don't create temporary int32x4_t value.
(vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
(vqrdmulhh_lane_s16): Likewise.
(vqdmlsl_high_lane_s16): Likewise.
(vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
(vqdmlsl_high_lane_s32): Likewise.
(vqrdmulhs_lane_s32): Likewise.
[gcc/testsuite]
* gcc.target/aarch64/simd/vqdmulhh_lane_s16.c: New test.
* gcc.target/aarch64/simd/vqdmulhs_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhs_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_high_lane_s16.c: New test.
* gcc.target/aarch64/simd/vqdmlal_high_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_high_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_high_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlalh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlals_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlslh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsls_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmulh_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmulh_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhq_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhq_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmullh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmulls_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulh_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulh_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhq_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhq_laneq_s32.c: Likewise.
* gcc.target/aarch64/vector_intrinsics.c: Simplify arm_neon.h include.
(test_vqdmlal_high_lane_s16): Fix parameter type.
(test_vqdmlal_high_lane_s32): Likewise.
(test_vqdmull_high_lane_s16): Likewise.
(test_vqdmull_high_lane_s32): Likewise.
(test_vqdmlsl_high_lane_s32): Likewise.
(test_vqdmlsl_high_lane_s16): Likewise.
* gcc.target/aarch64/scalar_intrinsics.c (test_vqdmlalh_lane_s16):
Fix argument type.
(test_vqdmlals_lane_s32): Likewise.
(test_vqdmlslh_lane_s16): Likewise.
(test_vqdmlsls_lane_s32): Likewise.
(test_vqdmulhh_lane_s16): Likewise.
(test_vqdmulhs_lane_s32): Likewise.
(test_vqdmullh_lane_s16): Likewise.
(test_vqdmulls_lane_s32): Likewise.
(test_vqrdmulhh_lane_s16): Likewise.
(test_vqrdmulhs_lane_s32): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211842
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 20 Jun 2014 08:02:02 +0000 (08:02 +0000)]
Fix finding reg-sets of call insn
2014-06-20 Tom de Vries <tom@codesourcery.com>
* final.c (collect_fn_hard_reg_usage): Add separate IOR_HARD_REG_SET for
get_call_reg_set_usage.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211841
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 20 Jun 2014 08:01:52 +0000 (08:01 +0000)]
Don't save function_used_regs if it contains all call_used_regs
2014-06-20 Tom de Vries <tom@codesourcery.com>
* final.c (collect_fn_hard_reg_usage): Don't save function_used_regs if
it contains all call_used_regs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211840
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 20 Jun 2014 08:01:41 +0000 (08:01 +0000)]
Use function_used_regs variable in collect_fn_hard_reg_usage
2014-06-20 Tom de Vries <tom@codesourcery.com>
* final.c (collect_fn_hard_reg_usage): Add and use variable
function_used_regs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211839
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 20 Jun 2014 07:09:27 +0000 (07:09 +0000)]
* cgraph.h (struct symtab_node): Add field in_init_priority_hash
(set_init_priority, get_init_priority, set_fini_priority,
get_fini_priority): New methods.
* tree.c (init_priority_for_decl): Remove.
(init_ttree): Do not initialize init priority.
(decl_init_priority_lookup, decl_fini_priority_lookup): Rewrite.
(decl_priority_info): Remove.
(decl_init_priority_insert): Rewrite.
(decl_fini_priority_insert): Rewrite.
* tree.h (tree_priority_map_eq, tree_priority_map_hash,
tree_priority_map_marked_p): Remove.
* lto-cgraph.c (lto_output_node, input_node): Stream init priorities.
* lto-streamer-out.c (hash_tree): Do not hash priorities.
* tree-streamer-out.c (pack_ts_decl_with_vis_value_fields): Do
not output priorities.
(pack_ts_function_decl_value_fields): Likewise.
* tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
not input priorities.
(unpack_ts_function_decl_value_fields): Likewise.
* symtab.c (symbol_priority_map): Declare.
(init_priority_hash): Declare.
(symtab_unregister_node): Unregister from priority hash, too.
(symtab_node::get_init_priority, cgraph_node::get_fini_priority):
New methods.
(symbol_priority_map_eq, symbol_priority_map_hash): New functions.
(symbol_priority_info): New function.
(symtab_node::set_init_priority, cgraph_node::set_fini_priority):
New methods.
* tree-core.h (tree_priority_map): Remove.
* lto.c (compare_tree_sccs_1): Do not compare priorities.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211838
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Jun 2014 06:30:19 +0000 (06:30 +0000)]
* tree-ssa-math-opts.c (do_shift_rotate, find_bswap_or_nop_1): Cast
0xff to uint64_t before shifting it up.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211837
138bc75d-0d04-0410-961f-
82ee72b054a4
cltang [Fri, 20 Jun 2014 05:38:40 +0000 (05:38 +0000)]
2014-06-20 Julian Brown <julian@codesourcery.com>
Chung-Lin Tang <cltang@codesourcery.com>
* config/arm/arm.c (arm_output_mi_thunk): Fix offset for
TARGET_THUMB1_ONLY. Add comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211834
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Fri, 20 Jun 2014 05:24:09 +0000 (05:24 +0000)]
2014-06-20 Tobias Burnus <burnus@net-b.de>
PR testsuite/61567
* gfortran.dg/coarray_collectives_5.f90: Update
dg-final scan-tree-dump-times.
* gfortran.dg/coarray_collectives_6.f90: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211833
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Fri, 20 Jun 2014 04:52:11 +0000 (04:52 +0000)]
c-family/ChangeLog
2014-06-20 Hale Wang <hale.wang@arm.com>
PR lto/61123
* c.opt (fshort-enums): Add to LTO.
* c.opt (fshort-wchar): Likewise.
testsuite/ChangeLog
2014-06-20 Hale Wang <hale.wang@arm.com>
* gcc.target/arm/lto/: New folder to verify the LTO option.
* gcc.target/arm/lto/pr61123-enum-size_0.c: New test case.
* gcc.target/arm/lto/pr61123-enum-size_1.c: Likewise.
* gcc.target/arm/lto/lto.exp: New exp file used to test LTO option.
* lib/lto.exp (object-readelf): New procedure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211832
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 20 Jun 2014 00:16:54 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211831
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 19 Jun 2014 12:21:13 +0000 (12:21 +0000)]
Fix aarch64_emit_call_insn return type
2014-06-19 Tom de Vries <tom@codesourcery.com>
* config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Change
return type to void.
* config/aarch64/aarch64.c (aarch64_emit_call_insn): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211823
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Thu, 19 Jun 2014 11:58:55 +0000 (11:58 +0000)]
PR fortran/61454
* expr.c (scalarize_intrinsic_call): Take care of optional
arguments.
* gfortran.dg/pr61454.f90: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211822
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 19 Jun 2014 09:36:09 +0000 (09:36 +0000)]
PR c++/59296
* call.c (add_function_candidate): Also set LOOKUP_NO_TEMP_BIND.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211821
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Thu, 19 Jun 2014 09:04:58 +0000 (09:04 +0000)]
2014-06-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* loop-invariant.c (get_inv_cost): Skip invariants, which are marked
as "move", from depends_on.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211818
138bc75d-0d04-0410-961f-
82ee72b054a4
xguo [Thu, 19 Jun 2014 07:50:48 +0000 (07:50 +0000)]
gcc/ChangeLog:
2014-06-19 Terry Guo <terry.guo@arm.com>
* config/arm/thumb1.md (define_split): Split 64bit constant in earlier
stage.
gcc/testsuite/ChangeLog:
2014-06-19 Terry Guo <terry.guo@arm.com>
* gcc.target/arm/thumb1-load-64bit-constant-1.c: New test.
* gcc.target/arm/thumb1-load-64bit-constant-2.c: Ditto.
* gcc.target/arm/thumb1-load-64bit-constant-3.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211817
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Thu, 19 Jun 2014 07:16:34 +0000 (07:16 +0000)]
gcc/fortran/
2014-06-19 Tobias Burnus <burnus@net-b.de>
* trans-intrinsic.c (conv_co_minmaxsum): Fix argument
passing.
gcc/testsuite/
2014-06-19 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray/collectives_2.f90: Extend
and make valid.
libgfortran/
2014-06-19 Tobias Burnus <burnus@net-b.de>
* caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
_gfortran_caf_co_min): Fix stat setting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211816
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 19 Jun 2014 00:47:18 +0000 (00:47 +0000)]
Ignore gcc_update output
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211815
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 19 Jun 2014 00:16:43 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211814
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 18 Jun 2014 23:13:40 +0000 (23:13 +0000)]
rs6000: Make cr5 allocatable
A comment in rs6000.h says "cr5 is not supposed to be used". I checked
all ABIs, going as far back as PowerOpen (1994), and found no mention
of this.
Also document cr6 is used by some vector instructions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211811
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 18 Jun 2014 22:13:51 +0000 (22:13 +0000)]
PR c++/59296
* call.c (add_function_candidate): Set LOOKUP_NO_RVAL_BIND for
ref-qualifier handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211809
138bc75d-0d04-0410-961f-
82ee72b054a4