- 13 Nov, 2018 5 commits
-
-
The testcase exercises one of the rotate patterns. gcc/ * config/rs6000/predicates.md (logical_const_operand), (logical_operand): Correct comment. gcc/testsuite/ * gcc.target/powerpc/rotmask.c: New. From-SVN: r266046
Alan Modra committed -
* config/rs6000/rs6000.md (addsi3_high): Prefix with '*'. From-SVN: r266045
Alan Modra committed -
This catches a few places where move insn patterns don't slightly disparage CTR, LR and VRSAVE regs. Also fixes the doc for the rs6000 h constraint, and removes an r->cl alternative covered by r->h. * gcc/doc/md.texi (Machine Constraints): Correct rs6000 h constraint description. * config/rs6000/rs6000.md (movsi_internal1): Delete MT%0 case covered by alternative. (movcc_internal1): Ignore h for register preference. (mov<mode>_hardfloat64): Likewise. (mov<mode>_softfloat): Ignore c, l, h for register preference. From-SVN: r266044
Alan Modra committed -
2018-11-12 Sandra Loosemore <sandra@codesourcery.com> PR preprocessor/47823 gcc/ * doc/cpp.texi (Alternatives to Wrapper #ifndef): Move #pragma once documentation to... (Pragmas): ...here. * doc/extend.texi (Pragmas): Note additional pragmas documented in the CPP manual. From-SVN: r266043
Sandra Loosemore committed -
From-SVN: r266042
GCC Administrator committed
-
- 12 Nov, 2018 17 commits
-
-
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 -
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 -
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 -
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 -
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 -
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 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 * 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 -
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 -
* 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 -
From-SVN: r266029
Eric Botcazou committed -
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 -
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 -
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 -
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 -
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 -
From-SVN: r266023
GCC Administrator committed
-
- 11 Nov, 2018 12 commits
-
-
2018-11-11 Sandra Loosemore <sandra@codesourcery.com> PR c++/43105 gcc/ * doc/invoke.texi (C++ Dialect Options): Add warning about mixing -frtti and -fno-rtti code. From-SVN: r266020
Sandra Loosemore committed -
From-SVN: r266019
Hans-Peter Nilsson committed -
re PR libstdc++/54005 (Use __atomic_always_lock_free in libstdc++ is_lock_free instead of __atomic_is_lock_free) PR libstdc++-v3/54005 * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(), __atomic_base<_PTp*>::is_lock_free()): Call __atomic_always_lock_free with the type-derived _S_alignment instead of __alignof the object. * include/std/atomic (atomic<T>::is_lock_free()): Likewise. From-SVN: r266018
Hans-Peter Nilsson committed -
2018-11-11 Sandra Loosemore <sandra@codesourcery.com> PR c/26366 gcc/ * doc/extend.texi (Other Builtins): Document probability associated with __builtin_expect. From-SVN: r266017
Sandra Loosemore committed -
PR target/87928 * config/i386/i386.h (STACK_BOUNDARY): Use TARGET_64BIT_MS_ABI instead of (TARGET_64BIT && ix86_abi == MS_ABI). * config/i386/darwin.h (STACK_BOUNDARY): Ditto. * config/i386/cygming.h (STACK_BOUNDARY): Remove. testsuite /Changelog: PR target/87928 * gcc.target/i386/pr87928.c: New test. From-SVN: r266016
Uros Bizjak committed -
2018-11-11 Xianmiao Qu <xianmiao_qu@c-sky.com> * config/csky/csky-linux-elf.h (CC1_SPEC): Support -profile. From-SVN: r266013
Xianmiao Qu committed -
2018-11-11 Xianmiao Qu <xianmiao_qu@c-sky.com> * config/csky/csky.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. From-SVN: r266012
Xianmiao Qu committed -
tree-vrp.h (class value_range_base): New base class for value_range containing all but the m_equiv member. 2018-11-11 Richard Biener <rguenther@suse.de> * tree-vrp.h (class value_range_base): New base class for value_range containing all but the m_equiv member. (dump_value_range_base): Add. (range_includes_zero_p): Work on value_range_base. * tree-vrp.c (value_range_base::set): Split out base handling from... (value_range::set): this. (value_range::set_equiv): New. (value_range_base::value_range_base): New constructors. (value_range_base::check): Split out base handling from... (value_range::check): this. (value_range::equal_p): Refactor in terms of ignore_equivs_equal_p which is now member of the base. (value_range_base::set_undefined): New. (value_range_base::set_varying): Likewise. (value_range_base::dump):Split out base handling from... (value_range::dump): this. (value_range_base::set_and_canonicalize): Split out base handling from... (value_range::set_and_canonicalize): this. (value_range_base::union_): New. * ipa-prop.h (struct ipa_jump_func): Use value_range_base * for m_vr. * ipa-cp.c (class ipcp_vr_lattice): Use value_range_base instead of value_range everywhere. (ipcp_vr_lattice::print): Use dump_value_range_base. (ipcp_vr_lattice::meet_with): Adjust. (ipcp_vr_lattice::meet_with_1): Likewise. (ipa_vr_operation_and_type_effects): Likewise. (propagate_vr_across_jump_function): Likewise. * ipa-prop.c (struct ipa_vr_ggc_hash_traits): Likewise. (ipa_get_value_range): Likewise. (ipa_set_jfunc_vr): Likewise. (ipa_compute_jump_functions_for_edge): Likewise. From-SVN: r266011
Richard Biener committed -
Implement P0318R1 unwrap_ref_decay and unwrap_reference * include/std/type_traits (unwrap_reference, unwrap_reference_t) (unwrap_ref_decay, unwrap_ref_decay_t): New traits and aliases. * testsuite/20_util/unwrap_reference/1.cc: New test. * testsuite/20_util/unwrap_reference/2.cc: New test. From-SVN: r266010
Jonathan Wakely committed -
Implement P1007R3 std::assume_aligned * include/std/memory (assume_aligned): Implement for C++17. * testsuite/20_util/assume_aligned/1.cc: New test. * testsuite/20_util/assume_aligned/2_neg.cc: New test. * testsuite/20_util/assume_aligned/3.cc: New test. From-SVN: r266009
Jonathan Wakely committed -
2018-11-10 Sandra Loosemore <sandra@codesourcery.com> PR middle-end/65703 gcc/ * doc/invoke.texi (Optimize Options): Add @opindex entries for the positive forms of -fno-xxx and -mno-xxx options that were lacking them. From-SVN: r266008
Sandra Loosemore committed -
From-SVN: r266007
GCC Administrator committed
-
- 10 Nov, 2018 2 commits
-
-
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 -
From-SVN: r266001
GCC Administrator committed
-
- 09 Nov, 2018 4 commits
-
-
re PR testsuite/87965 (Test cases c-c++-common/pr60226.c and gcc.dg/pr39323-1.c fail starting with r265977) gcc/testsuite/ChangeLog: PR testsuite/87965 * c-c++-common/pr60226.c: Adjust text of expected diagnostic. * gcc.dg/pr39323-1.c: Ditto. From-SVN: r265998
Martin Sebor committed -
ChangeLog: yyyy-mm-dd Stafford Horne <shorne@gmail.com> * MAINTAINERS (CPU Port Maintainers): Add myself for or1k. (Write After Approval): Remove myself. From-SVN: r265996
Stafford Horne committed -
* gcc.dg/Walloca-16.c: Ignore conflicting types for built-in warnings. * gcc.dg/Wrestrict-4.c: Ditto. * gcc.dg/Wrestrict-5.c: Ditto. * gcc.dg/pr83463.c: Ditto. * gcc.dg/torture/pr55890-2.c: Ditto. * gcc.dg/torture/pr55890-3.c: Ditto. * gcc.dg/torture/pr71816.c: Ditto. From-SVN: r265995
Paul Koning committed -
PR target/87221 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): Use crtbeginS.o for PIE. (NETBSD_ENDFILE_SPEC): Use crtendS.o for PIE. From-SVN: r265994
Maya Rashish committed
-