1. 07 Nov, 2016 34 commits
    • config.gcc (powerpc*-*-*, [...]): Remove setting of INCLUDE_EXTRA_SPEC for… · d850a6f4
      config.gcc (powerpc*-*-*, [...]): Remove setting of INCLUDE_EXTRA_SPEC for Advance Toolchain builds.
      
      	* config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of
      	INCLUDE_EXTRA_SPEC for Advance Toolchain builds.
      
      From-SVN: r241937
      Peter Bergner committed
    • gnu-versioned-namespace.ver: Export C++17 new of over-aligned types symbols. · 76d3fd72
      2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
      
      	* config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
      	over-aligned types symbols.
      
      From-SVN: r241936
      François Dumont committed
    • rs6000: Do swdiv at expand time · b7fa8414
      We transform floating point divide instructions to a faster series of
      simple instructions, "swdiv".  Currently we do not do that until the
      first splitter pass, which is much too late for most optimisations
      that can happen on those new instructions, e.g. the constant loads
      are not CSEd inside an unrolled loop.  This patch changes things so
      those divide instructions are expanded during expand already.
      
      
      	* config/rs6000/rs6000.md (div<mode>3): Expand using rs6000_emit_swdiv
      	if appropriate.
      	* config/rs6000/vector.md (div<mode>3): Ditto.
      
      From-SVN: r241935
      Segher Boessenkool committed
    • scanasm.exp (hidden-scan-for): Add XCOFF support. · fda2d612
              * lib/scanasm.exp (hidden-scan-for): Add XCOFF support.
      
              * gfortran.dg/implicit_class_1.f90: Skip on AIX.
              * gcc.dg/visibility-14.c: XFAIL AIX.
              * gcc.dg/visibility-15.c: XFAIL AIX.
              * gcc.dg/visibility-16.c: XFAIL AIX.
              * gcc.dg/visibility-17.c: XFAIL AIX.
              * gcc.dg/visibility-18.c: XFAIL AIX.
              * gcc.dg/visibility-19.c: XFAIL AIX.
              * g++.dg/ext/visibility/anon1.C: XFAIL AIX.
              * g++.dg/ext/visibility/anon2.C: XFAIL AIX.
              * g++.dg/ext/visibility/pragma-override1.C: XFAIL AIX.
              * g++.dg/ext/visibility/pragma-override2.C: XFAIL AIX.
      
      From-SVN: r241934
      David Edelsohn committed
    • Fix typo. · 621d0992
      From-SVN: r241932
      David Edelsohn committed
    • configure.ac (.hidden): Change to conftest_s string. · 8d91472f
      * configure.ac (.hidden): Change to conftest_s string. Provide string
      for AIX assembler.
      (gcc_cv_ld_hidden): Yes for AIX.
      * configure: Regenerate.
      
      * dwarf2asm.c (USE_LINKONCE_INDIRECT): Don't set for AIX (XCOFF).
      
      * config/rs6000/rs6000-protos.h (rs6000_asm_weaken_decl): Declare
      (rs6000_xcoff_asm_output_aligned_decl_common): Declare.
      * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_DECL_NAME): Define.
      (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
      (ASM_OUTPUT_ALIGNED_COMMON): Delete.
      * config/rs6000/rs6000.c (rs6000_init_builtins): Change clog rename
      from #if to if.
      (rs6000_xcoff_visibility): New.
      (rs6000_xcoff_declare_function_name): Add visibility support.
      (rs6000_xcoff_asm_globalize_decl_name): New.
      (rs6000_xcoff_asm_output_aligned_decl_common): New.
      (rs6000_asm_weaken_decl): New.
      (rs6000_code_end): Disable HIDDEN_LINKONCE on XCOFF.
      config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Change definition to
      reference function.
      
      From-SVN: r241930
      David Edelsohn committed
    • Add template instantiations to the announce_function stream. · c9c03910
      	* pt.c (push_tinst_level_loc): Add template instantiations to the
      	announce_function stream.
      
      From-SVN: r241928
      Jason Merrill committed
    • re PR fortran/78226 (Fill out location information everywhere) · 39b4b34d
      2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/78226
      	* expr.c (gfc_generate_initializer):  Add where to EXPR_NULL
      	statement.
      	* iresolve.c (gfc_resolve_extends_type_of):  Add where to
      	both arguments of the function.
      	* resolve.c (resolve_select_type):  Add where to the
      	second argument of the new statement.
      
      From-SVN: r241927
      Thomas Koenig committed
    • * es.po: Update. · 98a98909
      From-SVN: r241922
      Joseph Myers committed
    • re PR driver/78206 (bootstrap failure under Apple sandbox that blacklists reads in /usr/local) · 68fe024e
      2016-11-06  Jack Howarth  <howarth.at.gcc@gmail.com>
      
      	PR driver/78206
      	* incpath.c: (remove_dup(): Also silently ignore EPERM.
      
      From-SVN: r241919
      Jack Howarth committed
    • Remove a TODO from verify_type_variant · f73fbf90
      2016-11-07  Martin Jambor  <mjambor@suse.cz>
      
      	* tree.c (verify_type_variant): Use pointer comparison to check that
      	TYPE_SIZE_UNIT match.
      
      From-SVN: r241918
      Martin Jambor committed
    • re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre… · a8404b9a
      re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre -mstringop-strategy=libcall)
      
      	PR target/77834
      	* dse.c (dse_step5): Call scan_reads even if just
      	insn_info->frame_read.  Improve and fix dump file messages.
      
      From-SVN: r241917
      Jakub Jelinek committed
    • re PR target/78227 (ICE: unrecognizable insn: in extract_insn, at recog.c:2311… · 60cee85e
      re PR target/78227 (ICE: unrecognizable insn: in extract_insn, at recog.c:2311 with -mavx512bw and vector comare)
      
      	PR target/78227
      	* config/i386/i386.c (ix86_expand_sse_cmp): Force dest into
      	cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp.
      
      	* gcc.target/i386/pr78227-1.c: New test.
      	* gcc.target/i386/pr78227-2.c: New test.
      
      From-SVN: r241916
      Jakub Jelinek committed
    • re PR middle-end/35691 (Missed (a == 0) && (b == 0) into (a|(typeof(a)(b)) == 0… · 7aa13860
      re PR middle-end/35691 (Missed (a == 0) && (b == 0) into (a|(typeof(a)(b)) == 0 when the types don't match)
      
      2016-11-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	PR middle-end/35691
      	* match.pd: Add following two patterns:
      	(x == 0 & y == 0) -> (x | typeof(x)(y)) == 0.
      	(x != 0 | y != 0) -> (x | typeof(x)(y)) != 0.
      
      testsuite/
      	* gcc.dg/pr35691-1.c: New test-case.
      	* gcc.dg/pr35691-4.c: Likewise.
      
      From-SVN: r241915
      Prathamesh Kulkarni committed
    • emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order. · 1581a12c
      	* emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
      	* sel-sched-ir.c (create_copy_of_insn_rtx): Likewise.
      	* rtl.h (duplicate_reg_notes): Declare.
      	* rtlanal.c (duplicate_reg_note): New function.
      
      From-SVN: r241913
      Bernd Schmidt committed
    • re PR tree-optimization/77309 (wrong code at -Os and above on x86_64-linux-gnu… · caa024ff
      re PR tree-optimization/77309 (wrong code at -Os and above on x86_64-linux-gnu (in the 64-bit mode))
      
      	PR rtl-optimization/77309
      	* combine.c (make_compound_operation): Allow EQ for IN_CODE, and
      	don't assume an equality comparison for plain COMPARE.
      	(simplify_comparison): Pass a more accurate code to
      	make_compound_operation.
      
      testsuite/
      	PR rtl-optimization/77309
      	* gcc.dg/torture/pr77309.c: New test.
      
      From-SVN: r241912
      Bernd Schmidt committed
    • target.def (compute_pressure_classes): New target hook. · b4ff394c
      	* target.def (compute_pressure_classes): New target hook.
      	* doc/tm.texi.in: Document it.
      	* doc/tm.texi: Regenerate.
      	* ira.c (setup_pressure_classes): Call target hook if defined.
      
      From-SVN: r241911
      Pat Haugen committed
    • Fixed PR in ChangeLog entry. · c939044a
      From-SVN: r241910
      Thomas Koenig committed
    • re PR fortran/78226 (Fill out location information everywhere) · ce386153
      2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/78826
      	* match.c (gfc_match_select_type):  Add where for expr1.
      	* resolve.c (resolev_select_type): Add where for expr1 of new
      	statement.
      
      From-SVN: r241909
      Thomas Koenig committed
    • rtx_writer: avoid printing trailing default values · b5fbe716
      gcc/ChangeLog:
      	* print-rtl.c (rtx_writer::operand_has_default_value_p): New
      	method.
      	(rtx_writer::print_rtx): In compact mode, omit trailing operands
      	that have the default values.
      	* print-rtl.h (rtx_writer::operand_has_default_value_p): New
      	method.
      	* rtl-tests.c (selftest::test_dumping_insns): Remove empty
      	label string from expected dump.
      	(seltest::test_uncond_jump): Remove trailing "(nil)" for REG_NOTES
      	from expected dump.
      
      From-SVN: r241908
      David Malcolm committed
    • Fix native windows build by adding signal.h back into the include list. · 061ee396
        * gcc/ada/adaint.c: Added signal.h for Windows.
      
      From-SVN: r241907
      Tamar Christina committed
    • re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre… · dca16798
      re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre -mstringop-strategy=libcall)
      
      	PR target/77834
      	* alias.c (nonoverlapping_memrefs_p): If one decl is
      	FUNCTION_DECL or LABEL_DECL and the other is not, return 1.
      
      From-SVN: r241905
      Jakub Jelinek committed
    • re PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1) · a9815228
      	PR middle-end/71529
      	* gcc.target/i386/pr71529.C: Moved to ...
      	* g++.dg/opt/pr71529.C: ... here.  New test.  Guard for i?86/x86_64.
      
      	PR target/64411
      	* gcc.target/i386/pr64411.C: Moved to ...
      	* g++.dg/opt/pr64411.C: ... here.  New test.  Guard for i?86/x86_64
      	lp64.
      
      	PR target/65105
      	* gcc.target/i386/pr65105-4.C: Moved to ...
      	* g++.dg/opt/pr65105-4.C: ... here.  New test.  Guard for i?86/x86_64.
      	Run into compile test rather than execute test.
      
      From-SVN: r241903
      Jakub Jelinek committed
    • re PR target/78229 (ICE in redirect_eh_edge_1, at tree-eh.c:2305) · e8ab5cb1
      2016-11-07  Richard Biener  <rguenther@suse.de>
      
      	PR target/78229
      	* config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
      	EH info.
      
      	* g++.dg/pr78229.C: New testcase.
      
      From-SVN: r241901
      Richard Biener committed
    • re PR tree-optimization/78218 (wrong code at -Os and above on x86_64-linux-gnu… · 20770eb8
      re PR tree-optimization/78218 (wrong code at -Os and above on x86_64-linux-gnu (in both 32-bit and 64-bit modes))
      
      2016-11-07  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78218
      	* gimple-ssa-store-merging.c
      	(pass_store_merging::terminate_all_aliasing_chains):
      	Drop unused argument, fix alias check to also consider uses.
      	(pass_store_merging::execute): Adjust.
      
      	* gcc.dg/torture/pr78218.c: New testcase.
      
      From-SVN: r241900
      Richard Biener committed
    • re PR middle-end/78228 (fstrict-overflow breaks code without overflow?) · 32894793
      2016-11-07  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78228
      	* tree-ssa-phiopt.c (abs_replacement): Avoid introducing
      	undefined behavior.
      
      	* gcc.dg/tree-ssa/phi-opt-15.c: New testcase.
      
      From-SVN: r241899
      Richard Biener committed
    • [AArch64] Fix PR target/77822: Use tighter predicates for zero_extract patterns · e27bfda2
      	PR target/77822
      	* config/aarch64/aarch64.md (*tb<optab><mode>1): Use
      	aarch64_simd_shift_imm_<mode> predicate for operand 1.
      	(<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3
      	to restrict them to an appropriate range and add FAIL check if the
      	region they specify is out of range.  Delete useless constraint
      	strings.
      	(*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands
      	2 and 3 to restrict their range and add pattern predicate.
      
      	* g++.dg/torture/pr77822.C: New test.
      
      From-SVN: r241898
      Kyrylo Tkachov committed
    • Introduce tests for -fsanitize-address-use-after-scope · 00d6b7a1
      	* c-c++-common/asan/force-inline-opt0-1.c: Disable
      	-f-sanitize-address-use-after-scope.
      	* c-c++-common/asan/inc.c: Change number of expected ASAN_CHECK
      	internal fn calls.
      	* g++.dg/asan/use-after-scope-1.C: New test.
      	* g++.dg/asan/use-after-scope-2.C: Likewise.
      	* g++.dg/asan/use-after-scope-3.C: Likewise.
      	* g++.dg/asan/use-after-scope-types-1.C: Likewise.
      	* g++.dg/asan/use-after-scope-types-2.C: Likewise.
      	* g++.dg/asan/use-after-scope-types-3.C: Likewise.
      	* g++.dg/asan/use-after-scope-types-4.C: Likewise.
      	* g++.dg/asan/use-after-scope-types-5.C: Likewise.
      	* g++.dg/asan/use-after-scope-types.h: Likewise.
      	* gcc.dg/asan/use-after-scope-1.c: Likewise.
      	* gcc.dg/asan/use-after-scope-2.c: Likewise.
      	* gcc.dg/asan/use-after-scope-3.c: Likewise.
      	* gcc.dg/asan/use-after-scope-4.c: Likewise.
      	* gcc.dg/asan/use-after-scope-5.c: Likewise.
      	* gcc.dg/asan/use-after-scope-6.c: Likewise.
      	* gcc.dg/asan/use-after-scope-7.c: Likewise.
      	* gcc.dg/asan/use-after-scope-8.c: Likewise.
      	* gcc.dg/asan/use-after-scope-9.c: Likewise.
      	* gcc.dg/asan/use-after-scope-switch-1.c: Likewise.
      	* gcc.dg/asan/use-after-scope-switch-2.c: Likewise.
      	* gcc.dg/asan/use-after-scope-switch-3.c: Likewise.
      	* gcc.dg/asan/use-after-scope-goto-1.c: Likewise.
      	* gcc.dg/asan/use-after-scope-goto-2.c: Likewise.
      
      From-SVN: r241897
      Martin Liska committed
    • Introduce -fsanitize-address-use-after-scope · 6dc4a604
      	* c-warn.c (warn_for_unused_label): Save all labels used
      	in goto or in &label.
      	* asan.c (enum asan_check_flags): Move the enum to header file.
      	(asan_init_shadow_ptr_types): Make type creation more generic.
      	(shadow_mem_size): New function.
      	(asan_emit_stack_protection): Use newly added ASAN_SHADOW_GRANULARITY.
      	Rewritten stack unpoisoning code.
      	(build_shadow_mem_access): Add new argument return_address.
      	(instrument_derefs): Instrument local variables if use after scope
      	sanitization is enabled.
      	(asan_store_shadow_bytes): New function.
      	(asan_expand_mark_ifn): Likewise.
      	(asan_sanitize_stack_p): Moved from asan_sanitize_stack_p.
      	* asan.h (enum asan_mark_flags): Moved here from asan.c
      	(asan_protect_stack_decl): Protect all declaration that need
      	to live in memory.
      	(asan_sanitize_use_after_scope): New function.
      	(asan_no_sanitize_address_p): Likewise.
      	* cfgexpand.c (partition_stack_vars): Consider
      	asan_sanitize_use_after_scope in condition.
      	(expand_stack_vars): Likewise.
      	* common.opt (-fsanitize-address-use-after-scope): New option.
      	* doc/invoke.texi (use-after-scope-direct-emission-threshold):
      	Explain the parameter.
      	* flag-types.h (enum sanitize_code): Define SANITIZE_USE_AFTER_SCOPE.
      	* gimplify.c (build_asan_poison_call_expr): New function.
      	(asan_poison_variable): Likewise.
      	(gimplify_bind_expr): Generate poisoning/unpoisoning for local
      	variables that have address taken.
      	(gimplify_decl_expr): Likewise.
      	(gimplify_target_expr): Likewise for C++ temporaries.
      	(sort_by_decl_uid): New function.
      	(gimplify_expr): Unpoison all variables for a label we can jump
      	from outside of a scope.
      	(gimplify_switch_expr): Unpoison variables defined in the switch
      	context.
      	(gimplify_function_tree): Clear asan_poisoned_variables.
      	(asan_poison_variables): New function.
      	(warn_switch_unreachable_r): Handle IFN_ASAN_MARK.
      	* internal-fn.c (expand_ASAN_MARK): New function.
      	* internal-fn.def (ASAN_MARK): Declare.
      	* opts.c (finish_options): Handle -fstack-reuse if
      	-fsanitize-address-use-after-scope is enabled.
      	(common_handle_option): Enable address sanitization if
      	-fsanitize-address-use-after-scope is enabled.
      	* params.def (PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD):
      	New parameter.
      	* params.h: Likewise.
      	* sancov.c (pass_sanopt::execute): Handle IFN_ASAN_MARK.
      	* sanitizer.def: Define __asan_poison_stack_memory and
      	__asan_unpoison_stack_memory functions.
      	* asan.c (asan_mark_poison_p): New function.
      	(transform_statements): Handle asan_mark_poison_p calls.
      	* gimple.c (nonfreeing_call_p): Handle IFN_ASAN_MARK.
      
      From-SVN: r241896
      Martin Liska committed
    • Fix the Windows native x86-64 build. · 2447ab85
      	PR driver/78196
      	* Makefile.in (SELFTEST_FLAGS): Added -o /dev/null.
      
      From-SVN: r241895
      Tamar Christina committed
    • time_profiler: Set proper type to time_profiler_counter_ptr. · 5bcb571c
      	* tree-profile.c (gimple_gen_time_profiler): Set proper type
      	to time_profiler_counter_ptr.
      
      From-SVN: r241894
      Martin Liska committed
    • re PR middle-end/37150 (basic-block vectorization misses some unrolled loops) · 29afecdf
      2016-11-07  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/37150
      	* tree-vectorizer.h (vect_transform_slp_perm_load): Add n_perms
      	parameter.
      	* tree-vect-slp.c (vect_supported_load_permutation_p): Adjust.
      	(vect_analyze_slp_cost_1): Account for the real number of
      	permutations emitted and for dead loads.
      	(vect_transform_slp_perm_load): Add n_perms parameter counting
      	the number of emitted permutations.
      	* tree-vect-stmts.c (vectorizable_load): Adjust.
      
      From-SVN: r241893
      Richard Biener committed
    • re PR tree-optimization/78189 (movaps generated for unaligned store in aligned… · a0d3edf8
      re PR tree-optimization/78189 (movaps generated for unaligned store in aligned struct, when struct is referenced via unaligned member.)
      
      2016-11-07  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78189
      	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Fix
      	alignment computation.
      
      	* g++.dg/torture/pr78189.C: New testcase.
      
      From-SVN: r241892
      Richard Biener committed
    • Daily bump. · e34b855e
      From-SVN: r241891
      GCC Administrator committed
  2. 06 Nov, 2016 6 commits