1. 29 Sep, 2014 13 commits
  2. 28 Sep, 2014 4 commits
  3. 27 Sep, 2014 6 commits
  4. 26 Sep, 2014 13 commits
    • mangle.c (is_std_substitution): Check for abi_tag. · 00eaaa50
      gcc/cp/
      	* mangle.c (is_std_substitution): Check for abi_tag.
      libiberty/
      	* cp-demangle.c (d_substitution): Handle abi tags on abbreviation.
      
      From-SVN: r215647
      Jason Merrill committed
    • pr63335.c: Change effective target to vsx_hw. · 20ee2690
      2014-09-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/pr63335.c: Change effective target to
      	vsx_hw.
      
      From-SVN: r215646
      Bill Schmidt committed
    • Skip gcc.target/i386/shrink_wrap_1.c on ia32 · 6f35fc1b
      	* gcc.target/i386/shrink_wrap_1.c: Skip ia32.
      
      From-SVN: r215645
      H.J. Lu committed
    • Fix -freport-bug patch. · 1120a850
      	gcc/
      	* gcc.c (try_generate_repro): Remove argument "prog".  Change all
      	users.
      	(run_attempt): Handle errors of "pex_run" invocation.
      
      Fixes bootstrap failure/compiler warnings:
      
          [...]
          ../../master/gcc/gcc.c: In function 'attempt_status run_attempt(const char**, const char*, const char*, int, int)':
          ../../master/gcc/gcc.c:6319:15: error: variable 'errmsg' set but not used [-Werror=unused-but-set-variable]
             const char *errmsg;
                         ^
          ../../master/gcc/gcc.c: At global scope:
          ../../master/gcc/gcc.c:6412:33: error: unused parameter 'prog' [-Werror=unused-parameter]
           try_generate_repro (const char *prog, const char **argv)
                                           ^
          cc1plus: all warnings being treated as errors
          Makefile:1040: recipe for target 'gcc.o' failed
          make[3]: *** [gcc.o] Error 1
          make[3]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build/gcc'
          Makefile:4285: recipe for target 'all-stage2-gcc' failed
          make[2]: *** [all-stage2-gcc] Error 2
          make[2]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build'
          Makefile:21561: recipe for target 'stage2-bubble' failed
          make[1]: *** [stage2-bubble] Error 2
          make[1]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build'
          Makefile:892: recipe for target 'all' failed
          make: *** [all] Error 2
      
      From-SVN: r215644
      Thomas Schwinge committed
    • [AArch64] Enable Address Sanitizer. · a3125fc2
      2014-09-26  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	[AArch64] Enable Address Sanitizer.
      
      	gcc/
      	* config/aarch64/aarch64-linux.h (ASAN_CC1_SPEC): Define.
              (CC1_SPEC): Define.
              * config/aarch64/aarch64.c (aarch64_asan_shadow_offset): New function.
              (TARGET_ASAN_SHADOW_OFFSET): Define.
      
      	libsanitzer/
      	* configure.tgt: Enable build on aarch64*-linux.
      
      From-SVN: r215642
      Christophe Lyon committed
    • cgraph.c (cgraph_node::release_body): New argument keep_arguments introduced. · bf898b30
      	* cgraph.c (cgraph_node::release_body): New argument keep_arguments
      	introduced.
      	* cgraph.h: Likewise.
      	* cgraphunit.c (cgraph_node::create_wrapper): Usage of new argument introduced.
      	* ipa-utils.h (polymorphic_type_binfo_p): Safe check for binfos created by Java.
      	* tree-ssa-alias.c (ao_ref_base_alias_set): Static function transformed to global.
      	* tree-ssa-alias.h: Likewise.
      
      From-SVN: r215640
      Martin Liska committed
    • struct-layout-1_generate.c: Add -Wno-abi to default options. · 5535b7d6
      	* g++.dg/compat/struct-layout-1_generate.c: Add -Wno-abi
      	to default options.
      
      From-SVN: r215635
      Jakub Jelinek committed
    • common.opt: New option. · dc10fd96
      gcc/
      
      2014-09-26  Jakub Jelinek  <jakub@redhat.com>
      	    Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* common.opt: New option.
      	* doc/invoke.texi: Describe new option.
      	* gcc.c (execute): Don't free first string early, but at the end
      	of the function.  Call retry_ice if compiler exited with
      	ICE_EXIT_CODE.
      	(main): Factor out common code.
      	(print_configuration): New function.
      	(files_equal_p): Likewise.
      	(check_repro): Likewise.
      	(run_attempt): Likewise.
      	(do_report_bug): Likewise.
      	(append_text): Likewise.
      	(try_generate_repro): Likewise
      
      Co-Authored-By: Max Ostapenko <m.ostapenko@partner.samsung.com>
      
      From-SVN: r215633
      Jakub Jelinek committed
    • pex-common.h (struct pex_funcs): Add new parameter for open_write field. · 29ce50b0
      libiberty/
      
      2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* pex-common.h (struct pex_funcs): Add new parameter for open_write field.
      	* pex-unix.c (pex_unix_open_write): Add support for new parameter.
      	* pex-djgpp.c (pex_djgpp_open_write): Likewise.
      	* pex-win32.c (pex_win32_open_write): Likewise.
      	* pex-common.c (pex_run_in_environment): Likewise.
      
      
      include/
      
      2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* libiberty.h (PEX_STDOUT_APPEND): New flag.
      	(PEX_STDERR_APPEND): Likewise.
      
      From-SVN: r215632
      Max Ostapenko committed
    • Add direct support for Linux kernel __fentry__ patching · ecc81e33
      The Linux kernel dynamically patches in __fentry__ calls in and
      out at runtime. This allows using function tracing for debugging
      in production kernels without (significant) performance penalty.
      
      For this it needs a table pointing to each __fentry__ call.
      
      The way it is currently implemented is that a special
      perl script scans the object file, generates the table in a special
      section. When the kernel boots up it nops the calls, and
      then later patches in the calls again as needed.
      
      The recordmcount.pl script in the kernel works, but it seems
      cleaner and faster to support the code generation of the patch table
      directly in gcc.
      
      This also allows to nop the calls directly at code generation
      time, which allows to skip a patching step at kernel boot.
      I also expect that a patchable production tracing facility is also useful
      for other applications.
      
      For example it could be used in ftracer
      (https://github.com/andikleen/ftracer)
      
      Having a nop area at the beginning of each function can be also
      also useful for other things. For example it can be used to patch
      functions at runtime to point to different functions, to do
      binary updates without restarting the program (like ksplice or
      similar)
      
      This patch implements two new options for the i386 target:
      
      -mrecord-mcount
      Generate a __mcount_loc section entry for each __fentry__ or mcount
      call. The section is compatible with the kernel convention
      and the data is put into a section loaded at runtime.
      
      -mnop-mcount
      Generate the mcount/__fentry__ call as 5 byte nop that can be
      patched in later. The nop is generated as a single instruction,
      as the Linux kernel run time patching relies on this.
      
      Limitations:
      - I didn't implement -mnop-mcount for -fPIC. This
      would need a good single instruction 6 byte NOP and it seems a
      bit pointless, as the patching would prevent text sharing.
      - I didn't implement noping for targets that pass a variable
      to mcount.
      - The facility could be useful on architectures too. Currently
      the mcount code is target specific, so I made it a i386 option.
      
      gcc/:
      
      2014-09-25  Andi Kleen  <ak@linux.intel.com>
      
      	* config/i386/i386.c (x86_print_call_or_nop): New function.
      	(x86_function_profiler): Support -mnop-mcount and
      	-mrecord-mcount.
      	* config/i386/i386.opt (-mnop-mcount, -mrecord-mcount): Add
      	* doc/invoke.texi: Document -mnop-mcount, -mrecord-mcount.
      
      gcc/testsuite:
      
      2014-09-25  Andi Kleen  <ak@linux.intel.com>
      
      	* gcc.target/i386/nop-mcount.c: New file.
      	* gcc.target/i386/record-mcount.c: New file.
      
      From-SVN: r215629
      Andi Kleen committed
    • ipa-prop.c (ipa_intraprocedural_devirtualization): Remove. · 6eb0ae29
      
      	* ipa-prop.c (ipa_intraprocedural_devirtualization): Remove.
      	* ipa-prop.h (ipa_intraprocedural_devirtualization): Remove.
      	* tree-ssa-prop.c (eliminate_dom_walker::before_dom_children):
      	Remove.
      
      From-SVN: r215628
      Jan Hubicka committed
    • pr56933.c: Don't specify "dg-do run" explicitly. · 9f442ef4
      2014-09-25  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/testsuite/
      	* gcc.dg/vect/pr56933.c: Don't specify "dg-do run" explicitly.
      	* gcc.dg/vect/pr57705.c: Likewise.
      	* gcc.dg/vect/pr57741-2.c: Likewise.
      	* gcc.dg/vect/pr57741-3.c: Likewise.
      	* gcc.dg/vect/pr59591-1.c: Likewise.
      	* gcc.dg/vect/pr59591-2.c: Likewise.
      	* gcc.dg/vect/pr60196-1.c: Likewise.
      	* gcc.dg/vect/pr60196-2.c: Likewise.
      	* gcc.dg/vect/pr60276.c: Likewise.
      	* gcc.dg/vect/pr61680.c: Likewise.
      	* gcc.dg/vect/pr63148.c: Likewise.
      	* gcc.dg/vect/pr63189.c: Likewise.
      	* gcc.dg/vect/vect-mask-load-1.c: Likewise.
      	* gcc.dg/vect/vect-mask-loadstore-1.c: Likewise.
      	* gcc.dg/vect/vect-nop-move.c: Likewise.
      	* gcc.dg/vect/vect-simd-clone-10.c: Likewise.
      	* gcc.dg/vect/vect-simd-clone-12.c: Likewise.
      
      From-SVN: r215627
      Sandra Loosemore committed
    • Daily bump. · 7a49a84d
      From-SVN: r215626
      GCC Administrator committed
  5. 25 Sep, 2014 4 commits
    • ipa-utils.h (subbinfo_with_vtable_at_offset, [...]): Declare. · aa803cc7
      
      	* ipa-utils.h (subbinfo_with_vtable_at_offset, type_all_derivations_known_p,
      	type_known_to_have_no_deriavations_p, types_must_be_same_for_odr,
      	types_odr_comparable): Declare.
      	(polymorphic_type_binfo_p): Move here from ipa-devirt.c
      	* ipa-polymorphic-call.c: New file.
      	(contains_polymorphic_type_p, possible_placement_new,
      	ipa_polymorphic_call_context::restrict_to_inner_class,
      	contains_type_p, decl_maybe_in_construction_p,
      	ipa_polymorphic_call_context::stream_out,
      	ipa_polymorphic_call_context::debug,
      	ipa_polymorphic_call_context::stream_in,
      	ipa_polymorphic_call_context::set_by_decl,
      	ipa_polymorphic_call_context::set_by_invariant,
      	walk_ssa_copies,
      	ipa_polymorphic_call_context::ipa_polymorphic_call_context,
      	type_change_info, noncall_stmt_may_be_vtbl_ptr_store,
      	extr_type_from_vtbl_ptr_store, record_known_type
      	check_stmt_for_type_change,
      	ipa_polymorphic_call_context::get_dynamic_type): Move here from
      	ipa-devirt.c
      	* ipa-devirt.c: No longer include data-streamer.h, lto-streamer.h
      	and streamer-hooks.h
      	(contains_polymorphic_type_p, possible_placement_new,
      	ipa_polymorphic_call_context::restrict_to_inner_class,
      	contains_type_p, decl_maybe_in_construction_p,
      	ipa_polymorphic_call_context::stream_out,
      	ipa_polymorphic_call_context::debug,
      	ipa_polymorphic_call_context::stream_in,
      	ipa_polymorphic_call_context::set_by_decl,
      	ipa_polymorphic_call_context::set_by_invariant,
      	walk_ssa_copies,
      	ipa_polymorphic_call_context::ipa_polymorphic_call_context,
      	type_change_info, noncall_stmt_may_be_vtbl_ptr_store,
      	extr_type_from_vtbl_ptr_store, record_known_type
      	check_stmt_for_type_change,
      	ipa_polymorphic_call_context::get_dynamic_type): Move to
      	ipa-polymorphic-call.c
      	(type_all_derivations_known_p, types_odr_comparable,
      	types_must_be_same_for_odr): Export.
      	(type_known_to_have_no_deriavations_p): New function.
      	* Makefile.in: Add ipa-polymorphic-call.c
      
      From-SVN: r215615
      Jan Hubicka committed
    • ipa-devirt.c (polymorphic_call_target_d): Add SPECULATIVE; reorder for better storage. · 2f28755f
      
      	* ipa-devirt.c (polymorphic_call_target_d): Add SPECULATIVE; reorder
      	for better storage.
      	(polymorphic_call_target_hasher::hash): Hash SPECULATIVE.
      	(possible_polymorphic_call_targets): Instead of computing both
      	speculative and non-speculative answers, do just one at a time.
      	Replace NONSPECULATIVE_TARGETSP parameter with SPECULATIVE flag.
      	(dump_targets): Break out from ...
      	(dump_possible_polymorphic_call_targets): ... here; dump both speculative
      	and non-speculative lists.
      	(ipa_devirt): Update for new possible_polymorphic_call_targets API.
      	* ipa-utils.h (possible_polymorphic_call_targets): Update.
      
      	* testsuite/g++.dg/ipa/devirt-34.C: Update template.
      
      From-SVN: r215614
      Jan Hubicka committed
    • re PR rtl-optimization/63348 (gcc.dg/pr43670.c fail on MIPS) · 0be35aa0
      	PR rtl-optimization/63348
      	* emit-rtl.c (try_split): Do not emit extra barrier.
      
      From-SVN: r215613
      Uros Bizjak committed
    • [AArch64] Tighten predicates on SIMD shift intrinsics · cb23a30c
      gcc/
      
      	* config/aarch64/aarch64-protos.h (aarch64_simd_const_bounds): Delete.
      	* config/aarch64/aarch64-simd.md (aarch64_<sur>q<r>shl<mode>): Use
      	new predicates.
      	(aarch64_<sur>shll2_n<mode>): Likewise.
      	(aarch64_<sur>shr_n<mode>): Likewise.
      	(aarch64_<sur>sra_n<mode>: Likewise.
      	(aarch64_<sur>s<lr>i_n<mode>): Likewise.
      	(aarch64_<sur>qshl<u>_n<mode>): Likewise.
      	* config/aarch64/aarch64.c (aarch64_simd_const_bounds): Delete.
      	* config/aarch64/iterators.md (ve_mode): New.
      	(offsetlr): Remap to infix text for use in new predicates.
      	* config/aarch64/predicates.md (aarch64_simd_shift_imm_qi): New.
      	(aarch64_simd_shift_imm_hi): Likewise.
      	(aarch64_simd_shift_imm_si): Likewise.
      	(aarch64_simd_shift_imm_di): Likewise.
      	(aarch64_simd_shift_imm_offset_qi): Likewise.
      	(aarch64_simd_shift_imm_offset_hi): Likewise.
      	(aarch64_simd_shift_imm_offset_si): Likewise.
      	(aarch64_simd_shift_imm_offset_di): Likewise.
      	(aarch64_simd_shift_imm_bitsize_qi): Likewise.
      	(aarch64_simd_shift_imm_bitsize_hi): Likewise.
      	(aarch64_simd_shift_imm_bitsize_si): Likewise.
      	(aarch64_simd_shift_imm_bitsize_di): Likewise.
      
      gcc/testsuite/
      
      	* gcc.target/aarch64/simd/vqshlb_1.c: New.
      
      From-SVN: r215612
      James Greenhalgh committed