Commit Graph

126781 Commits

Author SHA1 Message Date
François Dumont 2e5189c83a safe_local_iterator.h (_Safe_local_iterator<>): Remove _M_bucket, use same information in normal local_iterator.
2013-11-22  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/safe_local_iterator.h (_Safe_local_iterator<>):
	Remove _M_bucket, use same information in normal local_iterator.
	(operator==): Remove redundant _M_can_compare check.
	* include/debug/safe_local_iterator.tcc: Adapt.
	* include/debug/unordered_set: Likewise.
	* include/debug/unordered_map: Likewise.

From-SVN: r205289
2013-11-22 20:55:53 +00:00
Jan Hubicka 79a8482c13 20081223-1.c: Add -ffat-lto-objects.
* gcc.dg/20081223-1.c: Add -ffat-lto-objects.
	* gcc.dg/vect/vect.exp: Add -ffat-lto-objects.

From-SVN: r205288
2013-11-22 13:48:07 -07:00
Ian Lance Taylor 42c447c0c4 libgo: Update libtool support for powerpc64le-linux-gnu.
From Ulrich Weigand.

From-SVN: r205287
2013-11-22 20:39:46 +00:00
Jakub Jelinek 4e1a156d8f Makefile.am (check_DEJAGNU_normal_targets): Add 10.
* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10.
	(check-DEJAGNU): Add normal10, run 28_regex/[ab]*
	tests as another separate job.
	* testsuite/Makefile.in: Regenerated.

From-SVN: r205286
2013-11-22 21:38:59 +01:00
Mike Stump 486294d4ed sanitizer_linux.cc (__sanitizer): Grab one change from upstream to fix build.
* sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one
        change from upstream to fix build.

From-SVN: r205285
2013-11-22 20:33:06 +00:00
Aldy Hernandez 31519c3863 ipa.c (symtab_remove_unreachable_nodes): Fix up comment typos.
* ipa.c (symtab_remove_unreachable_nodes): Fix up comment typos.
	* ipa-prop.c (get_vector_of_formal_parm_types): Renamed to ...
	(ipa_get_vector_of_formal_parm_types): ... this.  No longer static.
	(ipa_modify_formal_parameters): Adjust caller.  Remove
	synth_parm_prefix argument.  Use operator enum instead of bit fields.
	Add assert for properly handling vector of references.  Handle
	creating brand new parameters.
	(ipa_modify_call_arguments): Use operator enum instead of bit
	fields.
	(ipa_combine_adjustments): Same.  Assert that IPA_PARM_OP_NEW is not
	used.
	(ipa_modify_expr, get_ssa_base_param, ipa_get_adjustment_candidate):
	New functions.
	(ipa_dump_param_adjustments): Rename reduction to new_decl.
	Use operator enum instead of bit fields.
	* ipa-prop.h (enum ipa_parm_op): New.
	(struct ipa_parm_adjustment): New field op.  Rename reduction
	to new_decl, new_arg_prefix to arg_prefix and remove remove_param
	and copy_param.
	(ipa_modify_formal_parameters): Remove last argument.
	(ipa_get_vector_of_formal_parm_types, ipa_modify_expr,
	ipa_get_adjustment_candidate): New prototypes.
	* tree-sra.c (turn_representatives_into_adjustments): Use operator
	enum.  Set arg_prefix.
	(get_adjustment_for_base): Use operator enum.
	(sra_ipa_modify_expr): Rename to ipa_modify_expr and move to
	ipa-prop.c.
	(sra_ipa_modify_assign): Rename sra_ipa_modify_expr to
	ipa_modify_expr.
	(ipa_sra_modify_function_body): Same.  No longer static.
	(sra_ipa_reset_debug_stmts): Use operator enum.
	(modify_function): Do not pass prefix argument.

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

From-SVN: r205284
2013-11-22 21:08:44 +01:00
Jakub Jelinek 0a508bb66b ubsan.c (ubsan_source_location): Don't crash on unknown locations.
* ubsan.c (ubsan_source_location): Don't crash on
	unknown locations.
	(ubsan_pass): Ignore clobber stmts.

	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_MISSING_RETURN): New built-in.
	* opts.c (common_handle_option): Add -fsanitize=return.
	* flag-types.h (enum sanitize_code): Add SANITIZE_RETURN and
	or it into SANITIZE_UNDEFINED.
c-family/
	* c-ubsan.h (ubsan_instrument_return): New prototype.
	* c-ubsan.c (ubsan_instrument_return): New function.
cp/
	* cp-gimplify.c: Include target.h and c-family/c-ubsan.h.
	(cp_ubsan_maybe_instrument_return): New function.
	(cp_genericize): Call it if -fsanitize=return.
testsuite/
	* g++.dg/ubsan/return-1.C: New test.
	* g++.dg/ubsan/return-2.C: New test.

From-SVN: r205283
2013-11-22 21:07:31 +01:00
Jakub Jelinek 59b36ecf23 sanitizer.def (BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT, [...]): New.
* sanitizer.def (BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT,
	BUILT_IN_ASAN_AFTER_DYNAMIC_INIT): New.
	* asan.c (instrument_derefs): Handle also VAR_DECL loads/stores.
	Don't instrument accesses to VAR_DECLs which are known to fit
	into their bounds and the vars are known to have shadow bytes
	indicating allowed access.
	(asan_dynamic_init_call): New function.
	(asan_add_global): If vnode->dynamically_initialized,
	set __has_dynamic_init to 1 instead of 0.
	(initialize_sanitizer_builtins): Add BT_FN_VOID_CONST_PTR var.
	* asan.h (asan_dynamic_init_call): New prototype.
	* cgraph.h (varpool_node): Add dynamically_initialized bitfield.
cp/
	* decl2.c: Include asan.h.
	(one_static_initialization_or_destruction): If -fsanitize=address,
	init is non-NULL and guard is NULL, set
	vnode->dynamically_initialized.
	(do_static_initialization_or_destruction): Call
	__asan_{before,after}_dynamic_init around the static initialization.
testsuite/
	* c-c++-common/asan/no-redundant-instrumentation-1.c: Tweak to avoid
	optimizing away some __asan_report* calls.

From-SVN: r205282
2013-11-22 21:04:45 +01:00
Martin Jambor 3e74974939 re PR rtl-optimization/10474 (shrink wrapping for functions)
PR rtl-optimization/10474
	* ira.c (interesting_dest_for_shprep_1): New function.
	(interesting_dest_for_shprep): Use interesting_dest_for_shprep_1,
	also check parallels.

testsuite/
	* gcc.dg/pr10474.c: Also test ppc64.
	* gcc.dg/ira-shrinkwrap-prep-1.c: Also tes ppc64, changed all ints
        to longs.
	* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.

From-SVN: r205281
2013-11-22 12:37:00 -07:00
Jeff Law d4fdb4dfd1 tree-ssa-threadedge.c (record_temporary_equivalence): Handle NULL for RHS, which we used to invalidate equivalences.
* tree-ssa-threadedge.c (record_temporary_equivalence): Handle
	NULL for RHS, which we used to invalidate equivalences.
	(record_temporary_equivalences_from_phis): New bitmap arguments
	and a boolean indicating if we have passed a backedge.  If we
	have passed a backedge, then set the appropriate bit in the
	bitmaps for the SRC & DEST of PHIs creating equivalences.
	(invalidate_equivalences, dummy_simplify): New functions.
	(cond_arg_set_in_b): Remove.
	(record_temporary_equivalences_from_stmts_at_dest): New bitmap
	arguments and a boolean indicating if we have passed a backedge.
	If we have passed a backedge, then perform invalidations as
	needed.
	(thread_around_empty_blocks): If we have seen a backedge, then
	use the dummy simplify routine.
	(thread_through_normal_block): Likewise.  Pass bitmaps and
	backedge status to children.  Do not pessimize so much when
	traversing backedges in the CFG.
	(thread_across_edge): Manage the SRC_MAP/DST_MAP bitmaps.
	If we have seen a backedge, then use the dummy simplify routine.
	Do not pessimize so much when traversing backedges.

From-SVN: r205279
2013-11-22 11:52:23 -07:00
Michael Meissner 7d20ca6146 re PR target/59054 (Powerpc -O0 -mcpu=power7 generates sub-optimal code to load 0)
2013-11-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/59054
	* gcc.target/powerpc/direct-move.h (VSX_REG_ATTR): Allow test to
	specify an appropriate register class for VSX operations.
	(load_vsx): Use it.
	(load_gpr_to_vsx): Likewise.
	(load_vsx_to_gpr): Likewise.
	* gcc.target/powerpc/direct-move-vint1.c: Use an appropriate
	register class for VSX registers that the type can handle.  Remove
	checks for explicit number of instructions generated, just check
	if the instruction is generated.
	* gcc.target/powerpc/direct-move-vint2.c: Likewise.
	* gcc.target/powerpc/direct-move-float1.c: Likewise.
	* gcc.target/powerpc/direct-move-float2.c: Likewise.
	* gcc.target/powerpc/direct-move-double1.c: Likewise.
	* gcc.target/powerpc/direct-move-double2.c: Likewise.
	* gcc.target/powerpc/direct-move-long1.c: Likewise.
	* gcc.target/powerpc/direct-move-long2.c: Likewise.

	* gcc.target/powerpc/pr59054.c: Remove duplicate code.

	* gcc.target/powerpc/bool3-av.c: Limit to 64-bit mode for now.
	* gcc.target/powerpc/bool3-p7.c: Likewise.
	* gcc.target/powerpc/bool3-p8.c: Likewise.

	* gcc.target/powerpc/p8vector-ldst.c: Just check that the
	appropriate instructions are generated, don't check the count.

From-SVN: r205278
2013-11-22 17:24:32 +00:00
Jonathan Wakely 237c8b9d2f re PR libstdc++/59247 (Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace')
PR libstdc++/59247
	* include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace
	std::experimental::__7 as inline.
	* include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not
	enclose namespace __detail.
	* include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
	* include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
	* include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.

From-SVN: r205277
2013-11-22 16:59:25 +00:00
Hans-Peter Nilsson faee0106d8 cris.c (cris_atomic_align_for_mode): New function.
* config/cris/cris.c (cris_atomic_align_for_mode): New function.
	(TARGET_ATOMIC_ALIGN_FOR_MODE): Define.

From-SVN: r205276
2013-11-22 16:39:37 +00:00
Yuri Rumyantsev e52876717c Enable AES, PCLMUL and RDRND for Silvermont
gcc/

2013-11-22  Yuri Rumyantsev  <ysrumyan@gmail.com>

	* config/i386/i386.c(processor_alias_table): Enable PTA_AES,
	PTA_PCLMUL and PTA_RDRND for Silvermont.
	* config/i386/driver-i386.c (host_detect_local_cpu): Set up cpu
	for Silvermont.

	* doc/invoke.texi: Mention AES, PCLMUL and RDRND for Silvermont.

libgcc/

2013-11-22  Yuri Rumyantsev  <ysrumyan@gmail.com>

	 * config/i386/cpuinfo.c (get_intel_cpu): Add Silvermont cases.

From-SVN: r205275
2013-11-22 08:33:40 -08:00
Ian Lance Taylor 861c1d8ed5 compiler: Fixes for middle-end changes.
From Andrew MacLeod.

From-SVN: r205274
2013-11-22 16:20:28 +00:00
Andrew MacLeod fceec4d3d7 hooks.h (hook_uint_mode_0): Add Prototype.
* hooks.h (hook_uint_mode_0): Add Prototype.
	* hooks.c (hook_uint_mode_0): New default function.
	* target.def (atomic_align_for_mode): New target hook.
	* tree.c (build_atomic_base): Add alignment override parameter.
	(build_common_tree_nodes): Use atomic alignment override.
	* doc/tm.texi.in (TARGET_ATOMIC_ALIGN_FOR_MODE): Define.
	* doc/tm.texi (TARGET_ATOMIC_ALIGN_FOR_MODE): Add description.

From-SVN: r205273
2013-11-22 16:19:21 +00:00
Andrew MacLeod 2fb9a547b4 gimple.h: Remove all includes.
* gimple.h: Remove all includes.
	(recalculate_side_effects): Move prototype to gimplify.h.
	* Makefile.in (PLUGIN_HEADERS): Add flattened gimple.h includes.
	* gengtype.c (open_base_files): Add gimple.h include list.
	* gimplify.h (recalculate_side_effects): Relocate prototype here.
	* gimple.c: Adjust include list.
	(recalculate_side_effects): Move to gimplify.c.
	* gimplify.c: Adjust include list.
	(recalculate_side_effects): Relocate from gimple.c.
	* alias.c: Add required include files removed from gimple.h.
	* asan.c: Likewise.
	* builtins.c: Likewise.
	* calls.c: Likewise.
	* cfgexpand.c: Likewise.
	* cfgloop.c: Likewise.
	* cfgloopmanip.c: Likewise.
	* cgraphbuild.c: Likewise.
	* cgraph.c: Likewise.
	* cgraphclones.c: Likewise.
	* cgraphunit.c: Likewise.
	* cilk-common.c: Likewise.
	* data-streamer.c: Likewise.
	* data-streamer-in.c: Likewise.
	* data-streamer-out.c: Likewise.
	* dse.c: Likewise.
	* dwarf2out.c: Likewise.
	* emit-rtl.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.
	* gimple-builder.c: Likewise.
	* gimple-expr.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-iterator.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.
	* gimple-walk.c: Likewise.
	* gimplify-me.c: Likewise.
	* graphite-blocking.c: Likewise.
	* graphite.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.
	* internal-fn.c: Likewise.
	* ipa.c: Likewise.
	* ipa-cp.c: Likewise.
	* ipa-devirt.c: Likewise.
	* ipa-inline-analysis.c: Likewise.
	* ipa-inline.c: Likewise.
	* ipa-profile.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-pure-const.c: Likewise.
	* ipa-reference.c: Likewise.
	* ipa-split.c: Likewise.
	* ipa-utils.c: Likewise.
	* langhooks.c: Likewise.
	* lto-cgraph.c: Likewise.
	* lto-compress.c: Likewise.
	* lto-opts.c: Likewise.
	* lto-section-in.c: Likewise.
	* lto-section-out.c: Likewise.
	* lto-streamer.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* omp-low.c: Likewise.
	* opts-global.c: Likewise.
	* passes.c: Likewise.
	* predict.c: Likewise.
	* profile.c: Likewise.
	* sese.c: Likewise.
	* stmt.c: Likewise.
	* stor-layout.c: Likewise.
	* symtab.c: Likewise.
	* targhooks.c: Likewise.
	* toplev.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-affine.c: Likewise.
	* tree.c: Likewise.
	* tree-call-cdce.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-chrec.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-phinodes.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-address.c: Likewise.
	* tree-ssa-alias.c: Likewise.
	* tree-ssa.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.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-unswitch.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssanames.c: Likewise.
	* tree-ssa-operands.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-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-stdarg.c: Likewise.
	* tree-streamer.c: Likewise.
	* tree-streamer-in.c: Likewise.
	* tree-streamer-out.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.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-slp.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree-vrp.c: Likewise.
	* tsan.c: Likewise.
	* ubsan.c: Likewise.
	* value-prof.c: Likewise.
	* varpool.c: Likewise.
	* var-tracking.c: Likewise.
	* vtable-verify.c: Likewise.

	* ada/gcc-interface/trans.c: Add required include files from gimple.h.

	* c/c-typeck.c: Add required include files from gimple.h.

	* c-family/c-common.c: Add required include files from gimple.h.
	* c-family/c-gimplify.c: Likewise
	* c-family/cilk.c: Likewise

	* cp/class.c: Add required include files from gimple.h.
	* cp/cp-gimplify.c: Likewise
	* cp/decl2.c: Likewise
	* cp/init.c: Likewise
	* cp/optimize.c: Likewise
	* cp/pt.c: Likewise
	* cp/semantics.c: Likewise
	* cp/tree.c: Likewise
	* cp/typeck.c: Likewise
	* cp/vtable-class-hierarchy.c: Likewise

	* fortran/trans.c: Add required include files from gimple.h.
	* fortran/trans-expr.c: Likewise
	* fortran/trans-openmp.c: Likewise

	* go/gofrontend/expressions.cc: Add required include files from
	gimple.h.
	* go/gofrontend/gogo-tree.cc: Likewise
	* go/gofrontend/types.cc: Likewise
	* go/go-gcc.cc: Likewise
	* go/go-lang.c: Likewise

	* java/java-gimplify.c: Add required include files from gimple.h.

	* lto/lto.c: Add required include files from gimple.h.
	* lto/lto-lang.c: Likewise
	* lto/lto-object.c: Likewise
	* lto/lto-partition.c: Likewise
	* lto/lto-symtab.c: Likewise

	* objc/objc-act.c: Add required include files from gimple.h.

	* config/darwin.c: Add required include files removed from gimple.h.
	* config/aarch64/aarch64-builtins.c: Likewise.
	* config/aarch64/aarch64.c: Likewise.
	* config/alpha/alpha.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/i386/winnt.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/m32c/m32c.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.

	* testsuite/gcc.dg/plugin/finish_unit_plugin.c: Add required include
	files removed from gimple.h.
	* testsuite/gcc.dg/plugin/ggcplug.c: Likewise.
	* testsuite/gcc.dg/plugin/one_time_plugin.c: Likewise.
	* testsuite/gcc.dg/plugin/selfassign.c: Likewise.
	* testsuite/gcc.dg/plugin/start_unit_plugin.c: Likewise.
	* testsuite/g++.dg/plugin/selfassign.c: Likewise.

From-SVN: r205272
2013-11-22 15:58:51 +00:00
Richard Earnshaw 8f1c326dea re PR target/59216 (ARM negdi*extendsidi regression)
PR target/59216

gcc/
	* arm.md (negdi_extendsidi): Fix invalid split.

gcc/testsuite/
	* gcc.target/arm/negdi-4.c: Delete invalid test.
	* gcc.dg/torture/pr59216.c: New test.

From-SVN: r205271
2013-11-22 15:43:11 +00:00
Alex Velenko 1e09922c5f [AArch64] vmov_n changes
gcc/
	* config/aarch64/arm_neon.h (vmov_n_f32): Implemented in C.
	(vmov_n_f64): Likewise.
	(vmov_n_p8): Likewise.
	(vmov_n_p16): Likewise.
	(vmov_n_s8): Likewise.
	(vmov_n_s16): Likewise.
	(vmov_n_s32): Likewise.
	(vmov_n_s64): Likewise.
	(vmov_n_u8): Likewise.
	(vmov_n_u16): Likewise.
	(vmov_n_u32): Likewise.
	(vmov_n_u64): Likewise.
	(vmovq_n_f32): Likewise.
	(vmovq_n_f64): Likewise.
	(vmovq_n_p8): Likewise.
	(vmovq_n_p16): Likewise.
	(vmovq_n_s8): Likewise.
	(vmovq_n_s16): Likewise.
	(vmovq_n_s32): Likewise.
	(vmovq_n_s64): Likewise.
	(vmovq_n_u8): Likewise.
	(vmovq_n_u16): Likewise.
	(vmovq_n_u32): Likewise.
	(vmovq_n_u64): Likewise.

gcc/testsuite/
	* gcc.target/aarch64/vmov_n_1.c: New testcase.

From-SVN: r205270
2013-11-22 15:39:45 +00:00
Tejas Belagod 928353177b aarch64-simd.md (vec_pack_trunc_<mode>, [...]): Swap for big-endian.
2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
	* config/aarch64/aarch64-simd.md (vec_pack_trunc_<mode>,
	vec_pack_trunc_v2df, vec_pack_trunc_df): Swap for big-endian.
	(reduc_<sur>plus_<mode>): Factorize V2DI into this.
	(reduc_<sur>plus_<mode>): Change this to reduc_splus_<mode> for floats
	and also change to float UNSPEC.
	(reduc_maxmin_uns>_<mode>): Remove V2DI.
	* config/aarch64/arm_neon.h (vaddv<q>_<suf><8,16,32,64>,
        vmaxv<q>_<suf><8,16,32,64>, vminv<q>_<suf><8,16,32,64>): Fix up scalar
	result access for big-endian.
        (__LANE0): New macro used to fix up lane access of 'across-lanes'
         intrinsics for big-endian.
	* config/aarch64/iterators.md (VDQV): Add V2DI.
	(VDQV_S): New.
	(vp): New mode attribute.

From-SVN: r205269
2013-11-22 15:34:36 +00:00
Tejas Belagod 8fcc1c1fc2 aarch64-simd.md (vec_pack_trunc_<mode>, [...]): Swap source ops for big-endian.
2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
	* config/aarch64/aarch64-simd.md (vec_pack_trunc_<mode>,
	vec_pack_trunc_v2df, vec_pack_trunc_df): Swap source ops for big-endian.

From-SVN: r205268
2013-11-22 15:31:57 +00:00
Tejas Belagod e58bf20adf aarch64-simd.md (aarch64_simd_vec_set<mode>): Adjust for big-endian element order.
2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Adjust
	for big-endian element order.
	(aarch64_simd_vec_setv2di): Likewise.
	(*aarch64_get_lane_extend<GPI:mode><VDQQH:mode>,
	*aarch64_get_lane_zero_extendsi<mode>, aarch64_get_lane): Likewise.
	(vec_extract): Expand using aarch64_get_lane.
	* config/aarch64/aarch64.h (ENDIAN_LANE_N): New.

From-SVN: r205267
2013-11-22 15:29:19 +00:00
Tejas Belagod 635ad37e5a aarch64-simd.md (*aarch64_simd_mov<mode>): Fix loads and stores to be ABI compliant.
2013-11-22  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Fix loads
	and stores to be ABI compliant.

From-SVN: r205266
2013-11-22 15:27:23 +00:00
David Malcolm 8400e75ec4 Remove macros that implicitly use input_location
gcc/
	* input.h (input_line): Remove.
	(input_filename): Likewise.
	(in_system_header): Likewise.
	* tree.h (EXPR_LOC_OR_HERE): Remove.
	* config/bfin/bfin.c (output_file_start): Remove use of
	input_filename macro.
	* builtins.c (c_strlen): Remove use of EXPR_LOC_OR_HERE macro.
	* gimplify.c (internal_get_tmp_var): Likewise.
	EXPR_LOC_OR_HERE macro.
	(shortcut_cond_expr): Likewise.
	* tree-diagnostic.c (diagnostic_report_current_function): Remove
	use of input_filename macro.
	* tree.c (get_file_function_name): Likewise.

gcc/ada
	* gcc-interface/utils2.c (build_call_raise): Remove use of
	input_line macro.
	(build_call_raise_range): Likewise.
	(build_call_raise_column): Likewise.

gcc/c-family
	* c-common.c (unsafe_conversion_p): Remove use of
	EXPR_LOC_OR_HERE macro.
	(conversion_warning): Likewise.
	(warnings_for_convert_and_check): Likewise.
	(warn_for_collisions_1): Likewise.
	(shorten_compare): Likewise, and remove use of in_system_header
	macro, using the location from the former.
	* c-lex.c (dump_one_header): Remove use of input_filename macro.
	(cb_def_pragma): Remove use of in_system_header macro.
	(lex_string): Likewise.
	* c-pragma.c (handle_pragma_float_const_decimal64): Likewise.

gcc/c
	* c-decl.c (define_label, shadow_tag_warned)
	(check_bitfield_type_and_width, grokdeclarator, grokparms,
	store_parm_decls_newstyle, store_parm_decls_oldstyle)
	(declspecs_add_type): Remove use of in_system_header macro.
	* c-parser.c (c_parser_unary_expression): Likewise.
	* c-typeck.c (store_init_value, process_init_element)
	(c_start_case): Likewise.

	* c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
	macro.

	* c-parser.c (c_parser_set_source_position_from_token): Remove
	reference to in_system_header from comment.

gcc/cp
	* call.c (build_integral_nontype_arg_conv): Remove use of
	EXPR_LOC_OR_HERE macro.
	(convert_like_real): Likewise.
	(convert_arg_to_ellipsis): Likewise.
	(build_cxx_call): Likewise.
	(perform_implicit_conversion_flags): Likewise.
	(initialize_reference): Likewise.
	* cvt.c (cp_convert_to_pointer): Likewise.
	(convert_to_reference): Likewise.
	(ocp_convert): Likewise.
	(convert_to_void): Likewise.
	* decl.c (pop_label): Update comment.
	(pop_switch): Remove use of EXPR_LOC_OR_HERE macro.
	(check_tag_decl): Remove use of in_system_header macro.
	(make_rtl_for_nonlocal_decl): Remove use of input_filename
	macro.
	(compute_array_index_type): Remove use of in_system_header
	macro.
	(grokdeclarator): Likewise.
	* error.c (dump_global_iord): Remove use of input_filename
	macro.
	(location_of): Remove use of EXPR_LOC_OR_HERE macro.
	(maybe_warn_cpp0x): Remove use of in_system_header macro.
	* init.c (build_new_1): Remove use of EXPR_LOC_OR_HERE macro.
	* lex.c (handle_pragma_interface): Remove use of input_filename
	macro.
	(handle_pragma_implementation): Likewise.
	(cxx_make_type): Likewise.
	(in_main_input_context): Likewise.
	* name-lookup.c (push_binding_level): Remove use of
	input_line macro.
	(leave_scope): Likewise.
	(resume_scope): Likewise.
	* parser.c (cp_parser_unqualified_id): Remove use of
	in_system_header macro.
	(cp_parser_cast_expression): Likewise.
	(cp_parser_declaration_seq_opt): Likewise.
	(cp_parser_enumerator_list): Likewise.
	(cp_parser_parameter_declaration_clause): Likewise.
	(cp_parser_exception_specification_opt): Likewise.
	* pt.c (unify_arg_conversion): Remove use of EXPR_LOC_OR_HERE
	macro.
	(convert_nontype_argument): Likewise.
	(push_tinst_level): Remove use of in_system_header macro.
	(tsubst_copy_and_build): Remove use of EXPR_LOC_OR_HERE
	macros.
	(do_decl_instantiation): Remove use of in_system_header macro.
	(do_type_instantiation): Likewise.
	* semantics.c (finish_call_expr): Remove use of EXPR_LOC_OR_HERE
	macro.
	(begin_class_definition): Remove use of input_filename macro.
	(cxx_eval_call_expression): Remove use of EXPR_LOC_OR_HERE
	macro.
	(cxx_eval_constant_expression): Likewise.
	(potential_constant_expression_1): Likewise.
	* typeck.c (decay_conversion): Likewise.
	(rationalize_conditional_expr): Likewise.
	(build_x_compound_expr_from_list): Likewise.
	(convert_for_assignment): Likewise.
	* typeck2.c (check_narrowing): Likewise.

gcc/fortran
	* trans.c (trans_runtime_error_vararg): Remove use of input_line
	macro.

gcc/java
	* class.c (maybe_layout_super_class): Update comment.
	* decl.c (java_add_stmt): Remove use of input_filename macro.
	* jcf-parse.c (set_source_filename): Remove use of
	input_filename macro.
	(parse_class_file): Remove use of input_line and input_filename
	macros.
	(java_parse_file): Remove use of input_filename macro.

From-SVN: r205262
2013-11-22 14:18:13 +00:00
Richard Sandiford f81448f752 Fix formatting of changelog entry.
From-SVN: r205261
2013-11-22 13:59:55 +00:00
Kenneth Zadeck 905b0e0729 2013-11-22 zadeck@naturalbridge.com
2013-11-22  zadeck@naturalbridge.com
	* store-layout.c
	(place-field): Fix hwi test and accessor mismatch.

From-SVN: r205260
2013-11-22 13:55:53 +00:00
Jakub Jelinek 29d78eafa6 expr.c (store_constructor): Allow CONSTRUCTOR with VECTOR_TYPE (same sized) elements even if...
* expr.c (store_constructor): Allow CONSTRUCTOR with VECTOR_TYPE
	(same sized) elements even if the type of the CONSTRUCTOR has
	vector mode and target is a REG.

From-SVN: r205259
2013-11-22 14:22:51 +01:00
Jonathan Wakely 2dc2114458 acinclude.m4 (libtool_VERSION): Bump.
2013-11-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* acinclude.m4 (libtool_VERSION): Bump.
	* configure: Regenerate.
	* doc/xml/manual/abi.xml: Update version information.

From-SVN: r205258
2013-11-22 13:18:42 +00:00
Richard Biener 1e37d699ca revert: tree-ssa-loop-ch.c (copy_loop_headers): Decrement nb_iterations_upper_bound by one.
2013-11-22  Richard Biener  <rguenther@suse.de>

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

	* tree-ssa-loop-ch.c (copy_loop_headers): Decrement
	nb_iterations_upper_bound by one.

        * gcc.dg/torture/20131122-0.c: New testcase.

From-SVN: r205256
2013-11-22 13:17:41 +00:00
H.J. Lu 7dced2146b Enable PTA_POPCNT for Silvermont
* config/i386/i386.c (processor_alias_table): Enable PTA_POPCNT
	for Silvermont.

	* doc/invoke.texi: Mention POPCNT for corei7, corei7-avx,
	core-avx-i, core-avx2 and slm.

From-SVN: r205255
2013-11-22 04:57:14 -08:00
Rainer Orth 954d457405 Only use visibility if supported
* configure.ac (libcilkrts_cv_have_attribute_visibility): Check
	for __attribute__((visibility)).
	* configure: Regenerate.
	* include/cilk/common.h (CILK_EXPORT, CILK_EXPORT_DATA): Only use
	__attribute__((visibility)) if HAVE_ATTRIBUTE_VISIBILITY.

From-SVN: r205254
2013-11-22 11:44:56 +00:00
Rainer Orth 517854bc93 Enable libcilkrts multilib build on Solaris
* configure.ac (AC_PROG_CXX): Move after AC_PROG_CC.
	* configure: Regenerate.

From-SVN: r205253
2013-11-22 11:41:48 +00:00
Eric Botcazou 9ccf7d920e * print-rtl.c (print_rtx) <case MEM>: Output a space if no MEM_EXPR.
From-SVN: r205251
2013-11-22 11:22:51 +00:00
Paolo Carlini 72fd36d76a values.cc: Fix further thinkos.
2013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/ext/random/hypergeometric_distribution/operators/
	values.cc: Fix further thinkos.

From-SVN: r205249
2013-11-22 10:19:46 +00:00
Paolo Carlini 8a1c51c49a values.cc: Fix thinkos.
2013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/ext/random/hypergeometric_distribution/operators/
	values.cc: Fix thinkos.

From-SVN: r205248
2013-11-22 10:08:39 +00:00
Richard Sandiford 06ccd3c154 cond.md (stzx_16): Use register_operand for operand 0.
gcc/
	* config/m32c/cond.md (stzx_16): Use register_operand for operand 0.
	(stzx_24_<mode>): Likewise mra_operand.

From-SVN: r205247
2013-11-22 08:44:31 +00:00
Jeff Law e7e7f402d5 tree-ssa-threadupdate.c: Include tree-cfg.h and tree-pass.h
* tree-ssa-threadupdate.c: Include tree-cfg.h and tree-pass.h
	(thread_block_1): Do not cancel jump threads which go from
	inside a loop, through the header, then back inside the loop.
	(bb_ends_with_multiway_branch): New function.
	(thread_through_all_blocks): Handle threading cases which start
	in a loop through the loop header to a point in the loop.

From-SVN: r205246
2013-11-22 00:48:21 -07:00
Jeff Law e44a45c610 tree-ssa-threadedge.c (thread_across_edge): Mark the start of the jump thread path properly.
* tree-ssa-threadedge.c (thread_across_edge): Mark the start of
        the jump thread path properly.

From-SVN: r205245
2013-11-22 00:36:12 -07:00
Trevor Saunders ef062b13d7 add auto_vec
2013-11-22  Trevor Saunders  <tsaunders@mozilla.com>

gcc/
	* vec.h (auto_vec): New class.
	* cfganal.c, cfgloop.c, cgraphunit.c, config/i386/i386.c, dwarf2out.c,
	function.c, genautomata.c, gimple.c, haifa-sched.c, ipa-inline.c,
	ira-build.c, loop-unroll.c, omp-low.c, ree.c, trans-mem.c,
tree-call-cdce.c, tree-eh.c, tree-if-conv.c, tree-into-ssa.c,
tree-loop-distribution.c, tree-predcom.c, tree-sra.c,
tree-sssa-forwprop.c, tree-ssa-loop-manip.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
	tree-vect-loop.c, tree-vect-stmts.c: Use auto_vec and stack_vec as
	appropriate instead of vec for local variables.

	cp/
	* parser.c, semantics.c: Change some local variables from vec to
	auto_vec or stack_vec.

From-SVN: r205244
2013-11-22 05:45:37 +00:00
Teresa Johnson d41d612242 re PR target/59233 (C++ failures after revision 205058 on *-apple-darwin* with -m32)
2013-11-21  Teresa Johnson  <tejohnson@google.com>

	PR target/59233
	* cfgcleanup.c (outgoing_edges_match): Walk up past note instructions
	not understood by old_insns_match_p.

From-SVN: r205243
2013-11-22 04:16:47 +00:00
Bill Schmidt 5b3f0a5475 vector.md (vec_pack_trunc_v2df): Revert previous little endian change.
2013-11-21  Bill Schmidt  <wschmidt@vnet.ibm.com>

	* config/rs6000/vector.md (vec_pack_trunc_v2df): Revert previous
	little endian change.
	(vec_pack_sfix_trunc_v2df): Likewise.
	(vec_pack_ufix_trunc_v2df): Likewise.
	* config/rs6000/rs6000.c (rs6000_expand_interleave): Correct
	double checking of endianness.

From-SVN: r205241
2013-11-22 03:27:23 +00:00
Jakub Jelinek ce7e41fc9a tree-vect-generic.c (optimize_vector_constructor): New function.
* tree-vect-generic.c (optimize_vector_constructor): New function.
	(expand_vector_operations_1): Call it.

	* gcc.dg/vect/vect-124.c: New test.

From-SVN: r205240
2013-11-22 01:41:38 +01:00
GCC Administrator 061bdebb8b Daily bump.
From-SVN: r205239
2013-11-22 00:17:08 +00:00
Uros Bizjak 8c55ffeb2a i386.c (ix86_expand_special_args_builtin): Use ix86_zero_extend_to_Pmode where appropriate.
* config/i386/i386.c (ix86_expand_special_args_builtin): Use
	ix86_zero_extend_to_Pmode where appropriate.
	(ix86_expand_builtin): Ditto.

From-SVN: r205236
2013-11-22 00:36:31 +01:00
Cary Coutant 51b83fdd47 Add minimal line tables at -g1.
2013-11-21  Cary Coutant  <ccoutant@google.com>

gcc/
	* dwarf2out.c (want_pubnames): Don't do pubnames for -g1.
	(add_linkage_name): Don't add linkage name for -g1.
	(decls_for_scope): Process subblocks for -g1.
	(dwarf2out_source_line): Output line tables for -g1.
	(dwarf2out_finish): Likewise.
	* tree-ssa-live.c (remove_unused_scope_block_p): Don't prune
	unused scopes for -g1.
	* opts.c (common_handle_option): Handle -g same as -g2.
	* doc/invoke.texi: Update description for -g1.

gcc/testsuite/
	* gcc.dg/debug/dwarf2/mlt1.c: New test.
	* gcc.dg/debug/dwarf2/mlt2.c: New test.

From-SVN: r205235
2013-11-21 15:08:27 -08:00
Peter Bergner af7d1b7d17 * doc/extend.texi: Document htm builtins.
From-SVN: r205233
2013-11-21 15:19:35 -06:00
Jeff Law a609470572 re PR tree-optimization/59221 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
PR tree-optimization/59221
	* tree-ssa-threadedge.c (thread_across_edge): Properly manage
	temporary equivalences when threading through joiner blocks.

	PR tree-optimization/59221
	* gcc.c-torture/execute/pr59221.c: New test.

From-SVN: r205229
2013-11-21 12:45:16 -07:00
Joseph Myers 3c8e8595ed re PR rtl-optimization/55950 (Invalid sqrt constant propagation with -frounding-mode)
PR rtl-optimization/55950
	* real.c (real_sqrt): Remove function.
	* real.h (real_sqrt): Remove prototype.
	* simplify-rtx.c (simplify_const_unary_operation): Do not fold
	SQRT using real_sqrt.

From-SVN: r205223
2013-11-21 16:20:28 +00:00
Richard Biener 15e693cc59 re PR tree-optimization/59058 (wrong code at -O3 on x86_64-linux-gnu (affecting gcc 4.6 to trunk))
2013-11-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59058
	* tree-scalar-evolution.h (number_of_exit_cond_executions): Remove.
	* tree-scalar-evolution.c (number_of_exit_cond_executions): Likewise.
	* tree-vectorizer.h (LOOP_PEELING_FOR_ALIGNMENT): Rename to ...
	(LOOP_VINFO_PEELING_FOR_ALIGNMENT): ... this.
	(NITERS_KNOWN_P): Fold into ...
	(LOOP_VINFO_NITERS_KNOWN_P): ... this.
	(LOOP_VINFO_PEELING_FOR_NITER): Add.
	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
	Use LOOP_VINFO_PEELING_FOR_ALIGNMENT.
	(vect_do_peeling_for_alignment): Re-use precomputed niter
	instead of re-emitting it.
	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
	Use LOOP_VINFO_PEELING_FOR_ALIGNMENT.
	* tree-vect-loop.c (vect_get_loop_niters): Use
	number_of_latch_executions.
	(new_loop_vec_info): Initialize LOOP_VINFO_PEELING_FOR_NITER.
	(vect_analyze_loop_form): Simplify.
	(vect_analyze_loop_operations): Move epilogue peeling code ...
	(vect_analyze_loop_2): ... here and adjust it to compute
	LOOP_VINFO_PEELING_FOR_NITER.
	(vect_estimate_min_profitable_iters): Use
	LOOP_VINFO_PEELING_FOR_ALIGNMENT.
	(vect_build_loop_niters): Emit on the preheader.
	(vect_generate_tmps_on_preheader): Likewise.
	(vect_transform_loop): Use LOOP_VINFO_PEELING_FOR_NITER instead
	of recomputing it.  Adjust.

From-SVN: r205217
2013-11-21 14:09:15 +00:00
Richard Biener b05e02332f tree-vectorizer.h (LOC, [...]): Remove wrappers and fix all users.
2013-11-21  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
	LOC_LINE): Remove wrappers and fix all users.
	(struct _loop_vec_info): Remove loop_line_number member.
	(LOOP_VINFO_LOC): Remove.
	* tree-parloops.c, tree-vect-loop-manip.c, tree-vect-slp.c,
	tree-vectorizer.c: Fix users of LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE
	and LOC_LINE.

From-SVN: r205216
2013-11-21 13:57:40 +00:00