- 07 Nov, 2016 34 commits
-
-
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 -
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 -
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 -
* 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 -
From-SVN: r241932
David Edelsohn committed -
* 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 -
* pt.c (push_tinst_level_loc): Add template instantiations to the announce_function stream. From-SVN: r241928
Jason Merrill committed -
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 -
From-SVN: r241922
Joseph Myers committed -
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 -
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 -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 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 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. * 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 (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. * 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 -
From-SVN: r241910
Thomas Koenig committed -
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 -
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 -
* 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 -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 -
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 -
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 (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 -
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 -
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 -
* 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 -
* 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 -
PR driver/78196 * Makefile.in (SELFTEST_FLAGS): Added -o /dev/null. From-SVN: r241895
Tamar Christina committed -
* tree-profile.c (gimple_gen_time_profiler): Set proper type to time_profiler_counter_ptr. From-SVN: r241894
Martin Liska committed -
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 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 -
From-SVN: r241891
GCC Administrator committed
-
- 06 Nov, 2016 6 commits
-
-
From-SVN: r241888
David Edelsohn committed -
2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78226 resolve.c (build_loc_call): Add location to return value. From-SVN: r241887
Thomas Koenig committed -
gcc/testsuite/ChangeLog: 2016-11-06 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/allocate_with_source_14.f03: Fixed number mallocs occuring. gcc/fortran/ChangeLog: 2016-11-06 Andre Vehreschild <vehre@gcc.gnu.org> * expr.c (is_non_empty_structure_constructor): New function to detect non-empty structure constructor. (gfc_has_default_initializer): Analyse initializers. * resolve.c (cond_init): Removed. (resolve_allocate_expr): Removed dead code. Moved invariant code out of the loop over all objects to allocate. (resolve_allocate_deallocate): Added the invariant code remove from resolve_allocate_expr. * trans-array.c (gfc_array_allocate): Removed nullify of structure components in favour of doing this in gfc_trans_allocate for both scalars and arrays in the same place. * trans-expr.c (gfc_trans_init_assign): Always using _vptr->copy for class objects. * trans-stmt.c (allocate_get_initializer): Get the initializer expression for object allocated. (gfc_trans_allocate): Nullify a derived type only, when no SOURCE= or MOLD= is present preventing duplicate work. Moved the creation of the init-expression here to prevent code for conditions that can not occur on freshly allocated object, like checking for the need to free allocatable components. From-SVN: r241885
Andre Vehreschild committed -
2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78221 * arith.c (gfc_complex2real): Change gfc_warning_now to gfc_warning. 2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78221 * gfortran.dg/warn_conversion_9.f90: New test. From-SVN: r241884
Thomas Koenig committed -
2016-11-06 Kugan Vivekanandarajah <kuganv@linaro.org> * ipa-cp.c (ipcp_bits_lattice::meet_with): Remove unreachable code. From-SVN: r241883
Kugan Vivekanandarajah committed -
From-SVN: r241882
GCC Administrator committed
-