1. 13 Nov, 2018 5 commits
  2. 12 Nov, 2018 17 commits
    • re PR target/86677 (popcount builtin detection is breaking some kernel build) · 06a6b46a
      gcc/ChangeLog:
      
      2018-11-13  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/86677
      	PR middle-end/87528
      	* tree-scalar-evolution.c (expression_expensive_p): Make BUILTIN POPCOUNT
      	as expensive when backend does not define it.
      
      gcc/testsuite/ChangeLog:
      
      2018-11-13  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/86677
      	PR middle-end/87528
      	* g++.dg/tree-ssa/pr86544.C: Run only for target supporting popcount
      	pattern.
      	* gcc.dg/tree-ssa/popcount.c: Likewise.
      	* gcc.dg/tree-ssa/popcount2.c: Likewise.
      	* gcc.dg/tree-ssa/popcount3.c: Likewise.
      	* gcc.target/aarch64/popcount4.c: New test.
      	* lib/target-supports.exp (check_effective_target_popcountl): New.
      
      From-SVN: r266039
      Kugan Vivekanandarajah committed
    • MIPS: Default to --with-llsc for the R5900 Linux target as well · 240ae287
      The Linux kernel requires and emulates LL and SC for the R5900 too.  The
      special --without-llsc default for the R5900 is therefore not applicable
      in that case.
      
      Reviewed-by: Maciej W. Rozycki <macro@linux-mips.org>
      
      2018-11-12  Fredrik Noring  <noring@nocrew.org>
      
      	gcc/
      	* config.gcc: Update with-llsc defaults for MIPS r5900.
      
      From-SVN: r266038
      Fredrik Noring committed
    • Instrument only selected files (PR gcov-profile/87442). · e18240ff
      2018-11-12  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/87442
      	* common.opt: Add -fprofile-filter-files and -fprofile-exclude-files
      	options.
      	* doc/invoke.texi: Document them.
      	* tree-profile.c (parse_profile_filter): New.
      	(parse_profile_file_filtering): Likewise.
      	(release_profile_file_filtering): Likewise.
      	(include_source_file_for_profile): Likewise.
      	(tree_profiling): Filter source files based on the
      	newly added options.
      2018-11-12  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/87442
      	* gcc.dg/profile-filtering-1.c: New test.
      	* gcc.dg/profile-filtering-2.c: New test.
      
      From-SVN: r266037
      Martin Liska committed
    • Fix documentation of __builtin_cpu_is and __builtin_cpu_supports for x86. · e375da43
      2018-11-12  Martin Liska  <mliska@suse.cz>
      
      	PR target/87903
      	* doc/extend.texi: Add missing values for __builtin_cpu_is and
      	__builtin_cpu_supports for x86 target.
      
      From-SVN: r266036
      Martin Liska committed
    • re PR middle-end/21110 (incorrect documentat for high and lo_sum RTL operators) · 52ed66ec
      2018-11-12  Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR middle-end/21110
      
      	gcc/
      	* doc/rtl.texi (Constants): Clarify that mode of "high" doesn't
      	have to be Pmode.
      	(Arithmetic): Likewise for "lo_sum".
      
      From-SVN: r266035
      Sandra Loosemore committed
    • PR c/81824 - Warn for missing attributes with function aliases · 6f59f36b
      gcc/testsuite/ChangeLog:
      	* gcc.dg/Wattribute-alias.c: Require ifunc support.
      
      From-SVN: r266034
      Martin Sebor committed
    • [PR87815]Don't generate shift sequence for load replacement in DSE when the mode… · e6575643
      [PR87815]Don't generate shift sequence for load replacement in DSE when the mode size is not compile-time constant
      
      The patch adds a check if the gap is compile-time constant.
      
      This happens when dse decides to replace the load with previous store value.
      The problem is that, shift sequence could not accept compile-time non-constant
      mode operand.
      
      gcc/
      
      2018-11-12  Renlin Li  <renlin.li@arm.com>
      
      	PR target/87815
      	* dse.c (get_stored_val): Add check for compile-time
      	constantness of gap.
      
      gcc/testsuite/
      
      2018-11-12  Renlin Li  <renlin.li@arm.com>
      
      	PR target/87815
      	* gcc.target/aarch64/sve/pr87815.c: New.
      
      From-SVN: r266033
      Renlin Li committed
    • PR libstdc++/87963 fix build for 64-bit mingw · d5cc6de1
      	PR libstdc++/87963
      	* src/c++17/memory_resource.cc (chunk::_M_bytes): Change type from
      	unsigned to uint32_t.
      	(chunk): Fix static assertion for 64-bit targets that aren't LP64.
      	(bigblock::all_ones): Fix undefined shift.
      
      From-SVN: r266032
      Jonathan Wakely committed
    • [GCC, ARM] Enable armv8.5-a and add +sb and +predres for previous ARMv8-a in ARM · ae78a89f
      This patch adds -march=armv8.5-a to the Arm backend.
      Armv8.5-A also adds two new security features:
      - Speculation Barrier instruction
      - Execution and Data Prediction Restriction Instructions
      These are made optional to all older Armv8-A versions. Thus we are adding two
      new options "+sb" and "+predres" to all older Armv8-A. These are passed on to
      the assembler and have no code generation effects and have already gone in the
      trunk of binutils.
      
      *** gcc/ChangeLog ***
      
      2018-11-12  Sudakshina Das  <sudi.das@arm.com>
      
      	* config/arm/arm-cpus.in (armv8_5, sb, predres): New features.
      	(ARMv8_5a): New fgroup.
      	(armv8.5-a): New arch.
      	(armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a): New options
      	sb and predres.
      	* config/arm/arm-tables.opt: Regenerate.
      	* config/arm/t-aprofile: Add matching rules for -march=armv8.5-a
      	* config/arm/t-arm-elf (all_v8_archs): Add armv8.5-a.
      	* config/arm/t-multilib (v8_5_a_simd_variants): New variable.
      	Add matching rules for -march=armv8.5-a and extensions.
      	* doc/invoke.texi (ARM options): Document -march=armv8.5-a.
      	Add sb and predres to all armv8-a except armv8.5-a.
      
      *** gcc/testsuite/ChangeLog ***
      
      2018-11-12  Sudakshina Das  <sudi.das@arm.com>
      
      	* gcc.target/arm/multilib.exp: Add some -march=armv8.5-a
      	combination tests.
      
      From-SVN: r266031
      Sudakshina Das committed
    • 2018-11=12 Richard Biener <rguenther@suse.de> · 27922d51
      	* tree-vrp.h (value_range[_base]::set): Make public.  Provide
      	overload for single value.
      	(value_range[_base]::set_nonnull): New.
      	(value_range[_base]::set_null): Likewise.
      	(value_range): Document bitmap copying behavior, mark
      	copy constructor and assignment operator deleted.
      	(value_range::move): New.
      	(value_range::set_and_canonicalize): Default bitmap to zero.
      	(set_value_range_to_nonnull): Remove.
      	(set_value_range_to_null): Likewise.
      	(set_value_range): Likewise.
      	(set_value_range_to_value): Likewise.
      	(extract_range_from_unary_expr): Work on value_range_base.
      	(extract_range_from_binary_expr_1): Likewise.  Rename to...
      	(extract_range_from_binary_expr): ... this.
      	* tree-vrp.c (value_range::update): Clear equiv bitmap
      	if required.
      	(value_range::move): New, move equiv bitmap.
      	(value_range_base::set_undefined): Avoid assignment.
      	(value_range::set_undefined): Likewise.
      	(value_range_base::set_varying): Likewise.
      	(value_range::set_varying): Likewise.
      	(set_value_range): Remove.
      	(value_range_base::set): New overload for value.
      	(value_range::set): Likewise.
      	(set_value_range_to_nonnull): Remove.
      	(value_range_base::set_nonnull): New.
      	(value_range::set_nonnull): Likewise.
      	(set_value_range_to_null): Remove.
      	(value_range_base::set_null): New.
      	(value_range::set_null): Likewise.
      	(range_is_null): Work on value_range_base.
      	(range_is_nonnull): Likewise.
      	(ranges_from_anti_range): Likewise.
      	(extract_range_into_wide_ints): Likewise.
      	(extract_range_from_multiplicative_op): Likewise.
      	(extract_range_from_binary_expr): Likewise.  Update for API changes.
      	(extract_range_from_unary_expr): Likewise.  Remove OBJ_TYPE_REF
      	handling.
      	(value_range::intersect_helper): Avoid copy and assignment.
      	(value_range::union_helper): Likewise.
      	(determine_value_range_1): Adjust.
      	* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::try_find_new_range):
      	Avoid assignment by using move.
      	(evrp_range_analyzer::record_ranges_from_stmt): Avoid assignment.
      	* tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
      	Likewise.
      	* tree-ssanames.c (get_range_info): Likewise.
      	* vr-values.h (vr_values::get_vr_for_comparison): Adjust API.
      	* vr-values.c (vr_values::get_value_range): Adjust.
      	(vr_values::update_value_range): Likewise.
      	(symbolic_range_based_on_p): Work on value_range_base.
      	(vr_values::extract_range_from_binary_expr): Use value_range_base.
      	(vr_values::extract_range_from_unary_expr): Likewise.
      	(vr_values::extract_range_from_cond_expr): Avoid assignment.
      	(vr_values::extract_range_from_comparison): Adjust.
      	(vr_values::check_for_binary_op_overflow): Use value_range_base.
      	(vr_values::extract_range_basic): Adjust.
      	(vr_values::adjust_range_with_scev): Likewise.
      	(vr_values::vrp_visit_assignment_or_call): Likewise.
      	(vr_values::get_vr_for_comparison): Change API to avoid
      	assignment and copy construction.
      	(vr_values::compare_name_with_value): Adjust accordingly.
      	(vr_values::compare_names): Likewise.
      	(vr_values::extract_range_from_phi_node): Avoid assignment and
      	bogus in-place modify of equiv bitmap.
      	(vr_values::simplify_bit_ops_using_ranges): Use value_range_base.
      	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Adjust
      	for extract_range_from_unary_expr API change.
      	* ipa-cp.c (ipa_vr_operation_and_type_effects): Likewise.
      
      From-SVN: r266030
      Richard Biener committed
    • tree-vrp.h (value_range_base::symbolic_p, [...]): Move from value_range. · c49eeac3
      2018-11-12  Richard Biener  <rguenther@suse.de>
      
      	* tree-vrp.h (value_range_base::symbolic_p,
      	value_range_base::constant_p, value_range_base::zero_p,
      	value_range_base::singleton_p): Move from value_range.
      	(value_range::dump): Add.
      	* gimple-ssa-evrp-analyze.c
      	(evrp_range_analyzer::record_ranges_from_phis): Use set_varying.
      	* ipa-cp.c (ipcp_vr_lattice::print): Use dump_value_range.
      	* tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
      	Use set_varying.
      	* tree-vrp.c (value_range::symbolic_p): Move to value_range_base.
      	(value_range::constant_p): Likewise.
      	(value_range::singleton_p): Likewise.
      	(value_range_base::dump): Add.
      	(set_value_range_to_undefined): Remove.
      	(set_value_range_to_varying): Likewise.
      	(range_int_cst_p): Take value_range_base argument.
      	(range_int_cst_singleton_p): Likewise.
      	(value_range_constant_singleton): Likewise.
      	(vrp_set_zero_nonzero_bits): Likewise.
      	(extract_range_from_multiplicative_op): Use set_varying.
      	(extract_range_from_binary_expr_1): Likewise. Use set_undefined.
      	(extract_range_from_unary_expr): Likewise.
      	(dump_value_range_base): Change to overload of dump_value_range.
      	(vrp_prop::vrp_initialize): Use set_varying and set_undefined.
      	(vrp_prop::visit_stmt): Likewise.
      	(value_range::intersect_helper): Likewise.
      	(value_range::union_helper): Likewise.
      	(determine_value_range_1): Likewise.
      
      From-SVN: r266028
      Richard Biener committed
    • tree-vrp.c (set_value_range_to_nonnull): Clear equiv. · bdfac905
      2018-11-12  Richard Biener  <rguenther@suse.de>
      
      	* tree-vrp.c (set_value_range_to_nonnull): Clear equiv.
      	(set_value_range_to_null): Likewise.
      	* vr-values.c (vr_values::extract_range_from_comparison):
      	Clear equiv for constant singleton ranges.
      
      From-SVN: r266027
      Richard Biener committed
    • sse.md: Combine VFIXUPIMM* patterns · 682abf8d
      2018-11-12 Wei Xiao <wei3.xiao@intel.com>
      
              * config/i386/sse.md: Combine VFIXUPIMM* patterns
              (<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
              (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
              (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Remove.
              (avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
              (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
              (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Remove.
      
      From-SVN: r266026
      Wei Xiao committed
    • re PR c/69502 (attribute aligned reduces alignment contrary to documentation) · 8f64958b
      2018-11-11  Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR c/69502
      
      	gcc/
      	* doc/extend.texi (Common Type Attributes): For the align type
      	attribute, copy language about decreasing alignment from the
      	corresponding variable attribute.
      
      From-SVN: r266025
      Sandra Loosemore committed
    • csky.md (*fpuv2_nmulsf3_1, [...]): Handle -frounding-math. · 31fad58f
      2018-11-11  Xianmiao Qu  <xianmiao_qu@c-sky.com>
      
      	gcc/
      	* config/csky/csky.md (*fpuv2_nmulsf3_1, *fpuv2_nmuldf3_1): Handle
      	-frounding-math.
      
      	gcc/testsuite
      	* gcc.target/csky/fnmul-1.c: New.
      	* gcc.target/csky/fnmul-2.c: New.
      	* gcc.target/csky/fnmul-3.c: New.
      	* gcc.target/csky/fnmul-4.c: New.
      
      From-SVN: r266024
      Xianmiao Qu committed
    • Daily bump. · 9510b563
      From-SVN: r266023
      GCC Administrator committed
  3. 11 Nov, 2018 12 commits
  4. 10 Nov, 2018 2 commits
    • combine: More make_more_copies · 16ac6fa5
      This makes make_more_copies do what its documentation says, that is,
      only make an intermediate pseudo if copying to a pseudo.
      
      This regressed generated code quality when we didn't keep the original
      notes that were on the copy, but since r265582 we do, and only allowing
      pseudos now is a win.  It also simplifies the code.
      
      
      	* combine.c (make_more_copies): Only make an intermediate copy if the
      	dest of a move is a pseudo.
      
      From-SVN: r266004
      Segher Boessenkool committed
    • Daily bump. · babe0c74
      From-SVN: r266001
      GCC Administrator committed
  5. 09 Nov, 2018 4 commits