1. 15 Apr, 2014 20 commits
    • cfg.c (dump_bb_info): Fix flags check. · d00e4baa
      2014-04-15  Teresa Johnson  <tejohnson@google.com>
      
      	* cfg.c (dump_bb_info): Fix flags check.
      	* tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
      
      2014-04-15  Teresa Johnson  <tejohnson@google.com>
      
      	* gcc.dg/tree-prof/update-loopch.c: Update expected output.
      
      From-SVN: r209421
      Teresa Johnson committed
    • decl.c (duplicate_decls): Remove redundant TYPE_NAME use. · fe9208ef
      2014-04-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
      	* name-lookup.c (pushdecl_maybe_friend_1): Likewise.
      	(do_class_using_decl): Likewise.
      	* mangle.c (dump_substitution_candidates): Use TYPE_NAME_STRING.
      
      From-SVN: r209420
      Paolo Carlini committed
    • re PR rtl-optimization/60663 (Errors out on valid inline asm) · 98a2fdfb
      
      	PR rtl-optimization/60663
      	* config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
      	avoid 0 cost.
      
      From-SVN: r209419
      Kyrylo Tkachov committed
    • re PR libstdc++/60695 (std::atomic<X> doesn't work when X is of zero size) · 9ffc6d0b
      	PR libstdc++/60695
      	* include/std/atomic (atomic<_Tp>): Add static assertion.
      	* testsuite/29_atomics/atomic/60695.cc: New.
      
      From-SVN: r209418
      Jonathan Wakely committed
    • lto-streamer.h (LTO_major_version): Bump to 4. · b9ed2c2c
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* lto-streamer.h (LTO_major_version): Bump to 4.
      
      From-SVN: r209417
      Richard Biener committed
    • common.opt (lto_partition_model): New enum. · 783dab6b
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* common.opt (lto_partition_model): New enum.
      	(flto-partition=): Merge separate options with a single with argument,
      	add -flto-partition=one support.
      	* flag-types.h (enum lto_partition_model): Declare.
      	* opts.c (finish_options): Remove duplicate -flto-partition=
      	option check.
      	* lto-wrapper.c (run_gcc): Adjust.
      
      	lto/
      	* lto.c: Include params.h.
      	(do_whole_program_analysis): Switch on flag_lto_partition value,
      	add support for LTO_PARTITION_ONE.
      	* lto-partition.h (lto_balanced_map): Adjust.
      	* lto-partition.c (lto_balanced_map): Get number of desired
      	partitions as argument to support -flto-partition=one.
      
      From-SVN: r209416
      Richard Biener committed
    • re PR libstdc++/60734 (Undefined behavior in g++-v4/bits/stl_tree.h) · 4b3f9829
      	PR libstdc++/60734
      	* include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
      
      From-SVN: r209414
      Jonathan Wakely committed
    • alias.c (ncr_compar): New function. · d8e4ce6d
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* alias.c (ncr_compar): New function.
      	(nonoverlapping_component_refs_p): Re-implement in O (n log n).
      
      From-SVN: r209413
      Richard Biener committed
    • alias.c (record_component_aliases): Do not walk BINFOs. · 1999fd7d
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* alias.c (record_component_aliases): Do not walk BINFOs.
      
      From-SVN: r209412
      Richard Biener committed
    • decl.c (gnat_to_gnu_entity): Create a mere scalar constant instead of a… · e297e2ea
      decl.c (gnat_to_gnu_entity): Create a mere scalar constant instead of a reference for renaming of scalar literal.
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a mere
      	scalar constant instead of a reference for renaming of scalar literal.
      	Do not create a new object for constant renaming except for a function
      	call.  Make sure a VAR_DECL is created for the renaming pointer.
      	* gcc-interface/trans.c (constant_decl_with_initializer_p): New.
      	(fold_constant_decl_in_expr): New function.
      	(Identifier_to_gnu): Use constant_decl_with_initializer_p.
      	For a constant renaming, try to fold a constant DECL in the result.
      	(lvalue_required_p) <N_Object_Renaming_Declaration>: Always return 1.
      	(Identifier_to_gnu): Reference the renamed object of constant renaming
      	pointers directly.
      	(Case_Statement_to_gnu): Do not re-fold the bounds of integer types.
      	Assert that the case values are constant.
      	* gcc-interface/utils.c (invalidate_global_renaming_pointers): Do not
      	invalidate constant renaming pointers.
      
      Co-Authored-By: Pierre-Marie de Rodat <derodat@adacore.com>
      
      From-SVN: r209411
      Eric Botcazou committed
    • utils.c (type_for_vector_element_p): New predicate. · e63b36bd
      	* gcc-interface/utils.c (type_for_vector_element_p): New predicate.
      	(build_vector_type_for_size): New function.
      	(build_vector_type_for_array): Likewise.
      	(unchecked_convert): Build an intermediate vector type to convert
      	from a generic array type to a vector type.
      	(handle_vector_size_attribute): Reimplement.
      	(handle_vector_type_attribute): Likewise.
      
      From-SVN: r209410
      Eric Botcazou committed
    • decl.c (prepend_one_attribute_pragma): Call Is_OK_Static_Expression in lieu of… · bd6a077a
      decl.c (prepend_one_attribute_pragma): Call Is_OK_Static_Expression in lieu of Is_Static_Expression to detect valid...
      
      	* gcc-interface/decl.c (prepend_one_attribute_pragma): Call
      	Is_OK_Static_Expression in lieu of Is_Static_Expression to
      	detect valid arguments.
      
      From-SVN: r209409
      Eric Botcazou committed
    • tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Add struct function… · 628169e0
      tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Add struct function argument and adjust.
      
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
      	Add struct function argument and adjust.
      	(find_func_aliases_for_call): Likewise.
      	(find_func_aliases): Likewise.
      	(find_func_clobbers): Likewise.
      	(intra_create_variable_infos): Likewise.
      	(compute_points_to_sets): Likewise.
      	(ipa_pta_execute): Adjust.  Do not push/pop cfun.
      
      From-SVN: r209408
      Richard Biener committed
    • Minor tweaks · d6d215ac
      From-SVN: r209407
      Eric Botcazou committed
    • tree.c (iterative_hash_expr): Use enum tree_code_class to store TREE_CODE_CLASS. · 349e6210
      2014-04-15  Richard Biener  <rguenther@suse.de>
      
      	* tree.c (iterative_hash_expr): Use enum tree_code_class
      	to store TREE_CODE_CLASS.
      	(tree_block): Likewise.
      	(tree_set_block): Likewise.
      	* tree.h (fold_build_pointer_plus_loc): Use
      	convert_to_ptrofftype_loc.
      
      From-SVN: r209406
      Richard Biener committed
    • re PR plugins/59335 (Plugin doesn't build on trunk) · 4f0ddb6f
      	PR plugins/59335
      	* Makefile.in (PLUGIN_HEADERS): Add various headers that have been
      	added in 4.9.
      
      	* Make-lang.h (CP_PLUGIN_HEADERS): Add type-utils.h.
      
      From-SVN: r209404
      Jakub Jelinek committed
    • cfgloop.h (struct loop): Move force_vectorize down. · 718c4601
      	* cfgloop.h (struct loop): Move force_vectorize down.
      	* gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
      	(gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
      	* lto-streamer-in.c (input_cfg): Read dont_vectorize field.
      	* lto-streamer-out.c (output_cfg): Write dont_vectorize field.
      	* tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
      	* tree-core.h (enum annot_expr_kind): Add new kind values.
      	* tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
      	* tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
      	kinds.
      	* tree.def (ANNOTATE_EXPR): Tweak comment.
      ada/
      	* gcc-interface/trans.c (gnat_gimplify_stmt): Propagate loop hints.
      
      From-SVN: r209403
      Eric Botcazou committed
    • null-deref-1.c: Change regexp to pass test under qemu-arm. · d2994b80
      2014-04-15  Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* c-c++-common/asan/null-deref-1.c: Change regexp to pass test
      	under qemu-arm.
      	* c-c++-common/ubsan/div-by-zero-1.c: Likewise.
      	* c-c++-common/ubsan/div-by-zero-2.c: Likewise.
      	* c-c++-common/ubsan/div-by-zero-3.c: Likewise.
      	* c-c++-common/ubsan/load-bool-enum.c (foo): Likewise.
      	* c-c++-common/ubsan/null-1.c: Likewise.
      	* c-c++-common/ubsan/null-10.c: Likewise.
      	* c-c++-common/ubsan/null-11.c: Likewise.
      	* c-c++-common/ubsan/null-2.c: Likewise.
      	* c-c++-common/ubsan/null-3.c: Likewise.
      	* c-c++-common/ubsan/null-4.c: Likewise.
      	* c-c++-common/ubsan/null-5.c: Likewise.
      	* c-c++-common/ubsan/null-6.c: Likewise.
      	* c-c++-common/ubsan/null-7.c: Likewise.
      	* c-c++-common/ubsan/null-8.c: Likewise.
      	* c-c++-common/ubsan/null-9.c: Likewise.
      	* c-c++-common/ubsan/overflow-add-2.c: Likewise.
      	* c-c++-common/ubsan/overflow-int128.c: Likewise.
      	* c-c++-common/ubsan/overflow-mul-2.c: Likewise.
      	* c-c++-common/ubsan/overflow-mul-4.c: Likewise.
      	* c-c++-common/ubsan/overflow-negate-1.c: Likewise.
      	* c-c++-common/ubsan/overflow-sub-2.c: Likewise.
      	* c-c++-common/ubsan/pr59333.c: Likewise.
      	* c-c++-common/ubsan/pr59667.c: Likewise.
      	* c-c++-common/ubsan/pr60613-2.c: Likewise.
      	* c-c++-common/ubsan/pr60636.c: Likewise.
      	* c-c++-common/ubsan/shift-1.c: Likewise.
      	* c-c++-common/ubsan/shift-2.c: Likewise.
      	* c-c++-common/ubsan/vla-1.c: Likewise.
      
      From-SVN: r209402
      Max Ostapenko committed
    • Daily bump. · 052d224e
      From-SVN: r209399
      GCC Administrator committed
  2. 14 Apr, 2014 20 commits
    • N3887 Consistent Metafunction Aliases · 025eac9b
      	* include/std/tuple (tuple_element_t): Define.
      	* testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
      	test.
      	* testsuite/20_util/tuple/tuple_element_t.cc: New.
      
      From-SVN: r209395
      Jonathan Wakely committed
    • Sync to current external repository. · 7035307e
      user:        Ian Lance Taylor <iant@golang.org>
      date:        Thu Apr 10 09:25:24 2014 -0700
      files:       go/expressions.cc
      description:
      compiler: add checks for constant overflow
      
      Prevent extremely large constants from eating all of memory.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Apr 07 16:57:09 2014 -0700
      files:       go/gogo-tree.cc go/gogo.cc go/gogo.h go/statements.cc
      description:
      compiler: Use backend interface for variable initialization.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Thu Apr 03 19:56:05 2014 -0700
      files:       go/backend.h go/gogo-tree.cc go/gogo.cc go/gogo.h
      description:
      compiler: Use backend interface to build function code.
      
      
      changeset:   1269:6e30875d539e
      user:        Chris Manghane <cmang@golang.org>
      date:        Wed Apr 02 13:16:00 2014 -0700
      files:       go/backend.h go/gogo-tree.cc go/gogo.cc go/gogo.h
      description:
      compiler: Use backend interface for building function defer wrappers.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 31 12:42:49 2014 -0700
      files:       go/expressions.cc go/gogo-tree.cc go/gogo.cc go/gogo.h
      description:
      compiler: Use backend interface for memory allocation.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Thu Mar 27 14:22:49 2014 -0700
      files:       go/backend.h go/expressions.cc go/expressions.h
      description:
      compiler: Use backend interface for fixed array construction.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 17 21:25:04 2014 -0700
      files:       go/expressions.cc
      description:
      compiler: Check for loops in self-referential array types. Fixes issue 7525.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 17 14:31:59 2014 -0700
      files:       go/gogo.cc go/parse.cc
      description:
      compiler: Don't declare blank labels. Fixes issue 7539.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 17 13:12:32 2014 -0700
      files:       go/backend.h go/expressions.cc go/expressions.h go/runtime.def
      description:
      compiler: Use backend interface for call expressions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Wed Mar 12 13:34:27 2014 -0700
      files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/statements.cc
      description:
      compiler: Use backend interface map construction.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Tue Mar 11 12:53:06 2014 -0700
      files:       go/backend.h go/expressions.cc go/gogo-tree.cc go/gogo.h
      description:
      compiler: Use backend interface for string expressions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Sat Mar 08 15:56:59 2014 -0800
      files:       go/backend.h go/expressions.cc go/expressions.h
      description:
      compiler: Use backend interface for array and string indexing.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Fri Mar 07 16:02:18 2014 -0800
      files:       go/expressions.cc
      description:
      compiler: Use backend interface for constant expressions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Thu Mar 06 16:00:18 2014 -0800
      files:       go/expressions.cc
      description:
      compiler: Use backend interface for struct construction.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Wed Mar 05 13:09:37 2014 -0800
      files:       go/expressions.cc
      description:
      compiler: Use backend interface for type conversions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Tue Mar 04 07:03:47 2014 -0800
      files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/gogo.h go/runtime.def libgo/runtime/chan.c
      description:
      compiler: Use backend interface for channel receive.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 03 15:18:57 2014 -0800
      files:       go/backend.h go/expressions.cc go/runtime.def
      description:
      compiler: Use backend interface for builtin calls.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Mar 03 07:44:35 2014 -0800
      files:       go/expressions.cc go/expressions.h go/types.cc go/types.h
      description:
      compiler: Use backend interface for string info.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Fri Feb 28 10:45:55 2014 -0800
      files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/statements.cc
      description:
      compiler: Use backend interface for map indexing.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Wed Feb 26 14:13:10 2014 -0800
      files:       go/expressions.cc go/expressions.h
      description:
      compiler: Use backend interface for slice value expressions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Wed Feb 26 13:12:19 2014 -0800
      files:       go/backend.h go/expressions.cc go/expressions.h go/gogo-tree.cc go/runtime.def go/statements.cc
      description:
      compiler: Use backend interface for interface values.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Feb 24 12:30:13 2014 -0800
      files:       go/expressions.cc go/expressions.h go/parse.cc go/statements.cc
      description:
      compiler: Change Heap_composite_expression to Heap_expression.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Thu Feb 20 19:47:06 2014 -0800
      files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/gogo.cc go/gogo.h go/types.cc go/types.h
      description:
      compiler: Use backend interface for interface method table expressions.
      
      
      user:        Chris Manghane <cmang@golang.org>
      date:        Mon Feb 03 14:36:20 2014 -0800
      files:       go/expressions.cc go/expressions.h
      description:
      compiler: Add compound expressions to the frontend.
      
      
      	* go-gcc.cc: Include "convert.h".
      	(Gcc_backend::string_constant_expression): New function.
      	(Gcc_backend::real_part_expression): Likewise.
      	(Gcc_backend::imag_part_expression): Likewise.
      	(Gcc_backend::complex_expression): Likewise.
      	(Gcc_backend::constructor_expression): Likewise.
      	(Gcc_backend::array_constructor_expression): Likewise.
      	(Gcc_backend::pointer_offset_expression): Likewise.
      	(Gcc_backend::array_index_expression): Likewise.
      	(Gcc_backend::call_expression): Likewise.
      	(Gcc_backend::exception_handler_statement): Likewise.
      	(Gcc_backend::function_defer_statement): Likewise.
      	(Gcc_backend::function_set_parameters): Likewise.
      	(Gcc_backend::function_set_body): Likewise.
      	(Gcc_backend::convert_expression): Handle various type
      	conversions.
      
      From-SVN: r209393
      Chris Manghane committed
    • ipa-devirt.c (maybe_record_node): Ignore all non-methods (including cxa_pure_virtual). · 88f592e3
      
      	* ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
      	cxa_pure_virtual).
      
      From-SVN: r209391
      Jan Hubicka committed
    • tree.h (TYPE_IDENTIFIER): Declare. · 9dba4b55
      2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* tree.h (TYPE_IDENTIFIER): Declare.
      	* tree.c (subrange_type_for_debug_p): Use it.
      	* godump.c (go_format_type): Likewise.
      	* dwarf2out.c (is_cxx_auto, modified_type_die,
      	gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
      	* dbxout.c (dbxout_type, dbxout_symbol): Likewise.
      
      /cp
      2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* cp-tree.h (TYPE_IDENTIFIER): Remove declaration.
            	    
      /objcp
      2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* objcp-decl.h (OBJC_TYPE_NAME, OBJC_SET_TYPE_NAME): Use
      	TYPE_IDENTIFIER.
      
      /ada
      2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity, components_to_record):
      	Use TYPE_IDENTIFIER.
      	* gcc-interface/utils.c (make_aligning_type, maybe_pad_type,
      	finish_record_type, rest_of_record_type_compilation): Likewise.
      
      From-SVN: r209390
      Paolo Carlini committed
    • re PR lto/60820 (ice in ctor_for_folding, at varpool.c:291) · 006202e8
      
      	PR lto/60820
      	* varpool.c (varpool_remove_node): Do not alter decls when streaming.
      
      From-SVN: r209389
      Jan Hubicka committed
    • i386.c (examine_argument): Return bool. · e0a81db1
      	* config/i386/i386.c (examine_argument): Return bool.  Return true if
      	parameter should be passed in memory.
      	<case X86_64_COMPLEX_X87_CLASS>: Adjust.
      	(construct_container): Update calls to examine_argument.
      	(function_arg_advance_64): Ditto.
      	(return_in_memory_32): Merge with ix86_return_in_memory.
      	(return_in_memory_64): Ditto.
      	(return_in_memory_ms_64): Ditto.
      
      From-SVN: r209388
      Uros Bizjak committed
    • ipa-utils.c (ipa_merge_profiles): Merge profile_id. · cb90235d
      
      	* ipa-utils.c (ipa_merge_profiles): Merge profile_id.
      	* coverage.c (coverage_compute_profile_id): Handle externally visible
      	symbols.
      
      	* lto/lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
      	tp_first_run.
      
      From-SVN: r209387
      Jan Hubicka committed
    • tree-sra.c (ipa_sra_preliminary_function_checks): Skip DECL_DISREGARD_INLINE_LIMITS functions. · 7b3b340e
      2014-04-14  Martin Jambor  <mjambor@suse.cz>
      
      	* tree-sra.c (ipa_sra_preliminary_function_checks): Skip
      	DECL_DISREGARD_INLINE_LIMITS functions.
      
      From-SVN: r209386
      Martin Jambor committed
    • Revert the last change on *fixuns_trunc<mode>_1 · 2ed3b4ee
      	PR target/60827
      	* config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last
      	change.
      
      From-SVN: r209385
      H.J. Lu committed
    • Check optimize_insn_for_speed_p in *fixuns_trunc<mode>_1 · 10fa463f
      Since fixuns_trunc<mode>si2 expander checks optimize_insn_for_size_p
      before generating *fixuns_trunc<mode>_1,  we should use
      optimize_insn_for_speed_p in *fixuns_trunc<mode>_1 for consistency.
      
      	PR target/60827
      	* config/i386/i386.md (*fixuns_trunc<mode>_1): Check
      	optimize_insn_for_speed_p instead of
      	optimize_function_for_speed_p.
      
      From-SVN: r209383
      H.J. Lu committed
    • re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though… · 39e6a690
      re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
      
      	PR libstdc++/60497
      	* include/std/tuple (get): Qualify calls to prevent ADL.
      	* testsuite/20_util/tuple/60497.cc: New.
      
      From-SVN: r209381
      Jonathan Wakely committed
    • allocator.h (operator==, operator!=): Add exception specifications. · e364673d
      	* include/bits/allocator.h (operator==, operator!=): Add exception
      	specifications.
      
      From-SVN: r209379
      Jonathan Wakely committed
    • Limit operations on vector::pointer to NullablePointer requirements. · 5b99e0a0
      	* include/bits/stl_vector.h (_Vector_base::_Vector_impl,
      	_Vector_base::_M_allocate): NullablePointer requirements do not
      	include initialization from literal zero, use value-initialization.
      	* include/bits/vector.tcc (vector::_M_insert_aux,
      	vector::_M_explace_back_aux): Likewise for assignment.
      
      From-SVN: r209377
      Jonathan Wakely committed
    • invoke.texi (free): Document AArch64. · b621e875
      gcc/
      
      	* doc/invoke.texi (free): Document AArch64.
      
      From-SVN: r209376
      Yufeng Zhang committed
    • snames.ads-tmpl (Name_Ivdep): New pragma-related name. · 3418f5e9
      	* snames.ads-tmpl (Name_Ivdep): New pragma-related name.
      	* sem_prag.adb (Analyze_Pragma) <Pragma_Loop_Optimize>: Add support
      	for Ivdep hint.
      	* gnat_rm.texi (Implementation Defined Pragmas): Document new Ivdep
      	hint for Loop_Optimize.
      	* gnat_ugn.texi (Vectorization of loops): Mention new Ivdep hint.
      	* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Loop_Optimize>: Deal
      	with new Ivdep hint.
      	* gcc-interface/ada-tree.h (LOOP_STMT_IVDEP): New macro.
      	* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Loop_Optimize>: Deal
      	with new Ivdep hint.
      	(gnat_gimplify_stmt) <LOOP_STMT>: Propagate the loop hints.
      
      From-SVN: r209375
      Eric Botcazou committed
    • re PR tree-optimization/60042 (vectorizer still does too many dependence tests for himeno:jacobi) · cddaefa3
      2014-04-14  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/60042
      	* tree-ssa-pre.c (inhibit_phi_insertion): Remove.
      	(insert_into_preds_of_block): Do not prevent PHI insertion
      	for REFERENCE exprs here ...
      	(eliminate_dom_walker::before_dom_children): ... but prevent
      	their use here under similar conditions when applied to the
      	IL after PRE optimizations.
      
      From-SVN: r209374
      Richard Biener committed
    • passes.def: Move early points-to after early SRA. · a9e4c82f
      2014-04-14  Richard Biener  <rguenther@suse.de>
      
      	* passes.def: Move early points-to after early SRA.
      
      From-SVN: r209373
      Richard Biener committed
    • tree-ssa-forwprop.c (simplify_gimple_switch): Enhance check for which sign-changes we allow when... · 7b4cae1b
      2014-04-14  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
      	check for which sign-changes we allow when forwarding
      	a converted value into a switch.
      
      	* g++.dg/tree-ssa/forwprop-switch.C: New testcase.
      
      From-SVN: r209372
      Richard Biener committed
    • opt.ads (Suppress_Back_Annotation): Remove as unused. · 4116e7d0
      	* opt.ads (Suppress_Back_Annotation): Remove as unused.
      	* fe.h (Back_Annotate_Rep_Info): Likewise.
      	(Global_Discard_Names): Likewise.
      	(List_Representation_Info): Declare.
      	* types.h (Uint_Minus_1): Likewise.
      	* repinfo.ads: Document back-annotation change.
      	* gcc-interface/gigi.h (init_gnat_decl): Declare.
      	(destroy_gnat_decl): Likewise.
      	* gcc-interface/decl.c (annotate_value): Do not create the cache of
      	annotated values here but...
      	<CALL_EXPR>: Only inline the call if -gnatR3 is specified or we are
      	in ASIS mode.
      	(init_gnat_decl): ...here instead.  New function.
      	(destroy_gnat_decl): Likewise.
      	* gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_decl.
      	* gcc-interface/utils.c (init_gnat_utils): Minor reformatting.
      
      Co-Authored-By: Robert Dewar <dewar@adacore.com>
      
      From-SVN: r209371
      Eric Botcazou committed
    • stor-layout.c (place_field): Finalize non-constant offset for the field, if any. · cb27986c
      	* stor-layout.c (place_field): Finalize non-constant offset for the
      	field, if any.
      ada/
      	* gcc-interface/decl.c (create_field_decl_from): Finalize non-constant
      	offset for the field, if any.
      
      From-SVN: r209369
      Eric Botcazou committed