16939 lines
609 KiB
Plaintext
16939 lines
609 KiB
Plaintext
2022-07-29 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
|
||
(<expander><mode>3<exec>): Use V_INT_noHI.
|
||
(v<expander><mode>3<exec>): Likewise.
|
||
|
||
2022-07-29 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config/gcn/gcn.md (one_cmpldi2): New.
|
||
|
||
2022-07-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105679
|
||
* tree-ssa-threadbackward.cc
|
||
(back_threader_profitability::profitable_path_p): Avoid threading
|
||
when the entry edge is probably never executed.
|
||
|
||
2022-07-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106422
|
||
* tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
|
||
Check whether we can copy thread blocks and cancel the thread if not.
|
||
|
||
2022-07-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/106449
|
||
* omp-expand.cc (expand_omp_simd): Fix up handling of pointer
|
||
iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
|
||
or n2 before regimplifying it inside of a condition.
|
||
|
||
2022-07-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
|
||
extract_omp_for_update_vars, expand_omp_for_ordered_loops,
|
||
expand_omp_simd): Don't fold_convert second argument to
|
||
fold_build_pointer_plus to sizetype.
|
||
|
||
2022-07-29 Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config.in: Regenerate.
|
||
* config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
|
||
Select the value of the macro definition according to whether
|
||
HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
|
||
* configure: Regenerate.
|
||
* configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
|
||
|
||
2022-07-29 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
|
||
Use CONVERT_EXPR_CODE_P.
|
||
|
||
2022-07-29 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-patterns.cc (vect_recog_bool_pattern): Use
|
||
get_vectype_for_scalar_type instead of
|
||
vect_get_vector_types_for_stmt.
|
||
|
||
2022-07-28 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR analyzer/105893
|
||
* doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
|
||
|
||
2022-07-28 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
|
||
url.
|
||
(Static Analyzer Options): Likewise. Add urefs for all of the
|
||
warnings that have associated CWE identifiers.
|
||
|
||
2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* doc/implement-c.texi (Floating point implementation): Mention
|
||
`-fno-trapping-math' in the context of FENV_ACCESS pragma.
|
||
* doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
|
||
implication in the descriptions of `-fno-trapping-math' and
|
||
`-frounding-math'.
|
||
|
||
2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
|
||
(QUIET_PATTERN): New int attribute.
|
||
(f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
|
||
RTL insns entirely within the preparation statements.
|
||
(*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
|
||
(*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
|
||
insns.
|
||
(*riscv_fsnvsnan<mode>2): New insn.
|
||
|
||
2022-07-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/106457
|
||
* tree.cc (array_at_struct_end_p): Handle array objects
|
||
specially.
|
||
|
||
2022-07-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/106099
|
||
* internal-fn.def (TRAP): New internal fn.
|
||
* internal-fn.h (expand_TRAP): Declare.
|
||
* internal-fn.cc (expand_TRAP): Define.
|
||
* gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
|
||
use internal fn rather than builtin.
|
||
|
||
2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com>
|
||
|
||
* doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
|
||
|
||
2022-07-27 WANG Xuerui <i@xen0n.name>
|
||
|
||
* doc/invoke.texi: Document -m[no-]explicit-relocs for
|
||
LoongArch.
|
||
|
||
2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* config/riscv/riscv.md (stack_protect_set_<mode>): Remove
|
||
duplicate backslashes.
|
||
|
||
2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
|
||
case.
|
||
|
||
2022-07-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/106261
|
||
* cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
|
||
output asm thunks for -dx.
|
||
|
||
2022-07-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/106332
|
||
* opts-common.cc (candidates_list_and_hint): Add gcc_assert
|
||
that candidates is not an empty vector.
|
||
|
||
2022-07-27 Xi Ruoyao <xry111@xry111.site>
|
||
|
||
* configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
|
||
assembler supports explicit relocation for LoongArch.
|
||
* configure: Regenerate.
|
||
* config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
|
||
Define to 0 if not defined.
|
||
* config/loongarch/genopts/loongarch.opt.in
|
||
(TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
|
||
* config/loongarch/loongarch.opt: Regenerate.
|
||
|
||
2022-07-26 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR c/106016
|
||
* expr.cc (count_type_elements): Handle OPAQUE_TYPE.
|
||
|
||
2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config/loongarch/loongarch-opts.cc: Modify the output message string
|
||
of the warning.
|
||
|
||
2022-07-26 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/tm.texi.in: Fix placement of defmac.
|
||
* doc/tm.texi: Copy.
|
||
|
||
2022-07-26 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/tm.texi.in: Fix cross @defmac and @hook.
|
||
* doc/tm.texi: Copy.
|
||
|
||
2022-07-26 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR tree-optimization/106444
|
||
* value-range-pretty-print.cc (vrange_printer::visit): Handle
|
||
legacy ranges.
|
||
(vrange_printer::print_irange_bound): Work on wide_int's.
|
||
* value-range-pretty-print.h (print_irange_bound): Same.
|
||
* value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
|
||
|
||
2022-07-26 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
|
||
points to a constant continue checking ptr2.
|
||
|
||
2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.cc
|
||
(MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
|
||
(MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
|
||
(MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
|
||
(MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
|
||
(MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
|
||
(MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
|
||
(MODE_q_p128): Define macro to map to corresponding mode name.
|
||
(QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
|
||
(QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
|
||
(QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
|
||
corresponding qualifier name.
|
||
(LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
|
||
(SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
|
||
functions for the above mappings
|
||
(VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
|
||
(VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
|
||
(VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
|
||
(AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
|
||
for all vreinterpret intrinsics
|
||
(enum aarch64_builtins): Add vreinterpret function codes
|
||
(aarch64_init_simd_intrinsics): New
|
||
(handle_arm_neon_h): Improved comment.
|
||
(aarch64_general_fold_builtin): Fold vreinterpret calls
|
||
* config/aarch64/arm_neon.h
|
||
(vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
|
||
(vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
|
||
(vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
|
||
(vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
|
||
(vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
|
||
(vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
|
||
(vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
|
||
(vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
|
||
(vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
|
||
(vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
|
||
(vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
|
||
(vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
|
||
(vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
|
||
(vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
|
||
(vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
|
||
(vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
|
||
(vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
|
||
(vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
|
||
(vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
|
||
(vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
|
||
(vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
|
||
(vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
|
||
(vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
|
||
(vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
|
||
(vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
|
||
(vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
|
||
(vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
|
||
(vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
|
||
(vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
|
||
(vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
|
||
(vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
|
||
(vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
|
||
(vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
|
||
(vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
|
||
(vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
|
||
(vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
|
||
(vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
|
||
(vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
|
||
(vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
|
||
(vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
|
||
(vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
|
||
(vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
|
||
(vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
|
||
(vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
|
||
(vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
|
||
(vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
|
||
(vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
|
||
(vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
|
||
(vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
|
||
(vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
|
||
(vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
|
||
(vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
|
||
(vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
|
||
(vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
|
||
(vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
|
||
(vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
|
||
(vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
|
||
(vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
|
||
(vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
|
||
(vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
|
||
(vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
|
||
(vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
|
||
(vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
|
||
(vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
|
||
(vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
|
||
(vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
|
||
(vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
|
||
(vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
|
||
(vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
|
||
(vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
|
||
(vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
|
||
(vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
|
||
(vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
|
||
(vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
|
||
(vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
|
||
(vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
|
||
(vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
|
||
(vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
|
||
(vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
|
||
(vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
|
||
(vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
|
||
(vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
|
||
(vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
|
||
(vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
|
||
(vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
|
||
(vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
|
||
(vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
|
||
(vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
|
||
(vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
|
||
(vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
|
||
(vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
|
||
(vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
|
||
(vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
|
||
(vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
|
||
(vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
|
||
(vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
|
||
(vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
|
||
(vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
|
||
(vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
|
||
(vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
|
||
(vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
|
||
(vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
|
||
(vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
|
||
(vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
|
||
(vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
|
||
(vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
|
||
(vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
|
||
(vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
|
||
(vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
|
||
(vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
|
||
(vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
|
||
(vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
|
||
(vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
|
||
(vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
|
||
(vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
|
||
(vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
|
||
(vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
|
||
(vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
|
||
(vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
|
||
(vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
|
||
(vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
|
||
(vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
|
||
(vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
|
||
(vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
|
||
(vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
|
||
(vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
|
||
(vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
|
||
(vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
|
||
(vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
|
||
(vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
|
||
(vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
|
||
(vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
|
||
(vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
|
||
(vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
|
||
(vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
|
||
(vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
|
||
(vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
|
||
(vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
|
||
(vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
|
||
(vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
|
||
(vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
|
||
(vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
|
||
(vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
|
||
(vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
|
||
(vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
|
||
(vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
|
||
(vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
|
||
(vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
|
||
(vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
|
||
(vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
|
||
(vreinterpretq_p128_bf16): Delete
|
||
|
||
2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.cc
|
||
(aarch64_simd_builtin_std_type): Rename to...
|
||
(aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
|
||
(aarch64_lookup_simd_builtin_type): Rename to...
|
||
(aarch64_simd_builtin_type): ...this. Add const/pointer
|
||
support, and extract table lookup to...
|
||
(aarch64_lookup_simd_type_in_table): ...this function.
|
||
(aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
|
||
(aarch64_init_fcmla_laneq_builtins): Ditto.
|
||
(aarch64_init_simd_builtin_functions): Ditto.
|
||
|
||
2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.cc
|
||
(aarch64_general_gimple_fold_builtin): Add combine.
|
||
|
||
2022-07-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106189
|
||
* gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
|
||
Divide using offset_ints.
|
||
|
||
2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* common/config/loongarch/loongarch-common.cc:
|
||
Enable '-fsection-anchors' when O1 and more advanced optimization.
|
||
* config/loongarch/genopts/loongarch.opt.in: Add new option
|
||
'-mexplicit-relocs', and enable by default.
|
||
* config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
|
||
Delete function declaration.
|
||
(loongarch_split_move_insn): Delete function declaration.
|
||
(loongarch_split_symbol_type): Add function declaration.
|
||
* config/loongarch/loongarch.cc (enum loongarch_address_type):
|
||
Add new address type 'ADDRESS_LO_SUM'.
|
||
(loongarch_classify_symbolic_expression): New function definitions.
|
||
Classify the base of symbolic expression X, given that X appears in
|
||
context CONTEXT.
|
||
(loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
|
||
(loongarch_split_symbol_type): New function definitions.
|
||
Determines whether the symbol load should be split into two instructions.
|
||
(loongarch_valid_lo_sum_p): New function definitions.
|
||
Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
|
||
symbol has type SYMBOL_TYPE.
|
||
(loongarch_classify_address): Add handling of 'LO_SUM'.
|
||
(loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
|
||
(loongarch_signed_immediate_p): Sort code.
|
||
(loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
|
||
(loongarch_const_insns): Add handling of 'HIGH'.
|
||
(loongarch_split_move_insn_p): Add the static attribute to the function.
|
||
(loongarch_emit_set): New function definitions.
|
||
(loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
|
||
(loongarch_legitimize_tls_address): Add symbol handling when defining the
|
||
TARGET_EXPLICIT_RELOCS macro.
|
||
(loongarch_split_symbol): New function definitions. Split symbol.
|
||
(loongarch_legitimize_address): Add codes see if the address can split into a high part
|
||
and a LO_SUM.
|
||
(loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
|
||
high and low.
|
||
(loongarch_split_move_insn): Delete function definitions.
|
||
(loongarch_output_move): Add support for HIGH and LO_SUM.
|
||
(loongarch_print_operand_reloc): New function definitions.
|
||
Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
|
||
(loongarch_memmodel_needs_release_fence): Sort code.
|
||
(loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
|
||
and LOW output.
|
||
(loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
|
||
(TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
|
||
(TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
|
||
* config/loongarch/loongarch.md (movti): Delete the template.
|
||
(*movti): Delete the template.
|
||
(movtf): Delete the template.
|
||
(*movtf): Delete the template.
|
||
(*low<mode>): New template of normal symbol low address.
|
||
(@tls_low<mode>): New template of tls symbol low address.
|
||
(@ld_from_got<mode>): New template load address from got table.
|
||
(@ori_l_lo12<mode>): New template.
|
||
* config/loongarch/loongarch.opt: Update from loongarch.opt.in.
|
||
* config/loongarch/predicates.md: Add support for symbol_type HIGH.
|
||
|
||
2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config/loongarch/constraints.md (a): Delete the constraint.
|
||
(b): A constant call not local address.
|
||
(h): Delete the constraint.
|
||
(t): Delete the constraint.
|
||
* config/loongarch/loongarch-opts.cc (loongarch_config_target):
|
||
Remove cModel type support other than normal.
|
||
* config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
|
||
Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
|
||
(loongarch_split_symbol): Delete useless function declarations.
|
||
(loongarch_split_symbol_type): Delete useless function declarations.
|
||
* config/loongarch/loongarch.cc (enum loongarch_address_type):
|
||
Delete unnecessary comment information.
|
||
(loongarch_symbol_binds_local_p): Modified the judgment order of label
|
||
and symbol.
|
||
(loongarch_classify_symbol): Return symbol type. If symbol is a label,
|
||
or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
|
||
return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
|
||
(loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
|
||
'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
|
||
(loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
|
||
and 'SYMBOL_PCREL'.
|
||
(loongarch_address_insns): Sort code.
|
||
(loongarch_12bit_offset_address_p): Sort code.
|
||
(loongarch_14bit_shifted_offset_address_p): Sort code.
|
||
(loongarch_call_tls_get_addr): Sort code.
|
||
(loongarch_legitimize_tls_address): Sort code.
|
||
(loongarch_output_move): Remove schema support for cmodel other than normal.
|
||
(loongarch_memmodel_needs_release_fence): Sort code.
|
||
(loongarch_print_operand): Sort code.
|
||
* config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
|
||
Rename to LARCH_12BIT_OFFSET_P.
|
||
(LARCH_12BIT_OFFSET_P): New macro.
|
||
* config/loongarch/loongarch.md: Reimplement the function call. Remove schema
|
||
support for cmodel other than normal.
|
||
* config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
|
||
(is_const_call_plt_symbol): Delete this predicate.
|
||
(is_const_call_global_noplt_symbol): Delete this predicate.
|
||
(is_const_call_no_local_symbol): New predicate, determines whether it is a local
|
||
symbol or label.
|
||
|
||
2022-07-26 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR target/106091
|
||
* config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
|
||
REG_EH_REGION when replacing one store insn having it.
|
||
(replace_swapped_aligned_load): Likewise.
|
||
|
||
2022-07-25 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* Makefile.in (OBJS): Add range-op-float.o.
|
||
* range-op.cc (get_float_handler): New.
|
||
(range_op_handler::range_op_handler): Save code and type for
|
||
delayed querying.
|
||
(range_op_handler::oeprator bool): Move from header file, and
|
||
add support for floats.
|
||
(range_op_handler::fold_range): Add support for floats.
|
||
(range_op_handler::op1_range): Same.
|
||
(range_op_handler::op2_range): Same.
|
||
(range_op_handler::lhs_op1_relation): Same.
|
||
(range_op_handler::lhs_op2_relation): Same.
|
||
(range_op_handler::op1_op2_relation): Same.
|
||
* range-op.h (class range_operator_float): New.
|
||
(class floating_op_table): New.
|
||
* value-query.cc (range_query::get_tree_range): Add case for
|
||
REAL_CST.
|
||
* range-op-float.cc: New file.
|
||
|
||
2022-07-25 Roger Sayle <roger@nextmovesoftware.com>
|
||
Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/91681
|
||
* config/i386/i386-expand.cc (split_double_concat): A new helper
|
||
function for setting a double word value from two word values.
|
||
* config/i386/i386-protos.h (split_double_concat): Prototype here.
|
||
* config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
|
||
(*add<dwi>3_doubleword_zext): New define_insn_and_split.
|
||
(*sub<dwi>3_doubleword_zext): New define_insn_and_split.
|
||
(*concat<mode><dwi>3_1): New define_insn_and_split replacing
|
||
previous define_split for implementing DST = (HI<<32)|LO as
|
||
pair of move instructions, setting lopart and hipart.
|
||
(*concat<mode><dwi>3_2): Likewise.
|
||
(*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
|
||
(*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
|
||
|
||
2022-07-25 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR middle-end/106432
|
||
* gimple-range.cc (gimple_ranger::range_on_edge): Return false
|
||
when the result range type is unsupported.
|
||
|
||
2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
|
||
|
||
2022-07-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/106414
|
||
* match.pd (~(x ^ y) -> x == y): Restrict to single bit
|
||
precision types.
|
||
|
||
2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
|
||
(@aarch64_rbit<mode>): ... to this and change it in...
|
||
(ffs<mode>2,ctz<mode>2): ... here.
|
||
(@aarch64_rev16<mode>): New.
|
||
* config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
|
||
Define the following enum AARCH64_REV16, AARCH64_REV16L,
|
||
AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
|
||
(aarch64_init_data_intrinsics): New.
|
||
(aarch64_general_init_builtins): Add call to
|
||
aarch64_init_data_intrinsics.
|
||
(aarch64_expand_builtin_data_intrinsic): New.
|
||
(aarch64_general_expand_builtin): Add call to
|
||
aarch64_expand_builtin_data_intrinsic.
|
||
* config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
|
||
__clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
|
||
__rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
|
||
|
||
2022-07-25 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/extend.texi: Remove trailing whitespaces.
|
||
* doc/invoke.texi: Likewise.
|
||
|
||
2022-07-25 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-range-pretty-print.cc (vrange_printer::visit): New.
|
||
(vrange_printer::print_frange_prop): New.
|
||
* value-range-pretty-print.h (class vrange_printer): Add visit and
|
||
print_frange_prop.
|
||
* value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
|
||
(vrange_allocator::alloc_frange): New.
|
||
* value-range.cc (vrange::operator=): Handle frange.
|
||
(vrange::operator==): Same.
|
||
(frange::accept): New.
|
||
(frange::set): New.
|
||
(frange::normalize_kind): New.
|
||
(frange::union_): New.
|
||
(frange::intersect): New.
|
||
(frange::operator=): New.
|
||
(frange::operator==): New.
|
||
(frange::supports_type_p): New.
|
||
(frange::verify_range): New.
|
||
* value-range.h (enum value_range_discriminator): Handle frange.
|
||
(class fp_prop): New.
|
||
(FP_PROP_ACCESSOR): New.
|
||
(class frange_props): New.
|
||
(FRANGE_PROP_ACCESSOR): New.
|
||
(class frange): New.
|
||
(Value_Range::init): Handle frange.
|
||
(Value_Range::operator=): Same.
|
||
(Value_Range::supports_type_p): Same.
|
||
(frange_props::operator==): New.
|
||
(frange_props::union_): New.
|
||
(frange_props::intersect): New
|
||
(frange::frange): New.
|
||
(frange::type): New.
|
||
(frange::set_varying): New.
|
||
(frange::set_undefined): New.
|
||
|
||
2022-07-25 Peter Bergner <bergner@linux.ibm.com>
|
||
Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR testsuite/106345
|
||
* config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
|
||
to filter out all -mtune options.
|
||
|
||
2022-07-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-query.cc (range_query::get_value_range): Add assert.
|
||
* vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
|
||
on unsupported types in vr_values.
|
||
(simplify_using_ranges::simplify): Same.
|
||
|
||
2022-07-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
|
||
types.
|
||
* value-query.cc (get_ssa_name_range_info): Remove precision check.
|
||
|
||
2022-07-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-relation.cc (value_relation::set_relation): Remove assert.
|
||
(path_oracle::register_relation): Exit when trying to register
|
||
same SSA name relations.
|
||
|
||
2022-07-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
|
||
(ranger_cache::range_from_dom): Same.
|
||
* tree-ssa-dom.cc
|
||
(dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
|
||
|
||
2022-07-24 Roger Sayle <roger@nextmovesoftware.com>
|
||
H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/106303
|
||
PR target/106347
|
||
* config/i386/i386-features.cc (make_vector_copies): Move from
|
||
general_scalar_chain to scalar_chain.
|
||
(convert_reg): Likewise.
|
||
(convert_insn_common): New scalar_chain method split out from
|
||
general_scalar_chain convert_insn.
|
||
(convert_registers): Move from general_scalar_chain to
|
||
scalar_chain.
|
||
(scalar_chain::convert): Call convert_insn_common before calling
|
||
convert_insn.
|
||
(timode_remove_non_convertible_regs): Iterate until there are
|
||
no further changes to the candidates.
|
||
* config/i386/i386-features.h (scalar_chain::hash_map): Move
|
||
from general_scalar_chain.
|
||
(scalar_chain::convert_reg): Likewise.
|
||
(scalar_chain::convert_insn_common): New shared method.
|
||
(scalar_chain::make_vector_copies): Move from general_scalar_chain.
|
||
(scalar_chain::convert_registers): Likewise. No longer virtual.
|
||
(general_scalar_chain::hash_map): Delete. Moved to scalar_chain.
|
||
(general_scalar_chain::convert_reg): Likewise.
|
||
(general_scalar_chain::make_vector_copies): Likewise.
|
||
(general_scalar_chain::convert_registers): Delete virtual method.
|
||
(timode_scalar_chain::convert_registers): Likewise.
|
||
|
||
2022-07-23 Immad Mir <mirimmad@outlook.com>
|
||
|
||
* doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
|
||
"Common Function Attributes" section.
|
||
* doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
|
||
-Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
|
||
warnings may be emitted through usage of three function attributes used
|
||
for static analysis of file descriptors namely fd_arg, fd_arg_read and
|
||
fd_arg_write.
|
||
|
||
2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
|
||
Add a new insn_and_split pattern, and a few split patterns for
|
||
spacial cases.
|
||
|
||
2022-07-22 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* graphds.cc (graphds_scc): Fix algorithm attribution.
|
||
|
||
2022-07-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106403
|
||
* tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
|
||
value valueization after check for IFN_MASKED_STORE or
|
||
IFN_LEN_STORE.
|
||
|
||
2022-07-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106397
|
||
* tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
|
||
not update SSA form here.
|
||
(mark_nontemporal_stores): Return whether we marked any
|
||
non-temporal stores and inserted mfence.
|
||
(loop_prefetch_arrays): Note when we need to update SSA.
|
||
(tree_ssa_prefetch_arrays): Perform required (LC) SSA update
|
||
at the end of the pass.
|
||
|
||
2022-07-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106387
|
||
* tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
|
||
if ptr is not an SSA name.
|
||
|
||
2022-07-22 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/106038
|
||
* config/i386/mmx.md (<code><mode>3): New define_expand, it's
|
||
original "<code><mode>3".
|
||
(*<code><mode>3): New define_insn, it's original
|
||
"<code><mode>3" be extended to handle memory and immediate
|
||
operand with ix86_binary_operator_ok. Also adjust define_split
|
||
after it.
|
||
(mmxinsnmode): New mode attribute.
|
||
(*mov<mode>_imm): Refactor with mmxinsnmode.
|
||
* config/i386/predicates.md
|
||
(register_or_x86_64_const_vector_operand): New predicate.
|
||
|
||
2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/altivec.md:
|
||
(vstrir_code_<mode>): Rename to...
|
||
(vstrir_direct_<mode>): ... this.
|
||
(vstrir_p_code_<mode>): Rename to...
|
||
(vstrir_p_direct_<mode>): ... this.
|
||
(vstril_code_<mode>): Rename to...
|
||
(vstril_direct_<mode>): ... this.
|
||
(vstril_p_code_<mode>): Rename to...
|
||
(vstril_p_direct_<mode>): ... this.
|
||
|
||
2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-c.cc: Update comments.
|
||
(rs6000_target_modify_macros): Remove bu_mask references.
|
||
(rs6000_define_or_undefine_macro): Replace bu_mask reference
|
||
with a rs6000_cpu value check.
|
||
(rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
|
||
parameter from call to rs6000_target_modify_macros.
|
||
* config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
|
||
rs6000_target_modify_macros_ptr): Remove parameter from extern
|
||
for the prototype.
|
||
* config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
|
||
parameter from prototype, update calls to this function.
|
||
(rs6000_print_builtin_options): Remove prototype, call and function.
|
||
(rs6000_builtin_mask_calculate): Remove function.
|
||
(rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
|
||
(rs6000_option_override_internal): Remove rs6000_builtin_mask var
|
||
and builtin_mask debug output.
|
||
(rs6000_builtin_mask_names): Remove.
|
||
(rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
|
||
diff_bumask references; Update calls to rs6000_target_modify_ptr.
|
||
* config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
|
||
|
||
2022-07-21 Sam Feifer <sfeifer@redhat.com>
|
||
|
||
PR tree-optimization/94920
|
||
* match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
|
||
(x <= 0 ? -x : 0): New simplification.
|
||
|
||
2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
Revert:
|
||
2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
|
||
instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
|
||
|
||
2022-07-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106379
|
||
* match.pd (~(a ^ b) -> a == b): New pattern.
|
||
|
||
2022-07-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106378
|
||
* tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
|
||
LEN_STORE, add mode to initialize a may-def and handle
|
||
MASK_STORE that way.
|
||
(dse_optimize_stmt): Query may-defs. Handle internal
|
||
functions LEN_STORE and MASK_STORE similar to how
|
||
we handle memory builtins but without byte tracking.
|
||
|
||
2022-07-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106365
|
||
* tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
|
||
the offset to start encoding of RHS from.
|
||
(vn_walk_cb_data::vn_walk_cb_data): Initialize it.
|
||
(vn_walk_cb_data::push_partial_def): Allow the first partial
|
||
definition to be fully providing the def. Offset RHS
|
||
before encoding if requested.
|
||
(vn_reference_lookup_3): Initialize def_rhs everywhere.
|
||
Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
|
||
|
||
2022-07-21 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
|
||
store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
|
||
and IFN_MASK_LOAD_LANES.
|
||
(call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
|
||
IFN_LEN_STORE and IFN_MASK_STORE_LANES.
|
||
|
||
2022-07-20 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR rtl-optimization/101347
|
||
* builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
|
||
population of nonlocal_goto_handler_labels from here ...
|
||
(expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
|
||
* rtlanal.cc (remove_node_from_insn_list): Verify that a
|
||
duplicate is not present in the remainder of the list.
|
||
|
||
2022-07-20 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* rtl.h (remove_node_from_expr_list): Remove declaration.
|
||
* rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
|
||
|
||
2022-07-20 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-data-refs.cc (bump_vector_ptr): Return an
|
||
invariant updated address when the input was invariant.
|
||
|
||
2022-07-20 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* passes.def: (Split pass_cse_sincos to pass_expand_powcabs
|
||
and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
|
||
* timevar.def (TV_TREE_POWCABS): New timevar.
|
||
* tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
|
||
* tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
|
||
(class pass_expand_powcabs): Ditto.
|
||
(pass_expand_powcabs::execute): Ditto.
|
||
(make_pass_expand_powcabs): Ditto.
|
||
(pass_cse_sincos::execute): Remove pow/cabs expand part.
|
||
(make_pass_cse_sincos): Ditto.
|
||
|
||
2022-07-20 Richard Biener <richard.guenther@gmail.com>
|
||
Hongtao Liu <hongtao.liu@intel.com>
|
||
|
||
PR tree-optimization/106010
|
||
* tree-complex.cc (init_dont_simulate_again): Lower complex
|
||
type move.
|
||
(expand_complex_move): Also expand COMPLEX_CST for rhs.
|
||
|
||
2022-07-19 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gimple-range-cache.cc (ranger_cache::range_from_dom): Check
|
||
for incoming ranges on join nodes and add to worklist.
|
||
|
||
2022-07-19 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gimple-range-cache.cc (ranger_cache::resolve_dom): New.
|
||
(ranger_cache::range_from_dom): Put all nodes to be calculated
|
||
in the worklist and resolve after the dom walk.
|
||
* gimple-range-cache.h (resolve_dom): New prototype.
|
||
|
||
2022-07-19 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* tree-cfg.cc (gimple_verify_flow_info): Check placement of
|
||
returns_twice calls.
|
||
|
||
2022-07-19 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* cfghooks.cc (duplicate_block): Expand comment.
|
||
* tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
|
||
calls that may return twice.
|
||
|
||
2022-07-19 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* tree-ssa-sink.cc (select_best_block): Punt if selected block
|
||
has incoming abnormal edges.
|
||
|
||
2022-07-19 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/extend.texi: Remove trailing :.
|
||
|
||
2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
|
||
instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
|
||
|
||
2022-07-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/106331
|
||
* builtins.cc (get_memory_rtx): Compute alignment from
|
||
the original address and set MEM_OFFSET to unknown when
|
||
we create a MEM_EXPR from the base object of the address.
|
||
|
||
2022-07-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/106334
|
||
* dwarf2out.cc (dwarf2out_register_external_die): Allow
|
||
map entry re-use during WPA.
|
||
|
||
2022-07-19 Roger Sayle <roger@nextmovesoftware.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/106264
|
||
* builtins.cc (fold_builtin_frexp): Call suppress_warning on
|
||
COMPOUND_EXPR to silence spurious warning if result isn't used.
|
||
(fold_builtin_modf): Likewise.
|
||
(do_mpfr_remquo): Likewise.
|
||
|
||
2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.cc (xtensa_rtx_costs):
|
||
Change the relative cost of '(set (reg) (const_int N))' where
|
||
N fits into signed 12-bit from 4 to 0 if optimizing for size.
|
||
And use the appropriate macro instead of the bare number 4.
|
||
|
||
2022-07-18 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/106280
|
||
* value-relation.cc (dom_oracle::register_relation): Register
|
||
transitives only when it is possible for there to be one.
|
||
(dom_oracle::set_one_relation): Return NULL if this is an
|
||
existing relation.
|
||
|
||
2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* doc/invoke.texi (RISC-V Options): Add index references for
|
||
`mrelax' and `mriscv-attribute'.
|
||
|
||
2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* doc/invoke.texi (Option Summary): Add missing second space
|
||
around `-mstack-protector-guard-reg='.
|
||
|
||
2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
|
||
(RISC-V Options): Likewise, and `-mriscv-attribute'.
|
||
|
||
2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
|
||
|
||
* config/arc/arc-arch.h (arc_tune_attr): Add
|
||
ARC_TUNE_ARCHS4X_REL31A variant.
|
||
* config/arc/arc.cc (arc_override_options): Tune options for
|
||
release 310a.
|
||
(arc_sched_issue_rate): Use correct enum.
|
||
(arc600_corereg_hazard): Textual change.
|
||
(arc_hazard): Add release 310a tunning.
|
||
* config/arc/arc.md (tune): Update and take into consideration new
|
||
tune option.
|
||
(tune_dspmpy): Likewise.
|
||
(tune_store): New attribute.
|
||
* config/arc/arc.opt (mtune): New tune option.
|
||
* config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
|
||
(hs4x_brcc_op): New instruction rezervation.
|
||
(hs4x_data_store_1_op): Likewise.
|
||
* config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
|
||
* config/arc/arc-tables.opt: Regenerate.
|
||
* config/arc/t-multilib: Likewise.
|
||
* doc/invoke.texi (ARC): Update mcpu and tune sections.
|
||
|
||
2022-07-18 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-loop-distribution.cc (loop_distribution::distribute_loop):
|
||
When computing cost-based merging do not disregard builtin
|
||
classified partitions in some cases.
|
||
|
||
2022-07-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/106253
|
||
* config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
|
||
Delete.
|
||
* config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
|
||
* config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
|
||
Delete.
|
||
* config/arm/arm_neon_builtins.def (copysignf): Delete.
|
||
* config/arm/iterators.md (nvrint_pattern): New attribute.
|
||
* config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
|
||
New pattern.
|
||
(l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
|
||
Likewise.
|
||
(neon_copysignf<mode>): Rename to...
|
||
(copysign<mode>3): ...this.
|
||
|
||
2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
|
||
|
||
* config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
|
||
pointer first when in interrupts.
|
||
|
||
2022-07-18 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-loop-distribution.cc (copy_loop_before): Add
|
||
the ability to replace the original LC PHI defs.
|
||
(generate_loops_for_partition): Pass through a flag
|
||
whether to redirect original LC PHI defs.
|
||
(generate_code_for_partition): Likewise.
|
||
(loop_distribution::distribute_loop): Compute the partition
|
||
that should provide the LC PHI defs for common reductions
|
||
and pass that down.
|
||
|
||
2022-07-18 Richard Ball <richard.ball@arm.com>
|
||
|
||
* config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
|
||
(aarch64_evpc_uzp): Likewise.
|
||
(aarch64_evpc_zip): Likewise.
|
||
|
||
2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/106231
|
||
* config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
|
||
to recognize any_extend:DI of ctz:SI which is implicitly extended.
|
||
(*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
|
||
extended ctz:SI that has preceding xor to break false dependency.
|
||
|
||
2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/predicates.md (x86_64_const_vector_operand):
|
||
Check the operand's mode matches the specified mode argument.
|
||
|
||
2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
|
||
(kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
|
||
(kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
|
||
(vec_pack_trunc_qi): Update to specify the now required
|
||
UNSPEC_MASKOP unspec.
|
||
(vec_pack_trunc_<mode>): Likewise.
|
||
|
||
2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md
|
||
(*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
|
||
*masktrue_const_shifted_mask): If the immediate for bitwise AND is
|
||
represented as '-(1 << N)', decrease the lower bound of N from 12
|
||
to 1. And the other immediate for conditional branch is now no
|
||
longer limited to zero, but also one of some positive integers.
|
||
Finally, remove the checks of some conditions, because the comparison
|
||
expressions that don't satisfy such checks are determined as
|
||
compile-time constants and thus will be optimized away before
|
||
RTL expansion.
|
||
|
||
2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
|
||
(xtensa_constantsynth_2insn): Change to try all three synthetic
|
||
methods and to use the one that fits the immediate value of
|
||
the seed into a Narrow Move Immediate instruction "MOVI.N"
|
||
when the Code Density Option is configured.
|
||
|
||
2022-07-15 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/85620
|
||
* config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
|
||
false if callee has indirect_return attribute and caller
|
||
doesn't.
|
||
|
||
2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/106273
|
||
* config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
|
||
constraints to reflect the output is earlyclobber, unless it is
|
||
the same register (pair) as one of the operands.
|
||
|
||
2022-07-15 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* doc/invoke.texi (Static Analyzer Options): Add the new fd
|
||
warnings to the initial gccoptlist, and to the list of those
|
||
disabled by -fanalyzer-checker=taint.
|
||
|
||
2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.cc
|
||
(enum aarch64_type_qualifiers): Remove qualifier_internal.
|
||
(aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
|
||
|
||
2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.cc
|
||
(v1di_UP): Add V1DI mode to _UP macros.
|
||
* config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
|
||
* config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
|
||
* config/aarch64/aarch64-simd.md
|
||
(vec_extractv2dfv1df): Replace with...
|
||
(vec_extract<mode><V1half>): ...this.
|
||
* config/aarch64/aarch64.cc
|
||
(aarch64_classify_vector_mode): Add V1DI mode.
|
||
* config/aarch64/iterators.md
|
||
(VQ_2E, V1HALF, V1half): New.
|
||
(nunits): Add V1DI mode.
|
||
|
||
2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/106278
|
||
* config/i386/i386-features.cc (general_scalar_chain::convert_insn):
|
||
Fix indentation whitespace.
|
||
(timode_scalar_chain::fix_debug_reg_uses): Likewise.
|
||
(timode_scalar_chain::convert_insn): Delete dead code.
|
||
Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
|
||
Fix indentation whitespace.
|
||
(convertible_comparison_p): Likewise.
|
||
(timode_scalar_to_vector_candidate_p): Likewise.
|
||
|
||
2022-07-15 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
|
||
|
||
2022-07-15 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* Makefile.in (OBJS): Add value-range-pretty-print.o.
|
||
* pretty-print.h (pp_vrange): New.
|
||
* value-range.cc (vrange::dump): Call pp version.
|
||
(unsupported_range::dump): Move to its own file.
|
||
(dump_bound_with_infinite_markers): Same.
|
||
(irange::dump): Same.
|
||
(irange::dump_bitmasks): Same.
|
||
(vrange::debug): Remove.
|
||
* value-range.h: Remove virtual designation for dump methods.
|
||
Remove dump_bitmasks method.
|
||
* value-range-pretty-print.cc: New file.
|
||
* value-range-pretty-print.h: New file.
|
||
|
||
2022-07-15 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-range.cc (irange::accept): New.
|
||
(unsupported_range::accept): New.
|
||
* value-range.h (class vrange_visitor): New.
|
||
(class vrange): Add accept method.
|
||
(class unsupported_range): Same.
|
||
(class Value_Range): Same.
|
||
|
||
2022-07-15 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* diagnostic-format-json.cc (json_from_location_range): Adjust
|
||
to new label_text API.
|
||
* diagnostic-format-sarif.cc (sarif_builder::make_location_object):
|
||
Likewise.
|
||
* diagnostic-show-locus.cc (struct pod_label_text): Likewise.
|
||
(layout::print_any_labels): Likewise.
|
||
* tree-diagnostic-path.cc (class path_label): Likewise.
|
||
(struct event_range): Likewise.
|
||
(default_tree_diagnostic_path_printer): Likewise.
|
||
(default_tree_make_json_for_path): Likewise.
|
||
|
||
2022-07-15 konglin1 <lingling.kong@intel.com>
|
||
|
||
PR target/106113
|
||
* config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
|
||
comparison due to intrinsics changed over time.
|
||
* config/i386/i386-expand.cc (ix86_ssecom_setcc):
|
||
Add unordered check and mode for sse comi codegen.
|
||
(ix86_expand_sse_comi): Add unordered check and check a different
|
||
CCmode.
|
||
(ix86_expand_sse_comi_round):Extract unordered check and mode part
|
||
in ix86_ssecom_setcc.
|
||
|
||
2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
|
||
op_mode instead of vmode in calls to force_reg for op0 and op1.
|
||
|
||
2022-07-14 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR tree-optimization/103798
|
||
* tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
|
||
(simplify_builtin_call): Inline memchr with constant strings of
|
||
no more than the bytes of a word.
|
||
* tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
|
||
* tree-ssa-strlen.h (use_in_zero_equality): New.
|
||
|
||
2022-07-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
|
||
and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
|
||
(internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
|
||
pass it in the call to lookup_tmp_var.
|
||
(get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
|
||
(get_initialized_tmp_var): Likewise.
|
||
(prepare_gimple_addressable): Call internal_get_tmp_var instead of
|
||
get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
|
||
|
||
2022-07-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/gimple.texi: Close properly a deftypefn.
|
||
|
||
2022-07-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/gimple.texi: Close properly a deftypefn.
|
||
|
||
2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md:
|
||
In FP constant synthesis split pattern, subcontract to
|
||
avoid_constant_pool_reference() as in the case of integer,
|
||
because it can handle well too. And cast to int32_t before
|
||
calling xtensa_constantsynth() in order to ignore upper 32-bit.
|
||
|
||
2022-07-13 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* range-op.cc (operator_lt::fold_range): Use nonzero bits.
|
||
|
||
2022-07-13 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-range.cc (irange::copy_to_legacy): Set nonzero mask.
|
||
(irange::legacy_intersect): Clear nonzero mask.
|
||
(irange::legacy_union): Same.
|
||
(irange::invert): Same.
|
||
|
||
2022-07-13 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-dom.h (record_temporary_equivalences): Remove.
|
||
* tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
|
||
(dom_jt_state::get_blocks_on_stack): Likewise.
|
||
(dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
|
||
(back_propagate_equivalences): Remove dominator bitmap
|
||
compute and instead use passed in m_blocks_on_stack.
|
||
(record_temporary_equivalences): Likewise.
|
||
(record_equivalences_from_incoming_edge): Likewise.
|
||
(dom_opt_dom_walker::before_dom_children): Maintain and
|
||
pass down blocks on stack.
|
||
(dom_opt_dom_walker::after_dom_children): Likewise.
|
||
|
||
2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.cc
|
||
(aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
|
||
|
||
2022-07-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106249
|
||
* tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
|
||
Only verify LC SSA of the new_loop if we created it.
|
||
Use TODO_update_ssa_nophi for the SSA update after versioning
|
||
the loop.
|
||
|
||
2022-07-12 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* range-op.cc (unsigned_singleton_p): Remove.
|
||
(operator_bitwise_and::remove_impossible_ranges): Remove.
|
||
(operator_bitwise_and::fold_range): Set nonzero bits. *
|
||
* value-range.cc (irange::get_nonzero_bits): Remove
|
||
legacy_mode_p assert.
|
||
(irange::dump_bitmasks): Remove legacy_mode_p check.
|
||
|
||
2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/106253
|
||
* predict.h (insn_optimization_type): Declare.
|
||
* predict.cc (insn_optimization_type): New function.
|
||
* internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
|
||
(IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
|
||
(IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
|
||
* internal-fn.cc (unary_convert_direct): New macro.
|
||
(expand_convert_optab_fn): New function.
|
||
(expand_unary_convert_optab_fn): New macro.
|
||
(direct_unary_convert_optab_supported_p): Likewise.
|
||
* optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
|
||
convert_optab_handler.
|
||
* config/aarch64/aarch64-protos.h
|
||
(aarch64_builtin_vectorized_function): Delete.
|
||
* config/aarch64/aarch64-builtins.cc
|
||
(aarch64_builtin_vectorized_function): Delete.
|
||
* config/aarch64/aarch64.cc
|
||
(TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
|
||
* config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
|
||
* config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
|
||
optimize_insn_for_size_p test.
|
||
|
||
2022-07-12 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
|
||
Remove.
|
||
(vect_do_peeling): Do not call it, adjust comment.
|
||
|
||
2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.cc
|
||
(aarch64_builtin_vectorized_function): Remove handling of
|
||
floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
|
||
|
||
2022-07-11 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/106234
|
||
* gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
|
||
cache value before recursively resolving it.
|
||
|
||
2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386-features.h (scalar_chain): Add fields
|
||
insns_conv, n_sse_to_integer and n_integer_to_sse to this
|
||
parent class, moved from general_scalar_chain.
|
||
(scalar_chain::convert_compare): Protected method moved
|
||
from general_scalar_chain.
|
||
(mark_dual_mode_def): Make protected, not private virtual.
|
||
(scalar_chain:convert_op): New private virtual method.
|
||
(general_scalar_chain::general_scalar_chain): Simplify constructor.
|
||
(general_scalar_chain::~general_scalar_chain): Delete destructor.
|
||
(general_scalar_chain): Move insns_conv, n_sse_to_integer and
|
||
n_integer_to_sse fields to parent class, scalar_chain.
|
||
(general_scalar_chain::mark_dual_mode_def): Delete prototype.
|
||
(general_scalar_chain::convert_compare): Delete prototype.
|
||
(timode_scalar_chain::compute_convert_gain): Remove simplistic
|
||
implementation, convert to a method prototype.
|
||
(timode_scalar_chain::mark_dual_mode_def): Delete prototype.
|
||
(timode_scalar_chain::convert_op): Prototype new virtual method.
|
||
* config/i386/i386-features.cc (scalar_chain::scalar_chain):
|
||
Allocate insns_conv and initialize n_sse_to_integer and
|
||
n_integer_to_sse fields in constructor.
|
||
(scalar_chain::scalar_chain): Free insns_conv in destructor.
|
||
(general_scalar_chain::general_scalar_chain): Delete
|
||
constructor, now defined in the class declaration.
|
||
(general_scalar_chain::~general_scalar_chain): Delete destructor.
|
||
(scalar_chain::mark_dual_mode_def): Renamed from
|
||
general_scalar_chain::mark_dual_mode_def.
|
||
(timode_scalar_chain::mark_dual_mode_def): Delete.
|
||
(scalar_chain::convert_compare): Renamed from
|
||
general_scalar_chain::convert_compare.
|
||
(timode_scalar_chain::compute_convert_gain): New method to
|
||
determine the gain from converting a TImode chain to V1TImode.
|
||
(timode_scalar_chain::convert_op): New method to convert an
|
||
operand from TImode to V1TImode.
|
||
(timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
|
||
on REG_EQUAL notes that were originally TImode (not CONST_INT).
|
||
Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
|
||
(timode_mem_p): Helper predicate to check where operand is
|
||
memory reference with sufficient alignment for TImode STV.
|
||
(timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
|
||
to check whether COMPARE is convertible. Handle SET_DESTs that
|
||
that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
|
||
CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
|
||
|
||
2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/106250
|
||
* tree-vect-loop.cc (vectorizable_reduction): Reinstate final
|
||
argument to directly_supported_p.
|
||
|
||
2022-07-11 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-into-ssa.cc (update_ssa): Do not forcefully
|
||
re-compute dominance fast queries for TODO_update_ssa_no_phi.
|
||
|
||
2022-07-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106228
|
||
* tree-vect-data-refs.cc (vect_setup_realignment): Adjust
|
||
VUSE compute for the non-loop case.
|
||
|
||
2022-07-11 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
|
||
(rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
|
||
(rewrite_update_dom_walker::m_in_region_flag): New.
|
||
(rewrite_update_dom_walker::before_dom_children): If the region
|
||
to update is marked, STOP at exits.
|
||
(rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
|
||
to be updated.
|
||
(dump_update_ssa): Use bitmap_empty_p.
|
||
(update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
|
||
TODO_update_ssa_no_phi.
|
||
* tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
|
||
pending update_ssa to the caller.
|
||
|
||
2022-07-11 Richard Biener <rguenthert@suse.de>
|
||
|
||
PR target/105459
|
||
* config/i386/i386-options.cc (ix86_set_current_function):
|
||
Rebuild the target optimization node whenever necessary,
|
||
not only when the optimization node didn't change.
|
||
|
||
2022-07-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106228
|
||
* tree-vect-data-refs.cc (vect_setup_realignment): Properly
|
||
set a VUSE operand on the emitted load.
|
||
|
||
2022-07-11 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range.cc (gimple_ranger::export_global_ranges): Remove
|
||
verification against legacy value_range.
|
||
(gimple_ranger::register_inferred_ranges): Same.
|
||
(gimple_ranger::export_global_ranges): Rename update_global_range
|
||
to set_range_info.
|
||
* tree-core.h (struct range_info_def): Remove.
|
||
(struct irange_storage_slot): New.
|
||
(struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
|
||
(struct tree_ssa_name): Add vrange_storage support.
|
||
* tree-ssanames.cc (range_info_p): New.
|
||
(range_info_fits_p): New.
|
||
(range_info_alloc): New.
|
||
(range_info_free): New.
|
||
(range_info_get_range): New.
|
||
(range_info_set_range): New.
|
||
(set_range_info_raw): Remove.
|
||
(set_range_info): Adjust to use vrange_storage.
|
||
(set_nonzero_bits): Same.
|
||
(get_nonzero_bits): Same.
|
||
(duplicate_ssa_name_range_info): Remove overload taking
|
||
value_range_kind.
|
||
Rewrite tree overload to use vrange_storage.
|
||
(duplicate_ssa_name_fn): Adjust to use vrange_storage.
|
||
* tree-ssanames.h (struct range_info_def): Remove.
|
||
(set_range_info): Adjust prototype to take vrange.
|
||
* tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
|
||
duplicate_ssa_name_range_info.
|
||
* tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
|
||
(SSA_NAME_RANGE_TYPE): Remove.
|
||
* value-query.cc (get_ssa_name_range_info): Adjust to use
|
||
vrange_storage.
|
||
(update_global_range): Remove.
|
||
(get_range_global): Remove as_a<irange>.
|
||
* value-query.h (update_global_range): Remove.
|
||
* tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
|
||
Rename update_global_range to set_range_info.
|
||
* value-range-storage.cc (vrange_storage::alloc_slot): Remove
|
||
gcc_unreachable.
|
||
|
||
2022-07-10 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-range.cc (irange::operator=): Call verify_range.
|
||
(irange::irange_set): Normalize kind after everything else has
|
||
been set.
|
||
(irange::irange_set_anti_range): Same.
|
||
(irange::set): Same.
|
||
(irange::verify_range): Disallow nonzero masks for VARYING.
|
||
(irange::irange_union): Call verify_range.
|
||
Handle nonzero masks better.
|
||
(irange::irange_intersect): Same.
|
||
(irange::set_nonzero_bits): Calculate mask if either range has an
|
||
explicit mask.
|
||
(irange::intersect_nonzero_bits): Same.
|
||
(irange::union_nonzero_bits): Same.
|
||
(range_tests_nonzero_bits): New.
|
||
(range_tests): Call range_tests_nonzero_bits.
|
||
* value-range.h (class irange): Remove set_nonzero_bits method
|
||
with trees.
|
||
(irange::varying_compatible_p): Set nonzero mask.
|
||
|
||
2022-07-10 Xi Ruoyao <xry111@xry111.site>
|
||
|
||
* config/loongarch/loongarch.md (<any_div>di3_fake): Describe
|
||
the sign-extend of result in the RTL template.
|
||
(<any_div><mode>3): Adjust for <any_div>di3_fake change.
|
||
|
||
2022-07-10 Xi Ruoyao <xry111@xry111.site>
|
||
|
||
* config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
|
||
Remove static, for use in the machine description file.
|
||
* config/loongarch/loongarch-protos.h:
|
||
(loongarch_check_zero_div_p): Add prototype.
|
||
* config/loongarch/loongarch.md (enabled): New attr.
|
||
(*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
|
||
idiv. Conditionally enable the alternatives using
|
||
loongarch_check_zero_div_p.
|
||
(<optab>di3_fake): Likewise.
|
||
|
||
2022-07-10 Xi Ruoyao <xry111@xry111.site>
|
||
|
||
* config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
|
||
instead of mul.d.
|
||
|
||
2022-07-09 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-range.cc (irange::irange_single_pair_union): Set
|
||
VR_VARYING when appropriate.
|
||
|
||
2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
|
||
|
||
* stor-layout.cc (finalize_record_size): Extend warning message.
|
||
|
||
2022-07-09 Sam Feifer <sfeifer@redhat.com>
|
||
|
||
PR tree-optimization/98304
|
||
* match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
|
||
|
||
2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
|
||
|
||
* expr.cc (store_expr): Identify trailing NULs in a STRING_CST
|
||
initializer and use clear_storage rather than copying the
|
||
NULs to the destination array.
|
||
|
||
2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386.md (define_peephole2): Use match_operand of
|
||
flags_reg_operand to capture and preserve the mode of FLAGS_REG.
|
||
(define_peephole2): Likewise.
|
||
(define_peephole2): Likewise...
|
||
|
||
2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386-features.cc (convert_compare): Add support
|
||
for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
|
||
by generating a pandn followed by ptest.
|
||
(convertible_comparison_p): Recognize both *cmpdi_doubleword and
|
||
recent *testdi_not_doubleword comparison patterns.
|
||
|
||
2022-07-09 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
|
||
indicate that the value is not undefined.
|
||
|
||
2022-07-09 Andrew Pinski <apinski@marvell.com>
|
||
|
||
PR tree-optimization/106087
|
||
* tree-ssa-dce.cc (simple_dce_from_worklist): Check
|
||
to make sure the statement is only defining one operand.
|
||
|
||
2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
|
||
|
||
PR preprocessor/91733
|
||
* input.cc (find_end_of_line): New helper function.
|
||
(file_cache_slot::get_next_line): Recognize \r as a line ending.
|
||
* diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
|
||
since \r will now be interpreted as a line-ending.
|
||
|
||
2022-07-08 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/106132
|
||
* opts.cc (finish_options): Use 2 calls to
|
||
report_conflicting_sanitizer_options.
|
||
|
||
2022-07-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106226
|
||
* tree-vect-loop-manip.cc (vect_do_peeling): Assert that
|
||
no SSA update is needed. Move virtual SSA update ...
|
||
* tree-vectorizer.cc (pass_vectorize::execute): ... here,
|
||
via forced virtual renaming when TODO_update_ssa_only_virtuals
|
||
is queued.
|
||
(vect_transform_loops): Return TODO_update_ssa_only_virtuals
|
||
when virtual SSA update is required.
|
||
(try_vectorize_loop_1): Adjust.
|
||
* tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
|
||
virtual renaming if the ABI forces an aggregate return
|
||
but the original call did not have a virtual definition.
|
||
|
||
2022-07-08 Martin Liska <mliska@suse.cz>
|
||
|
||
* toplev.cc (init_asm_output): Do not init asm_out_file.
|
||
|
||
2022-07-08 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR tree-optimization/106063
|
||
* match.pd: Do not apply pattern after veclower is not supported.
|
||
|
||
2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
|
||
'fn2' computation.
|
||
|
||
2022-07-08 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* expmed.cc (store_bit_field_1): Add parameter that indicates if value is
|
||
still undefined and if so emit a subreg move instead.
|
||
(store_integral_bit_field): Likewise.
|
||
(store_bit_field): Likewise.
|
||
* expr.h (write_complex_part): Likewise.
|
||
* expmed.h (store_bit_field): Add new parameter.
|
||
* builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
|
||
parameter.
|
||
(expand_ifn_atomic_compare_exchange): Likewise.
|
||
* calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
|
||
* emit-rtl.cc (validate_subreg): Likewise.
|
||
* expr.cc (emit_group_store): Likewise.
|
||
(copy_blkmode_from_reg): Likewise.
|
||
(copy_blkmode_to_reg): Likewise.
|
||
(clear_storage_hints): Likewise.
|
||
(write_complex_part): Likewise.
|
||
(emit_move_complex_parts): Likewise.
|
||
(expand_assignment): Likewise.
|
||
(store_expr): Likewise.
|
||
(store_field): Likewise.
|
||
(expand_expr_real_2): Likewise.
|
||
* ifcvt.cc (noce_emit_move_insn): Likewise.
|
||
* internal-fn.cc (expand_arith_set_overflow): Likewise.
|
||
(expand_arith_overflow_result_store): Likewise.
|
||
(expand_addsub_overflow): Likewise.
|
||
(expand_neg_overflow): Likewise.
|
||
(expand_mul_overflow): Likewise.
|
||
(expand_arith_overflow): Likewise.
|
||
|
||
2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
|
||
|
||
PR target/106180
|
||
* config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
|
||
Rename from *sse2_cvtps2pd<mask_name>_1.
|
||
(vec_unpacks_lo_v4sf): Add handler for memory operand.
|
||
|
||
2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config/loongarch/loongarch.cc (loongarch_compute_frame_info):
|
||
Modify fp_sp_offset and gp_sp_offset's calculation method,
|
||
when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
|
||
or UNITS_PER_FP_REG.
|
||
|
||
2022-07-07 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* diagnostic-format-json.cc (json_from_location_range): Update for
|
||
removal of label_text::maybe_free in favor of automatic memory
|
||
management.
|
||
* diagnostic-format-sarif.cc
|
||
(sarif_builder::make_location_object): Likewise.
|
||
* diagnostic-show-locus.cc (struct pod_label_text): New.
|
||
(class line_label): Convert m_text from label_text to pod_label_text.
|
||
(layout::print_any_labels): Move "text" to the line_label.
|
||
* tree-diagnostic-path.cc (path_label::get_text): Update for
|
||
removal of label_text::maybe_free in favor of automatic memory
|
||
management.
|
||
(event_range::print): Likewise.
|
||
(default_tree_diagnostic_path_printer): Likewise.
|
||
(default_tree_make_json_for_path): Likewise.
|
||
|
||
2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* statistics.cc (get_function_name): Add check to see if fn is not NULL.
|
||
|
||
2022-07-07 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-into-ssa.cc (iterating_old_ssa_names): New.
|
||
(add_new_name_mapping): Grow {new,old}_ssa_names separately
|
||
and only when actually needed. Assert we are not growing
|
||
the old_ssa_names set when iterating over it.
|
||
(update_ssa): Remove old_ssa_names copying and empty_p
|
||
query, note we are iterating over it and expect no set changes.
|
||
|
||
2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
|
||
(prepare_target_image, main): Handle OpenMP 'requires'.
|
||
(generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
|
||
'GOMP_offload_unregister_ver'.
|
||
|
||
2022-07-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/106219
|
||
* config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
|
||
set DECL_PURE_P.
|
||
|
||
2022-07-07 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
|
||
number of LC PHIs inserted.
|
||
(add_exit_phis): Return whether any variable required
|
||
multiple LC PHI nodes.
|
||
(rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
|
||
when possible.
|
||
|
||
2022-07-07 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
|
||
the def loop exit block bitmap as argument instead of
|
||
re-computing it here.
|
||
(add_exit_phis_var): Adjust.
|
||
(loop_name_cmp): New function.
|
||
(add_exit_phis): Sort variables to insert LC PHI nodes
|
||
after definition loop, for each definition loop compute
|
||
the exit block bitmap once.
|
||
(get_loops_exit): Remove.
|
||
(rewrite_into_loop_closed_ssa_1): Do not pre-record
|
||
all loop exit blocks into bitmaps. Record loop exits
|
||
if required.
|
||
|
||
2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
|
||
|
||
* config/mips/mips.cc (mips_asan_shadow_offset): Reformat
|
||
to handle the N32 ABI.
|
||
* config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
|
||
the macro, as it is not needed anymore.
|
||
|
||
2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
|
||
'[...]_data'.
|
||
* config/nvptx/mkoffload.cc (process): Likewise.
|
||
|
||
2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
|
||
|
||
2022-07-05 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* value-relation.cc (relation_to_code): New vector.
|
||
(relation_oracle::validate_relation): New.
|
||
(set_relation): Allow ssa1 == ssa2 to be registered.
|
||
* value-relation.h (validate_relation): New prototype.
|
||
(query_relation): Make internal variant protected.
|
||
|
||
2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
|
||
for double word comparisons and tests (comparisons against zero).
|
||
* config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
|
||
and;cmp into andn;cmp $0 as a pre-reload splitter.
|
||
(*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
|
||
(*<any_or><dwi>3_doubleword): Likewise.
|
||
|
||
2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
|
||
Hongtao Liu <hongtao.liu@intel.com>
|
||
|
||
* config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
|
||
CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
|
||
* config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
|
||
and gen_ssse3_palignv1ti instead of TImode.
|
||
* config/i386/sse.md (SSESCALARMODE): Delete.
|
||
(define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
|
||
(<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
|
||
iterator instead of SSESCALARMODE.
|
||
(ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
|
||
using a single move instruction (if required).
|
||
|
||
2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
|
||
Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR rtl-optimization/96692
|
||
* config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
|
||
as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
|
||
|
||
2022-07-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106198
|
||
* tree-cfgcleanup.cc (repair_loop_structures): Always do a
|
||
full LC SSA rewrite but only if any blocks changed loop
|
||
depth.
|
||
|
||
2022-07-05 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
|
||
(find_uses_to_rename_in_loop): Likewise.
|
||
(rewrite_into_loop_closed_ssa_1): Remove loop parameter and
|
||
uses.
|
||
(rewrite_into_loop_closed_ssa): Adjust.
|
||
|
||
2022-07-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106186
|
||
* tree-ssa-propagate.cc (clean_up_loop_closed_phi):
|
||
Properly handle virtual PHI nodes.
|
||
|
||
2022-07-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106196
|
||
* tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
|
||
handle aggregate returns of calls for VDEF updates.
|
||
|
||
2022-07-05 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
|
||
Maintain LC SSA.
|
||
|
||
2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* tree-vect-patterns.cc (vect_convert_input): Expect the input
|
||
type to be signed for optab_vector_mixed_sign. Update the vectype
|
||
at the same time as type.
|
||
(vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
|
||
available, try sdot instead.
|
||
* tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
|
||
(vect_model_reduction_cost): Model the cost of implementing usdot
|
||
using sdot.
|
||
(vectorizable_reduction): Likewise. Skip target support test
|
||
for lane reductions.
|
||
(vect_emulate_mixed_dot_prod): New function.
|
||
(vect_transform_reduction): Use it to emulate usdot via sdot.
|
||
|
||
2022-07-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106182
|
||
* loop-init.cc (fix_loop_structure): Return the number
|
||
of newly discovered plus the number of deleted loops.
|
||
* tree-cfgcleanup.cc (repair_loop_structures): Adjust
|
||
variable name.
|
||
|
||
2022-07-04 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-fold.cc
|
||
(fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
|
||
call to SCEV for irange supported types.
|
||
(fold_using_range::range_of_builtin_int_call): Convert to vrange.
|
||
* gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
|
||
* tree-ssa-dom.cc (cprop_operand): Same.
|
||
|
||
2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/104489
|
||
* calls.cc (precompute_register_parameters): Allow promotion
|
||
of floating point values to be passed in wider integer modes
|
||
by calling new convert_float_to_wider_int.
|
||
(expand_call): Allow floating point results to be returned in
|
||
wider integer modes by calling new convert wider_int_to_float.
|
||
* cfgexpand.cc (expand_value_return): Allow backends to promote
|
||
a scalar floating point return value to a wider integer mode
|
||
by calling new convert_float_to_wider_int.
|
||
* expr.cc (convert_float_to_wider_int): New function.
|
||
(convert_wider_int_to_float): Likewise.
|
||
(expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
|
||
scalar FP PARM_DECLs to wider integer modes, by calling new
|
||
convert_wider_int_to_float.
|
||
* expr.h (convert_modes): Name arguments for improved documentation.
|
||
(convert_float_to_wider_int): Prototype new function here.
|
||
(convert_wider_int_to_float): Likewise.
|
||
* function.cc (assign_parm_setup_stack): Allow floating point
|
||
values to be passed on the stack as wider integer modes by
|
||
calling new convert_wider_int_to_float.
|
||
|
||
2022-07-04 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/105860
|
||
* tree-sra.cc (build_reconstructed_reference): Start expr
|
||
traversal only just below the outermost union.
|
||
|
||
2022-07-04 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
|
||
and update virtual SSA form again. Assert we do so for
|
||
a known set of transforms only.
|
||
* tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
|
||
* tree-vect-stmts.cc (vectorizable_load): When vectorizing
|
||
using load-lanes allow virtual SSA update.
|
||
|
||
2022-07-04 Tobias Burnus <tobias@codesourcery.com>
|
||
Chung-Lin Tang <cltang@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
|
||
(process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
|
||
(main): Ask lto1 to obtain omp_requires_mask and pass it on.
|
||
* config/nvptx/mkoffload.cc (process, main): Likewise.
|
||
* lto-cgraph.cc (omp_requires_to_name): New.
|
||
(input_offload_tables): Save omp_requires_mask.
|
||
(output_offload_tables): Read it, check for consistency,
|
||
save value for mkoffload.
|
||
* omp-low.cc (lower_omp_target): Force output_offloadtables
|
||
call for OMP_REQUIRES_TARGET_USED.
|
||
|
||
2022-07-04 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-loop-manip.cc (vect_do_peeling): Assert that
|
||
no SSA update is needed instead of updating virtual SSA
|
||
form.
|
||
* tree-vect-stmts.cc (vectorizable_load): For hoisted
|
||
invariant load use the loop entry virtual use.
|
||
For emulated gather loads use the virtual use of the
|
||
original stmt like vect_finish_stmt_generation would do.
|
||
|
||
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
|
||
for direct circularity.
|
||
|
||
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* dwarf2out.cc (gen_array_type_die): Use the default lower bound of
|
||
the language for vector types.
|
||
|
||
2022-07-04 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-range-storage.cc (irange_storage_slot::set_irange): Set
|
||
nonzero bits in irange.
|
||
(irange_storage_slot::get_irange): Get nonzero bits from irange.
|
||
* value-range.cc (irange::operator=): Set nonzero bits.
|
||
(irange::irange_set): Same.
|
||
(irange::irange_set_anti_range): Same.
|
||
(irange::set): Same.
|
||
(irange::verify_range): Same.
|
||
(irange::legacy_equal_p): Check nonzero bits.
|
||
(irange::equal_p): Same.
|
||
(irange::contains_p): Handle nonzero bits.
|
||
(irange::irange_union): Same.
|
||
(irange::irange_intersect): Same.
|
||
(irange::dump): Same.
|
||
(irange::set_nonzero_bits): New.
|
||
(irange::get_nonzero_bits): New.
|
||
(irange::intersect_nonzero_bits): New.
|
||
(irange::union_nonzero_bits): New.
|
||
(irange::dump_bitmasks): New.
|
||
* value-range.h (class irange): Add m_nonzero_mask.
|
||
(gt_ggc_mx): Handle nonzero bits.
|
||
(gt_pch_nx): Same.
|
||
(irange::set_undefined): Set nonzero bits.
|
||
(irange::set_varying): Same.
|
||
(irange::normalize_kind): Call set_undefined.
|
||
|
||
2022-07-04 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-loop-manip.h
|
||
(rewrite_virtuals_into_loop_closed_ssa): Remove.
|
||
(rewrite_into_loop_closed_ssa_1): Likewise.
|
||
* tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
|
||
Make static.
|
||
(rewrite_into_loop_closed_ssa): Remove loop overload,
|
||
always rewrite virtuals into LC SSA.
|
||
(check_loop_closed_ssa_bb): Also check virtuals.
|
||
* tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
|
||
LC PHIs when in LC SSA.
|
||
* gimple-loop-jam.cc (fuse_loops): Do not rewrite into
|
||
loop-closed SSA here, but ...
|
||
(tree_loop_unroll_and_jam): ... here once.
|
||
* tree-if-conv.cc (version_loop_for_if_conversion): Use
|
||
the cheaper TODO_update_ssa_no_phi.
|
||
* tree-loop-distribution.cc (version_loop_by_alias_check):
|
||
Likewise.
|
||
* tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
|
||
Likewise.
|
||
* tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
|
||
(tree_unswitch_outer_loop): Do not rewrite virtuals into
|
||
LC ssa.
|
||
* tree-parloops.cc (transform_to_exit_first_loop_alt):
|
||
Likewise.
|
||
(pass_parallelize_loops::execute): After finishing rewrite
|
||
into LC SSA again because we do not maintain it properly.
|
||
|
||
2022-07-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106055
|
||
* graphite.cc (canonicalize_loop_closed_ssa): Check whether
|
||
we can propagate.
|
||
|
||
2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
|
||
|
||
PR target/43618
|
||
* config/i386/sse.md (extendv2sfv2df2): New define_expand.
|
||
(sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
|
||
(*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
|
||
|
||
2022-07-04 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
|
||
* ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
|
||
* tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
|
||
with two arguments.
|
||
(find_unswitching_predicates_for_bb): Same.
|
||
* tree-vrp.cc (range_fold_unary_symbolics_p): Same.
|
||
* value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
|
||
* value-range.cc (irange::equal_p): Rename to...
|
||
(irange::operator==): ...this.
|
||
* value-range.h (irange::set): Remove.
|
||
(irange::operator==): Remove.
|
||
(irange::set_zero): Use set with two arguments.
|
||
* vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
|
||
(vr_values::extract_range_from_unary_expr): Same.
|
||
(check_for_binary_op_overflow): Same.
|
||
(bounds_of_var_in_loop): Same.
|
||
|
||
2022-07-03 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/106022
|
||
* config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
|
||
New.
|
||
* config/i386/i386.cc (ix86_convert_const_vector_to_integer):
|
||
New.
|
||
* config/i386/mmx.md (V_16_32_64): New.
|
||
(*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
|
||
and 64-bit constant vector.
|
||
* config/i386/predicates.md (x86_64_const_vector_operand): New.
|
||
|
||
2022-07-03 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-cache.cc: Include value-range-storage.h.
|
||
* gimple-range-cache.h (class block_range_cache): Add "class" to
|
||
m_range_allocator.
|
||
* gimple-range-edge.cc
|
||
(gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
|
||
(gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
|
||
(gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
|
||
* gimple-range-edge.h: Add "class" to m_range_allocator.
|
||
* gimple-range-infer.cc
|
||
(infer_range_manager::infer_range_manager): Allocate allocator.
|
||
(infer_range_manager::~infer_range_manager): Free allocator.
|
||
(infer_range_manager::get_nonzero): Dereference allocator.
|
||
(infer_range_manager::add_range): Same.
|
||
* gimple-range-infer.h (class vrange_allocator): Add "class" to
|
||
m_range_allocator.
|
||
* value-range-storage.h (class vrange_allocator): Move from
|
||
value-range.h.
|
||
(class obstack_vrange_allocator): Same.
|
||
(class ggc_vrange_allocator): Same.
|
||
(vrange_allocator::alloc_vrange): Same.
|
||
(vrange_allocator::alloc_irange): Same.
|
||
* value-range.h (class vrange_allocator): Move to value-range-storage.h.
|
||
(class obstack_vrange_allocator): Same.
|
||
(class ggc_vrange_allocator): Same.
|
||
|
||
2022-07-03 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* Makefile.in (OBJS): Add value-range-storage.o.
|
||
(GTFILES): Add value-range-storage.h.
|
||
* gengtype.cc (open_base_files): Add value-range-storage.h.
|
||
* value-range-storage.cc: New file.
|
||
* value-range-storage.h: New file.
|
||
|
||
2022-07-03 Xi Ruoyao <xry111@xry111.site>
|
||
Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
|
||
New static function.
|
||
(loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
|
||
of TARGET_CHECK_ZERO_DIV.
|
||
(loongarch_output_division): Likewise.
|
||
* common/config/loongarch/loongarch-common.cc
|
||
(TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
|
||
* doc/invoke.texi: Update to match the new behavior.
|
||
|
||
2022-07-03 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
|
||
statement if -fdelete-dead-exceptions.
|
||
|
||
2022-07-02 Tim Lange <mail@tim-lange.me>
|
||
|
||
PR analyzer/105900
|
||
* doc/invoke.texi: Added Wanalyzer-allocation-size.
|
||
|
||
2022-07-02 Immad Mir <mirimmad17@gmail.com>
|
||
|
||
PR analyzer/106003
|
||
* Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
|
||
* doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
|
||
-Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
|
||
-Wanalyzer-fd-use-after-close.
|
||
|
||
2022-07-01 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* wide-int.h (struct trailing_wide_ints): Add m_num_elements.
|
||
(trailing_wide_ints::set_precision): Add num_elements argument.
|
||
(trailing_wide_ints::extra_size): Same.
|
||
|
||
2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*andn<mode>3_doubleword_bmi):
|
||
Use "r" constraint for operand 1.
|
||
|
||
2022-07-01 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
|
||
Do not look at interesting_blocks which is a copy of
|
||
blocks_to_update.
|
||
(update_ssa): Do not initialize it.
|
||
(pass_build_ssa::execute): Set interesting_blocks to NULL
|
||
after releasing it.
|
||
|
||
2022-07-01 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
|
||
back to using maybe_ne (off, -1).
|
||
|
||
2022-07-01 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
|
||
checking dominance check conditional on flag_checking.
|
||
|
||
2022-07-01 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* config/gcn/gcn-protos.h (print_operand_address): Remove register
|
||
keyword on 'rtx addr' argument.
|
||
|
||
2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
|
||
Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
|
||
to post-reload define_insn_and_split.
|
||
|
||
2022-07-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/106144
|
||
* wide-int.cc (wi::shifted_mask): If end >= prec, return right after
|
||
emitting element for shift or if shift is 0 first element after start.
|
||
(wide_int_cc_tests): Add tests for equivalency of wi::mask and
|
||
wi::shifted_mask with 0 start.
|
||
|
||
2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/106122
|
||
* config/i386/i386.md (peephole2): Avoid generating pop %esp
|
||
when optimizing for size.
|
||
|
||
2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
|
||
Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (general_szext_operand): Add TImode
|
||
support using x86_64_hilo_general_operand predicate.
|
||
(*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
|
||
(*add<dwi>3_doubleword): Improved optimization of zero addition.
|
||
(and<mode>3): Use SDWIM mode iterator to add support for double
|
||
word bit-wise AND in TImode. Use force_reg when double word
|
||
immediate operand isn't x86_64_hilo_general_operand.
|
||
(and<dwi>3_doubleword): Generalized from anddi3_doubleword and
|
||
converted into a post-reload splitter.
|
||
(*andndi3_doubleword): Previous define_insn deleted.
|
||
(*andn<mode>3_doubleword_bmi): New define_insn_and_split for
|
||
TARGET_BMI that splits post-reload.
|
||
(*andn<mode>3_doubleword): New define_insn_and_split for
|
||
!TARGET_BMI, that lowers/splits before reload.
|
||
(<any_or><mode>3): Use SDWIM mode iterator to add suppport for
|
||
double word bit-wise XOR and bit-wise IOR in TImode. Use
|
||
force_reg when double word immediate operand isn't
|
||
x86_64_hilo_general_operand.
|
||
(*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
|
||
(one_cmpl<mode>2): Use SDWIM mode iterator to add support for
|
||
double word bit-wise NOT in TImode.
|
||
(one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
|
||
and converted into a post-reload splitter.
|
||
|
||
2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR middle-end/105874
|
||
* expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
|
||
EXPAND_MEMORY for the expansion of the inner reference only
|
||
in the usual cases where a memory reference is required.
|
||
|
||
2022-07-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106131
|
||
* tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
|
||
zero when offsetting the read looking through an aggregate
|
||
copy.
|
||
|
||
2022-07-01 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/106126
|
||
* gimple-if-to-switch.cc (struct condition_info): Save
|
||
has_side_effect.
|
||
(find_conditions): Parse all BBs.
|
||
(pass_if_to_switch::execute): Allow only side effects for first
|
||
BB.
|
||
|
||
2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
|
||
|
||
* common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
|
||
Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
|
||
OPTION_MASK_ISA2_AVX512BF16_UNSET and
|
||
OPTION_MASK_ISA2_AVX512FP16_UNSET.
|
||
|
||
2022-06-30 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR lto/106129
|
||
* lto-wrapper.cc (find_option): Add argument start.
|
||
(merge_and_complain): Loop over existing_opt_index and
|
||
existing_opt2_index for Xassembler check. Update calls to
|
||
find_option.
|
||
(find_and_merge_options): Add argument first to determine whether
|
||
to merge options with those passed in *opts.
|
||
(run_gcc): Update calls to find_and_merge_options.
|
||
|
||
2022-06-30 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-cache.cc (block_range_cache::block_range_cache):
|
||
Rename vrange_allocator to obstack_vrange_allocator.
|
||
(ssa_global_cache::ssa_global_cache): Same.
|
||
* gimple-range-edge.h (class gimple_outgoing_range): Same.
|
||
* gimple-range-infer.h (class infer_range_manager): Same.
|
||
* value-range.h (class vrange_allocator): Make abstract.
|
||
(class obstack_vrange_allocator): Inherit from vrange_allocator.
|
||
(class ggc_vrange_allocator): New.
|
||
|
||
2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
|
||
Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (swap_mode): Rename from *swap<mode> to
|
||
provide gen_swapsi.
|
||
(<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
|
||
via new gen_<insn>32di2_doubleword below.
|
||
(<anyrotate>32di2_doubleword): New define_insn_and_split
|
||
that splits after reload as either a pair of move instructions
|
||
or an xchgl (using gen_swapsi).
|
||
|
||
2022-06-30 Richard Biener <rguenther@suse.de>
|
||
|
||
* domwalk.h (dom_walker::dom_walker): Update comment to
|
||
reflect reality and new special argument value for
|
||
bb_index_to_rpo.
|
||
* domwalk.cc (dom_walker::dom_walker): Recognize -1
|
||
bb_index_to_rpo.
|
||
* tree-into-ssa.cc
|
||
(rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
|
||
dom_walker to not use RPO.
|
||
|
||
2022-06-30 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
|
||
it is unused.
|
||
|
||
2022-06-30 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/106114
|
||
* gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
|
||
statement operands instead of GORI cache.
|
||
|
||
2022-06-30 Antoni Boucher <bouanto@zoho.com>
|
||
|
||
PR target/106095
|
||
* config/i386/sse.md: Fix asm generation.
|
||
|
||
2022-06-29 Sergei Trofimovich <siarheit@google.com>
|
||
|
||
PR c++/106102
|
||
* system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
|
||
|
||
2022-06-29 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
|
||
not gen_const_mem for UNSPEC_PIC_CALL_SYM.
|
||
|
||
2022-06-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/106082
|
||
* combine.cc (distribute_notes): Preserve notes when
|
||
they indicate a call doesn't perform a non-local goto.
|
||
|
||
2022-06-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/106112
|
||
* tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
|
||
a constant operand according to its type.
|
||
|
||
2022-06-29 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/invoke.texi: Remove removed evrp-mode.
|
||
|
||
2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
PR target/106097
|
||
* config/loongarch/loongarch.cc (loongarch_build_integer):
|
||
Remove undefined behavior from code.
|
||
|
||
2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
|
||
|
||
* doc/sourcebuild.texi: Document new no_alignment_constraints
|
||
effective target check.
|
||
|
||
2022-06-28 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
|
||
* flag-types.h (enum evrp_mode): Remove.
|
||
* params.opt: Remove --param=evrp-mode.
|
||
* tree-vrp.cc (make_pass_early_vrp): New.
|
||
(pass_vrp::execute): Call early VRP instance.
|
||
* gimple-ssa-evrp-analyze.cc: Removed.
|
||
* gimple-ssa-evrp-analyze.h: Removed.
|
||
* gimple-ssa-evrp.cc: Removed.
|
||
|
||
2022-06-28 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* Makefile.in (TFLAGS): New.
|
||
(GCC_FOR_TARGET): Add TFLAGS.
|
||
(FLAGS_TO_PASS): Pass TFLAGS down.
|
||
|
||
2022-06-28 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
|
||
call update_ssa.
|
||
|
||
2022-06-28 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
|
||
mark_block_for_update.
|
||
(update_ssa): Adjust.
|
||
|
||
2022-06-28 Xi Ruoyao <xry111@xry111.site>
|
||
|
||
PR target/106096
|
||
* config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
|
||
$r13 from SIBCALL_REGS.
|
||
* config/loongarch/loongarch.cc (loongarch_regno_to_class):
|
||
Change $r13 to JIRL_REGS.
|
||
|
||
2022-06-28 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
|
||
irange::supports_p.
|
||
|
||
2022-06-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/106053
|
||
* match.pd ((T)a == (T)b): Avoid folding away sign
|
||
changes in a comparison if we'd truncate to a boolean.
|
||
|
||
2022-06-28 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
|
||
iterator GPR with SImode, adjust the condition and output template,
|
||
rename to ...
|
||
(*rotlsi3_insert_4): ... this.
|
||
|
||
2022-06-27 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* genmatch.cc: Add "final" and "override" to various vfunc
|
||
implementations, removing redundant "virtual" as appropriate.
|
||
* gensupport.cc: Likewise.
|
||
* gimple-range-cache.h: Likewise.
|
||
* ipa-icf-gimple.h: Likewise.
|
||
* ipa-icf.h: Likewise.
|
||
* read-md.h: Likewise.
|
||
* read-rtl-function.cc: Likewise.
|
||
* tree-ssa-loop-ch.cc: Likewise.
|
||
* tree-ssa-sccvn.cc: Likewise.
|
||
|
||
2022-06-27 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* config/i386/i386-features.h: Add "final" and "override" to
|
||
scalar_chain vfunc implementations as appropriate.
|
||
|
||
2022-06-27 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* tree-switch-conversion.h: Add "final" and "override" to cluster
|
||
vfunc implementations as appropriate.
|
||
|
||
2022-06-27 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
|
||
implementations as appropriate.
|
||
|
||
2022-06-27 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* compare-elim.cc: Add "final" and "override" to dom_walker vfunc
|
||
implementations, removing redundant "virtual" as appropriate.
|
||
* gimple-ssa-strength-reduction.cc: Likewise.
|
||
* ipa-prop.cc: Likewise.
|
||
* rtl-ssa/blocks.cc: Likewise.
|
||
* tree-into-ssa.cc: Likewise.
|
||
* tree-ssa-dom.cc: Likewise.
|
||
* tree-ssa-math-opts.cc: Likewise.
|
||
* tree-ssa-phiopt.cc: Likewise.
|
||
* tree-ssa-propagate.cc: Likewise.
|
||
* tree-ssa-sccvn.cc: Likewise.
|
||
* tree-ssa-strlen.cc: Likewise.
|
||
* tree-ssa-uncprop.cc: Likewise.
|
||
|
||
2022-06-27 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* adjust-alignment.cc: Add "final" and "override" to opt_pass
|
||
vfunc implementations, removing redundant "virtual" as
|
||
appropriate.
|
||
* asan.cc: Likewise.
|
||
* auto-inc-dec.cc: Likewise.
|
||
* auto-profile.cc: Likewise.
|
||
* bb-reorder.cc: Likewise.
|
||
* cfgcleanup.cc: Likewise.
|
||
* cfgexpand.cc: Likewise.
|
||
* cfgrtl.cc: Likewise.
|
||
* cgraphbuild.cc: Likewise.
|
||
* combine-stack-adj.cc: Likewise.
|
||
* combine.cc: Likewise.
|
||
* compare-elim.cc: Likewise.
|
||
* config/i386/i386-features.cc: Likewise.
|
||
* coroutine-passes.cc: Likewise.
|
||
* cprop.cc: Likewise.
|
||
* cse.cc: Likewise.
|
||
* dce.cc: Likewise.
|
||
* df-core.cc: Likewise.
|
||
* dse.cc: Likewise.
|
||
* dwarf2cfi.cc: Likewise.
|
||
* early-remat.cc: Likewise.
|
||
* except.cc: Likewise.
|
||
* final.cc: Likewise.
|
||
* function.cc: Likewise.
|
||
* fwprop.cc: Likewise.
|
||
* gcse.cc: Likewise.
|
||
* gimple-harden-conditionals.cc: Likewise.
|
||
* gimple-if-to-switch.cc: Likewise.
|
||
* gimple-isel.cc: Likewise.
|
||
* gimple-laddress.cc: Likewise.
|
||
* gimple-loop-interchange.cc: Likewise.
|
||
* gimple-loop-jam.cc: Likewise.
|
||
* gimple-loop-versioning.cc: Likewise.
|
||
* gimple-low.cc: Likewise.
|
||
* gimple-ssa-backprop.cc: Likewise.
|
||
* gimple-ssa-evrp.cc: Likewise.
|
||
* gimple-ssa-isolate-paths.cc: Likewise.
|
||
* gimple-ssa-nonnull-compare.cc: Likewise.
|
||
* gimple-ssa-split-paths.cc: Likewise.
|
||
* gimple-ssa-store-merging.cc: Likewise.
|
||
* gimple-ssa-strength-reduction.cc: Likewise.
|
||
* gimple-ssa-warn-access.cc: Likewise.
|
||
* gimple-ssa-warn-alloca.cc: Likewise.
|
||
* gimple-ssa-warn-restrict.cc: Likewise.
|
||
* gimple-warn-recursion.cc: Likewise.
|
||
* graphite.cc: Likewise.
|
||
* ifcvt.cc: Likewise.
|
||
* init-regs.cc: Likewise.
|
||
* ipa-comdats.cc: Likewise.
|
||
* ipa-cp.cc: Likewise.
|
||
* ipa-devirt.cc: Likewise.
|
||
* ipa-fnsummary.cc: Likewise.
|
||
* ipa-free-lang-data.cc: Likewise.
|
||
* ipa-icf.cc: Likewise.
|
||
* ipa-inline.cc: Likewise.
|
||
* ipa-modref.cc: Likewise.
|
||
* ipa-profile.cc: Likewise.
|
||
* ipa-pure-const.cc: Likewise.
|
||
* ipa-reference.cc: Likewise.
|
||
* ipa-split.cc: Likewise.
|
||
* ipa-sra.cc: Likewise.
|
||
* ipa-visibility.cc: Likewise.
|
||
* ipa.cc: Likewise.
|
||
* ira.cc: Likewise.
|
||
* jump.cc: Likewise.
|
||
* loop-init.cc: Likewise.
|
||
* lower-subreg.cc: Likewise.
|
||
* mode-switching.cc: Likewise.
|
||
* modulo-sched.cc: Likewise.
|
||
* multiple_target.cc: Likewise.
|
||
* omp-expand.cc: Likewise.
|
||
* omp-low.cc: Likewise.
|
||
* omp-oacc-kernels-decompose.cc: Likewise.
|
||
* omp-oacc-neuter-broadcast.cc: Likewise.
|
||
* omp-offload.cc: Likewise.
|
||
* omp-simd-clone.cc: Likewise.
|
||
* passes.cc: Likewise.
|
||
* postreload-gcse.cc: Likewise.
|
||
* postreload.cc: Likewise.
|
||
* predict.cc: Likewise.
|
||
* recog.cc: Likewise.
|
||
* ree.cc: Likewise.
|
||
* reg-stack.cc: Likewise.
|
||
* regcprop.cc: Likewise.
|
||
* reginfo.cc: Likewise.
|
||
* regrename.cc: Likewise.
|
||
* reorg.cc: Likewise.
|
||
* sancov.cc: Likewise.
|
||
* sanopt.cc: Likewise.
|
||
* sched-rgn.cc: Likewise.
|
||
* stack-ptr-mod.cc: Likewise.
|
||
* store-motion.cc: Likewise.
|
||
* tracer.cc: Likewise.
|
||
* trans-mem.cc: Likewise.
|
||
* tree-call-cdce.cc: Likewise.
|
||
* tree-cfg.cc: Likewise.
|
||
* tree-cfgcleanup.cc: Likewise.
|
||
* tree-complex.cc: Likewise.
|
||
* tree-eh.cc: Likewise.
|
||
* tree-emutls.cc: Likewise.
|
||
* tree-if-conv.cc: Likewise.
|
||
* tree-into-ssa.cc: Likewise.
|
||
* tree-loop-distribution.cc: Likewise.
|
||
* tree-nrv.cc: Likewise.
|
||
* tree-object-size.cc: Likewise.
|
||
* tree-parloops.cc: Likewise.
|
||
* tree-predcom.cc: Likewise.
|
||
* tree-profile.cc: Likewise.
|
||
* tree-sra.cc: Likewise.
|
||
* tree-ssa-ccp.cc: Likewise.
|
||
* tree-ssa-copy.cc: Likewise.
|
||
* tree-ssa-dce.cc: Likewise.
|
||
* tree-ssa-dom.cc: Likewise.
|
||
* tree-ssa-dse.cc: Likewise.
|
||
* tree-ssa-forwprop.cc: Likewise.
|
||
* tree-ssa-ifcombine.cc: Likewise.
|
||
* tree-ssa-loop-ch.cc: Likewise.
|
||
* tree-ssa-loop-im.cc: Likewise.
|
||
* tree-ssa-loop-ivcanon.cc: Likewise.
|
||
* tree-ssa-loop-prefetch.cc: Likewise.
|
||
* tree-ssa-loop-split.cc: Likewise.
|
||
* tree-ssa-loop-unswitch.cc: Likewise.
|
||
* tree-ssa-loop.cc: Likewise.
|
||
* tree-ssa-math-opts.cc: Likewise.
|
||
* tree-ssa-phiopt.cc: Likewise.
|
||
* tree-ssa-phiprop.cc: Likewise.
|
||
* tree-ssa-pre.cc: Likewise.
|
||
* tree-ssa-reassoc.cc: Likewise.
|
||
* tree-ssa-sccvn.cc: Likewise.
|
||
* tree-ssa-sink.cc: Likewise.
|
||
* tree-ssa-strlen.cc: Likewise.
|
||
* tree-ssa-structalias.cc: Likewise.
|
||
* tree-ssa-uncprop.cc: Likewise.
|
||
* tree-ssa-uninit.cc: Likewise.
|
||
* tree-ssanames.cc: Likewise.
|
||
* tree-stdarg.cc: Likewise.
|
||
* tree-switch-conversion.cc: Likewise.
|
||
* tree-tailcall.cc: Likewise.
|
||
* tree-vect-generic.cc: Likewise.
|
||
* tree-vectorizer.cc: Likewise.
|
||
* tree-vrp.cc: Likewise.
|
||
* tsan.cc: Likewise.
|
||
* ubsan.cc: Likewise.
|
||
* var-tracking.cc: Likewise.
|
||
* vtable-verify.cc: Likewise.
|
||
* web.cc: Likewise.
|
||
|
||
2022-06-27 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
|
||
(jump): Likewise.
|
||
(movdi_symbol_save_scc): Likewise.
|
||
|
||
2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR rtl-optimization/7061
|
||
* config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
|
||
|
||
2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR tree-optimization/94026
|
||
* match.pd (((X << C1) & C2) eq/ne C3): New simplification.
|
||
(((X >> C1) & C2) eq/ne C3): Likewise.
|
||
|
||
2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* statistics.cc: Include tree.h.
|
||
(get_function_name): New function.
|
||
(statistics_fini_pass_2): Call get_function_name instead of
|
||
current_function_name.
|
||
(statistics_counter_event): Call get_function_name instead of
|
||
function_name.
|
||
(statistics_histogram_event): Likewise.
|
||
|
||
2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md:
|
||
Suppress unnecessary emitting nop insn in the split patterns for
|
||
integer/FP constant synthesis, and add new peephole2 pattern that
|
||
folds such synthesized additions.
|
||
|
||
2022-06-25 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
|
||
instead of evrp.
|
||
(dom_jt_state::push): Remove m_evrp.
|
||
(dom_jt_state::pop): Same.
|
||
(dom_jt_state::record_ranges_from_stmt): Remove.
|
||
(dom_jt_state::register_equiv): Remove updating of evrp ranges.
|
||
(class dom_jt_simplifier): Pass ranger to constructor.
|
||
Inherit from hybrid_jt_simplifier.
|
||
(dom_jt_simplifier::simplify): Convert to ranger.
|
||
(pass_dominator::execute): Same.
|
||
(all_uses_feed_or_dominated_by_stmt): New.
|
||
(dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
|
||
(dom_opt_dom_walker::before_dom_children): Call
|
||
set_global_ranges_from_unreachable_edges.
|
||
Do not call record_ranges_from_stmt.
|
||
(dom_opt_dom_walker::after_dom_children): Remove evrp use.
|
||
(cprop_operand): Use int_range<> instead of value_range.
|
||
(dom_opt_dom_walker::fold_cond): New.
|
||
(dom_opt_dom_walker::optimize_stmt): Pass ranger to
|
||
cprop_into_stmt.
|
||
Use fold_cond() instead of vrp_visit_cond_stmt().
|
||
* tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
|
||
pass state to simplifier.
|
||
* vr-values.h (class vr_values): Make fold_cond public.
|
||
|
||
2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
|
||
|
||
* common/config/tilegx/tilegx-common.cc: Removed.
|
||
* common/config/tilepro/tilepro-common.cc: Removed.
|
||
* config.gcc: Remove tilegx and tilepro entries.
|
||
* config/tilegx/constraints.md: Removed.
|
||
* config/tilegx/feedback.h: Removed.
|
||
* config/tilegx/linux.h: Removed.
|
||
* config/tilegx/mul-tables.cc: Removed.
|
||
* config/tilegx/predicates.md: Removed.
|
||
* config/tilegx/sync.md: Removed.
|
||
* config/tilegx/t-tilegx: Removed.
|
||
* config/tilegx/tilegx-builtins.h: Removed.
|
||
* config/tilegx/tilegx-c.cc: Removed.
|
||
* config/tilegx/tilegx-generic.md: Removed.
|
||
* config/tilegx/tilegx-modes.def: Removed.
|
||
* config/tilegx/tilegx-multiply.h: Removed.
|
||
* config/tilegx/tilegx-opts.h: Removed.
|
||
* config/tilegx/tilegx-protos.h: Removed.
|
||
* config/tilegx/tilegx.cc: Removed.
|
||
* config/tilegx/tilegx.h: Removed.
|
||
* config/tilegx/tilegx.md: Removed.
|
||
* config/tilegx/tilegx.opt: Removed.
|
||
* config/tilepro/constraints.md: Removed.
|
||
* config/tilepro/feedback.h: Removed.
|
||
* config/tilepro/gen-mul-tables.cc: Removed.
|
||
* config/tilepro/linux.h: Removed.
|
||
* config/tilepro/mul-tables.cc: Removed.
|
||
* config/tilepro/predicates.md: Removed.
|
||
* config/tilepro/t-tilepro: Removed.
|
||
* config/tilepro/tilepro-builtins.h: Removed.
|
||
* config/tilepro/tilepro-c.cc: Removed.
|
||
* config/tilepro/tilepro-generic.md: Removed.
|
||
* config/tilepro/tilepro-modes.def: Removed.
|
||
* config/tilepro/tilepro-multiply.h: Removed.
|
||
* config/tilepro/tilepro-protos.h: Removed.
|
||
* config/tilepro/tilepro.cc: Removed.
|
||
* config/tilepro/tilepro.h: Removed.
|
||
* config/tilepro/tilepro.md: Removed.
|
||
* config/tilepro/tilepro.opt: Removed.
|
||
* configure.ac: Remove tilegx and tilepro entries.
|
||
* configure: Rebuilt.
|
||
* doc/extend.texi: Remove tilegx and tilepro entries.
|
||
* doc/install.texi: Remove tilegx and tilepro entries.
|
||
* doc/invoke.texi: Remove tilegx and tilepro entries.
|
||
* doc/md.texi: Remove tilegx and tilepro entries.
|
||
|
||
2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
* regcprop.cc (pass_cprop_hardreg::execute): Perform a third
|
||
iteration over each basic block that was updated by the second
|
||
iteration.
|
||
|
||
2022-06-24 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/87729
|
||
PR c++/20423
|
||
* doc/invoke.texi: Document changes.
|
||
|
||
2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
|
||
condition to avoid overflow.
|
||
|
||
2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
|
||
OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
|
||
* config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
|
||
OPTION_MASK_PPC_GFXOPT.
|
||
* config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
|
||
* config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
|
||
OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
|
||
* config/rs6000/rs6000-c.cc: Update comment.
|
||
* config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
|
||
* config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
|
||
MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
|
||
(rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
|
||
with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
|
||
* config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
|
||
MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
|
||
MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
|
||
MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
|
||
|
||
2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
|
||
OPTION_MASK_MFCRF.
|
||
* config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
|
||
OPTION_MASK_MULTIPLE.
|
||
* config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
|
||
* config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
|
||
OPTION_MASK_MFCRF.
|
||
* config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
|
||
OPTION_MASK_EABI.
|
||
* config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
|
||
* config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
|
||
MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
|
||
* config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
|
||
MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
|
||
MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
|
||
MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
|
||
MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
|
||
Replace with
|
||
OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
|
||
OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
|
||
OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
|
||
OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
|
||
OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
|
||
OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
|
||
OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
|
||
* config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
|
||
MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
|
||
* config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
|
||
with OPTION_MASK_MULTIPLE.
|
||
(MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
|
||
MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
|
||
MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
|
||
MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
|
||
MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
|
||
* config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
|
||
with OPTION_MASK_EABI.
|
||
|
||
2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
|
||
RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
|
||
RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
|
||
RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
|
||
OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
|
||
OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
|
||
OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
|
||
* config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
|
||
RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
|
||
RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
|
||
RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
|
||
|
||
2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-c.cc: Update comments.
|
||
* config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
|
||
RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
|
||
RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
|
||
RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
|
||
RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
|
||
with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
|
||
OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
|
||
OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
|
||
OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
|
||
OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
|
||
OPTION_MASK_MMA, OPTION_MASK_POWER10.
|
||
* config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
|
||
RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
|
||
RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
|
||
RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
|
||
RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
|
||
|
||
2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
|
||
MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
|
||
OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
|
||
|
||
2022-06-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/106070
|
||
* match.pd (a != b ? a : b): Fix translation of
|
||
operand_equal_for_comparison_p.
|
||
|
||
2022-06-24 Jan Hubicka <jh@suse.cz>
|
||
|
||
PR ipa/106057
|
||
* tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
|
||
|
||
2022-06-24 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/106059
|
||
* profile-count.h: *= and /= operators need to modify this
|
||
object.
|
||
|
||
2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
|
||
Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/105930
|
||
* config/i386/i386.md (*<any_or>di3_doubleword): Split after
|
||
reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
|
||
and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
|
||
|
||
2022-06-24 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* common.opt (nostdlib++): New.
|
||
* doc/invoke.texi (-nostdlib++): Document it.
|
||
|
||
2022-06-24 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* doc/sourcebuild.texi (Environment attributes): Document
|
||
two_plus_gigs.
|
||
|
||
2022-06-23 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* common.opt (fdiagnostics-show-rules): New option.
|
||
* diagnostic-format-json.cc (diagnostic_output_format_init_json):
|
||
Fix up context->show_rules.
|
||
* diagnostic-format-sarif.cc
|
||
(diagnostic_output_format_init_sarif): Likewise.
|
||
* diagnostic-metadata.h (diagnostic_metadata::rule): New class.
|
||
(diagnostic_metadata::precanned_rule): New class.
|
||
(diagnostic_metadata::add_rule): New.
|
||
(diagnostic_metadata::get_num_rules): New.
|
||
(diagnostic_metadata::get_rule): New.
|
||
(diagnostic_metadata::m_rules): New field.
|
||
* diagnostic.cc (diagnostic_initialize): Initialize show_rules.
|
||
(print_any_rules): New.
|
||
(diagnostic_report_diagnostic): Call it.
|
||
* diagnostic.h (diagnostic_context::show_rules): New field.
|
||
* doc/invoke.texi (-fno-diagnostics-show-rules): New option.
|
||
* opts.cc (common_handle_option): Handle
|
||
OPT_fdiagnostics_show_rules.
|
||
* toplev.cc (general_init): Set up global_dc->show_rules.
|
||
|
||
2022-06-23 Martin Liska <mliska@suse.cz>
|
||
|
||
PR c++/106062
|
||
* ubsan.cc (sanitize_unreachable_fn): Change order of calls
|
||
in order to initialize UBSAN built-ins.
|
||
|
||
2022-06-23 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/105600
|
||
* ipa-icf.cc (sem_item_optimizer::filter_removed_items):
|
||
Skip variables with body_removed.
|
||
|
||
2022-06-23 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
|
||
reg_or_subregno.
|
||
(sse4_2_pcmpistr): Ditto.
|
||
|
||
2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
|
||
|
||
* cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
|
||
typo.
|
||
* tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
|
||
* tree-switch-conversion.h: Likewise.
|
||
|
||
2022-06-22 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/104642
|
||
* common.opt: Add -funreachable-traps.
|
||
* doc/invoke.texi (-funreachable-traps): Document it.
|
||
* opts.cc (finish_options): Enable at -O0 or -Og.
|
||
* tree.cc (build_common_builtin_nodes): Add __builtin_trap.
|
||
(builtin_decl_unreachable, build_builtin_unreachable): New.
|
||
* tree.h: Declare them.
|
||
* ubsan.cc (sanitize_unreachable_fn): Factor out.
|
||
(ubsan_instrument_unreachable): Use
|
||
gimple_build_builtin_unreachable.
|
||
* ubsan.h (sanitize_unreachable_fn): Declare.
|
||
* gimple.cc (gimple_build_builtin_unreachable): New.
|
||
* gimple.h: Declare it.
|
||
* builtins.cc (expand_builtin_unreachable): Add assert.
|
||
(fold_builtin_0): Call build_builtin_unreachable.
|
||
* sanopt.cc: Don't run for just SANITIZE_RETURN
|
||
or SANITIZE_UNREACHABLE when trapping.
|
||
* cgraphunit.cc (walk_polymorphic_call_targets): Use new
|
||
unreachable functions.
|
||
* gimple-fold.cc (gimple_fold_call)
|
||
(gimple_get_virt_method_for_vtable)
|
||
* ipa-fnsummary.cc (redirect_to_unreachable)
|
||
* ipa-prop.cc (ipa_make_edge_direct_to_target)
|
||
(ipa_impossible_devirt_target)
|
||
* ipa.cc (walk_polymorphic_call_targets)
|
||
* tree-cfg.cc (pass_warn_function_return::execute)
|
||
(execute_fixup_cfg)
|
||
* tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
|
||
(unloop_loops)
|
||
* tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
|
||
Likewise.
|
||
|
||
2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/106019
|
||
* tree-data-ref.cc (dr_may_alias_p): Try using the
|
||
innermost_loop_behavior to disambiguate non-loop queries.
|
||
|
||
2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
|
||
|
||
* doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
|
||
|
||
2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (bswapsi2_internal):
|
||
Enlarge the buffer that is obviously smaller than the template
|
||
string given to sprintf().
|
||
|
||
2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
|
||
Marek Polacek <polacek@redhat.com>
|
||
Segher Boessenkool <segher@kernel.crashing.org>
|
||
Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR target/105991
|
||
* config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
|
||
exact_log2 doesn't return -1 (or zero).
|
||
(plus_xor): New code iterator.
|
||
(*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
|
||
|
||
2022-06-21 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* doc/invoke.texi (C++ Modules): Remove language-linkage
|
||
as missing feature.
|
||
|
||
2022-06-21 Arjun Shankar <arjun@redhat.com>
|
||
|
||
PR tree-optimization/94899
|
||
* match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
|
||
0x80000000): New simplification.
|
||
|
||
2022-06-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/106032
|
||
* ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
|
||
t may_trap_or_fault_p, even if it is cheap.
|
||
|
||
2022-06-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/106030
|
||
* expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
|
||
temp to expand_operands if mode has been promoted.
|
||
|
||
2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
|
||
|
||
PR target/105740
|
||
* gimple-if-to-switch.cc (find_conditions): Don't skip the first
|
||
condition bb.
|
||
|
||
2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR tree-optimization/105736
|
||
* tree-object-size.cc (addr_object_size): Return size_unknown
|
||
when object offset computation returns an error.
|
||
|
||
2022-06-20 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/105960
|
||
* config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
|
||
false if PIC register is used when calling ifunc functions.
|
||
|
||
2022-06-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/106027
|
||
* fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
|
||
type of the prevailing comparison for the new comparison type.
|
||
(fold_binary_loc): Use proper types for the A < X && A + 1 > Y
|
||
to A < X && A >= Y folding.
|
||
|
||
2022-06-20 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR tree-optimization/105940
|
||
* tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
|
||
slp_done_for_suggested_uf and adjust with it accordingly.
|
||
(vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
|
||
pass it down to vect_analyze_loop_2 for the initial analysis and
|
||
applying suggested unroll factor.
|
||
(vect_is_simple_reduction): Add parameter slp and adjust with it.
|
||
(vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
|
||
(vect_analyze_scalar_cycles): Likewise.
|
||
|
||
2022-06-20 Martin Liska <mliska@suse.cz>
|
||
|
||
* bb-reorder.cc (find_traces_1_round): Add operators / and * and
|
||
use them.
|
||
(better_edge_p): Likewise.
|
||
* cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
|
||
* cfgloopmanip.cc (scale_loop_profile): Likewise.
|
||
* cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
|
||
* cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
|
||
* config/sh/sh.cc (expand_cbranchdi4): Likewise.
|
||
* dojump.cc (do_compare_rtx_and_jump): Likewise.
|
||
* final.cc (compute_alignments): Likewise.
|
||
* ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
|
||
(decide_about_value): Likewise.
|
||
* ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
|
||
* loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
|
||
* modulo-sched.cc (sms_schedule): Likewise.
|
||
* omp-expand.cc (extract_omp_for_update_vars): Likewise.
|
||
(expand_omp_ordered_sink): Likewise.
|
||
(expand_omp_for_ordered_loops): Likewise.
|
||
(expand_omp_for_static_nochunk): Likewise.
|
||
* predict.cc (maybe_hot_count_p): Likewise.
|
||
(probably_never_executed): Likewise.
|
||
(set_even_probabilities): Likewise.
|
||
(handle_missing_profiles): Likewise.
|
||
(expensive_function_p): Likewise.
|
||
* profile-count.h: Likewise.
|
||
* profile.cc (compute_branch_probabilities): Likewise.
|
||
* stmt.cc (emit_case_dispatch_table): Likewise.
|
||
* symtab-thunks.cc (expand_thunk): Likewise.
|
||
* tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
|
||
* tree-ssa-sink.cc (select_best_block): Likewise.
|
||
* tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
|
||
(switch_decision_tree::balance_case_nodes): Likewise.
|
||
(switch_decision_tree::emit_case_nodes): Likewise.
|
||
* tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
|
||
|
||
2022-06-20 yulong <shiyulong@iscas.ac.cn>
|
||
|
||
* config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
|
||
* config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
|
||
of RISCV_BUILTIN.
|
||
* config/riscv/riscv-ftypes.def (0): Remove unused.
|
||
(1): New.
|
||
|
||
2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
|
||
Consider relaxed MOVI instructions as L32R.
|
||
|
||
2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
|
||
Use can_create_pseudo_p(), instead of using individual
|
||
reload_in_progress and reload_completed.
|
||
(xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
|
||
the existing predicate function.
|
||
(xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
|
||
Use the standard RTX code predicate macros such as MEM_P,
|
||
SYMBOL_REF_P and/or CONST_INT_P.
|
||
* config/xtensa/xtensa.md: Avoid using numeric literals to determine
|
||
if callee-saved register, at the split patterns for indirect sibcall
|
||
fixups.
|
||
|
||
2022-06-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* common.opt (flag_sanitize_trap): New variable.
|
||
(fsanitize-trap=, fsanitize-trap): New options.
|
||
(fsanitize-undefined-trap-on-error): Change into deprecated alias
|
||
for -fsanitize-trap=all.
|
||
* opts.h (struct sanitizer_opts_s): Add can_trap member.
|
||
* opts.cc (finish_options): Complain about unsupported
|
||
-fsanitize-trap= options.
|
||
(sanitizer_opts): Add can_trap values to all entries.
|
||
(get_closest_sanitizer_option): Ignore -fsanitize-trap=
|
||
options which have can_trap false.
|
||
(parse_sanitizer_options): Add support for -fsanitize-trap=.
|
||
For -fsanitize-trap=all, enable
|
||
SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
|
||
-fsanitize-trap=vptr here.
|
||
(common_handle_option): Handle OPT_fsanitize_trap_ and
|
||
OPT_fsanitize_trap.
|
||
* sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
|
||
flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
|
||
flag_sanitize_undefined_trap_on_error.
|
||
* gcc.cc (sanitize_spec_function): Use
|
||
flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
|
||
and drop use of flag_sanitize_undefined_trap_on_error in
|
||
"undefined" handling.
|
||
* ubsan.cc (ubsan_instrument_unreachable): Use
|
||
flag_sanitize_trap & SANITIZE_??? instead of
|
||
flag_sanitize_undefined_trap_on_error.
|
||
(ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
|
||
ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
|
||
ubsan_build_overflow_builtin, instrument_bool_enum_load,
|
||
ubsan_instrument_float_cast, instrument_nonnull_arg,
|
||
instrument_nonnull_return, instrument_builtin): Likewise.
|
||
* doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
|
||
(-fsanitize-undefined-trap-on-error): Document as deprecated
|
||
alias of -fsanitize-trap.
|
||
|
||
2022-06-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/105998
|
||
* varasm.cc (narrowing_initializer_constant_valid_p): Check
|
||
SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
|
||
! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
|
||
|
||
2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR tree-optimization/105835
|
||
* match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
|
||
Narrow integer multiplication by a zero_one_valued_p operand.
|
||
(convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
|
||
conversions inside COND_EXPR where both data operands are
|
||
integer constants.
|
||
|
||
2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/constraints.md (Y):
|
||
Change to include integer constants until reload begins.
|
||
* config/xtensa/predicates.md (move_operand): Ditto.
|
||
* config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
|
||
Change to allow storing integer constants into litpool only after
|
||
reload begins.
|
||
|
||
2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/105209
|
||
* config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
|
||
* config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
|
||
(alpha_store_data_bypass_p_1): Ditto.
|
||
* config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
|
||
of generic store_data_bypass_p.
|
||
(ev4_ist_c): Remove insn reservation.
|
||
|
||
2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/105970
|
||
* config/i386/i386.cc (ix86_function_arg): Assert that
|
||
the mode of pointer argumet is equal to ptr_mode, not Pmode.
|
||
|
||
2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/105993
|
||
* config/i386/sse.md (vpmov splitter): Use (match_dup ...)
|
||
instead of REGNO comparisons in combine splitter.
|
||
|
||
2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
|
||
types.
|
||
|
||
2022-06-17 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* config/riscv/bitmanip.md: Supress warning.
|
||
|
||
2022-06-17 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/106004
|
||
* config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
|
||
Clear bits in the mask above bit 31.
|
||
|
||
2022-06-17 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/mve.md (*mve_mov<mode>): Re-order constraints
|
||
to avoid spilling trivial literals to the constant pool.
|
||
|
||
2022-06-16 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* gimple-ssa-warn-access.cc (warn_string_no_nul): Add
|
||
auto_diagnostic_group to group any warning with its note.
|
||
(maybe_warn_for_bound): Likewise.
|
||
(check_access): Likewise.
|
||
(warn_dealloc_offset): Likewise.
|
||
(pass_waccess::maybe_warn_memmodel): Likewise.
|
||
(pass_waccess::maybe_check_dealloc_call): Likewise.
|
||
(pass_waccess::warn_invalid_pointer): Likewise.
|
||
(pass_waccess::check_dangling_stores): Likewise.
|
||
|
||
2022-06-16 Jason Merrill <jason@redhat.com>
|
||
|
||
* opts.cc (common_handle_option) [OPT_fsanitize_]: Set
|
||
opts_set->x_flag_sanitize.
|
||
|
||
2022-06-16 Jason Merrill <jason@redhat.com>
|
||
|
||
* flags.h (issue_strict_overflow_warning): Comment #endif.
|
||
|
||
2022-06-16 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
|
||
was invaraint before, clear the invariant bit.
|
||
* gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
|
||
* gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
|
||
|
||
2022-06-16 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
|
||
|
||
2022-06-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105983
|
||
* match.pd (y == XXX_MIN || x < y -> x <= y - 1,
|
||
y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
|
||
on non-equality comparisons.
|
||
|
||
2022-06-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105984
|
||
* match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
|
||
x > stype_max / cst || x < stype_min / cst): fold_convert @1
|
||
to TREE_TYPE (@0) just once and test for negative divisor
|
||
also on that folded constant instead of on @1.
|
||
|
||
2022-06-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/105951
|
||
* tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
|
||
optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
|
||
as last argument to the internal functions.
|
||
* builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
|
||
extra call argument to ifns. If expand_atomic_fetch_op fails for the
|
||
lhs == NULL_TREE case, fall through into the optab code with
|
||
gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
|
||
fails, construct a CALL_EXPR and expand that.
|
||
(expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
|
||
to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
|
||
expand that.
|
||
|
||
2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
|
||
|
||
PR target/103316
|
||
* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
|
||
gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
|
||
RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
|
||
RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
|
||
* config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
|
||
for new Power10 V1TI instructions.
|
||
(vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
|
||
(vec_cmpu<mode><mode>): Likewise.
|
||
(vector_nlt<mode>): Set mode iterator to VEC_IC.
|
||
(vector_nltv1ti): Remove.
|
||
(vector_gtu<mode>): Set mode iterator to VEC_IC.
|
||
(vector_gtuv1ti): Remove.
|
||
(vector_nltu<mode>): Set mode iterator to VEC_IC.
|
||
(vector_nltuv1ti): Remove.
|
||
(vector_geu<mode>): Set mode iterator to VEC_IC.
|
||
(vector_ngt<mode>): Likewise.
|
||
(vector_ngtv1ti): Remove.
|
||
(vector_ngtu<mode>): Set mode iterator to VEC_IC.
|
||
(vector_ngtuv1ti): Remove.
|
||
(vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
|
||
(vector_gtu_v1ti_p): Remove.
|
||
(vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
|
||
(vrotlv1ti3): Remove.
|
||
(vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
|
||
(vashrv1ti3): Remove.
|
||
|
||
2022-06-16 Martin Liska <mliska@suse.cz>
|
||
|
||
* gengtype-state.cc (read_a_state_token): Do not skip extra
|
||
character after escaped sequence.
|
||
|
||
2022-06-16 Martin Liska <mliska@suse.cz>
|
||
|
||
PR driver/105564
|
||
* spellcheck.cc (test_find_closest_string): Add new test.
|
||
* spellcheck.h (class best_match): Prefer a difference in
|
||
trailing sign symbol.
|
||
|
||
2022-06-16 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR tree-optimization/53533
|
||
* match.pd: Simplify (B * v + C) * D -> BD * v + CD and
|
||
(v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
|
||
and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
|
||
|
||
2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
|
||
|
||
2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/predicates.md (reload_operand):
|
||
New predicate.
|
||
* config/xtensa/xtensa.md: New peephole2 pattern.
|
||
|
||
2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (*round_up_to_even):
|
||
New insn-and-split pattern.
|
||
(*signed_ge_zero): Ditto.
|
||
|
||
2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
|
||
xtensa_emit_sibcall): New prototypes.
|
||
(xtensa_expand_epilogue): Add new argument that specifies whether
|
||
or not sibling call.
|
||
* config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
|
||
New macro definition.
|
||
(xtensa_prepare_expand_call): New function in order to share
|
||
the common code.
|
||
(xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
|
||
New functions.
|
||
(xtensa_expand_epilogue): Add new argument sibcall_p and use it
|
||
for sibling call handling.
|
||
* config/xtensa/xtensa.md (call, call_value):
|
||
Use xtensa_prepare_expand_call.
|
||
(call_internal, call_value_internal):
|
||
Add the condition in order to be disabled if sibling call.
|
||
(sibcall, sibcall_value, sibcall_epilogue): New expansions.
|
||
(sibcall_internal, sibcall_value_internal): New insn patterns,
|
||
and split ones in order to take care of the indirect sibcalls.
|
||
|
||
2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* doc/invoke.texi: Document -mextra-l32r-costs= option.
|
||
|
||
2022-06-15 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR analyzer/105962
|
||
* doc/invoke.texi: Add -fno-analyzer-undo-inlining.
|
||
* tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
|
||
Extend -fdiagnostics-path-format=separate-events so that with
|
||
-fdiagnostics-show-path-depths it prints fndecls as well as stack
|
||
depths.
|
||
|
||
2022-06-15 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* value-relation.h: Add "final" and "override" to relation_oracle
|
||
vfunc implementations as appropriate.
|
||
|
||
2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/105975
|
||
Revert everything apart from the expand_fn_using_insn and
|
||
expand_direct_optab_fn changes from:
|
||
* internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
|
||
(GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
|
||
(GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
|
||
(GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
|
||
* internal-fn.h (direct_internal_fn_info::directly_mapped): New
|
||
member variable.
|
||
(direct_internal_fn_info::vectorizable): Reduce to 1 bit.
|
||
(direct_internal_fn_p): Also return true for internal functions
|
||
that map directly to instructions defined target-insns.def.
|
||
(direct_internal_fn): Adjust comment accordingly.
|
||
* internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
|
||
(vectorizable_optab2): New local macros.
|
||
(not_direct): Initialize directly_mapped.
|
||
(mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
|
||
(gather_load_direct, len_load_direct, mask_store_direct)
|
||
(store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
|
||
(vec_cond_direct, scatter_store_direct, len_store_direct)
|
||
(vec_set_direct, unary_direct, binary_direct, ternary_direct)
|
||
(cond_unary_direct, cond_binary_direct, cond_ternary_direct)
|
||
(while_direct, fold_extract_direct, fold_left_direct)
|
||
(mask_fold_left_direct, check_ptrs_direct): Use the macros above.
|
||
(expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
|
||
(expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
|
||
(expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
|
||
(expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
|
||
(direct_internal_fn_types): Handle functions that map to instructions
|
||
defined in target-insns.def.
|
||
(direct_internal_fn_types): Likewise.
|
||
(direct_internal_fn_supported_p): Likewise.
|
||
(internal_fn_expanders): Likewise.
|
||
(expand_fn_using_insn): New function,
|
||
split out and adapted from...
|
||
(expand_direct_optab_fn): ...here.
|
||
(expand_GOMP_SIMT_ENTER_ALLOC): Use it.
|
||
(expand_GOMP_SIMT_EXIT): Likewise.
|
||
(expand_GOMP_SIMT_LANE): Likewise.
|
||
(expand_GOMP_SIMT_LAST_LANE): Likewise.
|
||
(expand_GOMP_SIMT_ORDERED_PRED): Likewise.
|
||
(expand_GOMP_SIMT_VOTE_ANY): Likewise.
|
||
(expand_GOMP_SIMT_XCHG_BFLY): Likewise.
|
||
(expand_GOMP_SIMT_XCHG_IDX): Likewise.
|
||
|
||
2022-06-15 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/105981
|
||
* config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
|
||
to first_reg and second_reg respectively. Initialize them correctly
|
||
when generating big-endian code.
|
||
|
||
2022-06-15 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/105974
|
||
* config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
|
||
|
||
2022-06-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105971
|
||
* tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
|
||
FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
|
||
to leak less surprising alias results.
|
||
|
||
2022-06-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105969
|
||
* gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
|
||
by zero in overflow check.
|
||
|
||
2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/105254
|
||
PR tree-optimization/105940
|
||
Revert:
|
||
* config/aarch64/aarch64.cc
|
||
(aarch64_vector_costs::determine_suggested_unroll_factor): Take a
|
||
loop_vec_info as argument. Restrict the unroll factor to values
|
||
that divide the VF.
|
||
(aarch64_vector_costs::finish_cost): Update call accordingly.
|
||
|
||
2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* read-rtl.cc (find_int): Substitute symbolic constants
|
||
before converting the string to an integer.
|
||
|
||
2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
* match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
|
||
left shifts by a constant when the result is truncated, and the
|
||
shift constant is well-defined.
|
||
* tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
|
||
support for rotations of signed integer types, by lowering
|
||
using unsigned vector shifts.
|
||
|
||
2022-06-15 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/105953
|
||
* config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
|
||
operands[3].
|
||
|
||
2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
|
||
|
||
PR rtl-optimization/105041
|
||
* regrename.cc (check_new_reg_p): Use nregs value from du chain.
|
||
|
||
2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/vsx.md (VS_scalar): Delete.
|
||
(rest of file): Adjust.
|
||
|
||
2022-06-14 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/105739
|
||
* ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
|
||
|
||
2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
|
||
|
||
* config/riscv/bitmanip.md: Add split to handle opportunities
|
||
for slli + sh[123]add.uw
|
||
|
||
2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
|
||
|
||
* config/riscv/predicates.md (consecutive_bits_operand):
|
||
Implement new predicate.
|
||
|
||
2022-06-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105946
|
||
* tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
|
||
Do not look at arguments not specified in the function call.
|
||
|
||
2022-06-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/105965
|
||
* match.pd (view_convert CONSTRUCTOR): Handle single-element
|
||
CTOR case.
|
||
|
||
2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* warning-control.cc (copy_warning) [generic version]: Do not erase
|
||
the warning data of the destination location when the no-warning
|
||
bit is not set on the source.
|
||
(copy_warning) [tree version]: Return early if TO is equal to FROM.
|
||
(copy_warning) [gimple version]: Likewise.
|
||
|
||
2022-06-14 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR tree-optimization/105940
|
||
* tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
|
||
applying suggested_unroll_factor after start_over.
|
||
|
||
2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/predicates.md (shifted_mask_operand):
|
||
New predicate.
|
||
* config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
|
||
New insn-and-split pattern.
|
||
(*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
|
||
*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
|
||
*masktrue_const_shifted_mask): Ditto.
|
||
|
||
2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
|
||
|
||
2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa-protos.h (xtensa_emit_branch):
|
||
Remove the first argument.
|
||
(xtensa_emit_bit_branch): Remove it because now called only from the
|
||
output statement of *bittrue insn pattern.
|
||
* config/xtensa/xtensa.cc (gen_int_relational): Remove the last
|
||
argument 'p_invert', and make so that the condition is reversed by
|
||
itself as needed.
|
||
(xtensa_expand_conditional_branch): Share the common path, and remove
|
||
condition inversion code.
|
||
(xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
|
||
"false side" pattern.
|
||
(xtensa_emit_bit_branch): Remove it because of the abovementioned
|
||
reason, and move the function body to *bittrue insn pattern.
|
||
* config/xtensa/xtensa.md (*bittrue): Transplant the output
|
||
statement from removed xtensa_emit_bit_branch().
|
||
(*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
|
||
insn patterns.
|
||
|
||
2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/predicates.md (logical_shift_operator,
|
||
xtensa_shift_per_byte_operator): New predicates.
|
||
* config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
|
||
New prototype.
|
||
* config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
|
||
New helper function for funnel shift patterns.
|
||
* config/xtensa/xtensa.md (ior_op): New code iterator.
|
||
(*ashlsi3_1): Replace with new split pattern.
|
||
(*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
|
||
(*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
|
||
New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
|
||
in order to omit unnecessary bitwise AND operation.
|
||
(*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
|
||
*shlrd_per_byte_<code>_omit_AND):
|
||
New insn patterns for funnel shifts.
|
||
|
||
2022-06-13 Jason Merrill <jason@redhat.com>
|
||
|
||
* tree-cfg.cc (pass_warn_function_return::execute): Also check
|
||
BUILT_IN_TRAP.
|
||
|
||
2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* config/riscv/riscv.md (length): Remove the explicit setting
|
||
for "fcmp".
|
||
|
||
2022-06-13 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
* common/config/i386/cpuinfo.h (get_available_features): Require
|
||
AVX for F16C and VAES.
|
||
|
||
2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/105927
|
||
* config/i386/predicates.md (register_no_elim_operand):
|
||
Return true for subreg of a memory operand.
|
||
|
||
2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
|
||
(GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
|
||
(GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
|
||
(GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
|
||
* internal-fn.h (direct_internal_fn_info::directly_mapped): New
|
||
member variable.
|
||
(direct_internal_fn_info::vectorizable): Reduce to 1 bit.
|
||
(direct_internal_fn_p): Also return true for internal functions
|
||
that map directly to instructions defined target-insns.def.
|
||
(direct_internal_fn): Adjust comment accordingly.
|
||
* internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
|
||
(vectorizable_optab2): New local macros.
|
||
(not_direct): Initialize directly_mapped.
|
||
(mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
|
||
(gather_load_direct, len_load_direct, mask_store_direct)
|
||
(store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
|
||
(vec_cond_direct, scatter_store_direct, len_store_direct)
|
||
(vec_set_direct, unary_direct, binary_direct, ternary_direct)
|
||
(cond_unary_direct, cond_binary_direct, cond_ternary_direct)
|
||
(while_direct, fold_extract_direct, fold_left_direct)
|
||
(mask_fold_left_direct, check_ptrs_direct): Use the macros above.
|
||
(expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
|
||
(expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
|
||
(expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
|
||
(expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
|
||
(direct_internal_fn_types): Handle functions that map to instructions
|
||
defined in target-insns.def.
|
||
(direct_internal_fn_types): Likewise.
|
||
(direct_internal_fn_supported_p): Likewise.
|
||
(internal_fn_expanders): Likewise.
|
||
|
||
2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* internal-fn.cc (expand_fn_using_insn): New function,
|
||
split out and adapted from...
|
||
(expand_direct_optab_fn): ...here.
|
||
(expand_GOMP_SIMT_ENTER_ALLOC): Use it.
|
||
(expand_GOMP_SIMT_EXIT): Likewise.
|
||
(expand_GOMP_SIMT_LANE): Likewise.
|
||
(expand_GOMP_SIMT_LAST_LANE): Likewise.
|
||
(expand_GOMP_SIMT_ORDERED_PRED): Likewise.
|
||
(expand_GOMP_SIMT_VOTE_ANY): Likewise.
|
||
(expand_GOMP_SIMT_XCHG_BFLY): Likewise.
|
||
(expand_GOMP_SIMT_XCHG_IDX): Likewise.
|
||
|
||
2022-06-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-expand.cc (expand_omp_target): Remap user provided
|
||
device clause arguments, -1 to -2 and -2 to -3, either
|
||
at compile time if constant, or at runtime.
|
||
|
||
2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* common.opt (finstrument-functions): Set explicit value.
|
||
(-finstrument-functions-once): New option.
|
||
* doc/invoke.texi (Program Instrumentation Options): Document it.
|
||
* gimplify.cc (build_instrumentation_call): New static function.
|
||
(gimplify_function_tree): Call it to emit the instrumentation calls
|
||
if -finstrument-functions[-once] is specified.
|
||
|
||
2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
|
||
* gimple.h (gimple_set_location): Do not copy warning data from
|
||
the previous location when it is UNKNOWN_LOCATION.
|
||
* optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
|
||
|
||
2022-06-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105911
|
||
* config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
|
||
*<insn><dwi>3_doubleword_mask): Use operands[3] masked with
|
||
(<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
|
||
operands[3] unmodified.
|
||
|
||
2022-06-12 Simon Wright <simon@pushface.org>
|
||
|
||
PR target/104871
|
||
* config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
|
||
version is darwin20 (macOS 11) or greater, truncate the version to the
|
||
major number.
|
||
|
||
2022-06-12 Mark Mentovai <mark@mentovai.com>
|
||
|
||
* config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
|
||
|
||
2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
PR target/96463
|
||
* config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
|
||
(svld1rq_impl::fold): Define.
|
||
* config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
|
||
op_mode and op_vec_flags.
|
||
(aarch64_evpc_reencode): Initialize newd.op_mode and
|
||
newd.op_vec_flags.
|
||
(aarch64_evpc_sve_dup): New function.
|
||
(aarch64_expand_vec_perm_const_1): Gate existing calls to
|
||
aarch64_evpc_* functions under d->vmode == d->op_mode,
|
||
and call aarch64_evpc_sve_dup.
|
||
(aarch64_vectorize_vec_perm_const): Remove assert
|
||
d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
|
||
* tree-cfg.cc (verify_gimple_assign_ternary): Allow different
|
||
vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
|
||
constant.
|
||
|
||
2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa-protos.h (xtensa_constantsynth):
|
||
New prototype.
|
||
* config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
|
||
xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
|
||
xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
|
||
New backend functions that process the abovementioned logic.
|
||
(xtensa_emit_move_sequence): Revert the previous changes.
|
||
* config/xtensa/xtensa.md: New split patterns for integer
|
||
and floating-point, as the frontend part.
|
||
|
||
2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
|
||
for ABS and NEG, add missing case for BSWAP and CLRSB, and
|
||
double the costs for integer divisions using libfuncs if
|
||
optimizing for speed, in order to take advantage of fast constant
|
||
division by multiplication.
|
||
(TARGET_INSN_COST): New macro definition.
|
||
(xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
|
||
calculating relative costs of a RTL insns, for both of speed and
|
||
size.
|
||
* config/xtensa/xtensa.md (return, nop, trap): Correct values of
|
||
the attribute "length" that depends on TARGET_DENSITY.
|
||
(define_asm_attributes, blockage, frame_blockage): Add missing
|
||
attributes.
|
||
* config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
|
||
dependent option, however, preparatory work for now.
|
||
|
||
2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
|
||
Pass through the block length / loop count conditions if
|
||
zero-overhead looping is configured and active,
|
||
|
||
2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (mulsidi3, umulsidi3):
|
||
Split into individual signedness, in order to use libcall
|
||
"__umulsidi3" but not the other.
|
||
(<u>mulhisi3): Merge into one by using code iterator.
|
||
(<u>mulsidi3, mulhisi3, umulhisi3): Remove.
|
||
|
||
2022-06-11 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
|
||
not generate block copies with vector pair instructions if we are
|
||
tuning for power10.
|
||
|
||
2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR rtl-optimization/7061
|
||
* expr.cc (emit_group_store): For groups that consist of a single
|
||
scalar integer register that hold a complex mode value, use
|
||
gen_lowpart to generate a SUBREG to "view_convert" to the complex
|
||
mode. For modes of different sizes, first convert to an integer
|
||
mode of the appropriate size.
|
||
|
||
2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
|
||
|
||
2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (*andsi3_bitcmpl):
|
||
New insn_and_split pattern.
|
||
|
||
2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (one_cmplsi2):
|
||
Rearrange as an insn_and_split pattern.
|
||
|
||
2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (bswaphi2): New insn pattern.
|
||
|
||
2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (FP_ISA3): Delete.
|
||
(float<QHI:mode><FP_ISA3:mode>2): Rename to...
|
||
(float<QHI:mode><SFDF:mode>2): ... this. Adjust.
|
||
(*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
|
||
(*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
|
||
(floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
|
||
(floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
|
||
(*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
|
||
(*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
|
||
|
||
2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* config/riscv/riscv.md
|
||
(*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
|
||
(*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
|
||
rather than space with FSFLAGS.
|
||
|
||
2022-06-09 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
|
||
omp_discover_declare_target_fn_r): Don't walk reverse-offload
|
||
target regions.
|
||
|
||
2022-06-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* doc/invoke.texi (-Waddress): Fix a typo in small example.
|
||
Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
|
||
|
||
2022-06-09 Cui,Lili <lili.cui@intel.com>
|
||
|
||
PR target/105493
|
||
* config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
|
||
from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
|
||
unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
|
||
(icelake_cost): Ditto.
|
||
(alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
|
||
stores and unaligned stores cost from {6, 6, 6, 10, 15} to
|
||
{8, 8, 8, 10, 15}.
|
||
|
||
2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
|
||
|
||
* config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
|
||
and ior insns to one rotate and mask insn.
|
||
(define_split for bswapdi register): Likewise.
|
||
|
||
2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR middle-end/105874
|
||
* expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
|
||
variable tem_modifier for calculating the expand_modifier enum to
|
||
use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
|
||
|
||
2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
PR target/105879
|
||
* config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
|
||
to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
|
||
'gen_highpart' bitwise semantics and fix order of highpart and
|
||
lowpart depending on target endianness.
|
||
|
||
2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/arm/arm-cpus.in (star-mc1): New cpu.
|
||
* config/arm/arm-tables.opt: Regenerate.
|
||
* config/arm/arm-tune.md: Regenerate.
|
||
* doc/invoke.texi: Update docs.
|
||
|
||
2022-06-08 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/105513
|
||
PR target/105504
|
||
* config/i386/i386.md (*movsi_internal): Change alternative
|
||
from *v to ?v.
|
||
(*movdi_internal): Ditto.
|
||
* config/i386/sse.md (vec_set<mode>_0): Change alternative *r
|
||
to ?r.
|
||
(*vec_extractv4sf_mem): Ditto.
|
||
(*vec_extracthf): Ditto.
|
||
|
||
2022-06-07 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/105090
|
||
* config/arm/arm.cc (arm_bfi_1_p): New function.
|
||
(arm_bfi_p): New function.
|
||
(arm_rtx_costs_internal): Add costs for BFI idioms.
|
||
(arm_print_operand [case 'V']): Format output for BFI/BFC masks.
|
||
* config/arm/constraints.md (Dj): New constraint.
|
||
* config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
|
||
(insv_zero): Convert to an insn with a split.
|
||
(*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
|
||
|
||
2022-06-07 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/105854
|
||
* config/i386/sse.md (ssse3_palignrdi): Change alternative 2
|
||
from Yv to Yw.
|
||
|
||
2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR middle-end/105853
|
||
PR target/105856
|
||
* calls.cc (load_register_parameters): Call store_constructor
|
||
and int_expr_size directly instead of expanding via expand_expr.
|
||
* expr.cc (static void store_constructor): Don't prototype here.
|
||
(static HOST_WIDE_INT int_expr_size): Likewise.
|
||
(store_constructor): No longer static.
|
||
(int_expr_size): Likewise, no longer static.
|
||
* expr.h (store_constructor): Prototype here.
|
||
(int_expr_size): Prototype here.
|
||
|
||
2022-06-07 Jan Beulich <jbeulich@suse.com>
|
||
|
||
Revert:
|
||
2022-06-03 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
|
||
* configure.ac: Check for objcopy, producing
|
||
ORIGINAL_OBJCOPY_FOR_TARGET.
|
||
* configure: Update accordingly.
|
||
* exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
|
||
Handle objcopy.
|
||
|
||
2022-06-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
|
||
* tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
|
||
Adjust clause printing style depending on
|
||
OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
|
||
|
||
2022-06-07 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
|
||
Change type.
|
||
* config/i386/i386-builtin-types.def: New function type
|
||
(V4DI, V32QI, V32QI).
|
||
* config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
|
||
V4DI_FTYPE_V32QI_V32QI.
|
||
|
||
2022-06-07 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
|
||
into account for reg-only insns.
|
||
|
||
2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386.cc (ix86_rtx_costs): Add a new case for
|
||
IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
|
||
TARGET_CMOVE's (scalar integer) conditional moves.
|
||
* config/i386/sse.md (define_split): Recognize XOP's vpcmov
|
||
from its equivalent (canonical) pxor;pand;pxor sequence.
|
||
|
||
2022-06-07 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
* machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
|
||
parameter ORDER.
|
||
|
||
2022-06-06 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
|
||
|
||
2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR middle-end/95126
|
||
* calls.cc (load_register_parameters): When loading a suitable
|
||
immediate_const_ctor_p VAR_DECL into a single word_mode register,
|
||
construct it directly in a pseudo rather than read it (by parts)
|
||
from memory.
|
||
* expr.cc (int_expr_size): Make tree argument a const_tree.
|
||
(immediate_const_ctor_p): Helper predicate. Return true for
|
||
simple constructors that may be materialized in a register.
|
||
(expand_expr_real_1) [VAR_DECL]: When expanding a constant
|
||
VAR_DECL with a suitable immediate_const_ctor_p constructor
|
||
use store_constructor to materialize it directly in a pseudo.
|
||
* expr.h (immediate_const_ctor_p): Prototype here.
|
||
* varasm.cc (initializer_constant_valid_for_bitfield_p): Change
|
||
VALUE argument from tree to const_tree.
|
||
* varasm.h (initializer_constant_valid_for_bitfield_p): Update
|
||
prototype.
|
||
|
||
2022-06-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105825
|
||
* config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
|
||
*<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
|
||
bits of mask aren't all set, use operands[2] mode for the AND
|
||
operation instead of always SImode.
|
||
|
||
2022-06-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/30314
|
||
PR middle-end/105777
|
||
* match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
|
||
x > stype_max / cst || x < stype_min / cst): New simplification.
|
||
|
||
2022-06-03 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-cache.cc (ranger_cache::range_from_dom): Use
|
||
Value_Range.
|
||
* gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
|
||
* value-range.h (Value_Range::Value_Range): Implement copy
|
||
constructor for Value_Range.
|
||
|
||
2022-06-03 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-range.h (struct vrange_traits): Remove.
|
||
(is_a): Rewrite without vrange_traits.
|
||
(as_a): Same.
|
||
|
||
2022-06-03 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-range.cc (vrange::contains_p): Implement.
|
||
(vrange::type): Return void.
|
||
(vrange::supports_type_p): Implement.
|
||
(irange::fits_p): Same.
|
||
(vrange::set_undefined): Same.
|
||
(irange::set_nonnegative): Same.
|
||
(vrange::set_varying): Same.
|
||
(vrange::union_): Same.
|
||
(unsupported_range::set): Move to vrange.
|
||
(unsupported_range::type): Move to vrange.
|
||
(vrange::intersect): Implement for varying and undefined.
|
||
(vrange::zero_p): Implement.
|
||
(unsupported_range::supports_type_p): Move to vrange.
|
||
(vrange::nonzero_p): Implement.
|
||
(unsupported_range::set_undefined): Move to vrange.
|
||
(unsupported_range::set_varying): Same.
|
||
(unsupported_range::dump): Same.
|
||
(unsupported_range::union_): Same. Implement for varying and
|
||
undefined.
|
||
(unsupported_range::intersect): Move to vrange.
|
||
(unsupported_range::zero_p): Same.
|
||
(unsupported_range::nonzero_p): Same.
|
||
(unsupported_range::set_nonzero): Same.
|
||
(unsupported_range::set_zero): Same.
|
||
(unsupported_range::set_nonnegative): Same.
|
||
(unsupported_range::fits_p): Same.
|
||
* value-range.h (class vrange): Remove abstract markers for most
|
||
methods.
|
||
(class unsupported_range): Remove most methods as they will now be
|
||
inherited from vrange.
|
||
|
||
2022-06-03 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
|
||
an object level supports_type_p for irange and a static
|
||
Value_Range::supports_type_p.
|
||
* gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
|
||
(fold_using_range::range_of_address): Same.
|
||
(fold_using_range::range_of_builtin_call): Same.
|
||
* gimple-range-fold.h (gimple_range_type): Same.
|
||
(gimple_range_ssa_p): Same.
|
||
* gimple-range-path.cc (path_range_query::internal_range_of_expr):
|
||
Same.
|
||
(path_range_query::range_of_stmt): Same.
|
||
(path_range_query::add_to_imports): Same.
|
||
* gimple-range.cc (gimple_ranger::range_on_edge): Same.
|
||
(gimple_ranger::export_global_ranges): Same.
|
||
* gimple-ssa-evrp-analyze.cc
|
||
(evrp_range_analyzer::record_ranges_from_phis): Same.
|
||
* range-op.cc (range_operator::wi_fold): Same.
|
||
(range_operator::fold_range): Same.
|
||
* tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
|
||
* tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
|
||
(evaluate_control_stmt_using_entry_checks): Same.
|
||
* tree-ssa-threadedge.cc
|
||
(hybrid_jt_simplifier::compute_ranges_from_state): Same.
|
||
* tree-vrp.cc (supported_types_p): Same.
|
||
* value-query.cc (range_query::value_of_expr): Same.
|
||
(range_query::value_on_edge): Same.
|
||
(range_query::value_of_stmt): Same.
|
||
(range_query::get_tree_range): Same.
|
||
(get_range_global): Same.
|
||
(global_range_query::range_of_expr): Same.
|
||
* value-range-equiv.h (class value_range_equiv): Same.
|
||
* value-range.cc (irange::supports_type_p): Same.
|
||
(unsupported_range::supports_type_p): Same.
|
||
* value-range.h (enum value_range_discriminator): Same.
|
||
(Value_Range::init): Same.
|
||
(Value_Range::supports_type_p): Same.
|
||
(irange::supports_type_p): Same.
|
||
(irange::supports_p): Same.
|
||
(vrange::supports_type_p): Same.
|
||
(vrange_allocator::alloc_vrange): Same.
|
||
|
||
2022-06-03 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
|
||
* configure.ac: Check for objcopy, producing
|
||
ORIGINAL_OBJCOPY_FOR_TARGET.
|
||
* configure: Update accordingly.
|
||
* exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
|
||
Handle objcopy.
|
||
|
||
2022-06-03 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* config/i386/mmx.md (mmx_psadbw): Convert to expander.
|
||
(*mmx_psadbw): New. Mark as commutative.
|
||
* config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
|
||
(*<sse2_avx2>_psadbw): New. Mark as commutative.
|
||
|
||
2022-06-03 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
PR tree-optimization/105665
|
||
PR tree-optimization/100810
|
||
* tree-ssa-loop-ivopts.cc
|
||
(ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
|
||
(ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
|
||
(find_ssa_undef): Check precomputed flag and intervening uses.
|
||
(tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
|
||
|
||
2022-06-02 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
|
||
tree-logical-location.o.
|
||
(OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
|
||
(CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
|
||
* common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
|
||
(sarif-stderr, sarif-file): New enum values.
|
||
* diagnostic-client-data-hooks.h: New file.
|
||
* diagnostic-format-sarif.cc: New file.
|
||
* diagnostic-path.h (enum diagnostic_event::verb): New enum.
|
||
(enum diagnostic_event::noun): New enum.
|
||
(enum diagnostic_event::property): New enum.
|
||
(struct diagnostic_event::meaning): New struct.
|
||
(diagnostic_event::get_logical_location): New vfunc.
|
||
(diagnostic_event::get_meaning): New vfunc.
|
||
(simple_diagnostic_event::get_logical_location): New vfunc impl.
|
||
(simple_diagnostic_event::get_meaning): New vfunc impl.
|
||
* diagnostic.cc: Include "diagnostic-client-data-hooks.h".
|
||
(diagnostic_initialize): Initialize m_client_data_hooks.
|
||
(diagnostic_finish): Clean up m_client_data_hooks.
|
||
(diagnostic_event::meaning::dump_to_pp): New.
|
||
(diagnostic_event::meaning::maybe_get_verb_str): New.
|
||
(diagnostic_event::meaning::maybe_get_noun_str): New.
|
||
(diagnostic_event::meaning::maybe_get_property_str): New.
|
||
(get_cwe_url): Make non-static.
|
||
(diagnostic_output_format_init): Handle
|
||
DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
|
||
DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
|
||
* diagnostic.h (enum diagnostics_output_format): Add
|
||
DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
|
||
DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
|
||
(class diagnostic_client_data_hooks): New forward decl.
|
||
(class logical_location): New forward decl.
|
||
(diagnostic_context::m_client_data_hooks): New field.
|
||
(diagnostic_output_format_init_sarif_stderr): New decl.
|
||
(diagnostic_output_format_init_sarif_file): New decl.
|
||
(get_cwe_url): New decl.
|
||
* doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
|
||
sarif-file.
|
||
* doc/sourcebuild.texi (Scan a particular file): Add
|
||
scan-sarif-file and scan-sarif-file-not.
|
||
* langhooks-def.h (lhd_get_sarif_source_language): New decl.
|
||
(LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
|
||
(LANG_HOOKS_INITIALIZER): Add
|
||
LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
|
||
* langhooks.cc (lhd_get_sarif_source_language): New.
|
||
* langhooks.h (lang_hooks::get_sarif_source_language): New field.
|
||
* logical-location.h: New file.
|
||
* plugin.cc (struct for_each_plugin_closure): New.
|
||
(for_each_plugin_cb): New.
|
||
(for_each_plugin): New.
|
||
* plugin.h (for_each_plugin): New decl.
|
||
* tree-diagnostic-client-data-hooks.cc: New file.
|
||
* tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
|
||
(tree_diagnostics_defaults): Populate m_client_data_hooks.
|
||
* tree-logical-location.cc: New file.
|
||
* tree-logical-location.h: New file.
|
||
|
||
2022-06-02 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* common.opt (fdiagnostics-format=): Add json-stderr and json-file
|
||
to description.
|
||
(DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
|
||
(DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
|
||
(diagnostics_output_format): Add json-stderr and json-file.
|
||
* diagnostic-format-json.cc (json_flush_to_file): New.
|
||
(json_final_cb): Convert to...
|
||
(json_flush_to_file): ...this, ...
|
||
(json_stderr_final_cb): ...this, and...
|
||
(json_file_final_cb): ...this.
|
||
(diagnostic_output_format_init): Move to diagnostic.cc.
|
||
(json_output_base_file_name): New.
|
||
(diagnostic_output_format_init_json): New.
|
||
(diagnostic_output_format_init_json_stderr): New.
|
||
(diagnostic_output_format_init_json_file): New.
|
||
* diagnostic.cc (diagnostic_output_format_init): Move here from
|
||
diagnostic-format-json.cc; update for changes to enum.
|
||
* diagnostic.h (enum diagnostics_output_format): Rename
|
||
DIAGNOSTICS_OUTPUT_FORMAT_JSON to
|
||
DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
|
||
DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
|
||
(diagnostic_output_format_init): Add base_file_name param.
|
||
(diagnostic_output_format_init_json_stderr): New decl.
|
||
(diagnostic_output_format_init_json_file): New dec.
|
||
* doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
|
||
"json-file". Rewrite so that the existing "json" is a synonym of
|
||
"json-stderr".
|
||
* gcc.cc (driver_handle_option): Pass dump_base_name to
|
||
diagnostic_output_format_init.
|
||
* opts.cc (common_handle_option): Likewise.
|
||
|
||
2022-06-02 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* json.cc (string::print): Fix escaping of '\'.
|
||
|
||
2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
|
||
|
||
* config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
|
||
(-1 << 31) for the single-bit case, when operating on (1 << 31)
|
||
in SImode.
|
||
* config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
|
||
any single-bit value, moving the special case for (1 << 31) to
|
||
riscv_build_integer_1 (in riscv.c).
|
||
|
||
2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/105791
|
||
* config/i386/sse.md (V_128_256):Add V1TI and V2TI.
|
||
(define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
|
||
|
||
2022-06-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105778
|
||
* config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
|
||
from AND and its operands and just verify operands[2] has HImode,
|
||
SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
|
||
with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
|
||
just throw away the masking. Use force_reg before calling
|
||
gen_lowpart.
|
||
(*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
|
||
with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
|
||
just throw away the masking.
|
||
(*ashl<mode>3_doubleword): Rename to ...
|
||
(ashl<mode>3_doubleword): ... this.
|
||
(*ashl<mode>3_mask): Remove :SI from AND and its operands and just
|
||
verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
|
||
Use force_reg before calling gen_lowpart.
|
||
(*<insn><mode>3_mask): Likewise.
|
||
(*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
|
||
a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
|
||
case just throw away the masking. Use force_reg before calling
|
||
gen_lowpart.
|
||
(*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
|
||
with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
|
||
throw away the masking.
|
||
(*<insn><mode>3_doubleword): Rename to ...
|
||
(<insn><mode>3_doubleword): ... this.
|
||
(*<insn><mode>3_mask): Remove :SI from AND and its operands and just
|
||
verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
|
||
Use force_reg before calling gen_lowpart.
|
||
(splitter after it): Remove :SI from AND and its operands and just
|
||
verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
|
||
(*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
|
||
operands and just verify operands[1] has HImode, SImode or for
|
||
TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
|
||
(*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
|
||
* config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
|
||
ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
|
||
|
||
2022-06-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/101668
|
||
* tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
|
||
for vector types with compatible lane types.
|
||
(vect_build_slp_tree_2): Deal with this.
|
||
(vect_add_slp_permutation): Adjust. Emit lowpart/concat
|
||
special cases without VEC_PERM.
|
||
(vectorizable_slp_permutation): Select the operand vector
|
||
type and relax requirements. Handle identity permutes
|
||
with mismatching operand types.
|
||
* optabs-query.cc (can_vec_perm_const_p): Only allow variable
|
||
permutes for op_mode == mode.
|
||
|
||
2022-06-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105802
|
||
* tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
|
||
Make sure to also compute the range in the type of the switch index.
|
||
|
||
2022-06-01 David Seifert <soap@gentoo.org>
|
||
|
||
PR plugins/95648
|
||
* configure: Regenerate.
|
||
|
||
2022-06-01 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR rtl-optimization/105638
|
||
* df-core.cc (df_find_single_def_src): Moved and renamed from
|
||
find_single_def_src in loop-iv.cc. Change the argument to rtx
|
||
and use rtx_equal_p. Return null for partial or conditional
|
||
defs.
|
||
* df.h (df_find_single_def_src): New prototype.
|
||
* dse.cc (record_store): Use the constant source if the source
|
||
register is set only once.
|
||
* loop-iv.cc (find_single_def_src): Moved to df-core.cc.
|
||
(replace_single_def_regs): Replace find_single_def_src with
|
||
df_find_single_def_src.
|
||
|
||
2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
|
||
|
||
* config/aarch64/aarch64.opt (explicit_tune_core): Rename to
|
||
selected_tune.
|
||
(explicit_arch): Rename to selected_arch.
|
||
(x_aarch64_override_tune_string): Remove.
|
||
(aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
|
||
(aarch64_override_tune_string): Add Save so it gets saved/restored.
|
||
* config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
|
||
* config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
|
||
(processor): Remove archtecture_version field.
|
||
(selected_arch): Remove global.
|
||
(selected_cpu): Remove global.
|
||
(selected_tune): Remove global.
|
||
(aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
|
||
(aarch64_override_options_internal): Use aarch64_get_tune_cpu.
|
||
(aarch64_override_options): Further simplify code to only set
|
||
selected_arch and selected_tune globals.
|
||
(aarch64_option_save): Remove now that target options are saved.
|
||
(aarch64_option_restore): Remove redundant target option restores.
|
||
* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
|
||
AARCH64_ISA_V9.
|
||
* config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
|
||
* config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
|
||
(aarch64_ra_sign_key): Remove.
|
||
|
||
2022-06-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/30314
|
||
* match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
|
||
x > ~(utype)0 / cst): New simplification.
|
||
|
||
2022-06-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105786
|
||
* tree-loop-distribution.cc
|
||
(loop_distribution::transform_reduction_loop): Only do strlen
|
||
replacement for integer type reductions.
|
||
|
||
2022-06-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105770
|
||
* tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
|
||
CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
|
||
|
||
2022-06-01 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
|
||
(sbr_vector::sbr_vector): Same.
|
||
(sbr_vector::grow): Same.
|
||
(sbr_vector::set_bb_range): Same.
|
||
(sbr_vector::get_bb_range): Same.
|
||
(sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
|
||
(sbr_sparse_bitmap::set_bb_range): Same.
|
||
(sbr_sparse_bitmap::get_bb_range): Same.
|
||
(block_range_cache::set_bb_range): Same.
|
||
(block_range_cache::get_bb_range): Same.
|
||
(block_range_cache::dump): Same.
|
||
(ssa_global_cache::get_global_range): Same.
|
||
(ssa_global_cache::set_global_range): Same.
|
||
(ssa_global_cache::clear): Same.
|
||
(ssa_global_cache::dump): Same.
|
||
(ranger_cache::get_global_range): Same.
|
||
(ranger_cache::set_global_range): Same.
|
||
(ranger_cache::range_of_def): Same.
|
||
(ranger_cache::entry_range): Same.
|
||
(ranger_cache::exit_range): Same.
|
||
(ranger_cache::edge_range): Same.
|
||
(ranger_cache::range_of_expr): Same.
|
||
(ranger_cache::range_on_edge): Same.
|
||
(ranger_cache::block_range): Same.
|
||
(ranger_cache::propagate_cache): Same.
|
||
(ranger_cache::fill_block_cache): Same.
|
||
(ranger_cache::range_from_dom): Same.
|
||
* gimple-range-cache.h: Same.
|
||
* gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
|
||
Same.
|
||
(gimple_outgoing_range::switch_edge_range): Same.
|
||
(gimple_outgoing_range::edge_range_p): Same.
|
||
* gimple-range-edge.h: Same.
|
||
* gimple-range-fold.cc (fur_source::get_operand): Same.
|
||
(fur_source::get_phi_operand): Same.
|
||
(fur_edge::get_operand): Same.
|
||
(fur_edge::get_phi_operand): Same.
|
||
(fur_stmt::get_operand): Same.
|
||
(fur_stmt::get_phi_operand): Same.
|
||
(fur_list::fur_list): Same.
|
||
(fur_list::get_operand): Same.
|
||
(fur_list::get_phi_operand): Same.
|
||
(fold_range): Same.
|
||
(adjust_imagpart_expr): Same.
|
||
(adjust_realpart_expr): Same.
|
||
(gimple_range_adjustment): Same.
|
||
(fold_using_range::fold_stmt): Same.
|
||
(fold_using_range::range_of_range_op): Same.
|
||
(fold_using_range::range_of_address): Same.
|
||
(fold_using_range::range_of_phi): Same.
|
||
(fold_using_range::range_of_call): Same.
|
||
(fold_using_range::range_of_builtin_call): Same.
|
||
(fold_using_range::range_of_builtin_int_call): Same.
|
||
(fold_using_range::range_of_cond_expr): Same.
|
||
(fur_source::register_outgoing_edges): Same.
|
||
* gimple-range-fold.h (fold_range): Same.
|
||
(gimple_range_type): Same.
|
||
(gimple_range_ssa_p): Same.
|
||
* gimple-range-gori.cc (gimple_range_calc_op1): Same.
|
||
(gimple_range_calc_op2): Same.
|
||
(gori_compute::compute_operand_range_switch): Same.
|
||
(gori_compute::compute_operand_range): Same.
|
||
(gori_compute::logical_combine): Same.
|
||
(gori_compute::compute_logical_operands): Same.
|
||
(gori_compute::compute_operand1_range): Same.
|
||
(gori_compute::compute_operand2_range): Same.
|
||
(gori_compute::compute_operand1_and_operand2_range): Same.
|
||
(gori_compute::outgoing_edge_range_p): Same.
|
||
(gori_compute::condexpr_adjust): Same.
|
||
* gimple-range-gori.h (gimple_range_calc_op1): Same.
|
||
(gimple_range_calc_op2): Same.
|
||
* gimple-range-path.cc (path_range_query::get_cache): Same.
|
||
(path_range_query::set_cache): Same.
|
||
(path_range_query::range_on_path_entry): Same.
|
||
(path_range_query::internal_range_of_expr): Same.
|
||
(path_range_query::range_of_expr): Same.
|
||
(path_range_query::ssa_range_in_phi): Same.
|
||
(path_range_query::range_defined_in_block): Same.
|
||
(path_range_query::compute_ranges_in_phis): Same.
|
||
(path_range_query::compute_ranges_in_block): Same.
|
||
(path_range_query::add_to_imports): Same.
|
||
(path_range_query::range_of_stmt): Same.
|
||
* gimple-range-path.h: Same.
|
||
* gimple-range-infer.cc (gimple_infer_range::add_range): Same.
|
||
(gimple_infer_range::~side_effect_manager): Same.
|
||
(gimple_infer_range::get_nonzero): Same.
|
||
(gimple_infer_range::maybe_adjust_range): Same.
|
||
(gimple_infer_range::add_range): Same.
|
||
* gimple-range-infer.h: Same.
|
||
* gimple-range-tests.cc: Same.
|
||
* gimple-range-trace.cc (range_tracer::trailer): Same.
|
||
(debug_seed_ranger): Same.
|
||
* gimple-range-trace.h: Same.
|
||
* gimple-range.cc (gimple_ranger::range_of_expr): Same.
|
||
(gimple_ranger::range_on_entry): Same.
|
||
(gimple_ranger::range_on_exit): Same.
|
||
(gimple_ranger::range_on_edge): Same.
|
||
(gimple_ranger::fold_range_internal): Same.
|
||
(gimple_ranger::range_of_stmt): Same.
|
||
(gimple_ranger::prefill_name): Same.
|
||
(gimple_ranger::prefill_stmt_dependencies): Same.
|
||
(gimple_ranger::export_global_ranges): Same.
|
||
(gimple_ranger::dump_bb): Same.
|
||
* gimple-range.h: Same.
|
||
* gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
|
||
(memmodel_to_uhwi): Same.
|
||
* tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
|
||
(determine_value_range): Same.
|
||
(record_nonwrapping_iv): Same.
|
||
(infer_loop_bounds_from_signedness): Same.
|
||
(scev_var_range_cant_overflow): Same.
|
||
* tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
|
||
* value-query.cc (range_query::range_on_edge): Same.
|
||
(range_query::range_of_stmt): Same.
|
||
(range_query::value_of_expr): Same.
|
||
(range_query::value_on_edge): Same.
|
||
(range_query::value_of_stmt): Same.
|
||
(range_query::get_tree_range): Same.
|
||
(update_global_range): Same.
|
||
(get_range_global): Same.
|
||
(gimple_range_global): Same.
|
||
(global_range_query::range_of_expr): Same.
|
||
(range_query::query_relation): Same.
|
||
* value-query.h (gimple_range_global): Same.
|
||
(update_global_range): Same.
|
||
* vr-values.cc (vr_values::range_of_expr): Same.
|
||
(bounds_of_var_in_loop): Same.
|
||
(simplify_using_ranges::vrp_visit_cond_stmt): Same.
|
||
* vr-values.h (class vr_values): Same.
|
||
* tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
|
||
|
||
2022-06-01 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
|
||
vrange allocator.
|
||
(sbr_vector::grow): Same.
|
||
(sbr_vector::set_bb_range): Same.
|
||
(sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
|
||
(sbr_sparse_bitmap::set_bb_range): Same.
|
||
(block_range_cache::~block_range_cache): Same.
|
||
(block_range_cache::set_bb_range): Same.
|
||
(ssa_global_cache::ssa_global_cache): Same.
|
||
(ssa_global_cache::~ssa_global_cache): Same.
|
||
(ssa_global_cache::set_global_range): Same.
|
||
* gimple-range-cache.h (block_range_cache): Same.
|
||
(ssa_global_cache): Same.
|
||
* gimple-range-edge.cc
|
||
(gimple_outgoing_range::calc_switch_ranges): Same.
|
||
* gimple-range-edge.h (gimple_outgoing_range): Same.
|
||
* gimple-range-infer.cc (infer_range_manager::get_nonzero):
|
||
Same.
|
||
(infer_range_manager::add_range): Same.
|
||
* gimple-range-infer.h (class infer_range_manager): Same.
|
||
* value-range.h (class irange_allocator): Rename to...
|
||
(class vrange_allocator): ...this.
|
||
(irange_allocator::irange_allocator): New.
|
||
(vrange_allocator::vrange_allocator): New.
|
||
(irange_allocator::~irange_allocator): New.
|
||
(vrange_allocator::~vrange_allocator): New.
|
||
(irange_allocator::get_memory): Rename to...
|
||
(vrange_allocator::alloc): ...this.
|
||
(vrange_allocator::alloc_vrange): Rename from...
|
||
(irange_allocator::allocate): ...this.
|
||
(vrange_allocator::alloc_irange): New.
|
||
|
||
2022-06-01 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
|
||
vrange and convert range_op_handler function calls to use the
|
||
identically named object.
|
||
* gimple-range-fold.cc (gimple_range_operand1): Same.
|
||
(gimple_range_operand2): Same.
|
||
(fold_using_range::fold_stmt): Same.
|
||
(fold_using_range::range_of_range_op): Same.
|
||
(fold_using_range::range_of_builtin_ubsan_call): Same.
|
||
(fold_using_range::relation_fold_and_or): Same.
|
||
(fur_source::register_outgoing_edges): Same.
|
||
* gimple-range-fold.h (gimple_range_handler): Remove.
|
||
* gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
|
||
(gimple_range_calc_op2): Same.
|
||
(range_def_chain::get_def_chain): Same.
|
||
(gori_compute::compute_operand_range): Same.
|
||
(gori_compute::condexpr_adjust): Same.
|
||
* gimple-range.cc (gimple_ranger::prefill_name): Same.
|
||
(gimple_ranger::prefill_stmt_dependencies): Same.
|
||
* range-op.cc (get_bool_state): Same.
|
||
(class operator_equal): Add using clause.
|
||
(class operator_not_equal): Same.
|
||
(class operator_lt): Same.
|
||
(class operator_le): Same.
|
||
(class operator_gt): Same.
|
||
(class operator_ge): Same.
|
||
(class operator_plus): Same.
|
||
(class operator_minus): Same.
|
||
(class operator_mult): Same.
|
||
(class operator_exact_divide): Same.
|
||
(class operator_lshift): Same.
|
||
(class operator_rshift): Same.
|
||
(class operator_cast): Same.
|
||
(class operator_logical_and): Same.
|
||
(class operator_bitwise_and): Same.
|
||
(class operator_logical_or): Same.
|
||
(class operator_bitwise_or): Same.
|
||
(class operator_bitwise_xor): Same.
|
||
(class operator_trunc_mod): Same.
|
||
(class operator_logical_not): Same.
|
||
(class operator_bitwise_not): Same.
|
||
(class operator_cst): Same.
|
||
(class operator_identity): Same.
|
||
(class operator_unknown): Same.
|
||
(class operator_abs): Same.
|
||
(class operator_negate): Same.
|
||
(class operator_addr_expr): Same.
|
||
(class pointer_or_operator): Same.
|
||
(operator_plus::op1_range): Adjust for vrange.
|
||
(operator_minus::op1_range): Same.
|
||
(operator_mult::op1_range): Same.
|
||
(operator_cast::op1_range): Same.
|
||
(operator_bitwise_not::fold_range): Same.
|
||
(operator_negate::fold_range): Same.
|
||
(range_op_handler): Rename to...
|
||
(get_handler): ...this.
|
||
(range_op_handler::range_op_handler): New.
|
||
(range_op_handler::fold_range): New.
|
||
(range_op_handler::op1_range): New.
|
||
(range_op_handler::op2_range): New.
|
||
(range_op_handler::lhs_op1_relation): New.
|
||
(range_op_handler::lhs_op2_relation): New.
|
||
(range_op_handler::op1_op2_relation): New.
|
||
(range_cast): Adjust for vrange.
|
||
* range-op.h (range_op_handler): Remove function.
|
||
(range_cast): Adjust for vrange.
|
||
(class range_op_handler): New.
|
||
(get_bool_state): Adjust for vrange.
|
||
(empty_range_varying): Same.
|
||
(relop_early_resolve): Same.
|
||
* tree-data-ref.cc (compute_distributive_range): Same.
|
||
* tree-vrp.cc (get_range_op_handler): Remove.
|
||
(range_fold_binary_symbolics_p): Use range_op_handler class
|
||
instead of get_range_op_handler.
|
||
(range_fold_unary_symbolics_p): Same.
|
||
(range_fold_binary_expr): Same.
|
||
(range_fold_unary_expr): Same.
|
||
* value-query.cc (range_query::get_tree_range): Adjust for vrange.
|
||
|
||
2022-06-01 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-fold.h (gimple_range_type): Check type before
|
||
calling supports_type_p.
|
||
* gimple-range-path.cc (path_range_query::range_of_stmt): Same.
|
||
* value-query.cc (range_query::get_tree_range): Same.
|
||
* value-range.cc (Value_Range::lower_bound): New.
|
||
(Value_Range::upper_bound): New.
|
||
(Value_Range::dump): New.
|
||
* value-range.h (class Value_Range): New.
|
||
(irange::supports_type_p): Do not check if type is non-zero.
|
||
|
||
2022-06-01 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-range-equiv.cc (value_range_equiv::set): New.
|
||
* value-range-equiv.h (class value_range_equiv): Make set method
|
||
virtual.
|
||
Remove default bitmap argument from set method.
|
||
* value-range.cc (vrange::contains_p): New.
|
||
(vrange::singleton_p): New.
|
||
(vrange::operator=): New.
|
||
(vrange::operator==): New.
|
||
(irange::fits_p): Move to .cc file.
|
||
(irange::set_nonnegative): New.
|
||
(unsupported_range::unsupported_range): New.
|
||
(unsupported_range::set): New.
|
||
(unsupported_range::type): New.
|
||
(unsupported_range::set_undefined): New.
|
||
(unsupported_range::set_varying): New.
|
||
(unsupported_range::dump): New.
|
||
(unsupported_range::union_): New.
|
||
(unsupported_range::intersect): New.
|
||
(unsupported_range::zero_p): New.
|
||
(unsupported_range::nonzero_p): New.
|
||
(unsupported_range::set_nonzero): New.
|
||
(unsupported_range::set_zero): New.
|
||
(unsupported_range::set_nonnegative): New.
|
||
(unsupported_range::fits_p): New.
|
||
(irange::set): Call irange::set_undefined.
|
||
(irange::verify_range): Check discriminator field.
|
||
(irange::dump): Dump [irange] marker.
|
||
(irange::debug): Move to...
|
||
(vrange::debug): ...here.
|
||
(dump_value_range): Accept vrange.
|
||
(debug): Same.
|
||
* value-range.h (enum value_range_discriminator): New.
|
||
(class vrange): New.
|
||
(class unsupported_range): New.
|
||
(struct vrange_traits): New.
|
||
(is_a): New.
|
||
(as_a): New.
|
||
(class irange): Inherit from vrange.
|
||
(dump_value_range): Adjust for vrange.
|
||
(irange::kind): Rename to...
|
||
(vrange::kind): ...this.
|
||
(irange::varying_p): Rename to...
|
||
(vrange::varying_p): ...this.
|
||
(irange::undefined_p): Rename to...
|
||
(vrange::undefined_p): ...this.
|
||
(irange::irange): Set discriminator.
|
||
(irange::union_): Convert to irange before passing to irange
|
||
method.
|
||
(irange::intersect): Same.
|
||
(vrange::supports_type_p): New.
|
||
* vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
|
||
NULL bitmap argument to value_range_equiv::set.
|
||
(vr_values::extract_range_basic): Same.
|
||
|
||
2022-06-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105763
|
||
* tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
|
||
Check gimple_range_ssa_p.
|
||
|
||
2022-05-31 Jason Merrill <jason@redhat.com>
|
||
|
||
* Makefile.in (TAGS): Look at libcpp/*.cc.
|
||
|
||
2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
* config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
|
||
Prefix mode names with E_.
|
||
|
||
2022-05-31 Alan Modra <amodra@gmail.com>
|
||
|
||
* dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
|
||
spelling of DW_AT_namelist_item.
|
||
|
||
2022-05-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
|
||
allow var to be private in the outer context.
|
||
(lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
|
||
to build_outer_var_ref.
|
||
|
||
2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
|
||
tieable with DImode on TARGET_64BIT, and SCmode tieable with
|
||
V2SFmode, and DCmode with V2DFmode.
|
||
|
||
2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR rtl-optimization/101617
|
||
* config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
|
||
special case (indicated by negate_cc_compare_p) to generate a
|
||
-1/0 mask using neg;sbb.
|
||
* config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
|
||
to generate an *x86_neg<mode>_ccc instruction.
|
||
(x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
|
||
generate a *x86_mov<mode>cc_0_m1_neg instruction.
|
||
|
||
2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
|
||
SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
|
||
<DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
|
||
|
||
2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/70321
|
||
* config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
|
||
DI mode equality/inequality using XOR here. Instead generate a
|
||
COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
|
||
* config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
|
||
gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
|
||
(general_scalar_chain::convert_compare): New function to convert
|
||
scalar equality/inequality comparison into vector operations.
|
||
(general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
|
||
new convert_compare helper method.
|
||
(convertible_comparion_p): Update to match doubleword COMPARE
|
||
of two register, memory or integer constant operands.
|
||
* config/i386/i386-features.h (general_scalar_chain::convert_compare):
|
||
Prototype/declare member function here.
|
||
* config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
|
||
only allow new doubleword modes for EQ and NE operators.
|
||
(*cmp<dwi>_doubleword): New define_insn_and_split, to split a
|
||
doubleword comparison into a pair of XORs followed by an IOR to
|
||
set the (zero) flags register, optimizing the XORs if possible.
|
||
* config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
|
||
iterator; V_AVX is (currently) only used by ptest.
|
||
(sse4_1 mode attribute): Update to support V1TI and V2TI.
|
||
|
||
2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md: Remove constraints when used with
|
||
const_int_operand, const0_operand, const_1_operand, constm1_operand,
|
||
const8_operand, const128_operand, const248_operand, const123_operand,
|
||
const2367_operand, const1248_operand, const359_operand,
|
||
const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
|
||
const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
|
||
const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
|
||
const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
|
||
const_0_to_255_mul_8_operand, const_1_to_31_operand,
|
||
const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
|
||
const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
|
||
const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
|
||
const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
|
||
const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
|
||
const_24_to_27_operand and const_28_to_31_operand.
|
||
* config/i386/mmx.md: Ditto.
|
||
* config/i386/sse.md: Ditto.
|
||
* config/i386/subst.md: Ditto.
|
||
* config/i386/sync.md: Ditto.
|
||
|
||
2022-05-30 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
|
||
arguments.
|
||
|
||
2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
|
||
|
||
2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR target/105599
|
||
* config/darwin.h: Move versions-specific handling of multiply_defined
|
||
from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
|
||
|
||
2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
|
||
|
||
PR other/82383
|
||
* doc/sourcebuild.texi: Add entries for the c++tools,
|
||
gotools, libbacktrace, libcc1, libcody, liboffloadmic,
|
||
and libsanitizer directories. Remove entry for boehm-gc.
|
||
Fix alphabetization for libquadmath.
|
||
|
||
2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
|
||
|
||
* config/avr/avr-mcus.def: Add device definitions.
|
||
* doc/avr-mmcu.texi: Corresponding changes.
|
||
* config/avr/gen-avr-mmcu-texi.cc: Added support for avr
|
||
device prefix.
|
||
* config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
|
||
from leaking into cc1.
|
||
|
||
2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
|
||
|
||
PR target/103722
|
||
* config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
|
||
is special) for various scenarios.
|
||
|
||
2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
|
||
describing this macro.
|
||
|
||
2022-05-27 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
|
||
|
||
2022-05-27 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/105639
|
||
* ipa-prop.cc (propagate_controlled_uses): Check type of the
|
||
constant before adding a LOAD reference.
|
||
|
||
2022-05-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
|
||
to OMP_CLAUSE_ENTER.
|
||
* tree.h (OMP_CLAUSE_ENTER_TO): Define.
|
||
* tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
|
||
OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
|
||
* tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
|
||
instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
|
||
"to" instead of "enter".
|
||
* tree-nested.cc (convert_nonlocal_omp_clauses,
|
||
convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
|
||
OMP_CLAUSE_TO_DECLARE.
|
||
|
||
2022-05-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105726
|
||
* gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
|
||
Constrain array-of-flexarray case more.
|
||
|
||
2022-05-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/105729
|
||
* fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
|
||
to (X &) z + w if -fsanitize=null during GENERIC folding.
|
||
|
||
2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* match.pd (match_zero_one_valued_p): New predicate.
|
||
(mult @0 @1): Use zero_one_valued_p for optimization to the
|
||
expression "bit_and @0 @1".
|
||
(bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
|
||
(plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
|
||
(minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
|
||
(bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
|
||
Remove three redundant transforms obsoleted by the three above.
|
||
|
||
2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386.md (*test<mode>_not): New define_insn_and_split
|
||
to split a combined "and;cmp" sequence into "not;test".
|
||
|
||
2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
|
||
(bswapsi2_internal): Revise the template and condition, and add
|
||
detection code for preceding the same insn in order to omit a
|
||
"SSAI 8" instruction of the latter.
|
||
(bswapdi2): Suppress built-in insn expansion with the corresponding
|
||
library call when optimizing for size.
|
||
|
||
2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa-protos.h
|
||
(xtensa_expand_block_set_unrolled_loop,
|
||
xtensa_expand_block_set_small_loop): New prototypes.
|
||
* config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
|
||
xtensa_expand_block_set_unrolled_loop,
|
||
xtensa_expand_block_set_small_loop): New functions.
|
||
* config/xtensa/xtensa.md (setmemsi): New expansion pattern.
|
||
* config/xtensa/xtensa.opt (mlongcalls): Add target mask.
|
||
|
||
2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.cc (xtensa_expand_block_move):
|
||
Make instruction counting more accurate, and simplify emitting insns.
|
||
|
||
2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/constraints.md (M, O): Use the macro.
|
||
* config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
|
||
sext_fldsz_operand): Ditto.
|
||
* config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
|
||
xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
|
||
xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
|
||
xtensa_expand_prologue): Ditto.
|
||
* config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
|
||
|
||
2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
|
||
* config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
|
||
Ditto.
|
||
|
||
2022-05-25 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gimple-range-cache.cc: Adjust comments.
|
||
* gimple-range-infer.cc: Adjust comments.
|
||
* gimple-range-infer.h: Adjust comments.
|
||
* gimple-range.cc: Adjust comments.
|
||
|
||
2022-05-25 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* Makefile.in (OBJS): Use gimple-range-infer.o.
|
||
* gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
|
||
(ranger_cache::range_from_dom): Rename var side_effect to infer.
|
||
(ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
|
||
* gimple-range-cache.h: Include gimple-range-infer.h.
|
||
(class ranger_cache): Adjust prototypes, use infer_range_manager.
|
||
* gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
|
||
(gimple_infer_range::*): Rename from stmt_side_effects.
|
||
(infer_range_manager::*): Rename from side_effect_manager.
|
||
* gimple-range-side-effect.cc: Rename.
|
||
* gimple-range-side-effect.h: Rename.
|
||
* gimple-range-infer.h: Rename from gimple-range-side-effects.h.
|
||
(class gimple_infer_range): Rename from stmt_side_effects.
|
||
(class infer_range_manager): Rename from side_effect_manager.
|
||
* gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
|
||
from register_side_effects.
|
||
* gimple-range.h (register_inferred_ranges): Adjust prototype.
|
||
* range-op.h: Adjust comment.
|
||
* tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
|
||
(rvrp_folder::post_fold_bb): Use register_inferred_ranges.
|
||
|
||
2022-05-25 Simon Cook <simon.cook@embecosm.com>
|
||
|
||
* config/riscv/arch-canonicalize: Only add mafd extension if
|
||
base was rv32/rv64g.
|
||
|
||
2022-05-25 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
|
||
|
||
2022-05-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/105714
|
||
* asan.cc (has_stmt_been_instrumented_p): For assignments which
|
||
are both stores and loads, return true only if both destination
|
||
and source have been instrumented.
|
||
|
||
2022-05-25 Martin Liska <mliska@suse.cz>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
* dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
|
||
* params.opt (max-unswitch-level): Remove.
|
||
* doc/invoke.texi (max-unswitch-level): Likewise.
|
||
* tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
|
||
gimplified expressions.
|
||
* tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
|
||
(tree_may_unswitch_on): Rename to ...
|
||
(find_unswitching_predicates_for_bb): ... this and handle
|
||
switch statements.
|
||
(get_predicates_for_bb): Likewise.
|
||
(set_predicates_for_bb): Likewise.
|
||
(init_loop_unswitch_info): Likewise.
|
||
(tree_ssa_unswitch_loops): Prepare stuff before calling
|
||
tree_unswitch_single_loop.
|
||
(tree_unswitch_single_loop): Rework the function using
|
||
pre-computed predicates and with a per original loop cost model.
|
||
(merge_last): New.
|
||
(add_predicate_to_path): Likewise.
|
||
(find_range_for_lhs): Likewise.
|
||
(simplify_using_entry_checks): Rename to ...
|
||
(evaluate_control_stmt_using_entry_checks): ... this, handle
|
||
switch statements and improve simplifications using ranger.
|
||
(simplify_loop_version): Rework using
|
||
evaluate_control_stmt_using_entry_checks.
|
||
(evaluate_bbs): New.
|
||
(evaluate_loop_insns_for_predicate): Likewise.
|
||
(tree_unswitch_loop): Adjust to allow switch statements and
|
||
pass in the edge to unswitch.
|
||
(clean_up_after_unswitching): New.
|
||
(pass_tree_unswitch::execute): Pass down fun.
|
||
|
||
2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
|
||
|
||
* tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
|
||
counts for the epilog loop.
|
||
|
||
2022-05-24 Martin Sebor <msebor@redhat.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/105604
|
||
* gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
|
||
(get_origin_and_offset_r): Remove null handling. Handle variable array
|
||
sizes.
|
||
(get_origin_and_offset): Handle null argument here. Simplify.
|
||
(alias_offset): Update comment.
|
||
* pointer-query.cc (field_at_offset): Update comment. Handle members
|
||
of variable-length types.
|
||
|
||
2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* target.def (vec_perm_const): Define new parameter op_mode and
|
||
update doc.
|
||
* doc/tm.texi: Regenerate.
|
||
* config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
|
||
vec_perm_const hook to add new parameter op_mode and return false
|
||
if result and operand modes do not match.
|
||
* config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
|
||
* config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
|
||
* config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
|
||
* config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
|
||
* config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
|
||
* config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
|
||
* config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
|
||
* config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
|
||
* config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
|
||
prototype.
|
||
* config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
|
||
(ashrv2di3): Likewise.
|
||
* optabs.cc (expand_vec_perm_const): Likewise.
|
||
* optabs-query.h (can_vec_perm_const_p): Adjust prototype.
|
||
* optabs-query.cc (can_vec_perm_const_p): Define new parameter
|
||
op_mode and pass it to vec_perm_const hook.
|
||
(can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
|
||
* match.pd (vec_perm X Y CST): Likewise.
|
||
* tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
|
||
* tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
|
||
(vect_grouped_load_supported): Likewise.
|
||
(vect_shift_permute_load_chain): Likewise.
|
||
* tree-vect-generic.cc (lower_vec_perm): Likewise.
|
||
* tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
|
||
* tree-vect-loop.cc (have_whole_vector_shift): Likewise.
|
||
* tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
|
||
* tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
|
||
(vect_transform_slp_perm_load): Likewise.
|
||
(vectorizable_slp_permutation): Likewise.
|
||
* tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
|
||
(vectorizable_bswap): Likewise.
|
||
(scan_store_can_perm_p): Likewise.
|
||
(vect_gen_perm_mask_checked): Likewise.
|
||
|
||
2022-05-24 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/104816
|
||
* config/i386/i386.opt: Remove Undocumented.
|
||
* doc/invoke.texi: Document -mcet-switch.
|
||
|
||
2022-05-24 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
|
||
* config/gcn/gcn-opts.h (enum gcn_isa): New.
|
||
(TARGET_GCN3): Use enum gcn_isa.
|
||
(TARGET_GCN3_PLUS): Likewise.
|
||
(TARGET_GCN5): Likewise.
|
||
(TARGET_GCN5_PLUS): Likewise.
|
||
(TARGET_CDNA1): New.
|
||
(TARGET_CDNA1_PLUS): New.
|
||
(TARGET_CDNA2): New.
|
||
(TARGET_CDNA2_PLUS): New.
|
||
(TARGET_M0_LDS_LIMIT): New.
|
||
(TARGET_PACKED_WORK_ITEMS): New.
|
||
* config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
|
||
(gcn_option_override): Recognise CDNA ISA variants.
|
||
(gcn_omp_device_kind_arch_isa): Support gfx90a.
|
||
(gcn_expand_prologue): Make m0 init optional.
|
||
Add support for packed work items.
|
||
(output_file_start): Support gfx90a.
|
||
(gcn_hsa_declare_function_name): Support gfx90a metadata.
|
||
* config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
|
||
__CDNA2__.
|
||
* config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
|
||
(<su>mulsi3_highpart_imm): Likewise.
|
||
(<su>mulsidi3): Likewise.
|
||
(<su>mulsidi3_imm): Likewise.
|
||
* config/gcn/gcn.opt (gpu_type): Add gfx90a.
|
||
* config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
|
||
(main): Support gfx90a.
|
||
* config/gcn/t-gcn-hsa: Add gfx90a multilib.
|
||
* config/gcn/t-omp-device: Add gfx90a isa.
|
||
|
||
2022-05-24 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config.in: Regenerate.
|
||
* config/gcn/gcn-hsa.h (X_FIJI): Delete.
|
||
(X_900): Delete.
|
||
(X_906): Delete.
|
||
(X_908): Delete.
|
||
(S_FIJI): Delete.
|
||
(S_900): Delete.
|
||
(S_906): Delete.
|
||
(S_908): Delete.
|
||
(NO_XNACK): New macro.
|
||
(NO_SRAM_ECC): New macro.
|
||
(SRAMOPT): Keep only v4 variant.
|
||
(HSACO3_SELECT_OPT): Delete.
|
||
(DRIVER_SELF_SPECS): Delete.
|
||
(ASM_SPEC): Remove LLVM 9 support.
|
||
* config/gcn/gcn-valu.md
|
||
(gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
|
||
(scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
|
||
* config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
|
||
(print_operand_address): Remove assembler bug workaround.
|
||
* config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
|
||
(EF_AMDGPU_SRAM_ECC_V3): Delete.
|
||
(SET_XNACK_ON): Delete v3 variants.
|
||
(SET_XNACK_OFF): Delete v3 variants.
|
||
(TEST_XNACK): Delete v3 variants.
|
||
(SET_SRAM_ECC_ON): Delete v3 variants.
|
||
(SET_SRAM_ECC_ANY): Delete v3 variants.
|
||
(SET_SRAM_ECC_OFF): Delete v3 variants.
|
||
(SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
|
||
(TEST_SRAM_ECC_ANY): Delete v3 variants.
|
||
(TEST_SRAM_ECC_ON): Delete v3 variants.
|
||
(copy_early_debug_info): Remove v3 support.
|
||
(main): Remove v3 support.
|
||
* configure: Regenerate.
|
||
* configure.ac: Replace all GCN feature checks with a version check.
|
||
|
||
2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
|
||
i.e. a double word negation of a zero extended operand, to
|
||
neg;sbb.
|
||
|
||
2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR tree-optimization/105668
|
||
* config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
|
||
V1TImode, just like V2DImode.
|
||
* config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
|
||
Use VI_128 mode iterator instead of VI124_128 to include V2DI.
|
||
(vcond_mask_v2div2di): Delete.
|
||
(vcond_mask_v1tiv1ti): New define_expand.
|
||
|
||
2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* genpreds.cc (write_lookup_constraint_1): Avoid generating a call
|
||
to strncmp for strings of length one.
|
||
|
||
2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
|
||
|
||
* config/riscv/predicates.md (imm5_operand): Add a new operand type for
|
||
prefetch instructions.
|
||
* config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
|
||
Extensions.
|
||
(RISCV_ATYPE_SI): New.
|
||
(RISCV_ATYPE_DI): New.
|
||
* config/riscv/riscv-ftypes.def (0): New.
|
||
(1): New.
|
||
* config/riscv/riscv.md (riscv_clean_<mode>): New.
|
||
(riscv_flush_<mode>): New.
|
||
(riscv_inval_<mode>): New.
|
||
(riscv_zero_<mode>): New.
|
||
(prefetch): New.
|
||
(riscv_prefetchi_<mode>): New.
|
||
* config/riscv/riscv-cmo.def: New file.
|
||
|
||
2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
|
||
|
||
* common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
|
||
* config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
|
||
(MASK_ZICBOM): New.
|
||
(MASK_ZICBOP): New.
|
||
(TARGET_ZICBOZ): New.
|
||
(TARGET_ZICBOM): New.
|
||
(TARGET_ZICBOP): New.
|
||
* config/riscv/riscv.opt (riscv_zicmo_subext): New.
|
||
|
||
2022-05-24 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* tree-vect-slp-patterns.cc: Add "final" and "override" to
|
||
vect_pattern::build impls as appropriate.
|
||
|
||
2022-05-24 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
|
||
implementations, removing redundant "virtual" as appropriate.
|
||
* ipa-fnsummary.h: Likewise.
|
||
* ipa-modref.cc: Likewise.
|
||
* ipa-param-manipulation.cc: Likewise.
|
||
* ipa-profile.cc: Likewise.
|
||
* ipa-prop.h: Likewise.
|
||
* ipa-pure-const.cc: Likewise.
|
||
* ipa-reference.cc: Likewise.
|
||
* ipa-sra.cc: Likewise.
|
||
* symbol-summary.h: Likewise.
|
||
* symtab-thunks.cc: Likewise.
|
||
|
||
2022-05-24 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert:
|
||
2022-05-24 Martin Liska <mliska@suse.cz>
|
||
|
||
* expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
|
||
warning.
|
||
|
||
2022-05-24 Martin Liska <mliska@suse.cz>
|
||
|
||
* expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
|
||
warning.
|
||
|
||
2022-05-24 Bruno Haible <bruno@clisp.org>
|
||
|
||
PR other/105527
|
||
* doc/install.texi (Configuration): Add more details about --with-zstd.
|
||
Document --with-zstd-include and --with-zstd-lib
|
||
|
||
2022-05-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/105711
|
||
* expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
|
||
and use it.
|
||
(extract_bit_field_1): Pass down the mode of op0 to
|
||
extract_bit_field_as_subreg.
|
||
|
||
2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
|
||
|
||
* config/riscv/riscv.cc: (struct riscv_tune_param): Add
|
||
fmv_cost.
|
||
(rocket_tune_info): Add default fmv_cost 8.
|
||
(sifive_7_tune_info): Ditto.
|
||
(thead_c906_tune_info): Ditto.
|
||
(optimize_size_tune_info): Ditto.
|
||
(riscv_register_move_cost): Use fmv_cost for int<->fp moves.
|
||
|
||
2022-05-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/105378
|
||
* omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
|
||
builtin.
|
||
* gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
|
||
clause but no depend clauses.
|
||
* omp-expand.cc (expand_taskwait_call): Use
|
||
BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
|
||
BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
|
||
|
||
2022-05-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/100221
|
||
* tree-ssa-dse.cc (contains_phi_arg): New function.
|
||
(dse_classify_store): Postpone PHI defs that feed another PHI in defs.
|
||
|
||
2022-05-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105629
|
||
* tree-ssa-phiopt.cc (spaceship_replacement): Allow
|
||
a sign-extending conversion.
|
||
|
||
2022-05-24 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR target/105627
|
||
* config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
|
||
be a debug insn.
|
||
(union_uses): Skip debug use_insn.
|
||
|
||
2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
|
||
|
||
* config/riscv/predicates.md (const_0_operand): Remove
|
||
const_double.
|
||
* config/riscv/riscv.cc (riscv_rtx_costs): Add check for
|
||
CONST_DOUBLE.
|
||
* config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
|
||
|
||
2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
|
||
|
||
* common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
|
||
the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
|
||
(cpu_indicator_init): Handle Zhaoxin processors.
|
||
* common/config/i386/i386-common.cc: Add lujiazui.
|
||
* common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
|
||
VENDOR_ZHAOXIN.
|
||
(enum processor_types): Add ZHAOXIN_FAM7H.
|
||
(enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
|
||
* config.gcc: Add lujiazui.
|
||
* config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
|
||
Signatures for zhaoxin
|
||
(signature_SHANGHAI_ecx): Ditto.
|
||
(signature_SHANGHAI_edx): Ditto.
|
||
* config/i386/driver-i386.cc (host_detect_local_cpu): Let
|
||
-march=native recognize lujiazui processors.
|
||
* config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
|
||
* config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
|
||
* config/i386/i386.h (enum processor_type): Ditto.
|
||
* config/i386/i386.md: Add lujiazui.
|
||
* config/i386/x86-tune-costs.h (struct processor_costs): Add
|
||
lujiazui costs.
|
||
* config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
|
||
(ix86_adjust_cost): Ditto.
|
||
* config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
|
||
(X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
|
||
(X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
|
||
(X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
|
||
(X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
|
||
(X86_TUNE_MOVX): Ditto.
|
||
(X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
|
||
(X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
|
||
(X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
|
||
(X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
|
||
(X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
|
||
(X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
|
||
(X86_TUNE_USE_LEAVE): Ditto.
|
||
(X86_TUNE_PUSH_MEMORY): Ditto.
|
||
(X86_TUNE_LCP_STALL): Ditto.
|
||
(X86_TUNE_USE_INCDEC): Ditto.
|
||
(X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
|
||
(X86_TUNE_OPT_AGU): Ditto.
|
||
(X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
|
||
(X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
|
||
(X86_TUNE_USE_SAHF): Ditto.
|
||
(X86_TUNE_USE_BT): Ditto.
|
||
(X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
|
||
(X86_TUNE_ONE_IF_CONV_INSN): Ditto.
|
||
(X86_TUNE_AVOID_MFENCE): Ditto.
|
||
(X86_TUNE_EXPAND_ABS): Ditto.
|
||
(X86_TUNE_USE_SIMODE_FIOP): Ditto.
|
||
(X86_TUNE_USE_FFREEP): Ditto.
|
||
(X86_TUNE_EXT_80387_CONSTANTS): Ditto.
|
||
(X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
|
||
(X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
|
||
(X86_TUNE_SSE_TYPELESS_STORES): Ditto.
|
||
(X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
|
||
* doc/extend.texi: Add details about lujiazui.
|
||
* doc/invoke.texi: Add details about lujiazui.
|
||
* config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
|
||
|
||
2022-05-23 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
|
||
|
||
2022-05-23 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
|
||
(pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
|
||
|
||
2022-05-23 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-expr.cc (is_gimple_condexpr): Remove.
|
||
* gimple-expr.h (is_gimple_condexpr): Likewise.
|
||
* gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
|
||
* tree-if-conv.cc (set_bb_predicate): Likewie.
|
||
(add_to_predicate_list): Likewise.
|
||
(gen_phi_arg_condition): Likewise.
|
||
(predicate_scalar_phi): Likewise.
|
||
(predicate_statements): Likewise.
|
||
|
||
2022-05-23 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
|
||
* gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
|
||
as is_gimple_val.
|
||
* gimple-fold.cc (valid_gimple_rhs_p): Simplify.
|
||
* tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
|
||
* gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
|
||
Build the condition of the COND_EXPR separately.
|
||
* tree-ssa-loop-im.cc (move_computations_worker): Likewise.
|
||
* tree-vect-generic.cc (expand_vector_condition): Likewise.
|
||
* tree-vect-loop.cc (vect_create_epilog_for_reduction):
|
||
Likewise.
|
||
* vr-values.cc (simplify_using_ranges::simplify): Likewise.
|
||
* tree-vect-patterns.cc: Add comment indicating we are
|
||
building invalid COND_EXPRs and why.
|
||
* omp-expand.cc (expand_omp_simd): Gimplify the condition
|
||
to the COND_EXPR separately.
|
||
(expand_omp_atomic_cas): Note part that should be unreachable
|
||
now.
|
||
* tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
|
||
condition for valid replacements.
|
||
* tree-if-conv.cc (predicate_bbs): Simulate previous
|
||
re-folding of the condition in folded COND_EXPRs which
|
||
is necessary because of unfolded GIMPLE_CONDs in the IL
|
||
as in for example gcc.dg/fold-bopcond-1.c.
|
||
* gimple-range-gori.cc (gori_compute::condexpr_adjust):
|
||
Handle that the comparison is now in the def stmt of
|
||
the select operand. Required by gcc.dg/pr104526.c.
|
||
|
||
2022-05-23 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/104949
|
||
* langhooks-def.h (lhd_omp_array_size): New.
|
||
(LANG_HOOKS_OMP_ARRAY_SIZE): Define.
|
||
(LANG_HOOKS_DECLS): Add it.
|
||
* langhooks.cc (lhd_omp_array_size): New.
|
||
* langhooks.h (struct lang_hooks_for_decls): Add hook.
|
||
* omp-low.cc (scan_sharing_clauses, lower_omp_target):
|
||
Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
|
||
|
||
2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
|
||
XOR/IOR case. Account for two instructions for double-word
|
||
operations. In case of vector pandn, account for single
|
||
instruction. Likewise for integer andn with TARGET_BMI.
|
||
<case NOT>: Vector NOT requires more than 1 instruction (pxor).
|
||
<case NEG>: Double-word negation requires 3 instructions.
|
||
|
||
2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
|
||
|
||
* common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
|
||
Fix "K" extension prefix to be placed before "J".
|
||
* config/riscv/arch-canonicalize: Likewise.
|
||
|
||
2022-05-23 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
|
||
<-> mask cost from 5 to 6.
|
||
(icelake_cost): Ditto.
|
||
|
||
2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
|
||
|
||
* config/aarch64/aarch64.md
|
||
(and_<SHIFT:optab><mode>3_compare0): Support rotate left.
|
||
(and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
|
||
(<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
|
||
(<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
|
||
(one_cmpl_<optab><mode>2): Likewise.
|
||
(<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
|
||
(<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
|
||
(eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
|
||
(eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
|
||
(and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
|
||
(and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
|
||
(and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
|
||
(and_<SHIFT:optab><mode>3nr_compare0): Likewise.
|
||
(*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
|
||
(rolsi3_insn_uxtw): New pattern.
|
||
* config/aarch64/iterators.md (SHIFT): Add rotate left.
|
||
(SHIFT_no_rotate): Add new iterator.
|
||
(SHIFT:shift): Print rotate left as ror.
|
||
(is_rotl): Add test for left rotate.
|
||
|
||
2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
|
||
|
||
* config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
|
||
processing. Add support for architectural extensions.
|
||
* config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
|
||
AARCH64_CPU_DEFAULT_FLAGS.
|
||
(TARGET_CPU_NBITS): Remove.
|
||
(TARGET_CPU_MASK): Remove.
|
||
* config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
|
||
(get_tune_cpu): Assert CPU is always valid.
|
||
(get_arch): Assert architecture is always valid.
|
||
(aarch64_override_options): Cleanup CPU selection code and simplify logic.
|
||
(aarch64_option_restore): Remove unnecessary checks on tune.
|
||
|
||
2022-05-20 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
|
||
"FINAL" and "OVERRIDE" with "final" and "override".
|
||
* config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
|
||
* config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
|
||
* config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
|
||
* diagnostic-path.h: Likewise.
|
||
* digraph.cc: Likewise.
|
||
* gcc-rich-location.h: Likewise.
|
||
* gimple-array-bounds.cc: Likewise.
|
||
* gimple-loop-versioning.cc: Likewise.
|
||
* gimple-range-cache.cc: Likewise.
|
||
* gimple-range-cache.h: Likewise.
|
||
* gimple-range-fold.cc: Likewise.
|
||
* gimple-range-fold.h: Likewise.
|
||
* gimple-range-tests.cc: Likewise.
|
||
* gimple-range.h: Likewise.
|
||
* gimple-ssa-evrp.cc: Likewise.
|
||
* input.cc: Likewise.
|
||
* json.h: Likewise.
|
||
* read-rtl-function.cc: Likewise.
|
||
* tree-complex.cc: Likewise.
|
||
* tree-diagnostic-path.cc: Likewise.
|
||
* tree-ssa-ccp.cc: Likewise.
|
||
* tree-ssa-copy.cc: Likewise.
|
||
* tree-vrp.cc: Likewise.
|
||
* value-query.h: Likewise.
|
||
* vr-values.h: Likewise.
|
||
|
||
2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
|
||
|
||
* omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
|
||
target_memcpy_rect_async to omp_runtime_apis array.
|
||
|
||
2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
* doc/sourcebuild.texi (Decimal floating point attributes): Document
|
||
dfp_bid effective-target.
|
||
|
||
2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
* config/aarch64/aarch64.cc
|
||
(aarch64_split_128bit_move): Handle DFP modes.
|
||
(aarch64_mode_valid_for_sched_fusion_p): Likewise.
|
||
(aarch64_classify_address): Likewise.
|
||
(aarch64_legitimize_address_displacement): Likewise.
|
||
(aarch64_reinterpret_float_as_int): Likewise.
|
||
(aarch64_float_const_zero_rtx_p): Likewise.
|
||
(aarch64_can_const_movi_rtx_p): Likewise.
|
||
(aarch64_anchor_offset): Likewise.
|
||
(aarch64_secondary_reload): Likewise.
|
||
(aarch64_rtx_costs): Likewise.
|
||
(aarch64_legitimate_constant_p): Likewise.
|
||
(aarch64_gimplify_va_arg_expr): Likewise.
|
||
(aapcs_vfp_sub_candidate): Likewise.
|
||
(aarch64_vfp_is_call_or_return_candidate): Likewise.
|
||
(aarch64_output_scalar_simd_mov_immediate): Likewise.
|
||
(aarch64_gen_adjusted_ldpstp): Likewise.
|
||
(aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
|
||
* config/aarch64/aarch64.md
|
||
(movsf_aarch64): Use SFD iterator and rename into
|
||
mov<mode>_aarch64.
|
||
(movdf_aarch64): Use DFD iterator and rename into
|
||
mov<mode>_aarch64.
|
||
(movtf_aarch64): Use TFD iterator and rename into
|
||
mov<mode>_aarch64.
|
||
(split pattern for move TF mode): Use TFD iterator.
|
||
* config/aarch64/iterators.md
|
||
(GPF_TF_F16_MOV): Add DFP modes.
|
||
(SFD, DFD, TFD): New iterators.
|
||
(GPF_TF): Add DFP modes.
|
||
(TX, DX, DX2): Likewise.
|
||
|
||
2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
* configure: Regenerate.
|
||
|
||
2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR middle-end/98865
|
||
* expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
|
||
when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
|
||
likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
|
||
|
||
2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtins.def: Rephrase
|
||
to remove RS6000_BTC_SPECIAL from comment.
|
||
* config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
|
||
RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
|
||
RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
|
||
RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
|
||
RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
|
||
RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
|
||
RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
|
||
RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
|
||
RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
|
||
RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
|
||
RS6000_BTM_ALWAYS): Delete.
|
||
|
||
2022-05-19 Richard Biener <rguenther@suse.de>
|
||
|
||
* omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
|
||
computation of the new value.
|
||
|
||
2022-05-19 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
|
||
(add_to_value): Use get_expression_id.
|
||
(bitmap_insert_into_set): Likewise.
|
||
(bitmap_value_insert_into_set): Likewise.
|
||
|
||
2022-05-19 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* doc/invoke.texi (-fanalyzer-checker=): Add
|
||
-Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
|
||
the list of analyzer warnings disabled by
|
||
-fanalyzer-checker=taint.
|
||
|
||
2022-05-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/105630
|
||
* cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
|
||
global vars without symtab node even when they have DECL_RTL
|
||
set.
|
||
|
||
2022-05-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/105635
|
||
* pointer-query.cc (gimple_parm_array_size): Return NULL if var
|
||
doesn't have pointer or reference type.
|
||
|
||
2022-05-18 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/105131
|
||
* doc/invoke.texi: Document -Wenum-int-mismatch.
|
||
|
||
2022-05-18 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/gnu-user-common.h (defined): Only define
|
||
TARGET_CAN_SPLIT_STACK for glibc targets.
|
||
* config/i386/gnu.h (defined): Ditto.
|
||
|
||
2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
|
||
is wider than word_mode, a multiplication costs three word_mode
|
||
multiplications and two word_mode additions.
|
||
|
||
2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386.md (define_split): Split *andsi_1
|
||
and *andn_si_ccno after reload with -Oz.
|
||
|
||
2022-05-18 Frederik Harwath <frederik@codesourcery.com>
|
||
|
||
* graphite-scop-detection.cc (scop_detection::can_represent_loop):
|
||
Output reason for failure to dump file.
|
||
(scop_detection::harmful_loop_in_region): Likewise.
|
||
(scop_detection::graphite_can_represent_expr): Likewise.
|
||
(scop_detection::stmt_has_simple_data_refs_p): Likewise.
|
||
(scop_detection::stmt_simple_for_scop_p): Likewise.
|
||
(print_sese_loop_numbers): New function.
|
||
(scop_detection::add_scop): Use from here.
|
||
|
||
2022-05-18 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR middle-end/103462
|
||
* match.pd (bitwise_induction_p): New match.
|
||
* tree-scalar-evolution.cc (gimple_bitwise_induction_p):
|
||
Declare.
|
||
(analyze_and_compute_bitwise_induction_effect): New function.
|
||
(enum bit_op_kind): New enum.
|
||
(final_value_replacement_loop): Enhanced to handle bitwise
|
||
induction.
|
||
|
||
2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
|
||
|
||
PR target/95737
|
||
* config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
|
||
|
||
2022-05-18 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104375
|
||
* config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
|
||
define_insn.
|
||
|
||
2022-05-18 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104610
|
||
* config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
|
||
for QImode when code is EQ or NE.
|
||
* config/i386/i386.md (cbranchoi4): New expander.
|
||
|
||
2022-05-18 Peter Bergner <bergner@linux.ibm.com>
|
||
Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/105556
|
||
* config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
|
||
mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
|
||
mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
|
||
mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
|
||
Update other operands accordingly.
|
||
|
||
2022-05-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
* godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
|
||
|
||
2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
|
||
|
||
PR target/99685
|
||
* config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
|
||
register count when not splitting IEEE 128-bit Complex.
|
||
|
||
2022-05-17 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* omp-low.cc (check_omp_nesting_restrictions): Skip warning for
|
||
target inside target if inner is reverse offload.
|
||
|
||
2022-05-17 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
|
||
* config/nvptx/mkoffload.cc (process): Likewise.
|
||
|
||
2022-05-17 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* Makefile.in (OBJS): Add gimple-range-side-effect.o.
|
||
* gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
|
||
(non_null_ref::~non_null_ref): Delete.
|
||
(non_null_ref::set_nonnull): Delete.
|
||
(non_null_ref::non_null_deref_p): Delete.
|
||
(non_null_ref::process_name): Delete.
|
||
(ranger_cache::ranger_cache): Initialize m_exit object.
|
||
(ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
|
||
(ranger_cache::range_from_dom): Use side_effect class and m_exit object.
|
||
(ranger_cache::update_to_nonnull): Delete.
|
||
(non_null_loadstore): Delete.
|
||
(ranger_cache::block_apply_nonnull): Delete.
|
||
(ranger_cache::apply_side_effects): New.
|
||
* gimple-range-cache.h (class non_null_ref): Delete.
|
||
(non_null_ref::adjust_range): Delete.
|
||
(class ranger_cache): Adjust prototypes, add side effect manager.
|
||
* gimple-range-path.cc (path_range_query::range_defined_in_block): Use
|
||
side effect manager for queries.
|
||
(path_range_query::adjust_for_non_null_uses): Ditto.
|
||
* gimple-range-path.h (class path_range_query): Delete non_null_ref.
|
||
* gimple-range-side-effect.cc: New.
|
||
* gimple-range-side-effect.h: New.
|
||
* gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
|
||
(gimple_ranger::range_of_expr): Check def block for override value.
|
||
(gimple_ranger::range_on_entry): Don't scan dominators for non-null.
|
||
(gimple_ranger::range_on_edge): Check for outgoing side-effects.
|
||
(gimple_ranger::register_side_effects): Call apply_side_effects.
|
||
(enable_ranger): Update contructor.
|
||
* gimple-range.h (class gimple_ranger): Update prototype.
|
||
(enable_ranger): Update prototype.
|
||
* tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
|
||
|
||
2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
|
||
|
||
PR c++/105169
|
||
* targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
|
||
* varasm.cc (switch_to_comdat_section): New
|
||
(handle_vtv_comdat_section): Call switch_to_comdat_section.
|
||
* varasm.h: Declare switch_to_comdat_section.
|
||
|
||
2022-05-17 Richard Biener <rguenther@suse.de>
|
||
|
||
* cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
|
||
not clear bb->aux of the copied blocks.
|
||
|
||
2022-05-17 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/105458
|
||
* value-relation.cc (path_oracle::register_relation): Merge, then check
|
||
for equivalence.
|
||
|
||
2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/105624
|
||
Revert:
|
||
* config/i386/i386.md: Remove constraints when used with
|
||
const_int_operand, const0_operand, const_1_operand, constm1_operand,
|
||
const8_operand, const128_operand, const248_operand, const123_operand,
|
||
const2367_operand, const1248_operand, const359_operand,
|
||
const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
|
||
const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
|
||
const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
|
||
const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
|
||
const_0_to_255_mul_8_operand, const_1_to_31_operand,
|
||
const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
|
||
const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
|
||
const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
|
||
const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
|
||
const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
|
||
const_24_to_27_operand and const_28_to_31_operand.
|
||
* config/i386/mmx.md: Ditto.
|
||
* config/i386/sse.md: Ditto.
|
||
* config/i386/subst.md: Ditto.
|
||
* config/i386/sync.md: Ditto.
|
||
|
||
2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* diagnostic.cc: Don't advise to call 'abort' instead of
|
||
'internal_error'.
|
||
* system.h: Advise to call 'internal_error' instead of 'abort' or
|
||
'fancy_abort'.
|
||
|
||
2022-05-17 Frederik Harwath <frederik@codesourcery.com>
|
||
|
||
* graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
|
||
a reference to a variable which does not exist.
|
||
* graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
|
||
in comment.
|
||
|
||
2022-05-17 Frederik Harwath <frederik@codesourcery.com>
|
||
|
||
* graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
|
||
(isl_id_for_parameter): ... this new function name.
|
||
(build_scop_context): Adjust function use.
|
||
|
||
2022-05-17 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR target/105602
|
||
* config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
|
||
* config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
|
||
|
||
2022-05-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-core.h (enum omp_clause_depend_kind): Add
|
||
OMP_CLAUSE_DEPEND_INOUTSET.
|
||
* tree-pretty-print.cc (dump_omp_clause): Handle
|
||
OMP_CLAUSE_DEPEND_INOUTSET.
|
||
* gimplify.cc (gimplify_omp_depend): Likewise.
|
||
* omp-low.cc (lower_depend_clauses): Likewise.
|
||
|
||
2022-05-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105613
|
||
* config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
|
||
andv4si3 only for EQ, for NE use iorv4si3 instead.
|
||
|
||
2022-05-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105618
|
||
* tree-ssa-sink.cc (statement_sink_location): For virtual
|
||
PHI uses ignore those defining the used virtual operand.
|
||
|
||
2022-05-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
|
||
hanlde -> handle. Fix up comment formatting.
|
||
|
||
2022-05-17 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/105033
|
||
* config/i386/sse.md (*vec_concatv4si): Extend to ..
|
||
(*vec_concat<mode>): .. V16QI and V8HImode.
|
||
(*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
|
||
(*vec_concatv8hi_permt2): Ditto.
|
||
|
||
2022-05-17 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR tree-optimization/105591
|
||
* tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
|
||
vec_perm_expr index.
|
||
|
||
2022-05-16 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c/105492
|
||
* attribs.cc (decl_attributes): Fix broken typedefs here.
|
||
|
||
2022-05-16 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR analyzer/105103
|
||
* Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
|
||
* doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
|
||
-Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
|
||
-Wanalyzer-va-list-use-after-va-end.
|
||
|
||
2022-05-16 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-match.h (gimple_build): Move code_helper overloads ...
|
||
* gimple-fold.h (gimple_build): ... here.
|
||
(gimple_build): Transition to new worker API. Provide
|
||
overloads from sequence-based API.
|
||
(gimple_convert): Likewise.
|
||
(gimple_convert_to_ptrofftype): Likewise.
|
||
(gimple_build_vector_from_val): Likewise.
|
||
(gimple_build_vector): Likewise.
|
||
(gimple_build_round_up): Likewise.
|
||
* gimple-fold.cc (gimple_build_insert_seq): New helper.
|
||
(gimple_build): Use it. Transition combined_fn and code_helper
|
||
API parts.
|
||
(gimple_convert): Transition to new worker API.
|
||
(gimple_convert_to_ptrofftype): Likewise.
|
||
(gimple_build_vector_from_val): Likewise.
|
||
(gimple_build_vector): Likewise.
|
||
(gimple_build_round_up): Likewise.
|
||
|
||
2022-05-16 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-match.h (code_helper): Move class ...
|
||
* tree.h (code_helper): ... here.
|
||
|
||
2022-05-16 Martin Liska <mliska@suse.cz>
|
||
|
||
* opts-global.cc (write_langs): Add comment.
|
||
|
||
2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
|
||
instead of a bitwise negation.
|
||
<COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
|
||
|
||
2022-05-16 Martin Liska <mliska@suse.cz>
|
||
|
||
* attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
|
||
(decls_mismatched_attributes): Likewise.
|
||
* builtins.cc (c_strlen): Likewise.
|
||
* cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
|
||
* common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
|
||
* config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
|
||
(aarch64_init_simd_builtin_types): Likewise.
|
||
(aarch64_init_builtin_rsqrt): Likewise.
|
||
* config/aarch64/aarch64.cc (is_madd_op): Likewise.
|
||
* config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
|
||
(arm_init_simd_builtin_types): Likewise.
|
||
* config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
|
||
(c_prefix): Likewise.
|
||
(main): Likewise.
|
||
* config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
|
||
* config/darwin-c.cc (darwin_register_frameworks): Likewise.
|
||
* config/gcn/mkoffload.cc (process_obj): Likewise.
|
||
* config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
|
||
(fold_builtin_cpu): Likewise.
|
||
* config/m32c/m32c.cc (PUSHM_N): Likewise.
|
||
* config/nvptx/mkoffload.cc (process): Likewise.
|
||
* config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
|
||
* config/s390/s390.cc (NR_C_MODES): Likewise.
|
||
* config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
|
||
(create_insn_code_compression_table): Likewise.
|
||
* config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
|
||
* diagnostic-format-json.cc (json_from_expanded_location): Likewise.
|
||
* dwarf2out.cc (ARRAY_SIZE): Likewise.
|
||
* genhooks.cc (emit_documentation): Likewise.
|
||
(emit_init_macros): Likewise.
|
||
* gimple-ssa-sprintf.cc (format_floating): Likewise.
|
||
* gimple-ssa-warn-access.cc (memmodel_name): Likewise.
|
||
* godump.cc (keyword_hash_init): Likewise.
|
||
* hash-table.cc (hash_table_higher_prime_index): Likewise.
|
||
* input.cc (for_each_line_table_case): Likewise.
|
||
* ipa-free-lang-data.cc (free_lang_data): Likewise.
|
||
* ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
|
||
* optc-save-gen.awk: Likewise.
|
||
* spellcheck.cc (test_metric_conditions): Likewise.
|
||
* tree-vect-slp-patterns.cc (sizeof): Likewise.
|
||
(ARRAY_SIZE): Likewise.
|
||
* tree.cc (build_common_tree_nodes): Likewise.
|
||
|
||
2022-05-16 Martin Liska <mliska@suse.cz>
|
||
|
||
* opts-global.cc (write_langs): Allocate at least one byte.
|
||
|
||
2022-05-16 Richard Biener <rguenther@suse.de>
|
||
|
||
* match.pd (A cmp B ? A : B -> min/max): New patterns
|
||
carried over from fold_cond_expr_with_comparison.
|
||
|
||
2022-05-16 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/105587
|
||
* config/i386/i386-expand.cc
|
||
(expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
|
||
d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
|
||
|
||
2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md: Remove constraints when used with
|
||
const_int_operand, const0_operand, const_1_operand, constm1_operand,
|
||
const8_operand, const128_operand, const248_operand, const123_operand,
|
||
const2367_operand, const1248_operand, const359_operand,
|
||
const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
|
||
const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
|
||
const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
|
||
const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
|
||
const_0_to_255_mul_8_operand, const_1_to_31_operand,
|
||
const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
|
||
const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
|
||
const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
|
||
const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
|
||
const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
|
||
const_24_to_27_operand and const_28_to_31_operand.
|
||
* config/i386/mmx.md: Ditto.
|
||
* config/i386/sse.md: Ditto.
|
||
* config/i386/subst.md: Ditto.
|
||
* config/i386/sync.md: Ditto.
|
||
|
||
2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
|
||
Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
|
||
For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
|
||
by a pshufd and pand.
|
||
(vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
|
||
vector equality as a V2DImode vector comparison (see above),
|
||
followed by a pshufd and pand.
|
||
|
||
2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR tree-optimization/83907
|
||
* tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
|
||
for memset with an constant char value.
|
||
(handle_store): Improved handling of stores with a first byte
|
||
of zero, but not storing_all_zeros_p.
|
||
|
||
2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
|
||
Manolis Tsamis <manolis.tsamis@vrull.eu>
|
||
|
||
* config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
|
||
(CTZ_DEFINED_VALUE_AT_ZERO): Same.
|
||
* doc/sourcebuild.texi: add documentation for RISC-V specific
|
||
test target keywords
|
||
|
||
2022-05-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/105597
|
||
* range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
|
||
of the lhs and make sure it is not undefined.
|
||
|
||
2022-05-13 Sebastian Pop <spop@amazon.com>
|
||
|
||
PR target/105162
|
||
* config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
|
||
of str array.
|
||
* config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
|
||
memmodel_from_int and handle MEMMODEL_SYNC_*.
|
||
(DEF0): Add __aarch64_*_sync functions.
|
||
|
||
2022-05-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
|
||
enumerated values.
|
||
* gimple-range-path.cc (maybe_register_phi_relation): Ditto.
|
||
* range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
|
||
new VREL enumerated values.
|
||
(*::lhs_op2_relation): Ditto.
|
||
(*::op1_op2_relation): Ditto.
|
||
(*::fold_range): Use new VREL enumerated values.
|
||
(minus_op1_op2_relation_effect): Ditto.
|
||
(range_relational_tests): Ditto.
|
||
* range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
|
||
(lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
|
||
relation_kind.
|
||
(*_op1_op2_relation): Return relation_kind.
|
||
(relop_early_resolve): Use VREL_UNDEFINED.
|
||
* value-query.cc (range_query::query_relation): Use VREL_VARYING.
|
||
* value-relation.cc (VREL_LAST): Change enumerated value.
|
||
(vrel_range_assert): Delete.
|
||
(print_relation): Remove range assert.
|
||
(rr_negate_table): Adjust table to use new enumerated values..
|
||
(relation_negate): Remove range assert.
|
||
(rr_swap_table): Adjust.
|
||
(relation_swap): Remove range assert.
|
||
(rr_intersect_table): Adjust.
|
||
(relation_intersect): Remove range assert.
|
||
(rr_union_table): Adjust.
|
||
(relation_union): Remove range assert.
|
||
(rr_transitive_table): Adjust.
|
||
(relation_transitive): Remove range assert.
|
||
(equiv_oracle::query_relation): Use new VREL enumerated values.
|
||
(equiv_oracle::register_relation): Ditto.
|
||
(relation_oracle::register_stmt): Ditto.
|
||
(dom_oracle::set_one_relation): Ditto.
|
||
(dom_oracle::register_transitives): Ditto.
|
||
(dom_oracle::query_relation): Ditto.
|
||
(path_oracle::register_relation): Ditto.
|
||
(path_oracle::query_relation): Ditto.
|
||
* value-relation.h (enum relation_kind_t): New relation_kind.
|
||
(*_op1_op2_relation): Adjust prototypes.
|
||
|
||
2022-05-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gimple-range-edge.cc (calc_switch_ranges): Check union return value.
|
||
* value-range.cc (irange::legacy_verbose_union_): Add return value.
|
||
(irange::irange_single_pair_union): New.
|
||
(irange::irange_union): Add return value.
|
||
* value-range.h (class irange): Adjust prototypes.
|
||
|
||
2022-05-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* value-range.cc (irange::legacy_verbose_intersect): Add return value.
|
||
(irange::irange_contains_p): New.
|
||
(irange::irange_intersect): Add return value.
|
||
* value-range.h (class irange): Adjust prototypes.
|
||
|
||
2022-05-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gimple-range-cache.cc (ranger_cache::get_global_range): Return the
|
||
had_global value instead.
|
||
|
||
2022-05-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/104547
|
||
* gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
|
||
the op1/op2 relation to the relation call.
|
||
* range-op.cc (*::lhs_op1_relation): Add param.
|
||
(*::lhs_op2_relation): Ditto.
|
||
(operator_minus::lhs_op1_relation): New.
|
||
(range_relational_tests): Add relation param.
|
||
* range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
|
||
|
||
2022-05-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gimple-range.cc (gimple_ranger::register_side_effects): First check
|
||
if the DEF should be exported as a global.
|
||
* tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
|
||
which will export globals.
|
||
(execute_ranger_vrp): Remove call to export_global_ranges.
|
||
|
||
2022-05-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* value-relation.cc (path_oracle::reset_path): Clear killing_defs.
|
||
|
||
2022-05-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
|
||
worlist truncated.
|
||
(ranger_cache::entry_range): Add rfd_mode parameter.
|
||
(ranger_cache::exit_range): Ditto.
|
||
(ranger_cache::edge_range): New. Incorporate from range_on_edge.
|
||
(ranger_cache::range_of_expr): Adjust call to entry_range.
|
||
(ranger_cache::range_on_edge): Split to edge_range and call.
|
||
(ranger_cache::fill_block_cache): Always invoke range_from_dom.
|
||
(ranger_cache::range_from_dom): Make reentrant, add search mode, handle
|
||
mutiple predecessors.
|
||
(ranger_cache::update_to_nonnull): Adjust call to exit_range.
|
||
* gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
|
||
prototypes.
|
||
|
||
2022-05-13 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* gimple-harden-conditionals.cc: Include sbitmap.h.
|
||
(pass_harden_conditional_branches::execute): Skip new blocks.
|
||
(pass_harden_compares::execute): Likewise.
|
||
|
||
2022-05-13 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/105463
|
||
* config/arm/mve.md (*movmisalign<mode>_mve_store): Use
|
||
mve_memory_operand.
|
||
(*movmisalign<mode>_mve_load): Likewise.
|
||
* config/arm/vec-common.md (movmisalign<mode>): Convert to generator
|
||
form...
|
||
(@movmisalign<mode>): ... thus. Use generic predicates and then
|
||
rework operands if they are not valid. For MVE rework to a
|
||
narrower element size if the alignment is not high enough.
|
||
|
||
2022-05-13 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
|
||
when there is no write-back. Fix use when strict is true.
|
||
|
||
2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
|
||
definition.
|
||
|
||
2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
|
||
|
||
* config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
|
||
extzvsi_internal): Rename from extv, extv_internal, extzv and
|
||
extzv_internal, respectively.
|
||
|
||
2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* tree-sra.cc (sra_modify_assign): Check that scalar storage order
|
||
is the same on the LHS and RHS before rewriting one with the model
|
||
of the other.
|
||
|
||
2022-05-13 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-fold.cc (gimple_build): Adjust for new
|
||
main API.
|
||
* gimple-fold.h (gimple_build): New main APIs with
|
||
iterator, insert direction and iterator update.
|
||
(gimple_build): New forwarder template.
|
||
(clear_padding_type_may_have_padding_p): Remove.
|
||
(clear_type_padding_in_mask): Likewise.
|
||
(arith_overflowed_p): Likewise.
|
||
* fold-const.h (clear_padding_type_may_have_padding_p): Declare.
|
||
(clear_type_padding_in_mask): Likewise.
|
||
(arith_overflowed_p): Likewise.
|
||
* tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
|
||
(gimplify_build2): Likewise.
|
||
(gimplify_build1): Likewise.
|
||
* ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
|
||
compare stmt.
|
||
* gengtype.cc (open_base_files): Re-order includes.
|
||
* builtins.cc: Re-order gimple-fold.h include.
|
||
* calls.cc: Likewise.
|
||
* cgraphbuild.cc: Likewise.
|
||
* cgraphunit.cc: Likewise.
|
||
* config/rs6000/rs6000-builtin.cc: Likewise.
|
||
* config/rs6000/rs6000-call.cc: Likewise.
|
||
* config/rs6000/rs6000.cc: Likewise.
|
||
* config/s390/s390.cc: Likewise.
|
||
* expr.cc: Likewise.
|
||
* fold-const.cc: Likewise.
|
||
* function-tests.cc: Likewise.
|
||
* gimple-match-head.cc: Likewise.
|
||
* gimple-range-fold.cc: Likewise.
|
||
* gimple-ssa-evrp-analyze.cc: Likewise.
|
||
* gimple-ssa-evrp.cc: Likewise.
|
||
* gimple-ssa-sprintf.cc: Likewise.
|
||
* gimple-ssa-warn-access.cc: Likewise.
|
||
* gimplify.cc: Likewise.
|
||
* graphite-isl-ast-to-gimple.cc: Likewise.
|
||
* ipa-cp.cc: Likewise.
|
||
* ipa-devirt.cc: Likewise.
|
||
* ipa-prop.cc: Likewise.
|
||
* omp-low.cc: Likewise.
|
||
* pointer-query.cc: Likewise.
|
||
* range-op.cc: Likewise.
|
||
* tree-cfg.cc: Likewise.
|
||
* tree-if-conv.cc: Likewise.
|
||
* tree-inline.cc: Likewise.
|
||
* tree-object-size.cc: Likewise.
|
||
* tree-ssa-ccp.cc: Likewise.
|
||
* tree-ssa-dom.cc: Likewise.
|
||
* tree-ssa-forwprop.cc: Likewise.
|
||
* tree-ssa-ifcombine.cc: Likewise.
|
||
* tree-ssa-loop-ivcanon.cc: Likewise.
|
||
* tree-ssa-math-opts.cc: Likewise.
|
||
* tree-ssa-pre.cc: Likewise.
|
||
* tree-ssa-propagate.cc: Likewise.
|
||
* tree-ssa-reassoc.cc: Likewise.
|
||
* tree-ssa-sccvn.cc: Likewise.
|
||
* tree-ssa-strlen.cc: Likewise.
|
||
* tree-ssa.cc: Likewise.
|
||
* value-pointer-equiv.cc: Likewise.
|
||
* vr-values.cc: Likewise.
|
||
|
||
2022-05-13 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
PR rtl-optimization/105455
|
||
* gimple-harden-conditionals.cc (insert_check_and_trap): Set
|
||
probabilities for newly-conditional edges.
|
||
|
||
2022-05-13 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR tree-optimization/102583
|
||
* tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
|
||
contiguous stride in the VEC_PERM_EXPR.
|
||
|
||
2022-05-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/105577
|
||
* dse.cc (rest_of_handle_dse): Make sure to purge dead EH
|
||
edges before running fast DCE via df_analyze.
|
||
|
||
2022-05-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105562
|
||
* tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
|
||
against all CLOBBER defs if there's not an obvious must-alias
|
||
and we are not doing redundant store elimination.
|
||
(vn_walk_cb_data::redundant_store_removal_p): New field.
|
||
(vn_reference_lookup_pieces): Initialize it.
|
||
(vn_reference_lookup): Add argument to specify if we are
|
||
doing redundant store removal.
|
||
(eliminate_dom_walker::eliminate_stmt): Specify we do.
|
||
* tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
|
||
|
||
2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
|
||
|
||
PR target/104371
|
||
* config/i386/sse.md (vi1avx2const): New define_mode_attr.
|
||
(pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
|
||
New define_split pattern.
|
||
|
||
2022-05-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
|
||
if null_pointer_node.
|
||
(gimplify_scan_omp_clauses): Likewise.
|
||
* tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
|
||
as omp_all_memory.
|
||
|
||
2022-05-11 Patrick Palka <ppalka@redhat.com>
|
||
|
||
* tree.h (TREE_VEC_BEGIN): Define.
|
||
(TREE_VEC_END): Correct 'length' member access.
|
||
(class tree_vec_range): Define.
|
||
|
||
2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md: Use wa instead of <Fv>.
|
||
|
||
2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md: Use d instead of <Ff>.
|
||
|
||
2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/constraints.md (register_constraint "f"): Use
|
||
RS6000_CONSTRAINT_d.
|
||
* config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
|
||
RS6000_CONSTRAINT_f.
|
||
(rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
|
||
* config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
|
||
RS6000_CONSTRAINT_d.
|
||
|
||
2022-05-11 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-fold.h (gimple_build): Use variadic template
|
||
functions for the gimple_build API forwarders without
|
||
location_t argument.
|
||
|
||
2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR middle-end/70090
|
||
* asan.cc (initialize_sanitizer_builtins): Register
|
||
__builtin_dynamic_object_size if necessary.
|
||
|
||
2022-05-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/105559
|
||
* cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
|
||
for non-debug insns.
|
||
|
||
2022-05-11 Richard Biener <rguenther@suse.de>
|
||
|
||
* generic-match-head.cc: Include tree-eh.h.
|
||
* match.pd ((cond ...) cmp X): New simplification inspired
|
||
by fold_binary_op_with_conditional_arg.
|
||
(eq/ne (cmp ...) true/false): Likewise.
|
||
|
||
2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* doc/install.texi: Don't document '--with-hsa-runtime',
|
||
'--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
|
||
|
||
2022-05-11 Martin Liska <mliska@suse.cz>
|
||
|
||
PR other/105527
|
||
* doc/install.texi: Document the configure option --with-zstd.
|
||
|
||
2022-05-11 Martin Liska <mliska@suse.cz>
|
||
|
||
* common/config/i386/cpuinfo.h (has_cpu_feature): Directly
|
||
compute index in cpu_features2.
|
||
(set_cpu_feature): Likewise.
|
||
* config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
|
||
loop for cpu_features2 and use NOP_EXPRs.
|
||
|
||
2022-05-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR bootstrap/105551
|
||
* opts.cc (finish_options): Also disable var-tracking if
|
||
!DWARF2_DEBUGGING_INFO.
|
||
|
||
2022-05-11 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104915
|
||
* config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
|
||
pre_reload define_insn_and_split.
|
||
(*vec_setv2di_0_zero_extendhi_1): Ditto.
|
||
(*vec_set<mode>_0_zero_extendsi): Ditto.
|
||
(*vec_setv2di_0_zero_extendsi_1): Ditto.
|
||
(ssewvecmode): New mode attr.
|
||
(ssewvecmodelower): Ditto.
|
||
(ssepackmodelower): Ditto.
|
||
|
||
2022-05-11 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
* config/rs6000/constraints.md (register constraint v): Use
|
||
rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
|
||
|
||
2022-05-11 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/105355
|
||
* config/riscv/riscv.opt: Remove Separate from
|
||
-msmall-data-limit=.
|
||
* optc-gen.awk: Report error for the described situation.
|
||
* gcc.cc: Use Separate syntax.
|
||
* opts.cc (gen_command_line_string): Change option name.
|
||
|
||
2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
|
||
|
||
PR target/105414
|
||
* match.pd (minmax): Skip constant folding for fmin/fmax when both
|
||
arguments are sNaN or one is sNaN and another is NaN.
|
||
|
||
2022-05-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105528
|
||
* gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
|
||
set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
|
||
|
||
2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* doc/md.texi (Defining Mode Iterators): Correct example replacement
|
||
text.
|
||
|
||
2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
|
||
constants.
|
||
(fmin<mode>3, fmax<mode>3): New insns.
|
||
|
||
2022-05-10 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-if-conv.cc (fold_build_cond_expr): Use
|
||
match-and-simplify to simplify the condition.
|
||
(ifcvt_follow_ssa_use_edges): Remove.
|
||
(predicate_scalar_phi): Use follow_all_ssa_edges.
|
||
|
||
2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR middle-end/100400
|
||
* omp-oacc-kernels-decompose.cc
|
||
(visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
|
||
call 'internal_error'.
|
||
|
||
2022-05-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/105537
|
||
* toplev.cc (process_options): Move flag_var_tracking
|
||
handling ...
|
||
* opts.cc (finish_options): ... here.
|
||
|
||
2022-05-10 Martin Liska <mliska@suse.cz>
|
||
|
||
* basic-block.h (struct basic_block_d): Use void *
|
||
instead PTR.
|
||
* cfgloop.h: Likewise.
|
||
* cgraph.h: Likewise.
|
||
* gengtype-state.cc (state_ident_by_name): Likewise.
|
||
(record_type): Likewise.
|
||
(read_state_already_seen_type): Likewise.
|
||
* gengtype.cc (dump_type): Likewise.
|
||
(input_file_by_name): Likewise.
|
||
(main): Likewise.
|
||
* ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
|
||
* ipa-utils.h (struct ipa_dfs_info): Likewise.
|
||
* plugin.cc (htab_hash_plugin): Likewise.
|
||
|
||
2022-05-10 Richard Biener <rguenther@suse.de>
|
||
|
||
* flags.h (dwarf_debuginfo_p): Add opts argument, guard
|
||
API with !GENERATOR_FILE.
|
||
* opts.cc (global_options): Poison.
|
||
(global_options_set): Likewise.
|
||
(finish_options): Refer to options via opts.
|
||
|
||
2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
|
||
Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
|
||
alternative when optimizing for size and the immediate operand is
|
||
const_0_to_127_operand.
|
||
(*andqi_2_maybe_si): Likewise.
|
||
* config/i386/predicates.md (const_0_to_127_operand): New predicate.
|
||
|
||
2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
|
||
"{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
|
||
can't be negative.
|
||
|
||
2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/105292
|
||
* config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
|
||
true only for 8-byte vector modes.
|
||
|
||
2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR middle-end/70090
|
||
* ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
|
||
(instrument_object_size): Get dynamic object size expression.
|
||
|
||
2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
|
||
|
||
PR preprocessor/101168
|
||
* config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
|
||
Avoid empty identifier.
|
||
|
||
2022-05-09 Qing Zhao <qing.zhao@oracle.com>
|
||
|
||
PR target/101891
|
||
* config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
|
||
as a generic MMX mode instead of V4HImode.
|
||
(zero_all_mm_registers): Use SET to zero instead of MOV for
|
||
zeroing scratch registers.
|
||
(ix86_zero_call_used_regs): Likewise.
|
||
|
||
2022-05-09 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/105354
|
||
* config/i386/i386-expand.cc
|
||
(expand_vec_perm_pslldq_psrldq_por): New function.
|
||
(ix86_expand_vec_perm_const_1): Try
|
||
expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
|
||
4/5-instruction sequence.
|
||
|
||
2022-05-09 Martin Liška <mliska@suse.cz>
|
||
|
||
* basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
|
||
* system.h (STATIC_ASSERT): Define as static_assert for C++
|
||
and fallback to array index in C.
|
||
|
||
2022-05-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105517
|
||
* tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
|
||
offset can be represented in the POINTER_PLUS_EXPR IL.
|
||
(vn_reference_insert): Likewise.
|
||
* poly-int.h (sext_hwi): Add poly version of sext_hwi.
|
||
|
||
2022-05-09 Richard Biener <rguenther@suse.de>
|
||
|
||
* match.pd: Remove #if GIMPLE guards around ! using patterns.
|
||
|
||
2022-05-09 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/105072
|
||
* config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
|
||
New define_insn.
|
||
(*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
|
||
define_insn_and_split.
|
||
|
||
2022-05-09 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
* cgraph.cc (cgraph_node::get_create): Don't dump if the current
|
||
symtab state is PARSING.
|
||
|
||
2022-05-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* system.h (LIKELY): Define.
|
||
(UNLIKELY): Likewise.
|
||
* domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
|
||
macros.
|
||
* dse.cc (set_position_unneeded): Likewise.
|
||
(set_all_positions_unneeded): Likewise.
|
||
(any_positions_needed_p): Likewise.
|
||
(all_positions_needed_p): Likewise.
|
||
* expmed.cc (flip_storage_order): Likewise.
|
||
* genmatch.cc (dt_simplify::gen_1): Likewise.
|
||
* ggc-common.cc (gt_pch_save): Likewise.
|
||
* print-rtl.cc: Likewise.
|
||
* rtl-iter.h (T>::array_type::~array_type): Likewise.
|
||
(T>::next): Likewise.
|
||
* rtl-ssa/internals.inl: Likewise.
|
||
* rtl-ssa/member-fns.inl: Likewise.
|
||
* rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
|
||
(rtx_properties::try_to_add_dest): Likewise.
|
||
* rtlanal.h (growing_rtx_properties::repeat): Likewise.
|
||
(vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
|
||
* simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
|
||
* sort.cc (likely): Likewise.
|
||
(mergesort): Likewise.
|
||
* wide-int.h (wi::eq_p): Likewise.
|
||
(wi::ltu_p): Likewise.
|
||
(wi::cmpu): Likewise.
|
||
(wi::bit_and): Likewise.
|
||
(wi::bit_and_not): Likewise.
|
||
(wi::bit_or): Likewise.
|
||
(wi::bit_or_not): Likewise.
|
||
(wi::bit_xor): Likewise.
|
||
(wi::add): Likewise.
|
||
(wi::sub): Likewise.
|
||
|
||
2022-05-09 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* config/riscv/arch-canonicalize: Handle g correctly.
|
||
|
||
2022-05-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/101833
|
||
PR c++/47634
|
||
* tree-core.h (struct attribute_spec): Update comment for HANDLER.
|
||
|
||
2022-05-06 Jason Merrill <jason@redhat.com>
|
||
|
||
* diagnostic-color.cc: Add fnname and targs color entries.
|
||
* doc/invoke.texi: Document them.
|
||
|
||
2022-05-06 Jason Merrill <jason@redhat.com>
|
||
|
||
* vec.h (vec::iterate): Fix comment.
|
||
|
||
2022-05-06 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
PR target/102059
|
||
* config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
|
||
and -mpower10-fusion options for inlining purposes.
|
||
|
||
2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
* config/aarch64/iterators.md (GPF_TF_F16): Delete.
|
||
|
||
2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
|
||
|
||
* omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
|
||
omp_runtime_apis array.
|
||
|
||
2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
|
||
|
||
* omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
|
||
(scan_sharing_clauses): Check a restriction on allocate clause.
|
||
|
||
2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
|
||
and ORDERED clause conflict errors. Add check for GRAINSIZE and
|
||
NUM_TASKS on TASKLOOP.
|
||
|
||
2022-05-05 Martin Liska <mliska@suse.cz>
|
||
|
||
* genautomata.cc (create_composed_state): Remove dead code.
|
||
* graphite-poly.cc (print_pdrs): Likewise.
|
||
* lto-wrapper.cc (run_gcc): Likewise.
|
||
* tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
|
||
Likewise.
|
||
|
||
2022-05-05 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
|
||
PROF_*.
|
||
(gimple_gen_time_profiler): Likewise.
|
||
|
||
2022-05-05 Martin Liska <mliska@suse.cz>
|
||
|
||
* value-prof.cc (stream_out_histogram_value): Remove sanity
|
||
checking.
|
||
|
||
2022-05-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104162
|
||
* tree-ssa-sccvn.cc (vn_reference_lookup): Handle
|
||
&MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
|
||
becomes invariant.
|
||
(vn_reference_insert): Likewise.
|
||
|
||
2022-05-05 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
|
||
to real_value field.
|
||
(tree_real_cst::value): Add real_value field.
|
||
* tree.h (TREE_REAL_CST_PTR): Adjust.
|
||
* tree.cc (build_real): Remove separate allocation.
|
||
* tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
|
||
Likewise.
|
||
|
||
2022-05-05 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
|
||
divisions with undefined overflow unconditionally.
|
||
(pass_tree_ifcombine::execute): Rewrite stmts with undefined
|
||
overflow to defined.
|
||
|
||
2022-05-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105484
|
||
* gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
|
||
whether the CFG changed.
|
||
(gimple_expand_vec_exprs): When the CFG changed, clean it up.
|
||
|
||
2022-05-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104595
|
||
* tree-vect-patterns.cc (vect_recog_bool_pattern): For
|
||
COND_EXPR do not fail if check_bool_pattern returns false.
|
||
|
||
2022-05-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
|
||
item that is in an outer data-sharing clause.
|
||
|
||
2022-05-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104658
|
||
* tree-vect-slp.cc (vect_slp_convert_to_external): Do not
|
||
create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
|
||
type on nodes we promote.
|
||
(vectorizable_bb_reduc_epilogue): Deal with externalized
|
||
root.
|
||
* tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
|
||
not allow VECTOR_BOOLEAN_TYPE_P extern defs.
|
||
|
||
2022-05-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103116
|
||
* tree-vect-stmts.cc (get_group_load_store_type): Handle the
|
||
case we need peeling for gaps even though GROUP_GAP is zero.
|
||
|
||
2022-05-04 Martin Liska <mliska@suse.cz>
|
||
|
||
* gengtype-state.cc (read_a_state_token): Remove dead code.
|
||
* ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
|
||
|
||
2022-05-04 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimplify.cc (gimplify_init_constructor): First gimplify,
|
||
then simplify the result to a VECTOR_CST.
|
||
|
||
2022-05-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* genconditions.cc (write_conditions): Append a { nullptr, -1 }
|
||
element at the end of insn_conditions.
|
||
(write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
|
||
ARRAY_SIZE (insn_conditions).
|
||
|
||
2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
PR target/104662
|
||
* config/arm/arm.cc (simd_valid_immediate): Exit when input is a
|
||
vector of booleans and MVE is not enabled.
|
||
|
||
2022-05-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/105158
|
||
* tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
|
||
Move debug stmts to the predecessor if moving to the
|
||
destination is not possible.
|
||
(remove_forwarder_block): Adjust.
|
||
(remove_forwarder_block_with_phi): Likewise.
|
||
|
||
2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR tree-optimization/102950
|
||
* range-op.cc (wi_optimize_signed_bitwise_op): New function to
|
||
determine bounds of bitwise operations on signed types.
|
||
(operator_bitwise_and::wi_fold): Call the above function.
|
||
(operator_bitwise_or::wi_fold): Likewise.
|
||
(operator_bitwise_xor::wi_fold): Likewise. Additionally, the
|
||
result can't be zero if the operands can't be equal.
|
||
|
||
2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
|
||
protocol class methods linker-visible.
|
||
|
||
2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/105079
|
||
* config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
|
||
define_insn_and_split pattern.
|
||
|
||
2022-05-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/105083
|
||
* tree-scalar-evolution.cc (scev_initialize): Verify we
|
||
have appropriate loop state.
|
||
* tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
|
||
loop init and finalization.
|
||
|
||
2022-05-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/105461
|
||
* opts.cc (finish_options): Match the condition to
|
||
disable flag_var_tracking to that of process_options.
|
||
|
||
2022-05-03 Richard Biener <rguenther@suse.de>
|
||
|
||
* opts.cc: #undef OPTIONS_SET_P.
|
||
(finish_options): Use opts_set instead of OPTIONS_SET_P.
|
||
|
||
2022-05-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105394
|
||
* tree-vect-generic.cc (expand_vector_condition): Adjust
|
||
comp_width for non-integer mode masks as well.
|
||
|
||
2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
|
||
|
||
* omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
|
||
omp_runtime_apis array.
|
||
|
||
2022-05-02 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-scalar-evolution.cc (expression_expensive_p):
|
||
Never consider mismatched calls as cheap.
|
||
|
||
2022-05-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104240
|
||
* tree-vect-slp.cc (op1_op0_map): New.
|
||
(vect_get_operand_map): Handle compares.
|
||
(vect_build_slp_tree_1): Support swapped operands for
|
||
tcc_comparison.
|
||
|
||
2022-05-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/105415
|
||
* cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
|
||
if there is no symtab node for the VAR_DECL.
|
||
|
||
2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* gcov-io.cc (gcov_rewrite): Clear the file error status.
|
||
|
||
2022-05-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105437
|
||
* tree-vect-slp.cc (vect_schedule_slp_node): Handle the
|
||
case where last_stmt alters control flow.
|
||
|
||
2022-05-02 Richard Biener <rguenther@suse.de>
|
||
|
||
* dojump.cc (do_jump): Use CASE_CONVERT.
|
||
* tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
|
||
|
||
2022-05-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* system.h: Include initializer_list.
|
||
|
||
2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/constraints.md (Y constraint): Fix comment.
|
||
|
||
2022-05-01 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
|
||
VR_RANGE before passing a piecewise range to set_range_info_raw.
|
||
|
||
2022-04-30 Patrick Palka <ppalka@redhat.com>
|
||
|
||
* gengtype.cc (adjust_field_tree_exp): Remove.
|
||
(adjust_field_type): Don't handle the "tree_exp" special attribute.
|
||
* tree-core.h (struct tree_exp): Remove "special" and "desc"
|
||
attributes. Add "length" attribute.
|
||
|
||
2022-04-29 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/100413
|
||
* cgraph.cc (cgraph_node::remove): Release body of the node this
|
||
is clone_of if appropriate.
|
||
|
||
2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/51954
|
||
* config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
|
||
|
||
2022-04-29 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-expr.cc (is_gimple_condexpr): Adjust comment.
|
||
(canonicalize_cond_expr_cond): Move here from gimple.cc,
|
||
allow both COND_EXPR and GIMPLE_COND forms.
|
||
* gimple-expr.h (canonicalize_cond_expr_cond): Declare.
|
||
* gimple.cc (canonicalize_cond_expr_cond): Remove here.
|
||
* gimple.h (canonicalize_cond_expr_cond): Likewise.
|
||
* gimple-loop-versioning.cc (loop_versioning::version_loop):
|
||
Use is_gimple_condexpr_for_cond.
|
||
* tree-parloops.cc (gen_parallel_loop): Likewise.
|
||
* tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
|
||
a proper cond expr after canonicalize_cond_expr_cond.
|
||
Use is_gimple_condexpr_for_cond where appropriate.
|
||
* tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
|
||
* tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
|
||
|
||
2022-04-29 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-iterator.h (gsi_after_labels): Add overload for
|
||
gimple_seq.
|
||
(gsi_start_1): Rename to gsi_start and take a reference.
|
||
(gsi_last_1): Likewise.
|
||
* gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
|
||
* omp-low.cc (lower_rec_input_clauses): Likewise.
|
||
(lower_omp_scan): Likewise.
|
||
|
||
2022-04-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105431
|
||
* tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
|
||
(powi_as_mults): Use absu_hwi.
|
||
(gimple_expand_builtin_powi): Remove now pointless n != -n
|
||
check.
|
||
|
||
2022-04-29 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* range-op.cc (empty_range_varying): Move to range-op.h.
|
||
(range_true): Move to range.h.
|
||
(range_false): Same.
|
||
(range_true_and_false): Same.
|
||
(enum bool_range_state): Move to range-op.h.
|
||
(relop_early_resolve): Same.
|
||
(operator_equal::op1_op2_relation): Abstract code to...
|
||
(equal_op1_op2_relation): ...here.
|
||
(operator_not_equal::op1_op2_relation): Abstract code to...
|
||
(not_equal_op1_op2_relation): ...here.
|
||
(operator_lt::op1_op2_relation): Abstract code to...
|
||
(lt_op1_op2_relation): ...here.
|
||
(operator_le::op1_op2_relation): Abstract code to...
|
||
(le_op1_op2_relation): ...here.
|
||
(operator_gt::op1_op2_relation): Abstract code to...
|
||
(gt_op1_op2_relation): ...here.
|
||
(operator_ge::op1_op2_relation): Abstract code to...
|
||
(ge_op1_op2_relation): ...here.
|
||
(class range_op_table): Move to range-op.h.
|
||
* range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
|
||
(not_equal_op1_op2_relation): Same.
|
||
(lt_op1_op2_relation): Same.
|
||
(le_op1_op2_relation): Same.
|
||
(gt_op1_op2_relation): Same.
|
||
(ge_op1_op2_relation): Same.
|
||
(enum bool_range_state): Same.
|
||
(get_bool_state): Same.
|
||
(empty_range_varying): Same.
|
||
(relop_early_resolve): Same.
|
||
(class range_op_table): Same.
|
||
* range.h (range_true): Same.
|
||
(range_false): Same.
|
||
(range_true_and_false): Same.
|
||
|
||
2022-04-29 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-fold.cc (size_must_be_zero_p): Use reference
|
||
instead of pointer
|
||
* gimple-ssa-evrp-analyze.cc
|
||
(evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
|
||
intersect to legacy_verbose_intersect.
|
||
* ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
|
||
of pointer.
|
||
* tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
|
||
instead of value_range_equiv.
|
||
* tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
|
||
instead of pointer.
|
||
(find_case_label_range): Same.
|
||
* value-range-equiv.cc (value_range_equiv::intersect): Rename to...
|
||
(value_range_equiv::legacy_verbose_intersect): ...this.
|
||
(value_range_equiv::union_): Rename to...
|
||
(value_range_equiv::legacy_verbose_union_): ...this.
|
||
* value-range-equiv.h (class value_range_equiv): Rename union and
|
||
intersect to legacy_verbose_{intersect,union}.
|
||
* value-range.cc (irange::union_): Rename to...
|
||
(irange::legacy_verbose_union_): ...this.
|
||
(irange::intersect): Rename to...
|
||
(irange::legacy_verbose_intersect): ...this.
|
||
* value-range.h (irange::union_): Rename union_ to
|
||
legacy_verbose_union.
|
||
(irange::intersect): Rename intersect to legacy_verbose_intersect.
|
||
* vr-values.cc (vr_values::update_value_range): Same.
|
||
(vr_values::extract_range_for_var_from_comparison_expr): Same.
|
||
(vr_values::extract_range_from_cond_expr): Rename union_ to
|
||
legacy_verbose_union.
|
||
(vr_values::extract_range_from_phi_node): Same.
|
||
|
||
2022-04-29 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-ssa-evrp-analyze.cc
|
||
(evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
|
||
that take a range.
|
||
* gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
|
||
* ipa-prop.cc (ipcp_update_vr): Same.
|
||
* tree-inline.cc (remap_ssa_name): Same.
|
||
* tree-ssa-copy.cc (fini_copy_prop): Same.
|
||
* tree-ssa-math-opts.cc (optimize_spaceship): Same.
|
||
* tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
|
||
* tree-ssa-pre.cc (insert_into_preds_of_block): Same.
|
||
* tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
|
||
* tree-ssa-strlen.cc (set_strlen_range): Same.
|
||
(strlen_pass::handle_builtin_string_cmp): Same.
|
||
* tree-ssanames.cc (set_range_info): Make static.
|
||
(duplicate_ssa_name_range_info): Make static and add a new variant
|
||
calling the static.
|
||
* tree-ssanames.h (set_range_info): Remove version taking wide ints.
|
||
(duplicate_ssa_name_range_info): Remove version taking a
|
||
range_info_def and replace with a version taking SSA names.
|
||
* tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
|
||
that take a range.
|
||
(vect_do_peeling): Same.
|
||
* tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
|
||
* vr-values.cc (simplify_truth_ops_using_ranges): Same.
|
||
|
||
2022-04-29 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* value-range.h (irange::irange): Use set_undefined.
|
||
|
||
2022-04-29 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-cache.h (non_null_ref::adjust_range): Do not use
|
||
irange::intersect (wide_int, wide_int).
|
||
* gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
|
||
(adjust_imagpart_expr): Same.
|
||
* value-range.h (irange::intersect (wide_int, wide_int)): Make
|
||
private.
|
||
|
||
2022-04-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104322
|
||
* tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
|
||
|
||
2022-04-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/105376
|
||
* tree.cc (build_real): Special case dconst* arguments
|
||
for decimal floating point types.
|
||
|
||
2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* doc/gcov.texi (Profiling and Test Coverage in Freestanding
|
||
Environments): New section.
|
||
|
||
2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* doc/gcov-tool.texi: Document merge-stream subcommand.
|
||
* doc/invoke.texi (fprofile-info-section): Mention merge-stream
|
||
subcommand of gcov-tool.
|
||
* gcov-tool.cc (gcov_profile_merge_stream): Declare.
|
||
(print_merge_stream_usage_message): New.
|
||
(merge_stream_usage): Likewise.
|
||
(do_merge_stream): Likewise.
|
||
(print_usage): Call print_merge_stream_usage_message().
|
||
(main): Call do_merge_stream() to execute merge-stream subcommand.
|
||
|
||
2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* gcov-io.cc (gcov_file_error): New enum.
|
||
(gcov_var): Use gcov_file_error enum for the error member.
|
||
(gcov_open): Use GCOV_FILE_NO_ERROR.
|
||
(gcov_close): Use GCOV_FILE_WRITE_ERROR.
|
||
(gcov_write): Likewise.
|
||
(gcov_write_unsigned): Likewise.
|
||
(gcov_write_string): Likewise.
|
||
(gcov_read_bytes): Set error code if EOF is reached.
|
||
(gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
|
||
|
||
2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* gcov-io.cc (GCOV_MODE_STDIN): Define.
|
||
(gcov_position): For gcov-tool, return calculated position if file is
|
||
stdin.
|
||
(gcov_open): For gcov-tool, use stdin if filename is NULL.
|
||
(gcov_close): For gcov-tool, do not close stdin.
|
||
(gcov_read_bytes): For gcov-tool, update position if file is stdin.
|
||
(gcov_sync): For gcov-tool, discard input if file is stdin.
|
||
|
||
2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* doc/invoke.texi (fprofile-info-section): Mention
|
||
__gcov_filename_to_gcfn(). Use "freestanding" to match with C11
|
||
standard language. Fix minor example code issues.
|
||
* gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
|
||
|
||
2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* gcov-io.cc (gcov_seek): Make it static.
|
||
* gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
|
||
|
||
2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* gcov-tool.cc (gcov_do_dump): Add mode parameter.
|
||
(gcov_output_files): Open files for reading and writing.
|
||
|
||
2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* gcov-io.cc (gcov_open): Always use the mode parameter.
|
||
* gcov-io.h (gcov_open): Declare it unconditionally.
|
||
|
||
2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* gcov-tool.cc (gcov_profile_merge): Adjust return type.
|
||
(profile_merge): Allow merging of directories which contain no profile
|
||
files.
|
||
|
||
2022-04-28 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
|
||
fpath.txt output.
|
||
|
||
2022-04-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
|
||
temporary only if out overlaps compare_op, not when it overlaps
|
||
op0 or op1.
|
||
|
||
2022-04-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/105399
|
||
* cgraph.cc (cgraph_node::verify_node): Don't verify
|
||
semantic_interposition flag against
|
||
opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
|
||
|
||
2022-04-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105331
|
||
* config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
|
||
temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
|
||
of it.
|
||
|
||
2022-04-28 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/install.texi (Configuration): Remove misleading text
|
||
around LE PowerPC Linux multilibs.
|
||
|
||
2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR d/103528
|
||
* doc/install.texi (Tools/packages necessary for building GCC)
|
||
(GDC): Document libphobos requirement.
|
||
(Host/target specific installation notes for GCC, *-*-solaris2*):
|
||
Document libphobos and GDC specifics.
|
||
|
||
2022-04-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105219
|
||
* tree-vect-loop.cc (vect_transform_loop): Disable
|
||
special code narrowing the vectorized epilogue max
|
||
iterations when peeling for alignment or gaps was in effect.
|
||
|
||
2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
* config/loongarch/loongarch.cc
|
||
(loongarch_flatten_aggregate_field): Ignore empty fields for
|
||
RECORD_TYPE.
|
||
|
||
2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config/loongarch/loongarch.md: Add fdiv define_expand template,
|
||
then generate floating-point division and floating-point reciprocal
|
||
instructions.
|
||
|
||
2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
|
||
to PLV instruction templates.
|
||
|
||
2022-04-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/104492
|
||
* gimple-ssa-warn-access.cc
|
||
(pass_waccess::warn_invalid_pointer): Exclude equality compare
|
||
diagnostics for all kind of invalidations.
|
||
(pass_waccess::check_dangling_uses): Fix post-dominator query.
|
||
(pass_waccess::check_pointer_uses): Likewise.
|
||
|
||
2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
PR target/102024
|
||
* config/s390/s390-protos.h (s390_function_arg_vector): Remove
|
||
prototype.
|
||
* config/s390/s390.cc (s390_single_field_struct_p): New function.
|
||
(s390_function_arg_vector): Invoke s390_single_field_struct_p.
|
||
(s390_function_arg_float): Likewise.
|
||
|
||
2022-04-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/105396
|
||
* asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
|
||
where offset is bigger than off but smaller than m_prev_offset + 32
|
||
bits by pushing one or more 0 bytes. Sink the
|
||
m_shadow_bytes.safe_push (value); flush_if_full (); statements from
|
||
all cases to the end of the function.
|
||
|
||
2022-04-27 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR target/105271
|
||
* config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
|
||
stanza.
|
||
|
||
2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
|
||
data-share memory exhausted" error more verbose.
|
||
|
||
2022-04-26 Martin Liska <mliska@suse.cz>
|
||
|
||
PR lto/105364
|
||
* lto-wrapper.cc (print_lto_docs_link): Use global_dc.
|
||
(run_gcc): Parse OPT_fdiagnostics_urls_.
|
||
(main): Initialize global_dc.
|
||
|
||
2022-04-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/105314
|
||
* ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
|
||
operand is equal to if_info->x, instead use the non-zero operand
|
||
as one of the operands of AND with if_info->x as target.
|
||
|
||
2022-04-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105374
|
||
* tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
|
||
!fold_convertible_p rather than assuming fold_convert must succeed.
|
||
|
||
2022-04-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105367
|
||
* config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
|
||
el_mode == DFmode ? double_type_node : float_type_node instead of
|
||
TREE_TYPE (type_in) as first arguments to mathfn_built_in.
|
||
|
||
2022-04-25 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR analyzer/104308
|
||
* gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
|
||
the location of new_stmt in all places that don't already set it,
|
||
whether explicitly, or via a call to gsi_replace.
|
||
|
||
2022-04-25 Paul A. Clarke <pc@us.ibm.com>
|
||
|
||
* doc/extend.texi (Other Builtins): Correct reference to 'modff'.
|
||
|
||
2022-04-25 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/105276
|
||
* gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
|
||
existing global range with calculated value.
|
||
|
||
2022-04-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105368
|
||
* tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
|
||
|
||
2022-04-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/100810
|
||
* tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
|
||
(find_ssa_undef): New function.
|
||
(add_candidate_1): Avoid adding derived candidates with
|
||
undefined SSA names and mark the original ones.
|
||
(determine_group_iv_cost_generic): Reject rewriting
|
||
uses with a different IV when that involves undefined SSA names.
|
||
|
||
2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR target/89125
|
||
* config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
|
||
bsd_libc_has_function.
|
||
* targhooks.cc (bsd_libc_has_function): New function.
|
||
Expand the supported math functions to inclue C99 libm.
|
||
* targhooks.h (bsd_libc_has_function): New Prototype.
|
||
|
||
2022-04-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/105231
|
||
* combine.cc (distribute_notes): Assert that a REG_EH_REGION
|
||
with landing pad > 0 is from i3. Put any REG_EH_REGION note
|
||
on i3 or drop it if the insn can not trap.
|
||
(try_combine): Ensure that we can merge REG_EH_REGION notes
|
||
with non-call exceptions. Ensure we are not splitting a
|
||
trapping part of an insn with non-call exceptions when there
|
||
is any REG_EH_REGION note to preserve.
|
||
|
||
2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
PR target/105339
|
||
* config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
|
||
Add parentheses for parameters and djust format.
|
||
(_mm512_mask_scalef_round_pd): Ditto.
|
||
(_mm512_maskz_scalef_round_pd): Ditto.
|
||
(_mm512_scalef_round_ps): Ditto.
|
||
(_mm512_mask_scalef_round_ps): Ditto.
|
||
(_mm512_maskz_scalef_round_ps): Ditto.
|
||
(_mm_scalef_round_sd): Use _mm_undefined_pd.
|
||
(_mm_scalef_round_ss): Use _mm_undefined_ps.
|
||
(_mm_mask_scalef_round_sd): New macro.
|
||
(_mm_mask_scalef_round_ss): Ditto.
|
||
(_mm_maskz_scalef_round_sd): Ditto.
|
||
(_mm_maskz_scalef_round_ss): Ditto.
|
||
|
||
2022-04-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105338
|
||
* config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
|
||
op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
|
||
cases.
|
||
|
||
2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/105334
|
||
* config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
|
||
(pack<mode> for FMOVE128): Rename and split the insn_and_split to...
|
||
(pack<mode>_hard for FMOVE128): ... this...
|
||
(pack<mode>_soft for FMOVE128): ... and this.
|
||
|
||
2022-04-22 Paul A. Clarke <pc@us.ibm.com>
|
||
|
||
* doc/extend.texi: Correct "This" to "These".
|
||
|
||
2022-04-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/105333
|
||
* rtlanal.cc (replace_rtx): Use simplify_subreg or
|
||
simplify_unary_operation if CONST_SCALAR_INT_P rather than just
|
||
CONST_INT_P.
|
||
|
||
2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/103197
|
||
PR target/102146
|
||
* config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
|
||
the "Z" alternatives in {l,st}{f,xs}iwzx.
|
||
(zero_extendhi<mode>2 for EXTHI): Ditto.
|
||
(zero_extendsi<mode>2 for EXTSI): Ditto.
|
||
(*movsi_internal1): Ditto.
|
||
(*mov<mode>_internal1 for QHI): Ditto.
|
||
(movsd_hardfloat): Ditto.
|
||
|
||
2022-04-21 Martin Liska <mliska@suse.cz>
|
||
|
||
* configure.ac: Enable compressed debug sections for mold
|
||
linker.
|
||
* configure: Regenerate.
|
||
|
||
2022-04-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/105203
|
||
* emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
|
||
on DEBUG_INSNs.
|
||
|
||
2022-04-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104912
|
||
* tree-vect-loop-manip.cc (vect_loop_versioning): Split
|
||
the cost model check to a separate BB to make sure it is
|
||
checked first and not combined with other version checks.
|
||
|
||
2022-04-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105312
|
||
* gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
|
||
VCOND and VCONDU for EQ and NE.
|
||
|
||
2022-04-20 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/103818
|
||
* ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
|
||
poly_offset_int to avoid overflow.
|
||
(modref_access_node::update2): likewise.
|
||
|
||
2022-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/105306
|
||
* cgraph.cc (cgraph_node::create): Set node->semantic_interposition
|
||
to opt_for_fn (decl, flag_semantic_interposition).
|
||
* cgraphclones.cc (cgraph_node::create_clone): Copy over
|
||
semantic_interposition flag.
|
||
|
||
2022-04-19 Sergei Trofimovich <siarheit@google.com>
|
||
|
||
PR gcov-profile/105282
|
||
* value-prof.cc (stream_out_histogram_value): Allow negative counts
|
||
on HIST_TYPE_INDIR_CALL.
|
||
|
||
2022-04-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105257
|
||
* config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
|
||
use gen_raw_REG instead of gen_rtx_REG and copy over also
|
||
ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
|
||
|
||
2022-04-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104010
|
||
PR tree-optimization/103941
|
||
* tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
|
||
we run into stmts in patterns continue walking those
|
||
for uses outside of the vectorized region instead of
|
||
marking the lane live.
|
||
|
||
2022-04-18 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* doc/install.texi <CRIS>: Remove references to removed websites and
|
||
adjust for cris-*-elf being the only remaining toolchain.
|
||
|
||
2022-04-18 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* doc/invoke.texi <CRIS>: Remove references to options for removed
|
||
subtarget cris-axis-linux-gnu and tweak wording accordingly.
|
||
|
||
2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Specific): Adjust mingw-w64 download link.
|
||
|
||
2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
* config/i386/smmintrin.h: Correct target pragma from sse4.1
|
||
and sse4.2 to crc32 for crc32 intrinsics.
|
||
|
||
2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
|
||
|
||
PR debug/105089
|
||
* ctfc.cc (ctf_dvd_ignore_insert): New function.
|
||
(ctf_dvd_ignore_lookup): Likewise.
|
||
(ctf_add_variable): Keep track of non-defining decl DIEs.
|
||
(new_ctf_container): Initialize the new hash-table.
|
||
(ctfc_delete_container): Empty hash-table.
|
||
* ctfc.h (struct ctf_container): Add new hash-table.
|
||
(ctf_dvd_ignore_lookup): New declaration.
|
||
(ctf_add_variable): Add additional argument.
|
||
* ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
|
||
record for non-defining decl for which a defining decl exists
|
||
in the same TU.
|
||
(ctf_preprocess): Defer updating the number of global objts
|
||
until here.
|
||
(output_ctf_header): Use ctfc_vars_list_count as some CTF
|
||
variables may not make it to the final output.
|
||
(output_ctf_vars): Likewise.
|
||
* dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
|
||
if this is known to be a non-defining decl DIE.
|
||
|
||
2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
|
||
|
||
* ctfc.h (struct ctf_container): Introduce a new member.
|
||
* ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
|
||
variable.
|
||
|
||
2022-04-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105247
|
||
* simplify-rtx.cc (simplify_const_binary_operation): For shifts
|
||
or rotates by VOIDmode constant integer shift count use word_mode
|
||
for the operand if int_mode is narrower than word.
|
||
|
||
2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
|
||
(s390_get_unit_mask): Likewise.
|
||
(s390_is_fpd): Likewise.
|
||
(s390_is_fxd): Likewise.
|
||
* config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
|
||
* config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
|
||
Add z16.
|
||
(z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
|
||
Likewise.
|
||
* config/s390/3931.md: New file.
|
||
|
||
2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/105254
|
||
* config/aarch64/aarch64.cc
|
||
(aarch64_vector_costs::determine_suggested_unroll_factor): Take a
|
||
loop_vec_info as argument. Restrict the unroll factor to values
|
||
that divide the VF.
|
||
(aarch64_vector_costs::finish_cost): Update call accordingly.
|
||
|
||
2022-04-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105263
|
||
* tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
|
||
negates in multiplication chains with DFP.
|
||
|
||
2022-04-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/105253
|
||
* tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
|
||
use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
|
||
comparisons or tree_nop_conversion_p checks.
|
||
|
||
2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
PR target/103069
|
||
* config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
|
||
Add missing set to target_val at pause label.
|
||
|
||
2022-04-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105234
|
||
* attribs.cc (decl_attributes): Don't set
|
||
DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
|
||
NULL.
|
||
|
||
2022-04-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105250
|
||
* fold-const.cc (fold_convertible_p): Revert
|
||
r12-7979-geaaf77dd85c333, instead check for size equality
|
||
of the vector types involved.
|
||
|
||
2022-04-13 Richard Biener <rguenther@suse.de>
|
||
|
||
Revert:
|
||
2022-04-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104912
|
||
* tree-vect-loop-manip.cc (vect_loop_versioning): Split
|
||
the cost model check to a separate BB to make sure it is
|
||
checked first and not combined with other version checks.
|
||
|
||
2022-04-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104912
|
||
* tree-vect-loop-manip.cc (vect_loop_versioning): Split
|
||
the cost model check to a separate BB to make sure it is
|
||
checked first and not combined with other version checks.
|
||
|
||
2022-04-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
|
||
|
||
2022-04-12 Antoni Boucher <bouanto@zoho.com>
|
||
|
||
PR jit/104072
|
||
* reginfo.cc: New functions (clear_global_regs_cache,
|
||
reginfo_cc_finalize) to avoid an issue where compiling the same
|
||
code multiple times gives an error about assigning the same
|
||
register to 2 global variables.
|
||
* rtl.h: New function (reginfo_cc_finalize).
|
||
* toplev.cc: Call it.
|
||
|
||
2022-04-12 Antoni Boucher <bouanto@zoho.com>
|
||
|
||
PR jit/104071
|
||
* toplev.cc: Call the new function tree_cc_finalize in
|
||
toplev::finalize.
|
||
* tree.cc: New functions (clear_nonstandard_integer_type_cache
|
||
and tree_cc_finalize) to clear the cache of non-standard integer
|
||
types to avoid having issues with some optimizations of
|
||
bitcast where the SSA_NAME will have a size of a cached
|
||
integer type that should have been invalidated, causing a
|
||
comparison of integer constant to fail.
|
||
* tree.h: New function (tree_cc_finalize).
|
||
|
||
2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR target/97348
|
||
* config/nvptx/nvptx.h (ASM_SPEC): Don't set.
|
||
* config/nvptx/nvptx.opt (misa): Adjust comment.
|
||
|
||
2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
Revert:
|
||
2022-03-03 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
|
||
|
||
2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
Revert:
|
||
2022-03-31 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
|
||
|
||
2022-04-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/104303
|
||
* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
|
||
include local escaped memory as obviously necessary stores.
|
||
|
||
2022-04-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105235
|
||
* tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
|
||
return whether the CFG changed.
|
||
(execute_cse_sincos_1): Adjust.
|
||
|
||
2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
|
||
|
||
PR target/104144
|
||
* config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
|
||
(MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
|
||
(MULTILIB_REQUIRED): Don't require Armv9-a libraries.
|
||
(MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
|
||
(MULTILIB_REUSE): Remove remap rules for Armv9-a.
|
||
* config/arm/t-multilib (v9_a_nosimd_variants): Delete.
|
||
(MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
|
||
|
||
2022-04-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105232
|
||
* tree.cc (component_ref_size): Bail out for too large
|
||
or non-constant sizes.
|
||
|
||
2022-04-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105226
|
||
* tree-vect-loop-manip.cc (vect_loop_versioning): Verify
|
||
we can split the exit of an outer loop we choose to version.
|
||
|
||
2022-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
|
||
ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
|
||
ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
|
||
ix86_emit_swdivsf, ix86_emit_swsqrtsf,
|
||
ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
|
||
Formatting fix.
|
||
* config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
|
||
|
||
2022-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105214
|
||
* config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
|
||
do_pending_stack_adjust.
|
||
|
||
2022-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/105211
|
||
* builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
|
||
fails for TREE_TYPE (arg), retry it with
|
||
TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
|
||
fails, emit call normally.
|
||
|
||
2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
|
||
* config.gcc: Add z16 as march/mtune switch.
|
||
* config/s390/driver-native.cc (s390_host_detect_local_cpu):
|
||
Recognize z16 with -march=native.
|
||
* config/s390/s390-opts.h (enum processor_type): Rename
|
||
PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
|
||
* config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
|
||
(PROCESSOR_3931_Z16): ... throughout the file.
|
||
(s390_processor processor_table): Add z16 as cpu string.
|
||
* config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
|
||
PF_Z16.
|
||
(TARGET_CPU_ARCH14): Rename to ...
|
||
(TARGET_CPU_Z16): ... this.
|
||
(TARGET_CPU_ARCH14_P): Rename to ...
|
||
(TARGET_CPU_Z16_P): ... this.
|
||
(TARGET_ARCH14): Rename to ...
|
||
(TARGET_Z16): ... this.
|
||
(TARGET_ARCH14_P): Rename to ...
|
||
(TARGET_Z16_P): ... this.
|
||
* config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
|
||
check TARGET_Z16 instead of TARGET_ARCH14.
|
||
* config/s390/s390.opt: Add z16 to processor_type.
|
||
* doc/invoke.texi: Document z16 and arch14.
|
||
|
||
2022-04-12 chenglulu <chenglulu@loongson.cn>
|
||
|
||
* config/loongarch/loongarch.cc: Fix bug for
|
||
tmpdir-g++.dg-struct-layout-1/t033.
|
||
|
||
2022-04-11 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR target/104894
|
||
* config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
|
||
to longcall functions.
|
||
|
||
2022-04-11 Jason Merrill <jason@redhat.com>
|
||
|
||
* ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
|
||
|
||
2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/105213
|
||
PR target/103623
|
||
* config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
|
||
|
||
2022-04-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105218
|
||
* tree-ssa-phiopt.cc (value_replacement): If middle_bb has
|
||
more than one predecessor or phi's bb more than 2 predecessors,
|
||
reset phi result uses instead of adding a debug temp.
|
||
|
||
2022-04-11 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
PR target/104853
|
||
* config.gcc: Pass -misa-spec to arch-canonicalize and
|
||
multilib-generator.
|
||
* config/riscv/arch-canonicalize: Adding -misa-spec option.
|
||
(SUPPORTED_ISA_SPEC): New.
|
||
(arch_canonicalize): New argument `isa_spec`.
|
||
Handle multiple ISA spec versions.
|
||
* config/riscv/multilib-generator: Adding -misa-spec option.
|
||
|
||
2022-04-11 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* config/riscv/arch-canonicalize: Add TODO item.
|
||
(IMPLIED_EXT): Sync.
|
||
(arch_canonicalize): Checking until no change.
|
||
|
||
2022-04-11 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/105197
|
||
* tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
|
||
not masked.
|
||
|
||
2022-04-11 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/100370
|
||
* pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
|
||
deref == -1.
|
||
|
||
2022-04-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104639
|
||
* tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
|
||
(value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
|
||
into x != cst3.
|
||
|
||
2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
|
||
|
||
* config/bfin/bfin.md (rol_one): Fix pattern to indicate the
|
||
sign bit of the source ends up in CC.
|
||
|
||
2022-04-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/103376
|
||
* cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
|
||
flag.
|
||
|
||
2022-04-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
|
||
nondeterministic and side_effects flags.
|
||
|
||
2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
PR target/105157
|
||
* config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
|
||
* config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
|
||
(TARGET_CPU_MASK): Likewise.
|
||
(TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
|
||
* config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
|
||
(aarch64_get_arch): Likewise.
|
||
(aarch64_override_options): Use TARGET_CPU_NBITS.
|
||
|
||
2022-04-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105198
|
||
* tree-predcom.cc (find_looparound_phi): Check whether
|
||
the found memory location of the entry value is clobbered
|
||
inbetween the value we want to use and loop entry.
|
||
|
||
2022-04-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105189
|
||
* fold-const.cc (make_range_step): Fix up handling of
|
||
(unsigned) x +[low, -] ranges for signed x if low fits into
|
||
typeof (x).
|
||
|
||
2022-04-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105175
|
||
* tree-vect-stmts.cc (vectorizable_operation): Suppress
|
||
-Wvector-operation-performance if using emulated vectors.
|
||
* tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
|
||
-Wvector-operation-performance when suppressed.
|
||
(expand_vector_parallel): Likewise.
|
||
(expand_vector_comparison): Likewise.
|
||
(expand_vector_condition): Likewise.
|
||
(lower_vec_perm): Likewise.
|
||
(expand_vector_conversion): Likewise.
|
||
|
||
2022-04-07 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/104409
|
||
* config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
|
||
(aarch64_general_init_builtins): Move LS64 code.
|
||
* config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
|
||
arm_acle.h
|
||
* config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
|
||
* config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
|
||
|
||
2022-04-07 Richard Biener <rguenther@suse.de>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/104303
|
||
* tree-ssa-alias.h (ptr_deref_may_alias_global_p,
|
||
ref_may_alias_global_p, ref_may_alias_global_p,
|
||
stmt_may_clobber_global_p, pt_solution_includes_global): Add
|
||
bool parameters indicating whether escaped locals should be
|
||
considered global.
|
||
* tree-ssa-structalias.cc (pt_solution_includes_global):
|
||
When the new escaped_nonlocal_p flag is true also consider
|
||
pt->vars_contains_escaped.
|
||
* tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
|
||
Pass down new escaped_nonlocal_p flag.
|
||
(ref_may_alias_global_p): Likewise.
|
||
(stmt_may_clobber_global_p): Likewise.
|
||
(ref_may_alias_global_p_1): Likewise. For decls also
|
||
query the escaped solution if true.
|
||
(ref_may_access_global_memory_p): Remove.
|
||
(modref_may_conflict): Use ref_may_alias_global_p with
|
||
escaped locals considered global.
|
||
(ref_maybe_used_by_stmt_p): Adjust.
|
||
* ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
|
||
Likewise.
|
||
* tree-ssa-dse.cc (dse_classify_store): Likewise.
|
||
* trans-mem.cc (thread_private_new_memory): Likewise, but
|
||
consider escaped locals global.
|
||
* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
|
||
|
||
2022-04-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105185
|
||
* tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
|
||
modref query again.
|
||
|
||
2022-04-07 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR target/104049
|
||
* config/aarch64/aarch64-simd.md
|
||
(aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
|
||
(reduc_plus_scal_<mode>): ... This.
|
||
(reduc_plus_scal_v4sf): Moved.
|
||
(aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
|
||
(reduc_plus_scal_v2si): ... This.
|
||
|
||
2022-04-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/102586
|
||
* langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
|
||
langhook.
|
||
* langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
|
||
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
|
||
* gimple-fold.cc (clear_padding_type): Use ftype instead of
|
||
TREE_TYPE (field) some more. For artificial FIELD_DECLs without
|
||
name try the lang_hooks.types.classtype_as_base langhook and
|
||
if it returns non-NULL, use that instead of ftype for recursive call.
|
||
|
||
2022-04-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105150
|
||
* tree.cc (tree_builtin_call_types_compatible_p): New function.
|
||
(get_call_combined_fn): Use it.
|
||
|
||
2022-04-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/105165
|
||
* tree-complex.cc (expand_complex_asm): Sorry for asm goto
|
||
_Complex outputs.
|
||
|
||
2022-04-07 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
|
||
Removed.
|
||
(<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
|
||
for mask_applied.
|
||
(<code><mode>3<mask_name>): Ditto.
|
||
(*<code><mode>3<mask_name>): Ditto.
|
||
(VFB_128_256): Adjust condition of V8HF/V16HFmode according to
|
||
real instruction.
|
||
(VFB_512): Ditto.
|
||
(VFB): Ditto.
|
||
|
||
2022-04-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/104985
|
||
* combine.cc (struct undo): Add where.regno member.
|
||
(do_SUBST_MODE): Rename to ...
|
||
(subst_mode): ... this. Change first argument from rtx * into int,
|
||
operate on regno_reg_rtx[regno] and save regno into where.regno.
|
||
(SUBST_MODE): Remove.
|
||
(try_combine): Use subst_mode instead of SUBST_MODE, change first
|
||
argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
|
||
regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
|
||
(undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
|
||
instead of *undo->where.r.
|
||
(simplify_set): Use subst_mode instead of SUBST_MODE, change first
|
||
argument from regno_reg_rtx[whatever] to whatever.
|
||
|
||
2022-04-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105069
|
||
* config/sh/sh.opt (mdiv=): Add Save.
|
||
|
||
2022-04-06 Martin Liska <mliska@suse.cz>
|
||
|
||
PR driver/105096
|
||
* common.opt: Document properly based on what it does.
|
||
* gcc.cc (display_help): Unify with what we have in common.opt.
|
||
* opts.cc (common_handle_option): Do not print undocumented
|
||
options.
|
||
|
||
2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
* config/mips/mips.cc (mips_fpr_return_fields): Ignore
|
||
cxx17_empty_base_field_p fields and set an indicator.
|
||
(mips_return_in_msb): Adjust for mips_fpr_return_fields change.
|
||
(mips_function_value_1): Inform psABI change about C++17 empty
|
||
bases.
|
||
|
||
2022-04-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105150
|
||
* gimple.cc (gimple_builtin_call_types_compatible_p): Use
|
||
builtin_decl_explicit here...
|
||
(gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
|
||
here.
|
||
|
||
2022-04-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105173
|
||
* tree-ssa-reassoc.cc (find_insert_point): Get extra
|
||
insert_before output argument and compute it.
|
||
(insert_stmt_before_use): Adjust.
|
||
(rewrite_expr_tree): Likewise.
|
||
|
||
2022-04-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/105166
|
||
* ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
|
||
out for non-pointer arguments.
|
||
|
||
2022-04-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105163
|
||
* tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
|
||
negated abnormals.
|
||
|
||
2022-04-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105150
|
||
* gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
|
||
For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
|
||
preferrably on builtin_decl_explicit decl rather than fndecl.
|
||
* tree-ssa-strlen.cc (valid_builtin_call): Don't call
|
||
gimple_builtin_call_types_compatible_p here.
|
||
|
||
2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/103761
|
||
* tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
|
||
the ncopies parameter with an slp_node parameter. Calculate the
|
||
number of vectors based on it and vectype. Rename lambda to
|
||
group_memory_nvectors.
|
||
(vectorizable_store, vectorizable_load): Update calls accordingly.
|
||
|
||
2022-04-06 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/invoke.texi: Document it.
|
||
|
||
2022-04-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105148
|
||
* tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
|
||
2 and 3 of ARRAY_REFs.
|
||
|
||
2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
|
||
(*andnottf3): Replace with...
|
||
(*andnot<mode>3): New define_insn using ANDNOT_MODE.
|
||
|
||
2022-04-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105142
|
||
* gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
|
||
basic-block parameter.
|
||
(maybe_fold_or_comparisons): Likewise.
|
||
* gimple-fold.cc (follow_outer_ssa_edges): New.
|
||
(maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
|
||
when an outer condition basic-block is specified.
|
||
(and_comparisons_1, and_var_with_comparison,
|
||
and_var_with_comparison_1, or_comparisons_1,
|
||
or_var_with_comparison, or_var_with_comparison_1): Receive and pass
|
||
down the outer condition basic-block.
|
||
* tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
|
||
basic-block of the outer condition.
|
||
|
||
2022-04-06 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR target/105002
|
||
* config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
|
||
comparison codes UNLT/UNLE/UNGT/UNGE.
|
||
|
||
2022-04-05 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* doc/extend.texi (Common Function Attributes): Document that
|
||
'access' does not imply 'nonnull'.
|
||
|
||
2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/105139
|
||
* config/i386/mmx.md (*movv2qi_internal):
|
||
Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
|
||
|
||
2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
|
||
define_expand and turn operands 0 and 1 from REGs to MEMs.
|
||
(*aarch64_cpymemdi): New pattern.
|
||
(aarch64_setmemdi): Turn into a define_expand and turn operand 0
|
||
from a REG to a MEM.
|
||
(*aarch64_setmemdi): New pattern.
|
||
* config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
|
||
copy_to_mode_reg on all three registers. Replace the original
|
||
MEM addresses rather than creating wild reads and writes.
|
||
(aarch64_expand_setmem_mops): Likewise for the size and for the
|
||
destination memory and address.
|
||
|
||
2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/103147
|
||
* config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
|
||
* config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
|
||
from aarch64_simd_switcher.
|
||
* config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
|
||
New variable.
|
||
(aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
|
||
(register_tuple_type): Add more asserts. Expect the alignment
|
||
of the structure to be subject to flag_pack_struct and
|
||
maximum_field_alignment. Set aarch64_simd_tuple_modes.
|
||
(aarch64_simd_switcher::aarch64_simd_switcher): New function.
|
||
(aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
|
||
(handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
|
||
(aarch64_general_init_builtins): Hold an aarch64_simd_switcher
|
||
while calling aarch64_init_simd_builtins.
|
||
* config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
|
||
(sve_switcher::~sve_switcher): Remove code now performed by
|
||
aarch64_simd_switcher.
|
||
|
||
2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/104897
|
||
* config/aarch64/aarch64-sve-builtins.cc
|
||
(function_resolver::infer_vector_or_tuple_type): Use error_n
|
||
for "%d vectors" messages.
|
||
|
||
2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
|
||
argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
|
||
current clause.
|
||
|
||
2022-04-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/105151
|
||
* passes.def (pass_walloca): Move early instance into
|
||
pass_build_ssa_passes to make SSA form available.
|
||
|
||
2022-04-05 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/101908
|
||
* config/i386/i386.cc (ix86_split_stlf_stall_load): New
|
||
function
|
||
(ix86_reorg): Call ix86_split_stlf_stall_load.
|
||
* config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
|
||
param.
|
||
|
||
2022-04-05 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* targhooks.cc (default_zero_call_used_regs): Attempt to group
|
||
regs that the target refuses to use in their natural modes.
|
||
(zcur_select_mode_rtx): New.
|
||
* regs.h (struct target_regs): Add x_hard_regno_max_nregs.
|
||
(hard_regno_max_nregs): Define.
|
||
* reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
|
||
|
||
2022-04-04 Alex Coplan <alex.coplan@arm.com>
|
||
|
||
* doc/match-and-simplify.texi: Fix typos.
|
||
|
||
2022-04-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105144
|
||
* config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
|
||
only if configured with --enable-maintainer-mode, otherwise compare
|
||
tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
|
||
if they differ, emit a message and fail.
|
||
|
||
2022-04-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105144
|
||
* config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
|
||
* config/aarch64/aarch64-tune.md: Regenerated.
|
||
|
||
2022-04-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105132
|
||
* tree-vect-stmts.cc (vectorizable_operation): Check that
|
||
the input vectors have the same number of elements.
|
||
|
||
2022-04-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/105140
|
||
* fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
|
||
|
||
2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
|
||
|
||
PR target/104987
|
||
* config/iq2000/iq2000.md (bbi): New attribute, default to no.
|
||
(delay slot descripts): Use different delay slot description when
|
||
the insn as the "bbi" attribute.
|
||
(bbi, bbin patterns): Set the bbi attribute to yes.
|
||
|
||
2022-04-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/105123
|
||
* config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
|
||
using word as target for expand_simple_binop when doing ASHIFT and
|
||
IOR.
|
||
|
||
2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
* config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
|
||
NULL before dereferencing it.
|
||
|
||
2022-04-01 Qing Zhao <qing.zhao@oracle.com>
|
||
|
||
* config/i386/i386.cc (zero_all_st_registers): Return the value of
|
||
num_of_st.
|
||
(ix86_zero_call_used_regs): Update zeroed_hardregs set according to
|
||
the return value of zero_all_st_registers.
|
||
* doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
|
||
* function.cc (gen_call_used_regs_seq): Add an assertion.
|
||
* target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
|
||
|
||
2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
PR target/102024
|
||
* config/mips/mips.cc (mips_function_arg): Ignore zero-width
|
||
fields, and inform if it causes a psABI change.
|
||
|
||
2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
PR target/102024
|
||
* config/mips/mips.cc (mips_fpr_return_fields): Detect C++
|
||
zero-width bit-fields and set up an indicator.
|
||
(mips_return_in_msb): Adapt for mips_fpr_return_fields change.
|
||
(mips_function_value_1): Diagnose when the presense of a C++
|
||
zero-width bit-field changes function returning in GCC 12.
|
||
|
||
2022-04-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104645
|
||
* tree-ssa-phiopt.cc (value_replacement): If assign has
|
||
CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
|
||
statement with constant evaluation.
|
||
|
||
2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
|
||
|
||
* config/mips/mips.cc (mips_expand_prologue):
|
||
IPL is 8bit for MCU ASE.
|
||
|
||
2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR target/104004
|
||
* config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
|
||
(MTFSB0): Likewise.
|
||
(MTFSB1): Likewise.
|
||
(SET_FPSCR_RN): Likewise.
|
||
(SET_FPSCR_DRN): Mark nosoft and no32bit.
|
||
|
||
2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* doc/options.texi (Option file format): Clarifications around
|
||
option definition records' help texts.
|
||
|
||
2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* optc-gen.awk <END>: Fix "Multiple different help strings" error
|
||
diagnostic.
|
||
|
||
2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/aarch64/aarch64.cc (aarch64_vector_costs): Define
|
||
determine_suggested_unroll_factor and m_has_avg.
|
||
(determine_suggested_unroll_factor): New function.
|
||
(aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
|
||
to set m_nosve_pattern.
|
||
(aarch64_vector_costs::finish_costs): Use
|
||
determine_suggested_unroll_factor.
|
||
* config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
|
||
* doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
|
||
|
||
2022-03-31 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/103083
|
||
* ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
|
||
(ipa_get_jf_ancestor_keep_null): New function.
|
||
* ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
|
||
ancestor function.
|
||
(compute_complex_assign_jump_func): Pass false to keep_null
|
||
parameter of ipa_set_ancestor_jf.
|
||
(compute_complex_ancestor_jump_func): Pass true to keep_null
|
||
parameter of ipa_set_ancestor_jf.
|
||
(update_jump_functions_after_inlining): Carry over keep_null from the
|
||
original ancestor jump-function or merge them.
|
||
(ipa_write_jump_function): Stream keep_null flag.
|
||
(ipa_read_jump_function): Likewise.
|
||
(ipa_print_node_jump_functions_for_edge): Print the new flag.
|
||
* ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
|
||
member function known_nonzero_p.
|
||
(ipcp_bits_lattice::known_nonzero_p): New.
|
||
(ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
|
||
observe it.
|
||
(ipcp_bits_lattice::meet_with): Likewise.
|
||
(propagate_bits_across_jump_function): Simplify. Pass true in
|
||
drop_all_ones when it is necessary.
|
||
(propagate_aggs_across_jump_function): Take care of keep_null
|
||
flag.
|
||
(ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
|
||
jump functions.
|
||
|
||
2022-03-31 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/102513
|
||
* ipa-cp.cc (decide_whether_version_node): Skip scalar values
|
||
which do not fit the known value_range.
|
||
|
||
2022-03-31 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/103171
|
||
* ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
|
||
always when an ADDR_EXPR constant is known to reach a load because
|
||
of inlining, not just when removing an ADDR reference.
|
||
|
||
2022-03-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105109
|
||
* tree-ssa.cc (execute_update_addresses_taken): Suppress
|
||
diagnostics on the load of the other complex component.
|
||
|
||
2022-03-31 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
|
||
|
||
2022-03-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/105091
|
||
* gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
|
||
bases.
|
||
|
||
2022-03-31 Richard Biener <rguenther@suse.de>
|
||
|
||
Revert:
|
||
2021-09-13 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/102125
|
||
* gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
|
||
memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
|
||
|
||
2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* gcov-io.cc (gcov_read_string): Reword documentation comment.
|
||
|
||
2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
|
||
stanza.
|
||
(NEG_V4SF): Likewise.
|
||
(NEG_V4SI): Likewise.
|
||
(NEG_V8HI): Likewise.
|
||
(NEG_V2DF): Move to [vsx] stanza.
|
||
(NEG_V2DI): Likewise.
|
||
|
||
2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
|
||
|
||
PR middle-end/105032
|
||
* lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
|
||
|
||
2022-03-30 Tom de Vries <tdevries@suse.de>
|
||
Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* doc/invoke.texi (march): Document __PTX_SM__.
|
||
(mptx): Document __PTX_ISA_VERSION_MAJOR__ and
|
||
__PTX_ISA_VERSION_MINOR__.
|
||
|
||
2022-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/105093
|
||
* ubsan.cc (instrument_object_size): If t is equal to inner and
|
||
is a decl other than global var, punt. When emitting call to
|
||
UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
|
||
|
||
2022-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105094
|
||
* gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
|
||
bitsize <= 0 rather than just == 0.
|
||
|
||
2022-03-30 Tom de Vries <tdevries@suse.de>
|
||
|
||
* doc/invoke.texi (misa, mptx): Update.
|
||
(march, march-map): Add.
|
||
|
||
2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* opt-functions.awk (n_args): New function.
|
||
(lang_enabled_by): Merge function into...
|
||
* optc-gen.awk <END>: ... sole user here.
|
||
Improve diagnostics.
|
||
|
||
2022-03-29 Marek Polacek <polacek@redhat.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/103597
|
||
* gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
|
||
into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
|
||
(gimplify_cond_expr): Set UNUSED_LABEL_P.
|
||
* tree.h (UNUSED_LABEL_P): New.
|
||
|
||
2022-03-29 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
* config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
|
||
be any VSX register.
|
||
|
||
2022-03-29 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/102024
|
||
* config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
|
||
zero-sized bit-fields. Detect cases where a warning may be needed.
|
||
(aarch64_vfp_is_call_or_return_candidate): Emit a note if a
|
||
zero-sized bit-field has caused parameter passing to change.
|
||
|
||
2022-03-29 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/102024
|
||
* config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
|
||
bit-fields. Detect cases where a warning may be needed.
|
||
(aapcs_vfp_is_call_or_return_candidate): Emit a note if
|
||
a zero-sized bit-field has caused parameter passing to change.
|
||
|
||
2022-03-29 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/96882
|
||
* config/arm/arm.cc (arm_get_pcs_model): Disable selection of
|
||
ARM_PCS_AAPCS_LOCAL.
|
||
|
||
2022-03-29 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104857
|
||
* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
|
||
__PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
|
||
* config/nvptx/nvptx.cc (ptx_version_to_number): New function.
|
||
* config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
|
||
|
||
2022-03-29 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.opt (m64): Update help text to reflect that it
|
||
is ignored.
|
||
|
||
2022-03-29 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104714
|
||
* config/nvptx/nvptx.opt (march-map=*): Add aliases.
|
||
|
||
2022-03-29 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
|
||
TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
|
||
* config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
|
||
(TARGET_USE_GATHER_4PARTS): New macro.
|
||
* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
|
||
(X86_TUNE_USE_GATHER_4PARTS): New tune
|
||
|
||
2022-03-29 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.opt (march): Add alias of misa.
|
||
|
||
2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
|
||
Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* doc/install.texi: Add LoongArch options section.
|
||
* doc/invoke.texi: Add LoongArch options section.
|
||
* doc/md.texi: Add LoongArch options section.
|
||
|
||
2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
|
||
Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config/loongarch/loongarch-c.cc
|
||
|
||
2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
|
||
Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config/loongarch/larchintrin.h: New file.
|
||
* config/loongarch/loongarch-builtins.cc: New file.
|
||
|
||
2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
|
||
Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config/host-linux.cc: Add LoongArch support.
|
||
* config/loongarch/loongarch-protos.h: New file.
|
||
* config/loongarch/loongarch-tune.h: Likewise.
|
||
* config/loongarch/loongarch.cc: Likewise.
|
||
* config/loongarch/loongarch.h: Likewise.
|
||
|
||
2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
|
||
Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* config/loongarch/constraints.md: New file.
|
||
* config/loongarch/generic.md: New file.
|
||
* config/loongarch/la464.md: New file.
|
||
* config/loongarch/loongarch-ftypes.def: New file.
|
||
* config/loongarch/loongarch-modes.def: New file.
|
||
* config/loongarch/loongarch.md: New file.
|
||
* config/loongarch/predicates.md: New file.
|
||
* config/loongarch/sync.md: New file.
|
||
|
||
2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
|
||
Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* configure: Regenerate file.
|
||
|
||
2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
|
||
Lulu Cheng <chenglulu@loongson.cn>
|
||
|
||
* common/config/loongarch/loongarch-common.cc: New file.
|
||
* config/loongarch/genopts/genstr.sh: New file.
|
||
* config/loongarch/genopts/loongarch-strings: New file.
|
||
* config/loongarch/genopts/loongarch.opt.in: New file.
|
||
* config/loongarch/loongarch-str.h: New file.
|
||
* config/loongarch/gnu-user.h: New file.
|
||
* config/loongarch/linux.h: New file.
|
||
* config/loongarch/loongarch-cpu.cc: New file.
|
||
* config/loongarch/loongarch-cpu.h: New file.
|
||
* config/loongarch/loongarch-def.c: New file.
|
||
* config/loongarch/loongarch-def.h: New file.
|
||
* config/loongarch/loongarch-driver.cc: New file.
|
||
* config/loongarch/loongarch-driver.h: New file.
|
||
* config/loongarch/loongarch-opts.cc: New file.
|
||
* config/loongarch/loongarch-opts.h: New file.
|
||
* config/loongarch/loongarch.opt: New file.
|
||
* config/loongarch/t-linux: New file.
|
||
* config/loongarch/t-loongarch: New file.
|
||
* config.gcc: Add LoongArch support.
|
||
* configure.ac: Add LoongArch support.
|
||
|
||
2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
|
||
typo.
|
||
|
||
2022-03-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105080
|
||
* tree-ssa-strlen.cc (printf_strlen_execute): Always init
|
||
loops and SCEV.
|
||
|
||
2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
|
||
|
||
* ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
|
||
(output_ctf_vars): Likewise.
|
||
|
||
2022-03-28 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/59426
|
||
* doc/extend.texi: Refer to __is_trivial instead of __is_pod.
|
||
|
||
2022-03-28 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/105068
|
||
* config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
|
||
"Yw" in clobber.
|
||
|
||
2022-03-28 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104818
|
||
* config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
|
||
* config/nvptx/nvptx-gen.opt: Regenerate.
|
||
* config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
|
||
* config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
|
||
gen-opt.sh.
|
||
|
||
2022-03-28 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR analyzer/104308
|
||
* gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
|
||
to loads then stores, set the location of the new load stmt.
|
||
|
||
2022-03-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105070
|
||
* tree-switch-conversion.h
|
||
(bit_test_cluster::hoist_edge_and_branch_if_true): Add location
|
||
argument.
|
||
* tree-switch-conversion.cc
|
||
(bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
|
||
cond with location.
|
||
(bit_test_cluster::emit): Annotate all generated expressions
|
||
with location.
|
||
|
||
2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
|
||
|
||
2022-03-28 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/105066
|
||
* config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
|
||
alternative 4 from sse4_noavx to noavx.
|
||
|
||
2022-03-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/105056
|
||
* tree-predcom.cc (component::component): Initialize also comp_step.
|
||
|
||
2022-03-27 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/105068
|
||
* config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
|
||
"Yw".
|
||
|
||
2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR middle-end/104885
|
||
* calls.cc (mark_stack_region_used): Check that the region
|
||
is within the allocated size of stack_usage_map.
|
||
|
||
2022-03-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/103775
|
||
* recog.cc (check_invalid_inc_dec): New function.
|
||
(insn_invalid_p): Return 1 if REG_INC operand overlaps
|
||
any stored REGs.
|
||
|
||
2022-03-26 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/105058
|
||
* config/i386/sse.md (loadiwkey): Replace "v" with "x".
|
||
(aes<aesklvariant>u8): Likewise.
|
||
|
||
2022-03-26 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/105052
|
||
* config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
|
||
Replace "Yv" with "x".
|
||
(ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
|
||
(ssse3_psign<mode>3): Likewise.
|
||
|
||
2022-03-26 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* reload.cc (find_reloads): Align comment with code where
|
||
considering the intersection of register classes then tweaking the
|
||
regclass for the current alternative or rejecting it.
|
||
|
||
2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
|
||
|
||
PR target/104882
|
||
Revert
|
||
2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
|
||
(mve_vec_unpack<US>_hi_<mode>): Delete.
|
||
(@mve_vec_pack_trunc_lo_<mode>): Delete.
|
||
(mve_vmovntq_<supf><mode>): Remove '@' prefix.
|
||
* config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
|
||
from vec-common.md.
|
||
(vec_unpack<US>_lo_<mode>): Likewise.
|
||
(vec_pack_trunc_<mode>): Rename from
|
||
neon_quad_vec_pack_trunc_<mode>.
|
||
* config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
|
||
(vec_unpack<US>_lo_<mode>): Delete.
|
||
(vec_pack_trunc_<mode>): Delete.
|
||
|
||
2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
|
||
|
||
PR middle-end/104971
|
||
* lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
|
||
regs to clear remove_p flag.
|
||
|
||
2022-03-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105053
|
||
* tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
|
||
the correct live-out stmt for a reduction chain.
|
||
|
||
2022-03-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/105049
|
||
* tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
|
||
CONSTRUCTOR first elements.
|
||
|
||
2022-03-25 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR analyzer/103533
|
||
* doc/invoke.texi (Static Analyzer Options): Move
|
||
@ignore block after @gccoptlist's '}' for 'make pdf'.
|
||
|
||
2022-03-25 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR analyzer/104954
|
||
* doc/invoke.texi (Static Analyzer Options): Add
|
||
-fdump-analyzer-untracked.
|
||
|
||
2022-03-25 Avinash Sonawane <rootkea@gmail.com>
|
||
|
||
PR analyzer/103533
|
||
* doc/invoke.texi: Document that enabling taint analyzer
|
||
checker disables some warnings from `-fanalyzer`.
|
||
|
||
2022-03-24 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
PR debug/104564
|
||
* gimple-harden-conditionals.cc (detach_value): Keep temps
|
||
anonymous.
|
||
|
||
2022-03-24 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
PR middle-end/104975
|
||
* gimple-harden-conditionals.cc
|
||
(pass_harden_compares::execute): Force split in case of
|
||
multiple edges.
|
||
|
||
2022-03-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/105035
|
||
* fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
|
||
field0 or field1 is not a FIELD_DECL, return false.
|
||
|
||
2022-03-24 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-predcom.cc (chain::chain): Add CTOR.
|
||
(component::component): Likewise.
|
||
(pcom_worker::release_chain): Use delete.
|
||
(release_components): Likewise.
|
||
(pcom_worker::filter_suitable_components): Likewise.
|
||
(pcom_worker::split_data_refs_to_components): Use new.
|
||
(make_invariant_chain): Likewise.
|
||
(make_rooted_chain): Likewise.
|
||
(pcom_worker::combine_chains): Likewise.
|
||
* tree-vect-loop.cc (vect_create_epilog_for_reduction):
|
||
Make sure to release previously constructed scalar_results.
|
||
* tree-vect-stmts.cc (vectorizable_load): Use auto_vec
|
||
for vec_offsets.
|
||
* vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
|
||
Release m_flag_set_edges.
|
||
|
||
2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR tree-optimization/104970
|
||
* tree-object-size.cc (parm_object_size): Restrict size
|
||
computation scenarios to explicit access attributes.
|
||
|
||
2022-03-24 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR target/104967
|
||
* config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
|
||
function types.
|
||
|
||
2022-03-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/102125
|
||
* gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
|
||
use of movmisalign when either the source or destination
|
||
decl is properly aligned.
|
||
|
||
2022-03-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/105028
|
||
* ira-color.cc (form_threads_from_copies): Remove unnecessary
|
||
copying of the sorted_copies tail.
|
||
|
||
2022-03-23 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
|
||
Use %qs in format.
|
||
* config/rs6000/rs6000.cc (rs6000_option_override_internal):
|
||
Reword the error message.
|
||
|
||
2022-03-23 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104976
|
||
* config/i386/sse.md (ssePSmodelower): New.
|
||
(*avx_cmp<mode>3_ltint_not): Force_reg operand before
|
||
lowpart_subreg to avoid NULL_RTX.
|
||
(<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
|
||
<avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
|
||
fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
|
||
<avx512>_<complexopname>_<mode>_mask<round_name>,
|
||
avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
|
||
avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
|
||
avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
|
||
avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
|
||
float<floatunssuffix><mode>v4hf2,
|
||
float<floatunssuffix>v2div2hf2,
|
||
fix<fixunssuffix>_truncv4hf<mode>2,
|
||
fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
|
||
extendv2hfv2df2,
|
||
trunc<mode>v4hf2,truncv2dfv2hf2,
|
||
*avx512bw_permvar_truncv16siv16hi_1,
|
||
*avx512bw_permvar_truncv16siv16hi_1_hf,
|
||
*avx512f_permvar_truncv8siv8hi_1,
|
||
*avx512f_permvar_truncv8siv8hi_1_hf,
|
||
*avx512f_vpermvar_truncv8div8si_1,
|
||
*avx512f_permvar_truncv32hiv32qi_1,
|
||
*avx512f_permvar_truncv16hiv16qi_1,
|
||
*avx512f_permvar_truncv4div4si_1,
|
||
*avx512f_pshufb_truncv8hiv8qi_1,
|
||
*avx512f_pshufb_truncv4siv4hi_1,
|
||
*avx512f_pshufd_truncv2div2si_1,
|
||
sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
|
||
ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
|
||
|
||
2022-03-22 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104925
|
||
* config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
|
||
Use % as register prefix.
|
||
|
||
2022-03-22 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
|
||
(nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
|
||
mexperimental.
|
||
|
||
2022-03-22 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.opt (mexperimental): New option.
|
||
|
||
2022-03-22 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104957
|
||
* config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
|
||
* config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
|
||
for alias.
|
||
(SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
|
||
(nvptx_asm_output_def_from_decls): New function.
|
||
* config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
|
||
gcc_unreachable ().
|
||
(ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
|
||
nvptx_asm_output_def_from_decls.
|
||
* config/nvptx/nvptx.opt (malias): New opt.
|
||
|
||
2022-03-22 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104916
|
||
PR target/104783
|
||
* config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
|
||
sync (or uniform warp check for mptx < 6.0).
|
||
|
||
2022-03-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/105012
|
||
* tree-if-conv.cc (ifcvt_local_dce): Only call
|
||
dse_classify_store when we have a VDEF.
|
||
|
||
2022-03-22 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/104902
|
||
* config/nvptx/nvptx.cc (handle_ptx_version_option):
|
||
Fix option wrapping in an error message.
|
||
|
||
2022-03-22 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/104903
|
||
* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
|
||
Wrap const keyword.
|
||
|
||
2022-03-22 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
|
||
name.
|
||
|
||
2022-03-22 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/104898
|
||
* config/rs6000/rs6000.cc (rs6000_option_override_internal):
|
||
Use %qs instead of (%qs).
|
||
|
||
2022-03-22 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/104898
|
||
* config/i386/i386-options.cc (ix86_option_override_internal):
|
||
Use '%qs' instead of '(%qs)'.
|
||
|
||
2022-03-22 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/104898
|
||
* config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
|
||
Use 'qs' and remove usage '(%qs)'.
|
||
(aarch64_handle_attr_cpu): Likewise.
|
||
(aarch64_handle_attr_tune): Likewise.
|
||
(aarch64_handle_attr_isa_flags): Likewise.
|
||
|
||
2022-03-22 Tamar Christina <tamar.christina@arm.com>
|
||
Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
|
||
struct.
|
||
(neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
|
||
cost.
|
||
(neoverse512tvb_tunings): Likewise.
|
||
|
||
2022-03-22 Tamar Christina <tamar.christina@arm.com>
|
||
Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/aarch64/aarch64.cc (demeter_addrcost_table,
|
||
demeter_regmove_cost, demeter_advsimd_vector_cost,
|
||
demeter_sve_vector_cost, demeter_scalar_issue_info,
|
||
demeter_advsimd_issue_info, demeter_sve_issue_info,
|
||
demeter_vec_issue_info, demeter_vector_cost,
|
||
demeter_tunings): New tuning structs.
|
||
(aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
|
||
tuning.
|
||
* config/aarch64/aarch64-cores.def: Add entry for demeter.
|
||
* config/aarch64/aarch64-tune.md (tune): Add demeter to list.
|
||
|
||
2022-03-22 Tamar Christina <tamar.christina@arm.com>
|
||
Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
|
||
(struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
|
||
* config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
|
||
tunings to use cpu_memmov_cost struct.
|
||
|
||
2022-03-22 Tamar Christina <tamar.christina@arm.com>
|
||
Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/aarch64/aarch64.cc (neoversen2_addrcost_table,
|
||
neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
|
||
neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
|
||
neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
|
||
neoversen2_vec_issue_info, neoversen2_tunings): New structs.
|
||
(neoversen2_tunings): Use new structs and update tuning flags.
|
||
(aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
|
||
tuning.
|
||
|
||
2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
|
||
bit.
|
||
|
||
2022-03-22 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104982
|
||
* config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
|
||
following splitter to reversed condition.
|
||
|
||
2022-03-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/104989
|
||
* calls.cc (expand_call): Don't set ECF_NORETURN in flags after
|
||
sorry for passing too large argument, instead set sibcall_failure
|
||
for pass == 0, or a new normal_failure flag otherwise. If
|
||
normal_failure is set, don't assert all stack has been deallocated
|
||
at the end and throw away the whole insn sequence.
|
||
|
||
2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
|
||
|
||
* print-tree.cc: Change array length
|
||
|
||
2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
PR target/104978
|
||
* config/i386/sse.md
|
||
(avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
|
||
Use avx512f_movsf_mask instead of vmovaps or vblend, and
|
||
force_reg before lowpart_subreg.
|
||
(avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
|
||
|
||
2022-03-21 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/105000
|
||
* common/config/i386/i386-common.cc
|
||
(OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
|
||
OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
|
||
|
||
2022-03-21 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/104998
|
||
* common/config/i386/cpuinfo.h (get_available_features): Pass
|
||
0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
|
||
bit_AESKLE is set.
|
||
|
||
2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/104869
|
||
* rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
|
||
(clobber_group::next_clobber): Likewise.
|
||
(def_lookup::prev_def): Rename to...
|
||
(def_lookup::last_def_of_prev_group): ...this.
|
||
(def_lookup::next_def): Rename to...
|
||
(def_lookup::first_def_of_next_group): ...this.
|
||
(def_lookup::matching_or_prev_def): Rename to...
|
||
(def_lookup::matching_set_or_last_def_of_prev_group): ...this.
|
||
(def_lookup::matching_or_next_def): Rename to...
|
||
(def_lookup::matching_set_or_first_def_of_next_group): ...this.
|
||
(def_lookup::prev_def): New function, taking the lookup insn as
|
||
argument.
|
||
(def_lookup::next_def): Likewise.
|
||
* rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
|
||
(def_lookup::last_def_of_prev_group): ...this.
|
||
(def_lookup::next_def): Rename to...
|
||
(def_lookup::first_def_of_next_group): ...this.
|
||
(def_lookup::matching_or_prev_def): Rename to...
|
||
(def_lookup::matching_set_or_last_def_of_prev_group): ...this.
|
||
(def_lookup::matching_or_next_def): Rename to...
|
||
(def_lookup::matching_set_or_first_def_of_next_group): ...this.
|
||
* rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
|
||
above renaming.
|
||
* rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
|
||
(clobber_group::next_clobber): Likewise.
|
||
(def_lookup::prev_def): Likewise.
|
||
(def_lookup::next_def): Likewise.
|
||
(function_info::make_use_available): Pass the lookup insn to
|
||
def_lookup::prev_def and def_lookup::next_def.
|
||
|
||
2022-03-21 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/invoke.texi: Document min-pagesize parameter.
|
||
|
||
2022-03-21 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
|
||
we are estimating niter of loop.
|
||
|
||
2022-03-21 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
|
||
Update flag name and mask name.
|
||
* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
|
||
misc macro for vector extensions.
|
||
* config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
|
||
(MASK_VECTOR_ELEN_32): ... this.
|
||
(MASK_VECTOR_EEW_64): Rename to ...
|
||
(MASK_VECTOR_ELEN_64): ... this.
|
||
(MASK_VECTOR_EEW_FP_32): Rename to ...
|
||
(MASK_VECTOR_ELEN_FP_32): ... this.
|
||
(MASK_VECTOR_EEW_FP_64): Rename to ...
|
||
(MASK_VECTOR_ELEN_FP_64): ... this.
|
||
(TARGET_VECTOR_ELEN_32): New.
|
||
(TARGET_VECTOR_ELEN_64): Ditto.
|
||
(TARGET_VECTOR_ELEN_FP_32): Ditto.
|
||
(TARGET_VECTOR_ELEN_FP_64): Ditto.
|
||
(TARGET_MIN_VLEN): Ditto.
|
||
* config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
|
||
(riscv_vector_elen_flags): ... this.
|
||
|
||
2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
PR target/104977
|
||
* config/i386/sse.md
|
||
(avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
|
||
Correct round operand for intel dialect.
|
||
|
||
2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
|
||
|
||
* diagnostic.cc (diagnostic_cc_tests): Rename to...
|
||
(c_diagnostic_cc_tests): ...this.
|
||
* opt-problem.cc (opt_problem_cc_tests): Rename to...
|
||
(c_opt_problem_cc_tests): ...this.
|
||
* selftest-run-tests.cc (selftest::run_tests): No longer run
|
||
opt_problem_cc_tests or diagnostic_cc_tests.
|
||
* selftest.h (diagnostic_cc_tests): Remove declaration.
|
||
(opt_problem_cc_tests): Likewise.
|
||
|
||
2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
|
||
|
||
PR jit/63854
|
||
* hash-traits.h (struct typed_const_free_remove): New.
|
||
(struct free_string_hash): New.
|
||
* pass_manager.h: Use free_string_hash.
|
||
* passes.cc (pass_manager::register_pass_name): Use free_string_hash.
|
||
(pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
|
||
|
||
2022-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104971
|
||
* config/i386/i386-expand.cc
|
||
(ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
|
||
don't push/pop anything and just return const0_rtx.
|
||
|
||
2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/104961
|
||
* lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
|
||
|
||
2022-03-18 Jason Merrill <jason@redhat.com>
|
||
|
||
* tree.h (IDENTIFIER_LENGTH): Add comment.
|
||
|
||
2022-03-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/99578
|
||
PR middle-end/100680
|
||
PR tree-optimization/100834
|
||
* params.opt (--param=min-pagesize=): New parameter.
|
||
* pointer-query.cc
|
||
(compute_objsize_r) <case ARRAY_REF>: Formatting fix.
|
||
(compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
|
||
of zero for pointer constants equal or larger than min-pagesize.
|
||
|
||
2022-03-18 Tom de Vries <tdevries@suse.de>
|
||
|
||
* gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
|
||
Set gfor location only when dealing with a OMP_TASKLOOP.
|
||
|
||
2022-03-18 Tom de Vries <tdevries@suse.de>
|
||
|
||
* gimplify.cc (gimplify_omp_for): Set taskloop location.
|
||
|
||
2022-03-18 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104952
|
||
* omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
|
||
is executed unconditionally.
|
||
|
||
2022-03-18 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104974
|
||
* config/i386/i386.md (*movhi_internal): Set attr type from HI
|
||
to HF for alternative 12 under TARGET_AVX512FP16.
|
||
|
||
2022-03-18 Cui,Lili <lili.cui@intel.com>
|
||
|
||
PR target/104963
|
||
* config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
|
||
* doc/invoke.texi: Update documents for Intel sapphirerapids.
|
||
|
||
2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/86722
|
||
PR tree-optimization/90356
|
||
* config/i386/i386.md (*movtf_internal): Don't guard
|
||
standard_sse_constant_p clause by optimize_function_for_size_p.
|
||
(*movdf_internal): Likewise.
|
||
(*movsf_internal): Likewise.
|
||
|
||
2022-03-17 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/102943
|
||
* gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
|
||
dominators and apply intermediary outgoing edge ranges.
|
||
|
||
2022-03-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104960
|
||
* passes.def: Add pass parameter to pass_sink_code, mark
|
||
last one to unsplit edges.
|
||
* tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
|
||
(pass_sink_code::execute): Always execute TODO_cleanup_cfg
|
||
when we need to unsplit edges.
|
||
|
||
2022-03-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/103984
|
||
* gimplify.cc (gimplify_target_expr): Gimplify type sizes and
|
||
TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
|
||
and asan unpoisioning, then append the temporary sequence and
|
||
finally the TARGET_EXPR_CLEANUP clobbers.
|
||
|
||
2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/sse.md: Delete corrupt character/typo.
|
||
|
||
2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/94680
|
||
* config/i386/sse.md (sse2_movq128): New define_expand to
|
||
preserve previous named instruction.
|
||
(*sse2_movq128_<mode>): Renamed from sse2_movq128, and
|
||
generalized to VI8F_128 (both V2DI and V2DF).
|
||
|
||
2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR tree-optimization/104941
|
||
* tree-object-size.cc (size_for_offset): Make useless conversion
|
||
check lighter and assign result of fold_convert to OFFSET.
|
||
|
||
2022-03-16 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/104890
|
||
* config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
|
||
pushing target("general-regs-only").
|
||
|
||
2022-03-16 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* common/config/riscv/riscv-common.cc (riscv_ext_version_table):
|
||
Add version info for zk, zks and zkn.
|
||
|
||
2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
|
||
|
||
* common/config/riscv/riscv-common.cc
|
||
(riscv_combine_info): New.
|
||
(riscv_subset_list::handle_combine_ext): Combine back into zk to
|
||
maintain the canonical order in isa strings.
|
||
(riscv_subset_list::parse): Ditto.
|
||
* config/riscv/riscv-subset.h (handle_combine_ext): New.
|
||
|
||
2022-03-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/102008
|
||
* passes.def: Move the added code sinking pass before the
|
||
preceeding phiopt pass.
|
||
|
||
2022-03-16 Patrick Palka <ppalka@redhat.com>
|
||
|
||
PR c++/96780
|
||
* doc/invoke.texi (C++ Dialect Options): Document
|
||
-ffold-simple-inlines.
|
||
|
||
2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR tree-optimization/104942
|
||
* tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
|
||
|
||
2022-03-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104910
|
||
* config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
|
||
imm rtx.
|
||
|
||
2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-match-head.cc (single_use): Implement inline using a
|
||
single loop.
|
||
|
||
2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
|
||
instead of HONOR_NANS.
|
||
(X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
|
||
this can't trap/signal.
|
||
|
||
2022-03-16 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104946
|
||
* config/i386/i386-builtin.def (BDESC): Add
|
||
CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
|
||
* config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
|
||
__builtin_ia32_blendvpd w/o sse4.2
|
||
|
||
2022-03-15 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR target/104923
|
||
* config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
|
||
acceptable MEM addresses.
|
||
|
||
2022-03-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/91229
|
||
* config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
|
||
riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
|
||
to warning calls.
|
||
|
||
2022-03-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104890
|
||
* config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
|
||
instead of general-regs-only.
|
||
|
||
2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
|
||
Marc Glisse <marc.glisse@inria.fr>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/101895
|
||
* match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
|
||
(plus (vec_perm (mult ...) ...) ...): New reordering simplification.
|
||
|
||
2022-03-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/104814
|
||
* ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
|
||
end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
|
||
|
||
2022-03-15 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/104436
|
||
* gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
|
||
Check for warning suppression. Avoid by-value arguments transformed
|
||
into by-transparent-reference.
|
||
|
||
2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
|
||
Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
|
||
transformation when *zero_extend<mode>si2 is not available.
|
||
|
||
2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
* config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
|
||
* config/mips/mips.cc (mips_option_override): Make
|
||
-fsanitize=address imply -fasynchronous-unwind-tables. This is
|
||
needed by libasan for stack backtrace on MIPS.
|
||
(mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
|
||
|
||
2022-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/104778
|
||
* lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
|
||
SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
|
||
call simplified the first operand into VOIDmode constant.
|
||
|
||
2022-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/102586
|
||
* doc/extend.texi (__builtin_clear_padding): Clearify that for C++
|
||
argument type should be pointer to trivially-copyable type unless it
|
||
is address of a variable or parameter.
|
||
|
||
2022-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/99754
|
||
* config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
|
||
first rather than last element of the vector, use __m32_u to do
|
||
a really unaligned load, use just 0 instead of (int)0.
|
||
(_mm_loadu_si16): Put loaded value into first rather than last
|
||
element of the vector, use __m16_u to do a really unaligned load,
|
||
use just 0 instead of (short)0.
|
||
|
||
2022-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/104899
|
||
* config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
|
||
in diagnostic message - cannott -> cannot. Use %< and %> around
|
||
names of attribute. Avoid too long line.
|
||
* range-op.cc (operator_logical_and::op1_range): Fix up a typo
|
||
in comment - cannott -> cannot. Use 2 spaces after . instead of one.
|
||
|
||
2022-03-14 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104666
|
||
* config/i386/i386-expand.cc
|
||
(ix86_check_builtin_isa_match): New func.
|
||
(ix86_expand_builtin): Move code to
|
||
ix86_check_builtin_isa_match and call it.
|
||
* config/i386/i386-protos.h
|
||
(ix86_check_builtin_isa_match): Declare.
|
||
* config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
|
||
builtin into gimple when isa mismatches.
|
||
|
||
2022-03-13 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* doc/invoke.texi: Fix typos.
|
||
* doc/tm.texi.in: Remove duplicated word.
|
||
* doc/tm.texi: Regenerate.
|
||
|
||
2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/104829
|
||
* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
|
||
"ppc" and "ppc64" based on rs6000_cpu.
|
||
|
||
2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR middle-end/100280
|
||
PR middle-end/104892
|
||
* omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
|
||
Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
|
||
|
||
2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR middle-end/100280
|
||
PR middle-end/104086
|
||
* omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
|
||
Mark variables used in 'present' clauses as addressable.
|
||
* omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
|
||
handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
|
||
|
||
2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR other/65095
|
||
* tree-core.h (user_omp_claus_code_name): Declare function.
|
||
* tree.cc (user_omp_clause_code_name): New function.
|
||
|
||
2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR middle-end/98420
|
||
* match.pd (minus @0 @0): Additional checks for -fno-rounding-math
|
||
(the defaut) or -fno-signed-zeros.
|
||
|
||
2022-03-12 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
PR target/104868
|
||
* config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
|
||
moving from a GPR register to an Altivec register.
|
||
|
||
2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR tree-optimization/98335
|
||
* config/i386/i386.md (peephole2): Eliminate redundant insv.
|
||
Combine movl followed by movb. Transform xorl followed by
|
||
a suitable movb or movw into the equivalent movz[bw]l.
|
||
|
||
2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/98335
|
||
* builtins.cc (get_object_alignment_2): Export.
|
||
* builtins.h (get_object_alignment_2): Likewise.
|
||
* tree-ssa-alias.cc (ao_ref_alignment): New.
|
||
* tree-ssa-alias.h (ao_ref_alignment): Declare.
|
||
* tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
|
||
to align head/tail, writing more bytes but using fewer store insns.
|
||
|
||
2022-03-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104880
|
||
* tree-ssa.cc (execute_update_address_taken): Remember if we
|
||
optimistically made something not addressable and
|
||
prepare to undo it.
|
||
|
||
2022-03-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/104762
|
||
* config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
|
||
cost the first lane of SSE pieces as inserts for vec_construct.
|
||
|
||
2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR c++/84964
|
||
* calls.cc (expand_call): Ignore stack adjustments after sorry.
|
||
|
||
2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/103074
|
||
* lra-constraints.cc (split_reg): Set up
|
||
check_and_force_assignment_correctness_p when splitting hard
|
||
register live range.
|
||
|
||
2022-03-10 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/104813
|
||
* ipa-cp.cc (create_specialized_node): Move removal of
|
||
self-recursive calls from callers vector before refrence
|
||
adjustments.
|
||
|
||
2022-03-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/102943
|
||
* gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
|
||
Make a bitmap_head.
|
||
(sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
|
||
to tree view.
|
||
(sbr_sparse_bitmap::set_bb_range): Adjust.
|
||
(sbr_sparse_bitmap::get_bb_range): Likewise.
|
||
|
||
2022-03-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/102943
|
||
* tree-ssa-dom.cc (back_propagate_equivalences): Only
|
||
populate the dominance bitmap if fast queries are not
|
||
available. Use a tree view bitmap.
|
||
(record_temporary_equivalences): Cache the dominance bitmap
|
||
across all equivalences on the edge.
|
||
|
||
2022-03-10 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104840
|
||
* config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
|
||
of false,true.
|
||
|
||
2022-03-10 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104783
|
||
* config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
|
||
(nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
|
||
(nvptx_get_unisimt_outside_simt_predicate): New function.
|
||
(predicate_insn): New function, factored out of ...
|
||
(nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
|
||
* config/nvptx/nvptx.h (struct machine_function): Add
|
||
unisimt_outside_simt_predicate field.
|
||
* config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
|
||
(define_insn "nvptx_uniform_warp_check"): Make predicable.
|
||
|
||
2022-03-10 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
|
||
result.
|
||
|
||
2022-03-10 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104815
|
||
* config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
|
||
modifier.
|
||
* config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
|
||
|
||
2022-03-10 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
|
||
Emit atom.and.b64 instead of atom.b64.and.
|
||
|
||
2022-03-10 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
|
||
(MULTILIB_OPTIONS): ... here.
|
||
|
||
2022-03-10 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104758
|
||
* config/nvptx/nvptx.opt (misa): Set default to sm_30.
|
||
* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
|
||
|
||
2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR middle-end/90115
|
||
PR middle-end/102330
|
||
PR middle-end/104774
|
||
* omp-low.cc (oacc_privatization_candidate_p)
|
||
(oacc_privatization_scan_clause_chain)
|
||
(oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
|
||
Analyze 'lookup_decl'-translated DECL.
|
||
|
||
2022-03-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/99708
|
||
* config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
|
||
RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
|
||
(ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
|
||
* config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
|
||
"**NULL**" if type_node is NULL first. Handle
|
||
ieee128_float_type_node.
|
||
(rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
|
||
and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
|
||
ieee128_float_type_node to NULL rather than long_double_type_node if
|
||
they aren't supported. Do support __ibm128 even if
|
||
!TARGET_FLOAT128_TYPE when long double is double double.
|
||
(rs6000_expand_builtin): Error if bif_is_ibm128 and
|
||
!ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
|
||
RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
|
||
for it.
|
||
* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
|
||
__SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
|
||
(rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
|
||
Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
|
||
Formatting fix.
|
||
* config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
|
||
(struct attrinfo): Add isibm128 member.
|
||
(TYPE_MAP_SIZE): Remove.
|
||
(type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
|
||
ibm128_float_type_node only if it is non-NULL, otherwise fall back
|
||
to long_double_type_node. Remove "pif" entry.
|
||
(parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
|
||
(write_decls): Output bif_ibm128_bit and bif_is_ibm128.
|
||
(write_type_node): Use sizeof type_map / sizeof type_map[0]
|
||
instead of TYPE_MAP_SIZE.
|
||
(write_bif_static_init): Handle isibm128.
|
||
* config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
|
||
(__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
|
||
attribute.
|
||
|
||
2022-03-09 Richard Biener <rguenther@suse.de>
|
||
|
||
* cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
|
||
with non-decl operand, avoiding a copy.
|
||
|
||
2022-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104781
|
||
* config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
|
||
|
||
2022-03-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/104786
|
||
* cfgexpand.cc (expand_asm_stmt): Do not generate a copy
|
||
for VLAs without an upper size bound.
|
||
|
||
2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
PR tree-optimization/104851
|
||
* optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
|
||
error.
|
||
|
||
2022-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/104711
|
||
* doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
|
||
is enabled by it only for C++11 to C++17 rather than for C++03 or
|
||
later.
|
||
(-Wshift-negative-value): Similarly (except here we stated
|
||
that it is enabled for C++11 or later).
|
||
|
||
2022-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/104839
|
||
* simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
|
||
Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
|
||
(simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
|
||
instead of incorrect 0 in SUBREG_PROMOTED_SET.
|
||
|
||
2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
PR target/104842
|
||
* config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
|
||
value before adding an offset.
|
||
|
||
2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
* config/arm/arm-builtins.cc
|
||
(arm_binop_none_none_unone_qualifiers): Delete.
|
||
(BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
|
||
|
||
2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR translation/104552
|
||
* config/host-darwin.cc (darwin_gt_pch_get_address): Amend
|
||
the PCH out of memory error message punctuation and wording.
|
||
|
||
2022-03-08 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR rtl-optimization/104777
|
||
* rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
|
||
ASM_OPERANDS_LABEL_VEC has at least one element.
|
||
|
||
2022-03-08 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/104781
|
||
* config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
|
||
stack realignment or regparm nested function with EH return.
|
||
|
||
2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
PR target/104790
|
||
* config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
|
||
* config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
|
||
register for non widening loads or narrowing stores.
|
||
|
||
2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
|
||
|
||
PR translation/104552
|
||
* params.opt: Fix typo.
|
||
|
||
2022-03-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/84201
|
||
* params.opt (-param=vect-induction-float): Add.
|
||
* doc/invoke.texi (vect-induction-float): Document.
|
||
* tree-vect-loop.cc (vectorizable_induction): Honor
|
||
param_vect_induction_float.
|
||
|
||
2022-03-08 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR translation/104552
|
||
* params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
|
||
"that" in the description.
|
||
|
||
2022-03-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104825
|
||
* tree-ssa-sccvn.cc (visit_reference_op_call): Properly
|
||
guard modref get_ao_ref on a pointer typed argument.
|
||
|
||
2022-03-08 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* config/i386/sse.md (*vec_dupv4si): Disable memory operand
|
||
for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
|
||
|
||
2022-03-07 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (C++ Modules): Remove anachronism.
|
||
|
||
2022-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR middle-end/104381
|
||
* opts.cc (finish_options): If debug info is disabled
|
||
(debug_info_level) and -fvar-tracking is unset, disable it.
|
||
|
||
2022-03-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
|
||
* config/riscv/riscv.cc: Likewise.
|
||
* config/darwin.h: Likewise.
|
||
* config/i386/i386.cc: Likewise.
|
||
* config/aarch64/thunderx3t110.md: Likewise.
|
||
* config/aarch64/fractional-cost.h: Likewise.
|
||
* config/vax/vax.cc: Likewise.
|
||
* config/rs6000/pcrel-opt.md: Likewise.
|
||
* config/rs6000/predicates.md: Likewise.
|
||
* ctfc.h: Likewise.
|
||
* tree-ssa-uninit.cc: Likewise.
|
||
* value-relation.h: Likewise.
|
||
* gimple-range-gori.cc: Likewise.
|
||
* ipa-polymorphic-call.cc: Likewise.
|
||
* pointer-query.cc: Likewise.
|
||
* ipa-sra.cc: Likewise.
|
||
* internal-fn.cc: Likewise.
|
||
* varasm.cc: Likewise.
|
||
* gimple-ssa-warn-access.cc: Likewise.
|
||
|
||
2022-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/104794
|
||
* config/arm/arm.cc (arm_option_override_internal): Add missing
|
||
space.
|
||
|
||
2022-03-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104782
|
||
* tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
|
||
Re-instantiate r10-5979 fix, add comment.
|
||
|
||
2022-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/104797
|
||
* config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
|
||
parenthesis from built-in name.
|
||
|
||
2022-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/104794
|
||
* config/arm/arm.cc (arm_option_override_internal): Fix quoting
|
||
of options in error messages.
|
||
(arm_option_reconfigure_globals): Likewise.
|
||
|
||
2022-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/104794
|
||
* config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
|
||
message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
|
||
have only range [0,32].
|
||
|
||
2022-03-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104775
|
||
* config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
|
||
S constraint instead of T in the last alternative.
|
||
|
||
2022-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
* plugin.cc (default_plugin_dir_name): Remove <dir> from error
|
||
message.
|
||
|
||
2022-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR translation/90148
|
||
* config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
|
||
quote to a proper place.
|
||
* plugin.cc (default_plugin_dir_name): Likewise.
|
||
|
||
2022-03-07 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/99297
|
||
* config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
|
||
string.
|
||
|
||
2022-03-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104779
|
||
* config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
|
||
define_expand pattern. Rename define_insn to ...
|
||
(*avx512dq_mul<mode>3<mask_name>): ... this.
|
||
(<code><mode>3_mask): New any_logic define_expand pattern.
|
||
(<mask_codefor><code><mode>3<mask_name>): Rename to ...
|
||
(*<code><mode>3<mask_name>): ... this.
|
||
|
||
2022-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
|
||
visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
|
||
|
||
2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
|
||
Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR testsuite/104732
|
||
* config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
|
||
Include DI mode unconditionally.
|
||
(*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
|
||
i.e. always split on !TARGET_64BIT.
|
||
(*<any_or>di3_doubleword): Likewise.
|
||
(*one_cmpldi2_doubleword): Likewise.
|
||
(and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
|
||
(<any_or><mode>3 expander): Likewise.
|
||
(one_cmpl<mode>2 expander): Likewise.
|
||
|
||
2022-03-05 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
PR target/104698
|
||
* config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
|
||
(mtvsrdd_diti_w1): Delete.
|
||
(extendditi2): Convert from define_expand to
|
||
define_insn_and_split. Replace with code to deal with both GPR
|
||
registers and with altivec registers.
|
||
|
||
2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
|
||
bit. Handle most older CPUs.
|
||
|
||
2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/darwin.cc (darwin_fold_builtin): Make fcode an int to
|
||
avoid a mismatch with DECL_MD_FUNCTION_CODE().
|
||
|
||
2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR target/104117
|
||
* config/rs6000/darwin.md (@machopic_high_<mode>): New.
|
||
(@machopic_low_<mode>): New.
|
||
* config/rs6000/predicates.md (macho_pic_address): New.
|
||
* config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
|
||
apply the TLS processing to Darwin.
|
||
* lra-constraints.cc (process_address_1): Revert the changes
|
||
in r12-7209.
|
||
|
||
2022-03-04 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR target/87496
|
||
PR target/104208
|
||
* config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
|
||
ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
|
||
-mlong-double-128.
|
||
Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
|
||
from here...
|
||
* common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
|
||
... to here.
|
||
|
||
2022-03-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104529
|
||
* gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
|
||
on automatic objects which will be runtime initialized.
|
||
|
||
2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR middle-end/100280
|
||
PR middle-end/104132
|
||
PR middle-end/104133
|
||
* omp-low.cc (task_shared_vars): Rename to
|
||
'make_addressable_vars'. Adjust all users.
|
||
(scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
|
||
'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
|
||
|
||
2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR middle-end/100280
|
||
* tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
|
||
* tree-core.h: Document it.
|
||
* omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
|
||
'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
|
||
* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
|
||
Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
|
||
'TREE_ADDRESSABLE'.
|
||
|
||
2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR middle-end/100280
|
||
* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
|
||
Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
|
||
'[...]' declared in block made addressable".
|
||
|
||
2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR middle-end/100400
|
||
PR middle-end/103836
|
||
PR middle-end/104061
|
||
* omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
|
||
Catch 'GIMPLE_DEBUG'.
|
||
|
||
2022-03-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/104627
|
||
* tree.cc (warn_deprecated_use): For types prefer to use node
|
||
and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
|
||
NULL.
|
||
|
||
2022-03-04 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/104704
|
||
* config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
|
||
a pseudo register.
|
||
|
||
2022-03-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/104761
|
||
* gimple-ssa-warn-access.cc (pass_waccess::execute): Call
|
||
mark_dfs_back_edges.
|
||
|
||
2022-03-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* configure.ac: Use linker plug-in by default.
|
||
* configure: Regenerate.
|
||
|
||
2022-03-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* configure.ac: Now ld.mold support LTO plugin API, use it.
|
||
* configure: Regenerate.
|
||
|
||
2022-03-03 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
|
||
|
||
2022-03-03 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104758
|
||
* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
|
||
|
||
2022-03-03 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
|
||
|
||
2022-03-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104757
|
||
* gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
|
||
gimplify_omp_for.
|
||
(gimplify_expr) <case OMP_SIMD>: Temporarily disable
|
||
gimplify_ctxp->into_ssa around call to gimplify_omp_for.
|
||
|
||
2022-03-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104558
|
||
* calls.cc (store_one_arg): When not calling emit_push_insn
|
||
because size_rtx is const0_rtx, call at least anti_adjust_stack
|
||
on arg->locate.alignment_pad if !argblock and the alignment might
|
||
be non-zero.
|
||
|
||
2022-03-02 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* lra-constraints.cc (undo_optional_reloads): Recognize and
|
||
drop insns of multi-word move sequences, tolerate removal
|
||
iteration on an already-removed clobber, and refuse to
|
||
substitute original pseudos into clobbers.
|
||
|
||
2022-03-02 Qing Zhao <qing.zhao@oracle.com>
|
||
|
||
PR middle-end/102276
|
||
* common.opt (-Wtrivial-auto-var-init): New option.
|
||
* doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
|
||
(-ftrivial-auto-var-init): Update option;
|
||
* gimplify.cc (emit_warn_switch_unreachable): New function.
|
||
(warn_switch_unreachable_r): Rename to ...
|
||
(warn_switch_unreachable_and_auto_init_r): This.
|
||
(maybe_warn_switch_unreachable): Rename to ...
|
||
(maybe_warn_switch_unreachable_and_auto_init): This.
|
||
(gimplify_switch_expr): Update calls to renamed function.
|
||
|
||
2022-03-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/104686
|
||
* ira-color.cc (object_conflicts_with_allocno_p): New function
|
||
using a bitvector test instead of iterating when possible.
|
||
(allocnos_conflict_p): Choose the best allocno to iterate over
|
||
object conflicts.
|
||
(update_conflict_hard_regno_costs): Do allocnos_conflict_p test
|
||
last.
|
||
|
||
2022-03-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cfg.cc (dump_edge_info): Dump goto_locus if present.
|
||
|
||
2022-03-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/104589
|
||
* cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
|
||
INSN_LOCATION comparison with goto_locus.
|
||
|
||
2022-03-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-ssa-strlen.cc (strlen_pass::handle_assign,
|
||
strlen_pass::before_dom_children): Comment spelling fixes.
|
||
|
||
2022-03-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* ipa-modref-tree.cc (modref_access_node::contains,
|
||
modref_access_node::closer_pair_p, modref_access_node::insert,
|
||
modref_access_node::insert_kill): Comment spelling fixes.
|
||
* ipa-modref.cc: Likewise.
|
||
(modref_summary::finalize, ignore_nondeterminism_p,
|
||
class modref_access_analysis,
|
||
modref_access_analysis::set_side_effects,
|
||
modref_access_analysis::set_nondeterministic,
|
||
modref_access_analysis::record_global_memory_load,
|
||
modref_access_analysis::propagate, modref_access_analysis::analyze,
|
||
struct escape_point, class modref_lattice, modref_lattice::merge,
|
||
modref_lattice::merge_deref, class modref_eaf_analysis,
|
||
modref_eaf_analysis::merge_call_lhs_flags,
|
||
modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
|
||
modref_eaf_analysis::record_escape_points, remap_kills,
|
||
update_escape_summary, remove_useless_summaries,
|
||
ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
|
||
Likewise.
|
||
* ipa-modref.h (struct modref_summary, interposable_eaf_flags):
|
||
Likewise.
|
||
* ipa-modref-tree.h (enum modref_special_parms,
|
||
struct modref_access_node): Likewise.
|
||
|
||
2022-03-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104715
|
||
* gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
|
||
unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
|
||
of a call if gimple_call_return_arg is equal to ptr, not just when it
|
||
is non-NULL.
|
||
|
||
2022-03-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gimple-ssa-warn-access.cc (warn_string_no_nul,
|
||
maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
|
||
matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
|
||
pass_waccess::check_alloca, pass_waccess::check_strcat,
|
||
memmodel_to_uhwi, fntype_argno_type,
|
||
pass_waccess::maybe_check_access_sizes,
|
||
pass_waccess::check_call_access,
|
||
pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
|
||
Comment spelling fixes.
|
||
|
||
2022-03-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104716
|
||
* tree-loop-distribution.cc (find_seed_stmts_for_distribution):
|
||
Check if we can copy the loop.
|
||
|
||
2022-03-01 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR middle-end/104721
|
||
* cfgexpand.cc (expand_gimple_basic_block): Clear
|
||
currently_expanding_gimple_stmt when returning inside the loop.
|
||
|
||
2022-03-01 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/104533
|
||
* multiple_target.cc (get_attr_len): Move to tree.c.
|
||
(expand_target_clones): Remove single value checking.
|
||
* tree.cc (get_target_clone_attr_len): New fn.
|
||
* tree.h (get_target_clone_attr_len): Likewise.
|
||
|
||
2022-03-01 Martin Liska <mliska@suse.cz>
|
||
|
||
PR gcov-profile/104677
|
||
* doc/invoke.texi: Document more .gcda file name generation.
|
||
|
||
2022-03-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/102429
|
||
* config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
|
||
* config/nvptx/nvptx.md
|
||
(define_predicate "nvptx_register_or_complex_di_df_register_operand"):
|
||
New predicate.
|
||
(define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
|
||
Use nvptx_register_or_complex_di_df_register_operand.
|
||
|
||
2022-03-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
|
||
* config/nvptx/gen-copyright.sh: New file.
|
||
* config/nvptx/gen-h.sh: New file.
|
||
* config/nvptx/gen-opt.sh: New file.
|
||
* config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
|
||
(TARGET_SM75, TARGET_SM80): Move ...
|
||
* config/nvptx/nvptx-gen.h: ... here. New file, generate.
|
||
* config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
|
||
* config/nvptx/nvptx-gen.opt: ... here. New file, generate.
|
||
* config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
|
||
($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
|
||
|
||
2022-03-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/gen-omp-device-properties.sh: New file.
|
||
* config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
|
||
|
||
2022-03-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx-sm.def: New file.
|
||
* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
|
||
* config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
|
||
* config/nvptx/nvptx.cc (sm_version_to_string)
|
||
(nvptx_omp_device_kind_arch_isa): Same.
|
||
|
||
2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
PR rtl-optimization/104154
|
||
* config/arc/arc.cc (gen_compare_reg): Return the CC-mode
|
||
comparison ifcvt passed us.
|
||
|
||
2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
PR target/104664
|
||
* config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
|
||
Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
|
||
|
||
2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR tree-optimization/91384
|
||
* config/i386/i386.md (peephole2): Eliminate final testl insn
|
||
from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
|
||
transforming using *negsi_2 for the negation.
|
||
|
||
2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR middle-end/80270
|
||
* expmed.cc (extract_integral_bit_field): If OP0 is a hard
|
||
register, copy it to a pseudo before calling simplify_gen_subreg.
|
||
|
||
2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/104637
|
||
* lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
|
||
as possible on one subpass.
|
||
|
||
2022-02-28 Qing Zhao <qing.zhao@oracle.com>
|
||
|
||
PR middle-end/104550
|
||
* gimple-fold.cc (clear_padding_flush): Suppress warnings for new
|
||
created uses.
|
||
|
||
2022-02-28 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/104648
|
||
* main.cc (main): Use flag_checking instead of CHECKING_P
|
||
and run toplev::finalize only if there is not error seen.
|
||
|
||
2022-02-28 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-pre.cc (compute_avail): Revert part of last change.
|
||
|
||
2022-02-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104700
|
||
* tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
|
||
into ...
|
||
(find_or_generate_expression): ... here, simplifying code.
|
||
|
||
2022-02-28 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx-opts.h (enum ptx_version): Add
|
||
PTX_VERSION_default.
|
||
* config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
|
||
PTX_VERSION_default.
|
||
* config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
|
||
|
||
2022-02-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/104686
|
||
* ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
|
||
skipping bits that are zero.
|
||
(ira_object_conflict_iter_cond): Likewise.
|
||
|
||
2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
* config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
|
||
(_mm512_ternarylogic_epi64): Truncate imm to unsigned
|
||
char to avoid error when using ~enum as parameter.
|
||
(_mm512_mask_ternarylogic_epi64): Likewise.
|
||
(_mm512_maskz_ternarylogic_epi64): Likewise.
|
||
(_mm512_ternarylogic_epi32): Likewise.
|
||
(_mm512_mask_ternarylogic_epi32): Likewise.
|
||
(_mm512_maskz_ternarylogic_epi32): Likewise.
|
||
* config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
|
||
Adjust imm param type to unsigned char.
|
||
(_mm256_mask_ternarylogic_epi64): Likewise.
|
||
(_mm256_maskz_ternarylogic_epi64): Likewise.
|
||
(_mm256_ternarylogic_epi32): Likewise.
|
||
(_mm256_mask_ternarylogic_epi32): Likewise.
|
||
(_mm256_maskz_ternarylogic_epi32): Likewise.
|
||
(_mm_ternarylogic_epi64): Likewise.
|
||
(_mm_mask_ternarylogic_epi64): Likewise.
|
||
(_mm_maskz_ternarylogic_epi64): Likewise.
|
||
(_mm_ternarylogic_epi32): Likewise.
|
||
(_mm_mask_ternarylogic_epi32): Likewise.
|
||
(_mm_maskz_ternarylogic_epi32): Likewise.
|
||
|
||
2022-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR tree-optimization/104675
|
||
* match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
|
||
Restrict simplifications to INTEGRAL_TYPE_P.
|
||
|
||
2022-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104681
|
||
* config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
|
||
|
||
2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
|
||
comparison is not valid.
|
||
* config/arc/arc.md (movsicc): Fail if comparison is not valid.
|
||
(movdicc): Likewise.
|
||
(movsfcc): Likewise.
|
||
(movdfcc): Likewise.
|
||
|
||
2022-02-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103037
|
||
* tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
|
||
(vn_nary_length_from_stmt): Likewise.
|
||
(init_vn_nary_op_from_stmt): Likewise.
|
||
(vn_nary_op_compute_hash): Likewise.
|
||
* tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
|
||
(vn_nary_length_from_stmt): Likewise.
|
||
(init_vn_nary_op_from_stmt): Likewise.
|
||
(vn_nary_op_compute_hash): Likewise.
|
||
* tree-ssa-pre.cc (pre_expr_obstack): New obstack.
|
||
(get_or_alloc_expr_for_nary): Pass in the value-id to use,
|
||
(re-)compute the hash value and if the expression is not
|
||
found allocate it from pre_expr_obstack.
|
||
(phi_translate_1): Do not insert the NARY found in the
|
||
VN tables but build a PRE expression from the valueized
|
||
NARY with the value-id we eventually found.
|
||
(find_or_generate_expression): Assert we have an entry
|
||
for constant values.
|
||
(compute_avail): Insert not valueized expressions into
|
||
EXP_GEN using the value-id from the VN tables.
|
||
(init_pre): Allocate pre_expr_obstack.
|
||
(fini_pre): Free pre_expr_obstack.
|
||
|
||
2022-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104674
|
||
* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
|
||
* config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
|
||
SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
|
||
|
||
2022-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* warning-control.cc (get_nowarn_spec): Comment spelling fix.
|
||
|
||
2022-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104679
|
||
* internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
|
||
|
||
2022-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104675
|
||
* match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
|
||
COMPLEX_TYPE.
|
||
|
||
2022-02-25 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
PR target/104121
|
||
PR target/103302
|
||
* expr.cc (emit_move_multi_word): Restore clobbers during LRA.
|
||
|
||
2022-02-25 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
PR middle-end/104540
|
||
* dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
|
||
dw_cfi_cfa_loc.
|
||
|
||
2022-02-25 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
PR tree-optimization/103856
|
||
* gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
|
||
eh edge to be requested through an extra parameter.
|
||
(pass_harden_compares::execute): Copy PHI args in the EH dest
|
||
block for the new EH edge added for the inverted compare.
|
||
|
||
2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
|
||
|
||
* doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
|
||
of position independence that -mcmodel=medany affords.
|
||
|
||
2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
PR target/104656
|
||
* configure.ac: --disable-gcov if targetting bpf-*.
|
||
* configure: Regenerate.
|
||
|
||
2022-02-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104676
|
||
* tree-loop-distribution.cc (loop_distribution::execute):
|
||
Do a full scev_reset.
|
||
|
||
2022-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104601
|
||
* tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
|
||
non-SSA_NAME lhs value number vdef to itself instead of e.g. the
|
||
vuse value number.
|
||
|
||
2022-02-24 Tom de Vries <tdevries@suse.de>
|
||
Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
|
||
sm_70, sm_75 and sm_80.
|
||
* config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
|
||
|
||
2022-02-24 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
|
||
"rotrsi3"): New define_insn.
|
||
|
||
2022-02-24 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (gen_comment): Use
|
||
DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
|
||
|
||
2022-02-24 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* config/i386/sse.md (<code>v1ti3): Add suffix and replace
|
||
isa attr of alternative 2 from avx to avx512vl.
|
||
|
||
2022-02-23 Richard Biener <rguenther@suse.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104644
|
||
* doc/match-and-simplify.texi: Amend ! documentation.
|
||
* genmatch.cc (expr::gen_transform): Code-generate ! support
|
||
for GENERIC.
|
||
(parser::parse_expr): Allow ! for GENERIC.
|
||
* match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
|
||
bswap.
|
||
|
||
2022-02-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/101636
|
||
* tree-vect-slp.cc (vect_print_slp_tree): Dump the
|
||
vector type of the node.
|
||
(vect_slp_analyze_operations): Make sure the CTOR
|
||
is vectorized with an expected type.
|
||
(vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
|
||
|
||
2022-02-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/104633
|
||
* gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
|
||
Don't warn about calls to corresponding builtin from extern inline
|
||
gnu_inline wrappers.
|
||
|
||
2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/104489
|
||
* config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
|
||
|
||
2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
PR target/100757
|
||
PR target/101325
|
||
* config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
|
||
typo.
|
||
|
||
2022-02-23 Cui,Lili <lili.cui@intel.com>
|
||
|
||
* doc/invoke.texi: Update documents for Intel architectures.
|
||
|
||
2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
|
||
bootstrap.
|
||
|
||
2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* omp-low.cc (omp_build_component_ref): Move function...
|
||
* omp-general.cc (omp_build_component_ref): ... here. Remove
|
||
'static'.
|
||
* omp-general.h (omp_build_component_ref): Declare function.
|
||
* omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
|
||
function.
|
||
(build_receiver_ref, build_sender_ref): Call
|
||
'omp_build_component_ref' instead.
|
||
|
||
2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
|
||
simplify. Adjust all users.
|
||
|
||
2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/88134
|
||
* config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
|
||
atomic_update_decl): Add GTY markup.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
* config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
PR target/100757
|
||
PR target/101325
|
||
* config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
|
||
predicate.
|
||
(CX_BINARY_UNONE_QUALIFIERS): Likewise.
|
||
(CX_TERNARY_UNONE_QUALIFIERS): Likewise.
|
||
(TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
|
||
(QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
|
||
(QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
|
||
* config/arm/arm_mve_builtins.def: Use predicated qualifiers.
|
||
* config/arm/mve.md: Use VxBI instead of HI.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
PR target/100757
|
||
PR target/101325
|
||
* config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
|
||
qualifier.
|
||
(STRSBU_P_QUALIFIERS): Likewise.
|
||
(LDRGBS_Z_QUALIFIERS): Likewise.
|
||
(LDRGBU_Z_QUALIFIERS): Likewise.
|
||
(LDRGBWBXU_Z_QUALIFIERS): Likewise.
|
||
(LDRGBWBS_Z_QUALIFIERS): Likewise.
|
||
(LDRGBWBU_Z_QUALIFIERS): Likewise.
|
||
(STRSBWBS_P_QUALIFIERS): Likewise.
|
||
(STRSBWBU_P_QUALIFIERS): Likewise.
|
||
* config/arm/mve.md: Use VxBI instead of HI.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
PR target/100757
|
||
PR target/101325
|
||
* config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
|
||
(TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
|
||
(TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
|
||
(TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
|
||
(TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
|
||
(TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
|
||
(TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
|
||
(TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
|
||
(QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
|
||
(QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
|
||
(QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
|
||
(QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
|
||
(QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
|
||
(QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
|
||
(QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
|
||
(QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
|
||
(QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
|
||
(QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
|
||
(QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
|
||
(QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
|
||
(QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
|
||
(QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
|
||
(STRS_P_QUALIFIERS): Use predicate qualifier.
|
||
(STRU_P_QUALIFIERS): Likewise.
|
||
(STRSU_P_QUALIFIERS): Likewise.
|
||
(STRSS_P_QUALIFIERS): Likewise.
|
||
(LDRGS_Z_QUALIFIERS): Likewise.
|
||
(LDRGU_Z_QUALIFIERS): Likewise.
|
||
(LDRS_Z_QUALIFIERS): Likewise.
|
||
(LDRU_Z_QUALIFIERS): Likewise.
|
||
(QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
|
||
(QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
|
||
(BINOP_NONE_NONE_PRED_QUALIFIERS): New.
|
||
(BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
|
||
* config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
|
||
* config/arm/mve.md: Use MVE_VPRED instead of HI.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
PR target/100757
|
||
PR target/101325
|
||
* config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
|
||
Delete.
|
||
(TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
|
||
(TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
|
||
(TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
|
||
* config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
|
||
predicated qualifiers.
|
||
* config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
|
||
(mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
PR target/100757
|
||
* config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
|
||
(arm_expand_vector_compare): Update prototype.
|
||
* config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
|
||
(arm_vector_mode_supported_p): Add support for VxBI modes.
|
||
(arm_expand_vector_compare): Remove useless generation of vpsel.
|
||
(arm_expand_vcond): Fix select operands.
|
||
(arm_get_mask_mode): New.
|
||
* config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
|
||
(vec_cmpu<mode><MVE_vpred>): New.
|
||
(vcond_mask_<mode><MVE_vpred>): New.
|
||
* config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
|
||
(vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
|
||
* config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
|
||
(vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
|
||
and disable for MVE.
|
||
* doc/sourcebuild.texi (arm_mve): Document new effective-target.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
PR target/100757
|
||
PR target/101325
|
||
* config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
|
||
(BINOP_PRED_NONE_NONE_QUALIFIERS)
|
||
(TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
|
||
(TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
|
||
* config/arm/arm-protos.h (mve_bool_vec_to_const): New.
|
||
* config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
|
||
modes.
|
||
(arm_mode_to_pred_mode): New.
|
||
(arm_expand_vector_compare): Use the right VxBI mode instead of
|
||
HI.
|
||
(arm_expand_vcond): Likewise.
|
||
(simd_valid_immediate): Handle MODE_VECTOR_BOOL.
|
||
(mve_bool_vec_to_const): New.
|
||
(neon_make_constant): Call mve_bool_vec_to_const when needed.
|
||
* config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
|
||
(vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
|
||
(vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
|
||
(vpselq_s, vpselq_f): Use new predicated qualifiers.
|
||
* config/arm/constraints.md (DB): New.
|
||
* config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
|
||
(MVE_VPRED, MVE_vpred): New attribute iterators.
|
||
* config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
|
||
(@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
|
||
(@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
|
||
(@mve_vpselq_<supf>v2di): Define separately.
|
||
(mov<mode>): New expander for VxBI modes.
|
||
* config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
|
||
MVE_7_HI iterator and add support for DB constraint.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/100757
|
||
PR target/101325
|
||
* config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
|
||
VNx2BI): Update definition.
|
||
* config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
|
||
simd types.
|
||
(arm_init_builtin): Map predicate vectors arguments to HImode.
|
||
(arm_expand_builtin_args): Move HImode predicate arguments to VxBI
|
||
rtx. Move return value to HImode rtx.
|
||
* config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
|
||
* config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
|
||
* config/arm/arm-simd-builtin-types.def (Pred1x16_t,
|
||
Pred2x8_t,Pred4x4_t): New.
|
||
* emit-rtl.cc (init_emit_once): Handle all boolean modes.
|
||
* genmodes.cc (mode_data): Add boolean field.
|
||
(blank_mode): Initialize it.
|
||
(make_complex_modes): Fix handling of boolean modes.
|
||
(make_vector_modes): Likewise.
|
||
(VECTOR_BOOL_MODE): Use new COMPONENT parameter.
|
||
(make_vector_bool_mode): Likewise.
|
||
(BOOL_MODE): New.
|
||
(make_bool_mode): New.
|
||
(emit_insn_modes_h): Fix generation of boolean modes.
|
||
(emit_class_narrowest_mode): Likewise.
|
||
* machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
|
||
parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
|
||
define BImode.
|
||
* rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
|
||
Fix handling of constm1_rtx for VECTOR_BOOL.
|
||
* simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
|
||
(native_decode_vector_rtx): Likewise.
|
||
(test_vector_ops_duplicate): Skip vec_merge test
|
||
with vectors of booleans.
|
||
* varasm.cc (output_constant_pool_2): Likewise.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
* config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
|
||
for operand 1.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
* config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
|
||
|
||
2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
|
||
|
||
* config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
|
||
(REG_CLASS_NAMES): Likewise.
|
||
(REG_CLASS_CONTENTS): Likewise.
|
||
(CLASS_MAX_NREGS): Handle VPR.
|
||
* config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
|
||
|
||
2022-02-22 Tobias Burnus <tobias@codesourcery.com>
|
||
Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
|
||
* config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
|
||
Likewise.
|
||
* config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
|
||
|
||
2022-02-22 Tobias Burnus <tobias@codesourcery.com>
|
||
Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
|
||
* doc/invoke.texi (-mptx): Update for new values and defaults.
|
||
|
||
2022-02-22 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (gen_comment): New function.
|
||
(workaround_uninit_method_1, workaround_uninit_method_2)
|
||
(workaround_uninit_method_3): : Use gen_comment.
|
||
* config/nvptx/nvptx.opt (mptx-comment): New option.
|
||
|
||
2022-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
|
||
for a splat.
|
||
|
||
2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
* fold-const.cc (ctor_single_nonzero_element): New function to
|
||
return the single non-zero element of a (vector) constructor.
|
||
* fold-const.h (ctor_single_nonzero_element): Prototype here.
|
||
* match.pd (reduc (constructor@0)): Simplify reductions of a
|
||
constructor containing a single non-zero element.
|
||
(reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
|
||
reductions of vector operations of the same operator with
|
||
constant vector operands.
|
||
|
||
2022-02-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104604
|
||
* gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
|
||
Only check if gimple_assign_rhs1 is COMPLEX_CST if
|
||
gimple_assign_rhs_code is COMPLEX_CST.
|
||
|
||
2022-02-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104612
|
||
* config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
|
||
on input operands before calling lowpart_subreg on it. For output
|
||
operand, use a vmode pseudo as destination and then move its lowpart
|
||
subreg into operands[0] if lowpart_subreg fails on dest.
|
||
(ix86_expand_xorsign): Likewise.
|
||
|
||
2022-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104582
|
||
PR target/99881
|
||
* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
|
||
Cost GPR to vector register moves for integer vector construction.
|
||
|
||
2022-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104582
|
||
* tree-vectorizer.h (stmt_info_for_cost::node): New field.
|
||
(vector_costs::add_stmt_cost): Add SLP node parameter.
|
||
(dump_stmt_cost): Likewise.
|
||
(add_stmt_cost): Likewise, new overload and adjust.
|
||
(add_stmt_costs): Adjust.
|
||
(record_stmt_cost): New overload.
|
||
* tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
|
||
(vector_costs::add_stmt_cost): Adjust.
|
||
* tree-vect-loop.cc (vect_estimate_min_profitable_iters):
|
||
Adjust.
|
||
* tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
|
||
the SLP node for costing.
|
||
(vectorizable_slp_permutation): Likewise.
|
||
* tree-vect-stmts.cc (record_stmt_cost): Adjust and add
|
||
new overloads.
|
||
* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
|
||
Adjust.
|
||
* config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
|
||
Adjust.
|
||
* config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
|
||
Adjust.
|
||
(rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
|
||
|
||
2022-02-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104582
|
||
* tree-vectorizer.h (add_stmt_cost): New overload.
|
||
(record_stmt_cost): Likewise.
|
||
* tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
|
||
Use add_stmt_costs.
|
||
(vect_get_known_peeling_cost): Use new overloads.
|
||
(vect_estimate_min_profitable_iters): Likewise. Consistently
|
||
use scalar_stmt for costing versioning checks.
|
||
* tree-vect-stmts.cc (record_stmt_cost): New overload.
|
||
|
||
2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
|
||
|
||
PR target/103069
|
||
* config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
|
||
Split atomic fetch and loop part.
|
||
(ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
|
||
* config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
|
||
prototype.
|
||
* config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
|
||
expander under TARGET_RELAX_CMPXCHG_LOOP.
|
||
(atomic_compare_and_swap<mode>): Likewise for doubleword modes.
|
||
|
||
2022-02-21 Dan Li <ashimida@linux.alibaba.com>
|
||
|
||
* config/aarch64/aarch64.cc (SLOT_REQUIRED):
|
||
Change wb_candidate[12] to wb_push_candidate[12].
|
||
(aarch64_layout_frame): Likewise, and
|
||
change callee_adjust when scs is enabled.
|
||
(aarch64_save_callee_saves):
|
||
Change wb_candidate[12] to wb_push_candidate[12].
|
||
(aarch64_restore_callee_saves):
|
||
Change wb_candidate[12] to wb_pop_candidate[12].
|
||
(aarch64_get_separate_components):
|
||
Change wb_candidate[12] to wb_push_candidate[12].
|
||
(aarch64_expand_prologue): Push x30 onto SCS before it's
|
||
pushed onto stack.
|
||
(aarch64_expand_epilogue): Pop x30 frome SCS, while
|
||
preventing it from being popped from the regular stack again.
|
||
(aarch64_override_options_internal): Add SCS compile option check.
|
||
(TARGET_HAVE_SHADOW_CALL_STACK): New hook.
|
||
* config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
|
||
wb_pop_candidate[12], and rename wb_candidate[12] to
|
||
wb_push_candidate[12].
|
||
* config/aarch64/aarch64.md (scs_push): New template.
|
||
(scs_pop): Likewise.
|
||
* doc/invoke.texi: Document -fsanitize=shadow-call-stack.
|
||
* doc/tm.texi: Regenerate.
|
||
* doc/tm.texi.in: Add hook have_shadow_call_stack.
|
||
* flag-types.h (enum sanitize_code):
|
||
Add SANITIZE_SHADOW_CALL_STACK.
|
||
* opts.cc (parse_sanitizer_options): Add shadow-call-stack
|
||
and exclude SANITIZE_SHADOW_CALL_STACK.
|
||
* target.def: New hook.
|
||
* toplev.cc (process_options): Add SCS compile option check.
|
||
* ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
|
||
|
||
2022-02-21 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104440
|
||
* config/nvptx/nvptx.cc (workaround_uninit_method_1)
|
||
(workaround_uninit_method_2, workaround_uninit_method_3)
|
||
(workaround_uninit): New function.
|
||
(nvptx_reorg): Use workaround_uninit.
|
||
* config/nvptx/nvptx.opt (minit-regs): New option.
|
||
|
||
2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
PR rtl-optimization/104498
|
||
* alias.cc (compare_base_symbol_refs): Correct distance computation
|
||
when swapping x and y.
|
||
|
||
2022-02-21 Andrew Pinski <apinski@marvell.com>
|
||
|
||
PR c/104506
|
||
* tree-ssa.cc (tree_ssa_useless_type_conversion):
|
||
Check the inner type before calling useless_type_conversion_p.
|
||
|
||
2022-02-19 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
|
||
* config/nvptx/nvptx.md
|
||
(define_insn "nvptx_atomic_store<mode>"): Rename to ...
|
||
(define_insn "nvptx_atomic_store_sm70<mode>"): This.
|
||
(define_insn "nvptx_atomic_store<mode>"): New define_insn.
|
||
(define_expand "atomic_store<mode>"): Handle rename. Use
|
||
nvptx_atomic_store instead of atomic_exchange.
|
||
|
||
2022-02-19 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
|
||
insns with atomic attribute. Assert that all handled insns are
|
||
PARALLELs.
|
||
* config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
|
||
Set atomic attribute to false.
|
||
|
||
2022-02-19 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
|
||
type to bool.
|
||
(nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
|
||
nvptx_warpsync, if necessary.
|
||
|
||
2022-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/102656
|
||
* asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
|
||
known to be within bounds, treat it like automatic variables.
|
||
If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
|
||
current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
|
||
it addressable.
|
||
|
||
2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
|
||
(mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
|
||
mpower10-fusion-logical-add, mpower10-fusion-add-logical,
|
||
mpower10-fusion-2add, mpower10-fusion-2store): Remove.
|
||
* config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
|
||
OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
|
||
* config/rs6000/rs6000.cc (rs6000_option_override_internal,
|
||
power10_sched_reorder): Likewise.
|
||
* config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
|
||
gen_addadd): Likewise
|
||
* config/rs6000/fusion.md: Regenerate.
|
||
|
||
2022-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104257
|
||
PR target/104598
|
||
* config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
|
||
rather than __posix_memalign.
|
||
|
||
2022-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/104581
|
||
* config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
|
||
(ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
|
||
of calling ix86_avx_u128_mode_source which would eventually
|
||
have returned AVX_U128_ANY in some very special case.
|
||
|
||
2022-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/96881
|
||
* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
|
||
CLOBBER handling.
|
||
(control_parents_preserved_p): New function.
|
||
(eliminate_unnecessary_stmts): Check that we preserved control
|
||
parents before retaining a CLOBBER.
|
||
(perform_tree_ssa_dce): Pass down aggressive flag
|
||
to eliminate_unnecessary_stmts.
|
||
|
||
2022-02-17 Jason Merrill <jason@redhat.com>
|
||
|
||
* tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
|
||
on TYPE_MAIN_VARIANT.
|
||
|
||
2022-02-17 Paul A. Clarke <pc@us.ibm.com>
|
||
|
||
PR target/104257
|
||
* config/rs6000/bmi2intrin.h: Uglify local variables.
|
||
* config/rs6000/emmintrin.h: Likewise.
|
||
* config/rs6000/mm_malloc.h: Likewise.
|
||
* config/rs6000/mmintrin.h: Likewise.
|
||
* config/rs6000/pmmintrin.h: Likewise.
|
||
* config/rs6000/smmintrin.h: Likewise.
|
||
* config/rs6000/tmmintrin.h: Likewise.
|
||
* config/rs6000/xmmintrin.h: Likewise.
|
||
|
||
2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
PR target/104335
|
||
* config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
|
||
if the expected comparison's first operand is of mode MODE_CC.
|
||
|
||
2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/104447
|
||
* lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
|
||
hard reg set by lra_no_alloc_regs.
|
||
|
||
2022-02-17 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR tree-optimization/104551
|
||
PR tree-optimization/103771
|
||
* match.pd (cond_expr_convert_p): Add types_match check when
|
||
convert is extension.
|
||
* tree-vect-patterns.cc
|
||
(gimple_cond_expr_convert_p): Adjust comments.
|
||
(vect_recog_cond_expr_convert_pattern): Ditto.
|
||
|
||
2022-02-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/104557
|
||
* valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
|
||
if expr has VOIDmode.
|
||
|
||
2022-02-17 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* config/i386/cpuid.h (bit_MPX): Removed.
|
||
(bit_BNDREGS): Ditto.
|
||
(bit_BNDCSR): Ditto.
|
||
|
||
2022-02-17 Michael Meissner <meissner@the-meissners.org>
|
||
|
||
PR target/99708
|
||
* config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
|
||
__SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
|
||
Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
|
||
is created.
|
||
|
||
2022-02-16 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
|
||
range_compatible_p instead of direct type comparison.
|
||
|
||
2022-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/104544
|
||
* combine.cc (try_combine): When looking for insn whose links
|
||
should be updated from i3 to i2, don't stop on debug insns, instead
|
||
skip over them.
|
||
|
||
2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/100056
|
||
* config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
|
||
* config/aarch64/aarch64.md: Extend the PR100056 patterns
|
||
to handle plus in the same way as ior, if the operands have
|
||
no set bits in common.
|
||
|
||
2022-02-15 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/104526
|
||
* gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
|
||
new routine.
|
||
* gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
|
||
of dependency chain if there isn't one.
|
||
(gori_compute::condexpr_adjust): New.
|
||
* gimple-range-gori.h (class gori_compute): New prototype.
|
||
|
||
2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/100874
|
||
* config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
|
||
Declare.
|
||
* config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
|
||
* config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
|
||
|
||
2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* tree-vectorizer.h (vect_scalar_ops_slice): New struct.
|
||
(vect_scalar_ops_slice_hash): Likewise.
|
||
(vect_scalar_ops_slice::op): New function.
|
||
* tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
|
||
(vect_scalar_ops_slice_hash::hash): Likewise.
|
||
(vect_scalar_ops_slice_hash::equal): Likewise.
|
||
(vect_prologue_cost_for_slp): Check for duplicate vectors.
|
||
* config/aarch64/aarch64.cc
|
||
(aarch64_vector_costs::m_stp_sequence_cost): New member variable.
|
||
(aarch64_aligned_constant_offset_p): New function.
|
||
(aarch64_stp_sequence_cost): Likewise.
|
||
(aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
|
||
(aarch64_vector_costs::finish_cost): Likewise.
|
||
|
||
2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
|
||
use after free.
|
||
|
||
2022-02-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104543
|
||
* gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
|
||
come after the inner loop.
|
||
|
||
2022-02-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104536
|
||
* config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
|
||
cannot instead of can%'t in diagnostics. Formatting fixes.
|
||
|
||
2022-02-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104522
|
||
* fold-const.h (native_interpret_real): Declare.
|
||
* fold-const.cc (native_interpret_real): No longer static. Don't
|
||
perform MODE_COMPOSITE_P verification here.
|
||
(native_interpret_expr) <case REAL_TYPE>: But perform it here instead
|
||
for all modes.
|
||
* gimple-fold.cc (clear_padding_type): Call native_interpret_real
|
||
instead of native_interpret_expr.
|
||
* simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
|
||
and comparison verification for all FLOAT_MODE_P modes, not just
|
||
MODE_COMPOSITE_P.
|
||
|
||
2022-02-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104519
|
||
* fold-const.cc (multiple_of_p): Remove never true condition.
|
||
* tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
|
||
the appropriate types for determining whether the difference
|
||
of final and base is a multiple of the step.
|
||
|
||
2022-02-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/104517
|
||
* omp-low.cc (task_cpyfns): New variable.
|
||
(delete_omp_context): Don't call finalize_task_copyfn from here.
|
||
(create_task_copyfn): Push task_stmt into task_cpyfns.
|
||
(execute_lower_omp): Call finalize_task_copyfn here on entries from
|
||
task_cpyfns vector and release the vector.
|
||
|
||
2022-02-14 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/104355
|
||
* doc/invoke.texi (-Warray-bounds): Update documentation.
|
||
|
||
2022-02-14 Michael Meissner <meissner@the-meissners.org>
|
||
|
||
PR target/104253
|
||
* config/rs6000/rs6000.cc (init_float128_ibm): Update the
|
||
conversion functions used to convert IFmode types.
|
||
|
||
2022-02-14 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
|
||
|
||
2022-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104528
|
||
* tree-ssa.h (find_released_ssa_name): Declare.
|
||
* tree-ssa.cc (find_released_ssa_name): Export.
|
||
* cfgloop.cc (verify_loop_structure): Look for released
|
||
SSA names in loops nb_iterations.
|
||
* tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
|
||
estimates.
|
||
|
||
2022-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104511
|
||
* tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
|
||
touching DFP <-> FP conversions.
|
||
|
||
2022-02-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/104497
|
||
* gimplify.cc (gimplify_compound_lval): Make sure the
|
||
base is a non-register if needed and possible.
|
||
|
||
2022-02-13 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/103771
|
||
* match.pd (cond_expr_convert_p): New match.
|
||
* tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
|
||
(vect_recog_cond_expr_convert_pattern): New.
|
||
|
||
2022-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/104449
|
||
* asan.cc: Include tree-eh.h.
|
||
(handle_builtin_alloca): Handle the case when __builtin_alloca or
|
||
__builtin_alloca_with_align can throw.
|
||
|
||
2022-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104502
|
||
* config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
|
||
and AVX512VL isn't available, move operands[1] to operands[0] first.
|
||
|
||
2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/79754
|
||
* config/i386/i386.cc (type_natural_mode):
|
||
Skip decimal float vector modes.
|
||
|
||
2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
|
||
Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/104117
|
||
* config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
|
||
Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
|
||
emitting PIC code.
|
||
(legitimate_lo_sum_address_p): Likewise.
|
||
* lra-constraints.cc (process_address_1): Do not attempt to emit a reg
|
||
load from an invalid lo_sum address.
|
||
|
||
2022-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104499
|
||
* match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
|
||
of convert.
|
||
|
||
2022-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree.cc (build_common_builtin_nodes): Fix up formatting in
|
||
__builtin_clear_padding decl creation.
|
||
* gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
|
||
for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
|
||
argument rather than in 3rd argument.
|
||
(gimplify_call_expr): Likewise. Fix up comment formatting.
|
||
* gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
|
||
2 arguments instead of 3, take for_auto_init from the value
|
||
of 2nd argument.
|
||
|
||
2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/104400
|
||
* lra-constraints.cc (process_alt_operands): Don't make union of
|
||
this_alternative_exclude_start_hard_regs when reg class in insn
|
||
alternative covers other reg classes in the same alternative.
|
||
|
||
2022-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104446
|
||
* combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
|
||
operands.
|
||
|
||
2022-02-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/104496
|
||
* internal-fn.cc (vectorized_internal_fn_supported_p):
|
||
Bail out for integer mode vector types.
|
||
|
||
2022-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/104459
|
||
* df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
|
||
moving DEBUG_INSNs between bbs.
|
||
|
||
2022-02-11 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR tree-optimization/104479
|
||
* match.pd (uncond_op + vec_cond -> cond_op): Add single_use
|
||
for the dest of uncond_op.
|
||
|
||
2022-02-11 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104456
|
||
* config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
|
||
insn.
|
||
|
||
2022-02-10 Qing Zhao <qing.zhao@oracle.com>
|
||
|
||
PR middle-end/100775
|
||
* function.cc (gen_call_used_regs_seq): Call
|
||
df_update_exit_block_uses when updating df.
|
||
|
||
2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/104469
|
||
* config/i386/sse.md (vec_unpacks_float_lo_v4si):
|
||
Change operand 1 constraint to register_operand.
|
||
|
||
2022-02-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104373
|
||
* tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
|
||
walk kind.
|
||
* tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
|
||
walk kind as argument.
|
||
(run_rpo_vn): Adjust.
|
||
(pass_fre::execute): Likewise.
|
||
* tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
|
||
blocks not reachable.
|
||
(execute_late_warn_uninitialized): Mark all edges as
|
||
executable.
|
||
(execute_early_warn_uninitialized): Use VN to compute
|
||
executable edges.
|
||
(pass_data_early_warn_uninitialized): Enable a dump file,
|
||
change dump name to warn_uninit.
|
||
|
||
2022-02-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/104467
|
||
* match.pd (vector extract simplification): Multiply the
|
||
number of CTOR elements with the number of element elements.
|
||
|
||
2022-02-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104466
|
||
* tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
|
||
for the MR_DEPENDENCE checks as intended.
|
||
|
||
2022-02-10 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
|
||
define_insn.
|
||
(define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
|
||
TARGET_SM70.
|
||
(define_c_enum "unspecv"): Add UNSPECV_ST.
|
||
|
||
2022-02-10 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
|
||
* config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
|
||
(nvptx_mem_maybe_shared_p): New function.
|
||
* config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
|
||
define_expand.
|
||
|
||
2022-02-10 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/97005
|
||
* config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
|
||
driver JIT bug by using sub.s16 instead of sub.u16.
|
||
|
||
2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
|
||
floating point constants as operands 1 and/or 2.
|
||
|
||
2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR target/104345
|
||
* config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
|
||
(sel_false<mode>): Likewise.
|
||
(define_code_iterator eqne): New code iterator for EQ and NE.
|
||
(*selp<mode>_neg_<code>): New define_insn_and_split to optimize
|
||
the negation of a selp instruction.
|
||
(*selp<mode>_not_<code>): New define_insn_and_split to optimize
|
||
the bitwise not of a selp instruction.
|
||
(*setcc_int<mode>): Use set instruction for neg:SI of a selp.
|
||
|
||
2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/nvptx/nvptx.md (any_logic): Move code iterator earlier
|
||
in machine description.
|
||
(logic): Move code attribute earlier in machine description.
|
||
(ilogic): New code attribute, like logic but "ior" for IOR.
|
||
(and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
|
||
(<ilogic><mode>3): New define_insn for HSDIM logic operations.
|
||
(<ilogic>bi3): New define_insn for BI mode logic operations.
|
||
(define_split): Lower logic operations from integer modes to
|
||
BI mode predicate operations.
|
||
|
||
2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
|
||
(one_cmplbi2): New define_insn for not.pred.
|
||
(mulditi3): New define_expand for signed widening multiply.
|
||
(umulditi3): New define_expand for unsigned widening multiply.
|
||
(smul<mode>3_highpart): New define_insn for signed highpart mult.
|
||
(umul<mode>3_highpart): New define_insn for unsigned highpart mult.
|
||
(*smulhi3_highpart_2): Renamed from smulhi3_highpart.
|
||
(*smulsi3_highpart_2): Renamed from smulsi3_highpart.
|
||
(*umulhi3_highpart_2): Renamed from umulhi3_highpart.
|
||
(*umulsi3_highpart_2): Renamed from umulsi3_highpart.
|
||
(*setcc<mode>_from_not_bi): New define_insn.
|
||
(*setcc_isinf<mode>): New define_insn for testp.infinite.
|
||
(isinf<mode>2): New define_expand.
|
||
|
||
2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
|
||
(setcc<mode>_from_bi): Additionally support QImode.
|
||
(extendbi<mode>2): Additionally support QImode.
|
||
(zero_extendbi<mode>2): Additionally support QImode.
|
||
(any_sbinary, any_ubinary, any_sunary, any_uunary): New code
|
||
iterators for signed and unsigned, binary and unary operations.
|
||
(<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
|
||
expanders to perform QImode operations using SImode instructions.
|
||
(cstoreqi4): New define_expand.
|
||
(*ext_truncsi2_qi): New define_insn.
|
||
(*zext_truncsi2_qi): New define_insn.
|
||
|
||
2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/nvptx/nvptx.md (*cmpf): New define_insn.
|
||
(cstorehf4): New define_expand.
|
||
(fmahf4): New define_insn.
|
||
(neghf2): New define_insn.
|
||
(abshf2): New define_insn.
|
||
|
||
2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (Specific): Change the www.bitwizard.nl
|
||
reference to use https.
|
||
|
||
2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
|
||
|
||
* gimplify.cc (gimplify_scan_omp_clauses): Added cases for
|
||
OMP_CLAUSE_HAS_DEVICE_ADDR
|
||
and handle array sections.
|
||
(gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
|
||
* omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
|
||
(lower_omp_target): Same.
|
||
* tree-core.h (enum omp_clause_code): Same.
|
||
* tree-nested.cc (convert_nonlocal_omp_clauses): Same.
|
||
(convert_local_omp_clauses): Same.
|
||
* tree-pretty-print.cc (dump_omp_clause): Same.
|
||
* tree.cc: Same.
|
||
|
||
2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
|
||
|
||
* auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
|
||
that will result in direct recursive calls.
|
||
|
||
2022-02-10 Andrew Pinski <apinski@marvell.com>
|
||
|
||
PR target/104474
|
||
* config/aarch64/aarch64.cc
|
||
(aarch64_sve_expand_vector_init_handle_trailing_constants):
|
||
Use CONST0_RTX instead of const0_rtx for the non-constant elements.
|
||
|
||
2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/104462
|
||
* common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
|
||
Also include OPTION_MASK_ISA2_AVX2_UNSET.
|
||
|
||
2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/104458
|
||
* config/i386/i386-expand.cc (ix86_split_idivmod):
|
||
Force operands[2] and operands[3] into a register..
|
||
|
||
2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
|
||
|
||
PR target/97040
|
||
* config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
|
||
(*v850_fnmssf4): Renamed from fnmssf4
|
||
|
||
2022-02-09 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* godump.cc (go_force_record_alignment): Really name the alignment
|
||
field "_" (complete 2021-12-29 change).
|
||
|
||
2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
|
||
function prototype.
|
||
(VREPLACE_UN_UV4SI): Likewise.
|
||
(VREPLACE_UN_V2DF): Likewise.
|
||
(VREPLACE_UN_V2DI): Likewise.
|
||
(VREPLACE_UN_V4SF): Likewise.
|
||
(VREPLACE_UN_V4SI): Likewise.
|
||
* config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
|
||
function prototypes.
|
||
* config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
|
||
(vreplace_un_<mode>): New define_insn.
|
||
|
||
2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/iterators.md (VDCSIF): New mode iterator.
|
||
(VDBL): Handle SF.
|
||
(single_wx, single_type, single_dtype, dblq): New mode attributes.
|
||
* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
|
||
from VDC to VDCSIF.
|
||
(store_pair_lanes<mode>): Likewise.
|
||
(*aarch64_combine_internal<mode>): Likewise.
|
||
(*aarch64_combine_internal_be<mode>): Likewise.
|
||
(*aarch64_combinez<mode>): Likewise.
|
||
(*aarch64_combinez_be<mode>): Likewise.
|
||
* config/aarch64/aarch64.cc (aarch64_classify_address): Handle
|
||
8-byte modes for ADDR_QUERY_LDP_STP_N.
|
||
(aarch64_print_operand): Likewise for %y.
|
||
|
||
2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
|
||
Use aarch64_combine instead of move_lo/hi_quad. Tabify.
|
||
(move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
|
||
(aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
|
||
(vec_pack_trunc_<mode>): Take general_operand elements and use
|
||
aarch64_combine rather than move_lo/hi_quad to combine them.
|
||
(vec_pack_trunc_df): Likewise.
|
||
|
||
2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
|
||
Delete.
|
||
* config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
|
||
to...
|
||
(*aarch64_combinez<mode>): ...this.
|
||
(@aarch64_combinez_be<mode>): Rename to...
|
||
(*aarch64_combinez_be<mode>): ...this.
|
||
(@aarch64_vec_concat<mode>): New expander.
|
||
(aarch64_combine<mode>): Use it.
|
||
(@aarch64_simd_combine<mode>): Delete.
|
||
* config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
|
||
(aarch64_expand_vector_init): Use aarch64_vec_concat.
|
||
|
||
2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
|
||
New predicate.
|
||
* config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
|
||
(*aarch64_combine_internal_be<mode>): New patterns.
|
||
|
||
2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
|
||
(move_lo_quad_internal_be_<mode>): Delete.
|
||
(move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
|
||
|
||
2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
|
||
Declare.
|
||
* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
|
||
aarch64_mergeable_load_pair_p instead of inline check.
|
||
* config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
|
||
(aarch64_check_consecutive_mems): Allow the reversed parameter
|
||
to be null.
|
||
(aarch64_mergeable_load_pair_p): New function.
|
||
|
||
2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
|
||
element to be an aarch64_simd_nonimmediate_operand.
|
||
|
||
2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
|
||
aarch64_simd_nonimmediate_operand instead of
|
||
aarch64_simd_general_operand.
|
||
(@aarch64_combinez<mode>): Use nonimmediate_operand instead of
|
||
general_operand.
|
||
(@aarch64_combinez_be<mode>): Likewise.
|
||
|
||
2022-02-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/104464
|
||
* gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
|
||
throwing check to after unproblematic replacement.
|
||
|
||
2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR tree-optimization/104420
|
||
* match.pd (mult @0 real_zerop): Tweak conditions for constant
|
||
folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
|
||
|
||
2022-02-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/104407
|
||
* dwarf2out.cc (mangle_referenced_decls): New function.
|
||
(tree_add_const_value_attribute): Don't call rtl_for_decl_init if
|
||
early_dwarf. Instead walk the initializer and try to mangle vars or
|
||
functions referenced from it.
|
||
|
||
2022-02-09 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/104288
|
||
* gimple-range-cache.cc (non_null_ref::set_nonnull): New.
|
||
(non_null_ref::adjust_range): Move to header.
|
||
(ranger_cache::range_of_def): Don't check non-null.
|
||
(ranger_cache::entry_range): Don't check non-null.
|
||
(ranger_cache::range_on_edge): Check for nonnull on normal edges.
|
||
(ranger_cache::update_to_nonnull): New.
|
||
(non_null_loadstore): New.
|
||
(ranger_cache::block_apply_nonnull): New.
|
||
* gimple-range-cache.h (class non_null_ref): Update prototypes.
|
||
(non_null_ref::adjust_range): Move to here and inline.
|
||
(class ranger_cache): Update prototypes.
|
||
* gimple-range-path.cc (path_range_query::range_defined_in_block): Do
|
||
not search dominators.
|
||
(path_range_query::adjust_for_non_null_uses): Ditto.
|
||
* gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
|
||
def overrides. Do not check nonnull.
|
||
(gimple_ranger::range_on_entry): Check dominators for nonnull.
|
||
(gimple_ranger::range_on_edge): Check for nonnull on normal edges..
|
||
(gimple_ranger::register_side_effects): New.
|
||
* gimple-range.h (gimple_ranger::register_side_effects): New.
|
||
* tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
|
||
|
||
2022-02-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104445
|
||
PR tree-optimization/102832
|
||
* optabs-query.h (can_vec_extract): New.
|
||
* optabs-query.cc (can_vec_extract): Likewise.
|
||
* tree-vect-loop.cc (vect_find_reusable_accumulator): Check
|
||
we can extract a hi/lo part from the larger vector, rework
|
||
check iteration from larger to smaller sizes.
|
||
|
||
2022-02-09 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/35513
|
||
PR target/100593
|
||
* config/i386/gnu-property.cc: Include "i386-protos.h".
|
||
(file_end_indicate_exec_stack_and_gnu_property): Generate
|
||
a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
|
||
nodirect_extern_access attribute.
|
||
* config/i386/i386-options.cc
|
||
(handle_nodirect_extern_access_attribute): New function.
|
||
(ix86_attribute_table): Add nodirect_extern_access attribute.
|
||
* config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
|
||
bool argument.
|
||
(ix86_has_no_direct_extern_access): New.
|
||
* config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
|
||
(ix86_force_load_from_GOT_p): Add a bool argument to indicate
|
||
call operand. Force non-call load from GOT for
|
||
-mno-direct-extern-access or nodirect_extern_access attribute.
|
||
(legitimate_pic_address_disp_p): Avoid copy relocation in PIE
|
||
for -mno-direct-extern-access or nodirect_extern_access attribute.
|
||
(ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
|
||
for call operand.
|
||
(asm_preferred_eh_data_format): Use PC-relative format for
|
||
-mno-direct-extern-access to avoid copy relocation. Check
|
||
ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
|
||
(ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
|
||
true for -mno-direct-extern-access or nodirect_extern_access
|
||
attribute. Don't treat protected data as extern and avoid copy
|
||
relocation on common symbol with -mno-direct-extern-access or
|
||
nodirect_extern_access attribute.
|
||
(ix86_reloc_rw_mask): New to avoid copy relocation for
|
||
-mno-direct-extern-access.
|
||
(TARGET_ASM_RELOC_RW_MASK): New.
|
||
* config/i386/i386.opt: Add -mdirect-extern-access.
|
||
* doc/extend.texi: Document nodirect_extern_access attribute.
|
||
* doc/invoke.texi: Document -m[no-]direct-extern-access.
|
||
|
||
2022-02-09 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/104441
|
||
* config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
|
||
(ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
|
||
Call ix86_avx_u128_mode_source to check mode for each component
|
||
of source operand.
|
||
|
||
2022-02-09 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104451
|
||
* config/i386/sse.md (<insn><mode>3): lowpart_subreg
|
||
operands[2] from SImode to QImode.
|
||
|
||
2022-02-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/104450
|
||
* gimple-isel.cc: Pass cfun around.
|
||
(+gimple_expand_vec_cond_expr): Do not combine a throwing
|
||
comparison with the select.
|
||
|
||
2022-02-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/104453
|
||
* config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
|
||
folding for NULL LHS.
|
||
|
||
2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
PR rtl-optimization/104198
|
||
PR rtl-optimization/104153
|
||
* ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
|
||
using it directly. Rework comparison handling and always
|
||
perform a second pass.
|
||
|
||
2022-02-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/102140
|
||
* config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
|
||
split1 pass has finished already.
|
||
|
||
2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
|
||
* config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
|
||
* config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
|
||
(vmsumcud): New define_insn.
|
||
|
||
2022-02-08 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
|
||
* config/nvptx/nvptx.h (TARGET_SM70): Define.
|
||
|
||
2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* config/s390/s390.cc (s390_rtx_costs): Increase costs for load
|
||
on condition.
|
||
* config/s390/s390.md: Use paradoxical subreg.
|
||
|
||
2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* combine.cc (reg_subword_p): Check for paradoxical subreg.
|
||
|
||
2022-02-08 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104283
|
||
* config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
|
||
and PTX_VERSION_4_2.
|
||
* config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
|
||
(default_ptx_version_option, ptx_version_to_string)
|
||
(sm_version_to_string, handle_ptx_version_option): New function.
|
||
(nvptx_option_override): Call handle_ptx_version_option.
|
||
(nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
|
||
* config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
|
||
(define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
|
||
* config/nvptx/nvptx.opt (mptx): Remove 'Init'.
|
||
|
||
2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* doc/install.texi (Configuration): Document `--with-isa-spec='
|
||
RISC-V option.
|
||
* doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
|
||
option.
|
||
(RISC-V Options): Document it.
|
||
|
||
2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
|
||
|
||
2022-02-08 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
|
||
|
||
2022-02-08 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/104364
|
||
* config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
|
||
* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
|
||
change is validated.
|
||
(nvptx_mem_local_p): New function.
|
||
* config/nvptx/nvptx.md: Use nvptx_mem_local_p.
|
||
(define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
|
||
(define_insn "atomic_compare_and_swap<mode>_1_local"): New
|
||
non-atomic, non-predicable define_insn, factored out of ...
|
||
(define_insn "atomic_compare_and_swap<mode>_1"): ... here.
|
||
Make predicable again.
|
||
(define_expand "atomic_compare_and_swap<mode>"): Use
|
||
atomic_compare_and_swap<mode>_1_local.
|
||
|
||
2022-02-08 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR rtl-optimization/104059
|
||
* regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
|
||
for a more expensive reg-reg move.
|
||
|
||
2022-02-07 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
|
||
vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
|
||
* config/arm/arm_neon_builtins.def (usdot): Add V16QI.
|
||
(usdot_laneq, sudot_laneq): New.
|
||
* config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
|
||
(neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
|
||
|
||
2022-02-07 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
|
||
vdot_laneq_s32, vdotq_laneq_s32): New.
|
||
* config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
|
||
* config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
|
||
(<sup>dot_prod<vsi2qi>): Re-order rtl.
|
||
(neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
|
||
(neon_<sup>dot_laneq<vsi2qi>): New.
|
||
|
||
2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
PR target/104327
|
||
* config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
|
||
if always_inline is set. Don't inline when tune differs without
|
||
always_inline.
|
||
|
||
2022-02-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/104402
|
||
* gimple-expr.cc (is_gimple_condexpr): _Complex typed
|
||
compares are not valid.
|
||
* tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
|
||
check is_gimple_condexpr.
|
||
|
||
2022-02-07 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR target/103627
|
||
* config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
|
||
hunk affecting VSX and ALTIVEC to appropriate place.
|
||
|
||
2022-02-07 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR target/103627
|
||
* config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
|
||
MMA if !TARGET_VSX.
|
||
|
||
2022-02-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/89074
|
||
PR c++/104033
|
||
* fold-const.h (folding_initializer): Adjust comment.
|
||
(folding_cxx_constexpr): Declare.
|
||
* fold-const.cc (folding_initializer): Adjust comment.
|
||
(folding_cxx_constexpr): New variable.
|
||
(address_compare): Restrict the decl vs. STRING_CST
|
||
or vice versa or STRING_CST vs. STRING_CST or
|
||
is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
|
||
Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
|
||
assume non-aliased functions have non-zero size and have different
|
||
addresses. For folding_cxx_constexpr, punt on comparisons of start
|
||
of some object and end of another one, regardless whether it is a decl
|
||
or string literal. Also punt for folding_cxx_constexpr on
|
||
STRING_CST vs. STRING_CST comparisons if the two literals could be
|
||
overlapping.
|
||
|
||
2022-02-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104389
|
||
* match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
|
||
honored.
|
||
|
||
2022-02-05 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* configure.ac: Fix detection for zifencei support.
|
||
* configure: Regenerate.
|
||
|
||
2022-02-05 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
PR target/104219
|
||
* config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
|
||
(all_defaults): Add isa_spec.
|
||
* config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
|
||
|
||
2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
|
||
parameters instead of arglist and nargs. Simplify accordingly. Remove
|
||
unnecessary test for argument count mismatch.
|
||
(resolve_vec_cmpne): Likewise.
|
||
(resolve_vec_adde_sube): Likewise.
|
||
(resolve_vec_addec_subec): Likewise.
|
||
(altivec_resolve_overloaded_builtin): Move overload special handling
|
||
after the gathering of arguments into args[] and types[] and the test
|
||
for correct number of arguments. Don't perform the test for correct
|
||
number of arguments for certain special cases. Call the other special
|
||
cases with args and types instead of arglist and nargs.
|
||
|
||
2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR target/100808
|
||
* doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
|
||
3.1): Provide consistent type names. Remove unnecessary semicolons.
|
||
Fix bad line breaks.
|
||
|
||
2022-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104380
|
||
* config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
|
||
adjust mangling of __builtin*printf_chk.
|
||
|
||
2022-02-04 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
|
||
|
||
2022-02-04 Richard Biener <rguenther@suse.de>
|
||
Bin Cheng <bin.cheng@linux.alibaba.com>
|
||
|
||
PR tree-optimization/100499
|
||
* fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
|
||
to true.
|
||
* fold-const.cc (multiple_of_p): Likewise. Honor it for
|
||
MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
|
||
switching to false for conversions.
|
||
* tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
|
||
claim the outermost expression does not wrap when calling
|
||
multiple_of_p. Refactor the check done to check the
|
||
original IV, avoiding a bias that might wrap.
|
||
|
||
2022-02-04 Richard Biener <rguenther@suse.de>
|
||
|
||
* fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
|
||
handling.
|
||
|
||
2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR debug/104366
|
||
* dwarf2out.cc (dwarf2out_finish): Empty base_types.
|
||
(dwarf2out_early_finish): Likewise.
|
||
|
||
2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR tree-optimization/104356
|
||
* match.pd (X / bool_range_Y is X): Add guard.
|
||
(X / X is one): Likewise.
|
||
(X / abs (X) is X < 0 ? -1 : 1): Likewise.
|
||
(X / -X is -1): Likewise.
|
||
(1 / X -> X == 1): Likewise.
|
||
|
||
2022-02-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103641
|
||
* tree-vect-patterns.cc (vect_synth_mult_by_constant):
|
||
Pass the vector mode to choose_mult_variant.
|
||
|
||
2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR rtl-optimization/101885
|
||
* combine.cc (try_combine): When splitting a parallel into two
|
||
sequential sets, check not only that the first doesn't clobber
|
||
the second but also that the second doesn't clobber the first.
|
||
|
||
2022-02-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/90348
|
||
PR middle-end/104092
|
||
* tree-core.h (clobber_kind): New enum.
|
||
(tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
|
||
* tree.h (CLOBBER_KIND): Add.
|
||
(build_clobber): Add clobber kind argument, defaulted to
|
||
CLOBBER_UNDEF.
|
||
* tree.cc (build_clobber): Likewise.
|
||
* gimple.h (gimple_clobber_p): New overload with specified kind.
|
||
* tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
|
||
CLOBBER_KIND.
|
||
* tree-streamer-out.cc (streamer_write_tree_bitfields):
|
||
Likewise.
|
||
* tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
|
||
* gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
|
||
with CLOBBER_EOL.
|
||
(gimplify_target_expr): Likewise.
|
||
* tree-inline.cc (expand_call_inline): Likewise.
|
||
* tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
|
||
* gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
|
||
CLOBBER_EOL clobbers as ending lifetime of storage.
|
||
|
||
2022-02-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
* pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
|
||
cleanup.
|
||
|
||
2022-02-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/104260
|
||
* passes.def (pass_warn_access): Adjust pass placement.
|
||
|
||
2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/104362
|
||
* config/i386/i386.cc (find_drap_reg): For 32bit targets
|
||
return DI_REG if function uses __builtin_eh_return.
|
||
|
||
2022-02-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
* gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
|
||
(pass_wrestrict::m_ptr_qry): New member.
|
||
(wrestrict_walk): Rename...
|
||
(pass_wrestrict::check_block): ...to this.
|
||
(pass_wrestrict::execute): Set up and tear down pointer_query and
|
||
ranger.
|
||
(builtin_memref::builtin_memref): Change ctor argument. Simplify.
|
||
(builtin_access::builtin_access): Same.
|
||
(builtin_access::m_ptr_qry): New member.
|
||
(check_call): Rename...
|
||
(pass_wrestrict::check_call): ...to this.
|
||
(check_bounds_or_overlap): Change argument.
|
||
* gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
|
||
|
||
2022-02-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
* gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
|
||
Define ctor.
|
||
(array_bounds_checker::get_value_range): Use new member.
|
||
(array_bounds_checker::check_mem_ref): Same.
|
||
* gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
|
||
Outline ctor.
|
||
(array_bounds_checker::m_ptr_query): New member.
|
||
|
||
2022-02-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
* gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
|
||
pointer_query cache.
|
||
* pointer-query.cc (pointer_query::pointer_query): Remove cache
|
||
argument. Zero-initialize new cache member.
|
||
(pointer_query::get_ref): Replace cache pointer with direct access.
|
||
(pointer_query::put_ref): Same.
|
||
(pointer_query::flush_cache): Same.
|
||
(pointer_query::dump): Same.
|
||
* pointer-query.h (class pointer_query): Remove cache argument from
|
||
ctor. Change cache pointer to cache subobject member.
|
||
* tree-ssa-strlen.cc: Remove pointer_query cache.
|
||
|
||
2022-02-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/104119
|
||
* gimple-ssa-sprintf.cc (struct directive): Change argument type.
|
||
(format_none): Same.
|
||
(format_percent): Same.
|
||
(format_integer): Same.
|
||
(format_floating): Same.
|
||
(get_string_length): Same.
|
||
(format_character): Same.
|
||
(format_string): Same.
|
||
(format_plain): Same.
|
||
(format_directive): Same.
|
||
(compute_format_length): Same.
|
||
(handle_printf_call): Same.
|
||
* tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
|
||
get_maxbound.
|
||
(get_range_strlen_phi): Same.
|
||
(get_maxbound): New function.
|
||
(strlen_pass::get_len_or_size): Adjust to parameter change.
|
||
* tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
|
||
|
||
2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR target/103686
|
||
* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
|
||
test for !rs6000_fold_gimple.
|
||
* config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
|
||
* config/rs6000/rs6000.opt (mfold-gimple): Remove.
|
||
|
||
2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR target/95082
|
||
* config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
|
||
endianness for vclzlsbb and vctzlsbb.
|
||
* config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
|
||
default pattern and indicate a different pattern will be used for
|
||
big endian.
|
||
(VCLZLSBB_V4SI): Likewise.
|
||
(VCLZLSBB_V8HI): Likewise.
|
||
(VCTZLSBB_V16QI): Likewise.
|
||
(VCTZLSBB_V4SI): Likewise.
|
||
(VCTZLSBB_V8HI): Likewise.
|
||
|
||
2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
|
||
* config/rs6000/rs6000-builtin.cc: New file, containing code moved
|
||
from other files.
|
||
* config/rs6000/rs6000-call.cc (cpu_is_info): Move to
|
||
rs6000-builtin.cc.
|
||
(cpu_supports_info): Likewise.
|
||
(rs6000_type_string): Likewise.
|
||
(altivec_expand_predicate_builtin): Likewise.
|
||
(rs6000_htm_spr_icode): Likewise.
|
||
(altivec_expand_vec_init_builtin): Likewise.
|
||
(get_element_number): Likewise.
|
||
(altivec_expand_vec_set_builtin): Likewise.
|
||
(altivec_expand_vec_ext_builtin): Likewise.
|
||
(rs6000_invalid_builtin): Likewise.
|
||
(rs6000_fold_builtin): Likewise.
|
||
(fold_build_vec_cmp): Likewise.
|
||
(fold_compare_helper): Likewise.
|
||
(map_to_integral_tree_type): Likewise.
|
||
(fold_mergehl_helper): Likewise.
|
||
(fold_mergeeo_helper): Likewise.
|
||
(rs6000_builtin_valid_without_lhs): Likewise.
|
||
(rs6000_builtin_is_supported): Likewise.
|
||
(rs6000_gimple_fold_mma_builtin): Likewise.
|
||
(rs6000_gimple_fold_builtin): Likewise.
|
||
(rs6000_expand_ldst_mask): Likewise.
|
||
(cpu_expand_builtin): Likewise.
|
||
(elemrev_icode): Likewise.
|
||
(ldv_expand_builtin): Likewise.
|
||
(lxvrse_expand_builtin): Likewise.
|
||
(lxvrze_expand_builtin): Likewise.
|
||
(stv_expand_builtin): Likewise.
|
||
(mma_expand_builtin): Likewise.
|
||
(htm_spr_num): Likewise.
|
||
(htm_expand_builtin): Likewise.
|
||
(rs6000_expand_builtin): Likewise.
|
||
(rs6000_vector_type): Likewise.
|
||
(rs6000_init_builtins): Likewise. Remove initialization of
|
||
builtin_mode_to_type entries.
|
||
(rs6000_builtin_decl): Move to rs6000-builtin.cc.
|
||
* config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
|
||
external declaration.
|
||
(rs6000_builtin_md_vectorized_function): Likewise.
|
||
(rs6000_builtin_reciprocal): Likewise.
|
||
(altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
|
||
(rs6000_builtin_types): Likewise.
|
||
(builtin_mode_to_type): Remove.
|
||
(rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
|
||
static qualifier.
|
||
(rs6000_builtin_md_vectorized_function): Likewise.
|
||
(rs6000_builtin_reciprocal): Likewise.
|
||
* config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
|
||
* config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
|
||
|
||
2022-02-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/104337
|
||
* tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
|
||
together via DECL_ABSTRACT_ORIGIN.
|
||
|
||
2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
|
||
message for RES_BITS case.
|
||
|
||
2022-02-03 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
|
||
|
||
2022-02-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
|
||
mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
|
||
|
||
2022-02-03 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* cfganal.cc (verify_marked_backedges): New.
|
||
* cfganal.h (verify_marked_backedges): New.
|
||
* gimple-range-path.cc (path_range_query::path_range_query):
|
||
Verify freshness of back edges.
|
||
* tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
|
||
mark_dfs_back_edges.
|
||
* tree-ssa-threadbackward.cc (back_threader::back_threader): Move
|
||
path_range_query construction after backedges have been
|
||
updated.
|
||
|
||
2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
|
||
VALL to VALL_F16.
|
||
|
||
2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/iterators.md (VALL_F16MOV): Delete.
|
||
* config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
|
||
of VALL_F16MOV.
|
||
|
||
2022-02-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
|
||
Change subject and object in the error message.
|
||
* config/s390/s390.cc (s390_valid_target_attribute_inner_p):
|
||
Likewise.
|
||
|
||
2022-02-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/s390/s390.cc (s390_valid_target_attribute_inner_p):
|
||
Use the error message for i386 target.
|
||
|
||
2022-02-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104334
|
||
* range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
|
||
and rh_range type to widest_int and subtract in widest_int. Remove
|
||
ov_rh, ov_lh and sign vars, always perform comparisons as signed
|
||
and use >, < and == operators for it.
|
||
|
||
2022-02-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
* common.opt (-Wuse-after-free): Correct typos.
|
||
|
||
2022-02-02 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR analyzer/104270
|
||
* doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
|
||
-Wanalyzer-use-of-uninitialized-value to paragraph documenting that
|
||
-ftrivial-auto-var-init= doesn't suppress warnings.
|
||
|
||
2022-02-02 Martin Liska <mliska@suse.cz>
|
||
|
||
* dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
|
||
|
||
2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
|
||
|
||
PR target/94372
|
||
* config/or1k/linux.h (CPP_SPEC): Define.
|
||
|
||
2022-02-02 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR tree-optimization/102819
|
||
PR tree-optimization/103169
|
||
* config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
|
||
canonical order.
|
||
|
||
2022-02-02 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR tree-optimization/102819
|
||
PR tree-optimization/103169
|
||
* config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
|
||
canonical order.
|
||
* config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
|
||
|
||
2022-02-02 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR tree-optimization/102819
|
||
PR tree-optimization/103169
|
||
* doc/md.texi: Update docs for cfms, cfma.
|
||
* tree-data-ref.h (same_data_refs): Accept optional offset.
|
||
* tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
|
||
patterns.
|
||
(vect_normalize_conj_loc): Remove.
|
||
(is_eq_or_top): Change to take two nodes.
|
||
(enum _conj_status, compatible_complex_nodes_p,
|
||
vect_validate_multiplication): New.
|
||
(class complex_add_pattern, complex_add_pattern::matches,
|
||
complex_add_pattern::recognize, class complex_mul_pattern,
|
||
complex_mul_pattern::recognize, class complex_fms_pattern,
|
||
complex_fms_pattern::recognize, class complex_operations_pattern,
|
||
complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
|
||
new cache.
|
||
(complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
|
||
cache and use new validation code.
|
||
* tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
|
||
vect_analyze_slp): Pass along cache.
|
||
(compatible_calls_p): Expose.
|
||
* tree-vectorizer.h (compatible_calls_p, slp_node_hash,
|
||
slp_compat_nodes_map_t): New.
|
||
(class vect_pattern): Update signatures include new cache.
|
||
|
||
2022-02-02 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* config/cris/cris.cc (cris_preferred_reload_class): Reject
|
||
"eliminated" registers and small-enough constants unless
|
||
reloaded into a class that is a subset of GENERAL_REGS.
|
||
* config/cris/cris.md (attribute "cpu_variant"): New.
|
||
(attribute "enabled"): Conditionalize on a matching attribute
|
||
cpu_variant, if specified.
|
||
("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
|
||
memory, add cpu-variant-enabled variants for "r" alternatives on
|
||
the far side of the "x" alternatives, preferring the "x" ones
|
||
only for variants where MOF is present (in addition to SRP).
|
||
|
||
2022-02-02 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
|
||
extra cost for ALL_REGS.
|
||
|
||
2022-02-02 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* config/cris/constraints.md (define_register_constraint "b"): Now
|
||
GENERAL_REGS.
|
||
* config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
|
||
* config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
|
||
(REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
|
||
and SPEC_GENNONACR_REGS.
|
||
* config/cris/cris.cc (cris_preferred_reload_class): Don't mention
|
||
ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
|
||
|
||
2022-02-02 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
|
||
Conditionalize on (sub-)register operands or operand 1 being 0.
|
||
|
||
2022-02-02 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
|
||
(MUL_BUG_ASM_DEFAULT): New macro.
|
||
(MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
|
||
* doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
|
||
accordingly.
|
||
|
||
2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
|
||
|
||
* opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
|
||
to 10 for AutoFDO.
|
||
|
||
2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
|
||
|
||
* auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
|
||
|
||
2022-02-01 Andrew Pinski <apinski@marvell.com>
|
||
|
||
* doc/install.texi:
|
||
|
||
2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
|
||
|
||
* config/s390/s390.cc (s390_code_end): Do not switch back to
|
||
code section.
|
||
|
||
2022-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104323
|
||
* config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
|
||
rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
|
||
* config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
|
||
GTY((user)) for struct bifdata and struct ovlddata. Instead add
|
||
GTY((skip(""))) to members with pointer and enum types that don't need
|
||
to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
|
||
declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
|
||
(write_extern_fntype, write_fntype): Remove.
|
||
(write_fntype_init): Emit the fntype vars as automatic vars instead
|
||
of file scope ones.
|
||
(write_header_file): Don't iterate with write_extern_fntype.
|
||
(write_init_file): Don't iterate with write_fntype. Don't emit
|
||
gt_ggc_mx and gt_pch_nx definitions.
|
||
|
||
2022-02-01 Jason Merrill <jason@redhat.com>
|
||
|
||
* tree.h (struct tree_vec_map_cache_hasher): Move from...
|
||
* tree.cc (struct tree_vec_map_cache_hasher): ...here.
|
||
|
||
2022-02-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
|
||
* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
|
||
UNSPECV_UNIFORM_WARP_CHECK.
|
||
(define_insn "nvptx_uniform_warp_check"): New define_insn.
|
||
|
||
2022-02-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
|
||
* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
|
||
UNSPECV_WARPSYNC.
|
||
(define_insn "nvptx_warpsync"): New define_insn.
|
||
|
||
2022-02-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
|
||
|
||
2022-02-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
|
||
* config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
|
||
* config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
|
||
insn for TARGET_PTX_6_0.
|
||
|
||
2022-02-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR target/100428
|
||
* config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
|
||
insn.
|
||
|
||
2022-02-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
|
||
(define_insn "atomic_exchange<mode>")
|
||
(define_insn "atomic_fetch_add<mode>")
|
||
(define_insn "atomic_fetch_addsf")
|
||
(define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
|
||
if memory operands is frame-relative.
|
||
|
||
2022-02-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
* config/nvptx/nvptx.cc (enum nvptx_builtins): Add
|
||
NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
|
||
(VOID): New macro.
|
||
(nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
|
||
(nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
|
||
NVPTX_BUILTIN_MEMBAR_CTA.
|
||
(nvptx_lockfull_update): Add level parameter. Emit barriers.
|
||
(nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
|
||
nvptx_lockfull_update.
|
||
* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
|
||
UNSPECV_MEMBAR_GL.
|
||
(define_expand "nvptx_membar_gl"): New expand.
|
||
(define_insn "*nvptx_membar_gl"): New insn.
|
||
|
||
2022-02-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/install.texi: Remove option for GCC < 4.8.
|
||
|
||
2022-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104307
|
||
* tree-vect-generic.cc (expand_vector_comparison): Don't push debug
|
||
stmts to uses vector, just set vec_cond_expr_only to false for
|
||
non-VEC_COND_EXPRs instead of pushing them into uses. Treat
|
||
VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
|
||
like non-VEC_COND_EXPRs.
|
||
|
||
2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
|
||
(VEC_BLENDV): Likewise.
|
||
(VEC_BPERM): Likewise.
|
||
(VEC_CFUGE): Likewise.
|
||
(VEC_CIPHER_BE): Likewise.
|
||
(VEC_CIPHERLAST_BE): Likewise.
|
||
(VEC_CLRL): Likewise.
|
||
(VEC_CLRR): Likewise.
|
||
(VEC_CMPNEZ): Likewise.
|
||
(VEC_CNTLZ): Likewise.
|
||
(VEC_CNTLZM): Likewise.
|
||
(VEC_CNTTZM): Likewise.
|
||
(VEC_CNTLZ_LSBB): Likewise.
|
||
(VEC_CNTM): Likewise.
|
||
(VEC_CNTTZ): Likewise.
|
||
(VEC_CNTTZ_LSBB): Likewise.
|
||
(VEC_CONVERT_4F32_8F16): Likewise.
|
||
(VEC_DIV): Likewise.
|
||
(VEC_DIVE): Likewise.
|
||
(VEC_EQV): Likewise.
|
||
(VEC_EXPANDM): Likewise.
|
||
(VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
|
||
(VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
|
||
(VEC_EXTRACTH): Likewise.
|
||
(VEC_EXTRACTL): Likewise.
|
||
(VEC_EXTRACTM): Likewise.
|
||
(VEC_EXTRACT4B): Likewise.
|
||
(VEC_EXTULX): Likewise.
|
||
(VEC_EXTURX): Likewise.
|
||
(VEC_FIRSTMATCHINDEX): Likewise.
|
||
(VEC_FIRSTMACHOREOSINDEX): Likewise.
|
||
(VEC_FIRSTMISMATCHINDEX): Likewise.
|
||
(VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
|
||
(VEC_GB): Likewise.
|
||
(VEC_GENBM): Likewise.
|
||
(VEC_GENHM): Likewise.
|
||
(VEC_GENWM): Likewise.
|
||
(VEC_GENDM): Likewise.
|
||
(VEC_GENQM): Likewise.
|
||
(VEC_GENPCVM): Likewise.
|
||
(VEC_GNB): Likewise.
|
||
(VEC_INSERTH): Likewise.
|
||
(VEC_INSERTL): Likewise.
|
||
(VEC_INSERT4B): Likewise.
|
||
(VEC_LXVL): Likewise.
|
||
(VEC_MERGEE): Likewise.
|
||
(VEC_MERGEO): Likewise.
|
||
(VEC_MOD): Likewise.
|
||
(VEC_MSUB): Likewise.
|
||
(VEC_MULH): Likewise.
|
||
(VEC_NAND): Likewise.
|
||
(VEC_NCIPHER_BE): Likewise.
|
||
(VEC_NCIPHERLAST_BE): Likewise.
|
||
(VEC_NEARBYINT): Likewise.
|
||
(VEC_NMADD): Likewise.
|
||
(VEC_ORC): Likewise.
|
||
(VEC_PDEP): Likewise.
|
||
(VEC_PERMX): Likewise.
|
||
(VEC_PEXT): Likewise.
|
||
(VEC_POPCNT): Likewise.
|
||
(VEC_PARITY_LSBB): Likewise.
|
||
(VEC_REPLACE_ELT): Likewise.
|
||
(VEC_REPLACE_UN): Likewise.
|
||
(VEC_REVB): Likewise.
|
||
(VEC_RINT): Likewise.
|
||
(VEC_RLMI): Likewise.
|
||
(VEC_RLNM): Likewise.
|
||
(VEC_SBOX_BE): Likewise.
|
||
(VEC_SIGNEXTI): Likewise.
|
||
(VEC_SIGNEXTLL): Likewise.
|
||
(VEC_SIGNEXTQ): Likewise.
|
||
(VEC_SLDB): Likewise.
|
||
(VEC_SLV): Likewise.
|
||
(VEC_SPLATI): Likewise.
|
||
(VEC_SPLATID): Likewise.
|
||
(VEC_SPLATI_INS): Likewise.
|
||
(VEC_SQRT): Likewise.
|
||
(VEC_SRDB): Likewise.
|
||
(VEC_SRV): Likewise.
|
||
(VEC_STRIL): Likewise.
|
||
(VEC_STRIL_P): Likewise.
|
||
(VEC_STRIR): Likewise.
|
||
(VEC_STRIR_P): Likewise.
|
||
(VEC_STXVL): Likewise.
|
||
(VEC_TERNARYLOGIC): Likewise.
|
||
(VEC_TEST_LSBB_ALL_ONES): Likewise.
|
||
(VEC_TEST_LSBB_ALL_ZEROS): Likewise.
|
||
(VEC_VEE): Likewise.
|
||
(VEC_VES): Likewise.
|
||
(VEC_VIE): Likewise.
|
||
(VEC_VPRTYB): Likewise.
|
||
(VEC_VSCEEQ): Likewise.
|
||
(VEC_VSCEGT): Likewise.
|
||
(VEC_VSCELT): Likewise.
|
||
(VEC_VSCEUO): Likewise.
|
||
(VEC_VSEE): Likewise.
|
||
(VEC_VSES): Likewise.
|
||
(VEC_VSIE): Likewise.
|
||
(VEC_VSTDC): Likewise.
|
||
(VEC_VSTDCN): Likewise.
|
||
(VEC_VTDC): Likewise.
|
||
(VEC_XL): Likewise.
|
||
(VEC_XL_BE): Likewise.
|
||
(VEC_XL_LEN_R): Likewise.
|
||
(VEC_XL_SEXT): Likewise.
|
||
(VEC_XL_ZEXT): Likewise.
|
||
(VEC_XST): Likewise.
|
||
(VEC_XST_BE): Likewise.
|
||
(VEC_XST_LEN_R): Likewise.
|
||
(VEC_XST_TRUNC): Likewise.
|
||
(VEC_XXPERMDI): Likewise.
|
||
(VEC_XXSLDWI): Likewise.
|
||
(VEC_TSTSFI_EQ_DD): Likewise.
|
||
(VEC_TSTSFI_EQ_TD): Likewise.
|
||
(VEC_TSTSFI_GT_DD): Likewise.
|
||
(VEC_TSTSFI_GT_TD): Likewise.
|
||
(VEC_TSTSFI_LT_DD): Likewise.
|
||
(VEC_TSTSFI_LT_TD): Likewise.
|
||
(VEC_TSTSFI_OV_DD): Likewise.
|
||
(VEC_TSTSFI_OV_TD): Likewise.
|
||
(VEC_VADDCUQ): Likewise.
|
||
(VEC_VADDECUQ): Likewise.
|
||
(VEC_VADDEUQM): Likewise.
|
||
(VEC_VADDUDM): Likewise.
|
||
(VEC_VADDUQM): Likewise.
|
||
(VEC_VBPERMQ): Likewise.
|
||
(VEC_VCLZB): Likewise.
|
||
(VEC_VCLZD): Likewise.
|
||
(VEC_VCLZH): Likewise.
|
||
(VEC_VCLZW): Likewise.
|
||
(VEC_VCTZB): Likewise.
|
||
(VEC_VCTZD): Likewise.
|
||
(VEC_VCTZH): Likewise.
|
||
(VEC_VCTZW): Likewise.
|
||
(VEC_VEEDP): Likewise.
|
||
(VEC_VEESP): Likewise.
|
||
(VEC_VESDP): Likewise.
|
||
(VEC_VESSP): Likewise.
|
||
(VEC_VIEDP): Likewise.
|
||
(VEC_VIESP): Likewise.
|
||
(VEC_VPKSDSS): Likewise.
|
||
(VEC_VPKSDUS): Likewise.
|
||
(VEC_VPKUDUM): Likewise.
|
||
(VEC_VPKUDUS): Likewise.
|
||
(VEC_VPOPCNT): Likewise.
|
||
(VEC_VPOPCNTB): Likewise.
|
||
(VEC_VPOPCNTD): Likewise.
|
||
(VEC_VPOPCNTH): Likewise.
|
||
(VEC_VPOPCNTW): Likewise.
|
||
(VEC_VPRTYBD): Likewise.
|
||
(VEC_VPRTYBQ): Likewise.
|
||
(VEC_VPRTYBW): Likewise.
|
||
(VEC_VRLD): Likewise.
|
||
(VEC_VSLD): Likewise.
|
||
(VEC_VSRAD): Likewise.
|
||
(VEC_VSRD): Likewise.
|
||
(VEC_VSTDCDP): Likewise.
|
||
(VEC_VSTDCNDP): Likewise.
|
||
(VEC_VSTDCNQP): Likewise.
|
||
(VEC_VSTDCNSP): Likewise.
|
||
(VEC_VSTDCQP): Likewise.
|
||
(VEC_VSTDCSP): Likewise.
|
||
(VEC_VSUBECUQ): Likewise.
|
||
(VEC_VSUBEUQM): Likewise.
|
||
(VEC_VSUBUDM): Likewise.
|
||
(VEC_VSUBUQM): Likewise.
|
||
(VEC_VTDCDP): Likewise.
|
||
(VEC_VTDCSP): Likewise.
|
||
(VEC_VUPKHSW): Likewise.
|
||
(VEC_VUPKLSW): Likewise.
|
||
|
||
2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
PR rtl-optimization/101260
|
||
* regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
|
||
copy_regno.
|
||
|
||
2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
|
||
|
||
PR middle-end/95115
|
||
* fold-const.cc (const_binop): Do not fold NaN result from
|
||
non-NaN operands.
|
||
|
||
2022-02-01 Tom de Vries <tdevries@suse.de>
|
||
|
||
* tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
|
||
-ftree-loop-distribute-patterns.
|
||
(loop_distribution::execute): Don't call transform_reduction_loop for
|
||
-fno-tree-loop-distribute-patterns.
|
||
|
||
2022-01-31 Andrew Pinski <apinski@marvell.com>
|
||
|
||
* fold-const.h (operand_compare::operand_equal_p):
|
||
Fix comment about OEP_* flags.
|
||
|
||
2022-01-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104298
|
||
* config/rs6000/aix.h (OPTION_GLIBC): Remove.
|
||
* config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
|
||
* config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
|
||
if not already defined.
|
||
|
||
2022-01-31 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/104232
|
||
* gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
|
||
Handle PHIs. Add a synonymous overload.
|
||
(pass_waccess::check_pointer_uses): Call pointers_related_p.
|
||
|
||
2022-01-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/100499
|
||
* fold-const.cc (multiple_of_p): Pass the correct type of
|
||
the expression to the recursive invocation of multiple_of_p
|
||
for conversions and use CASE_CONVERT.
|
||
|
||
2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/104189
|
||
* config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
|
||
|
||
2022-01-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/100499
|
||
* tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
|
||
on poly-ints instead of multiple_of_p.
|
||
* tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
|
||
(non_rewritable_mem_ref_base): Likewise.
|
||
(non_rewritable_lvalue_p): Likewise.
|
||
(execute_update_addresses_taken): Likewise.
|
||
|
||
2022-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
Andrew Pinski <apinski@marvell.com>
|
||
|
||
PR tree-optimization/104279
|
||
PR tree-optimization/104280
|
||
PR tree-optimization/104281
|
||
* match.pd (1 / X -> X == 1 for unsigned X): Build eq with
|
||
boolean_type_node and convert to type. Formatting fixes.
|
||
|
||
2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
|
||
|
||
* config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
|
||
|
||
2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
|
||
|
||
PR tree-optimization/103514
|
||
* match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
|
||
(a & b) == (a ^ b) -> !(a | b): New optimization.
|
||
|
||
2022-01-28 Marek Polacek <polacek@redhat.com>
|
||
|
||
* doc/invoke.texi: Update -Wbidi-chars documentation.
|
||
|
||
2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
|
||
|
||
2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
|
||
|
||
PR tree-optimization/95424
|
||
* match.pd: Simplify 1 / X where X is an integer.
|
||
|
||
2022-01-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104263
|
||
* gimple-ssa-store-merging.cc (get_status_for_store_merging): For
|
||
cfun->can_throw_non_call_exceptions && cfun->eh test whether
|
||
last non-debug stmt in the bb is store_valid_for_store_merging_p
|
||
rather than last stmt.
|
||
|
||
2022-01-28 Martin Liska <mliska@suse.cz>
|
||
|
||
* diagnostic.cc (diagnostic_action_after_output): Remove extra
|
||
newline.
|
||
|
||
2022-01-28 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/rs6000/host-darwin.cc (segv_crash_handler):
|
||
Do not use leading capital letter.
|
||
(segv_handler): Likewise.
|
||
* ipa-sra.cc (verify_splitting_accesses): Likewise.
|
||
* varasm.cc (get_section): Likewise.
|
||
|
||
2022-01-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104267
|
||
* tree-vect-stmts.cc (vectorizable_call): Properly use the
|
||
per-argument determined vector type for externals and
|
||
invariants.
|
||
|
||
2022-01-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104263
|
||
* tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
|
||
Purge edges also when !cfun->has_nonlocal_label
|
||
and !cfun->calls_setjmp.
|
||
|
||
2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
|
||
attributes.
|
||
|
||
2022-01-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/104237
|
||
* cfgrtl.cc (loc_equal): New function.
|
||
(unique_locus_on_edge_between_p): Use it.
|
||
|
||
2022-01-28 Richard Biener <rguenther@suse.de>
|
||
|
||
* cfganal.h (mark_dfs_back_edges): Provide API with struct
|
||
function argument.
|
||
* cfganal.cc (mark_dfs_back_edges): Take a struct function
|
||
to work on, add a wrapper passing cfun.
|
||
* graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
|
||
uses with fun which is already passed.
|
||
(draw_cfg_edges): Likewise.
|
||
(draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
|
||
for fun != cfun.
|
||
|
||
2022-01-27 Patrick Palka <ppalka@redhat.com>
|
||
|
||
PR c++/99895
|
||
* tree.cc (build_call_vec): Add const to second parameter.
|
||
* tree.h (build_call_vec): Likewise.
|
||
|
||
2022-01-27 Martin Liska <mliska@suse.cz>
|
||
|
||
PR web/104254
|
||
* diagnostic.cc (diagnostic_initialize):
|
||
Initialize report_bug flag.
|
||
(diagnostic_action_after_output):
|
||
Explain that -freport-bug option can be used for pre-processed
|
||
file creation. Make the message shorter.
|
||
(error_recursion): Rename Internal to internal.
|
||
* diagnostic.h (struct diagnostic_context): New field.
|
||
* opts.cc (common_handle_option): Init the field here.
|
||
|
||
2022-01-27 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR target/103702
|
||
* config/rs6000/rs6000.cc
|
||
(rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
|
||
assertion with early return.
|
||
|
||
2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
PR middle-end/103642
|
||
* gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
|
||
for non-pointer or non-reference-to-pointer cases.
|
||
|
||
2022-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/104196
|
||
* gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
|
||
* gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
|
||
return NULL and emit needed stmts before and after stmt.
|
||
* tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
|
||
pick as operand_entry that will hold the merged test the one feeding
|
||
earliest condition, ensure that by swapping range->idx with some
|
||
other range's idx if needed. If seq is non-NULL, don't actually swap
|
||
it but instead rewrite stmts with undefined overflow in between
|
||
the two locations.
|
||
(maybe_optimize_range_tests): Set ops[]->id to bb->index with the
|
||
corresponding condition even if they have non-NULL ops[]->op.
|
||
Formatting fix.
|
||
|
||
2022-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104239
|
||
* config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
|
||
asm.
|
||
* config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
|
||
before for loop instead of for init clause.
|
||
* config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
|
||
|
||
2022-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104239
|
||
* config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
|
||
_X86INTRIN_H_INCLUDED and adjust #error wording.
|
||
* config/rs6000/bmi2intrin.h: Likewise.
|
||
|
||
2022-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/104194
|
||
* dwarf2out.cc (long_double_as_float128): New function.
|
||
(modified_type_die): For powerpc64le IEEE 754 quad long double
|
||
and complex long double emit those as DW_TAG_typedef to
|
||
_Float128 or complex _Float128 base type.
|
||
|
||
2022-01-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR target/104213
|
||
* gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
|
||
warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
|
||
|
||
2022-01-26 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-modref-tree.cc (modref_access_node::update):
|
||
Remove "--param param=foo" with "--param foo".
|
||
(modref_access_node::insert): Likewise.
|
||
(modref_access_node::insert_kill): Likewise.
|
||
* ipa-modref-tree.h (struct modref_ref_node): Likewise.
|
||
(struct modref_base_node): Likewise.
|
||
(struct modref_tree): Likewise.
|
||
|
||
2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
|
||
|
||
PR target/94193
|
||
* builtins.cc (expand_builtin_feclear_feraise_except): Add op0
|
||
predicate check.
|
||
|
||
2022-01-25 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/104203
|
||
* gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
|
||
TV_WARN_ACCESS.
|
||
* pointer-query.cc (access_ref::merge_ref): Change return type.
|
||
Convert failure to a conservative success.
|
||
(access_ref::get_ref): Adjust to the change above. Short-circuit
|
||
PHI evaluation after first failure turned into conservative success.
|
||
* pointer-query.h (access_ref::merge_ref): Change return type.
|
||
* timevar.def (TV_WARN_ACCESS): New timer variable.
|
||
|
||
2022-01-25 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
|
||
|
||
2022-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104214
|
||
* tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
|
||
stronger guarantees for relational pointer compares when
|
||
rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
|
||
BASE0 + STEP0 - STEP1 cmp BASE1.
|
||
|
||
2022-01-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104172
|
||
* config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
|
||
declare.
|
||
* config/rs6000/rs6000.cc (rs6000_passes_ieee128,
|
||
ieee128_mangling_gcc_8_1): Remove.
|
||
(TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
|
||
(rs6000_mangle_type): Return "u9__ieee128" instead of
|
||
ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
|
||
(rs6000_globalize_decl_name): Remove.
|
||
* config/rs6000/rs6000-call.cc (init_cumulative_args,
|
||
rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
|
||
|
||
2022-01-24 Martin Sebor <msebor@redhat.com>
|
||
|
||
* pointer-query.cc (pointer_query::dump): Remove duplicate
|
||
block.
|
||
|
||
2022-01-24 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR preprocessor/104030
|
||
* doc/invoke.texi: Update documentation for -Wbidi-chars.
|
||
|
||
2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
|
||
|
||
PR target/94193
|
||
* builtins.cc (expand_builtin_fegetround): New function.
|
||
(expand_builtin_feclear_feraise_except): New function.
|
||
(expand_builtin): Add cases for BUILT_IN_FEGETROUND,
|
||
BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
|
||
* config/rs6000/rs6000.md (fegetroundsi): New pattern.
|
||
(feclearexceptsi): New Pattern.
|
||
(feraiseexceptsi): New Pattern.
|
||
* doc/extend.texi: Add a new introductory paragraph about the
|
||
new builtins.
|
||
* doc/md.texi: (fegetround@var{m}): Document new optab.
|
||
(feclearexcept@var{m}): Document new optab.
|
||
(feraiseexcept@var{m}): Document new optab.
|
||
* optabs.def (fegetround_optab): New optab.
|
||
(feclearexcept_optab): New optab.
|
||
(feraiseexcept_optab): New optab.
|
||
|
||
2022-01-24 Richard Biener <rguenther@suse.de>
|
||
Jiufu Guo <guojiufu@linux.ibm.com>
|
||
|
||
PR tree-optimization/100740
|
||
PR tree-optimization/101508
|
||
PR tree-optimization/101972
|
||
PR tree-optimization/102131
|
||
* tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
|
||
constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
|
||
BASE0 + STEP0 - STEP1 cmp BASE1 transform.
|
||
|
||
2022-01-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/104158
|
||
* opt-functions.awk (var_set): Handle EnumBitSet property.
|
||
* optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
|
||
specified.
|
||
* opts.h (enum cl_enum_var_value): New type.
|
||
* opts-common.cc (decode_cmdline_option): Use CLEV_* values.
|
||
Handle CLEV_BITSET.
|
||
(cmdline_handle_error): Handle CLEV_BITSET.
|
||
* opts.cc (test_enum_sets): Also test EnumBitSet requirements.
|
||
* doc/options.texi (EnumBitSet): Document.
|
||
* common.opt (fsanitize-coverage=): Use EnumBitSet instead of
|
||
EnumSet.
|
||
(trace-pc, trace-cmp): Drop Set properties.
|
||
|
||
2022-01-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/104158
|
||
* common.opt (flag_sanitize_coverage): Remove Variable entry.
|
||
(fsanitize-coverage=): Remove RejectNegative property, add
|
||
Var(flag_sanitize_coverage) and EnumSet properties.
|
||
(trace-pc): Add Set(1) property.
|
||
(trace-cmp): Add Set(2) property.
|
||
* opts.cc (common_handle_option): Don't handle
|
||
OPT_fsanitize_coverage_.
|
||
|
||
2022-01-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/104158
|
||
* opt-functions.awk (var_set): Handle EnumSet property.
|
||
* optc-gen.awk: Don't disallow RejectNegative if EnumSet is
|
||
specified.
|
||
* opt-read.awk: Handle Set property.
|
||
* opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
|
||
(struct cl_decoded_option): Mention enum in value description.
|
||
Add mask member.
|
||
(set_option): Add mask argument defaulted to 0.
|
||
* opts.cc (test_enum_sets): New function.
|
||
(opts_cc_tests): Call it.
|
||
* opts-common.cc (enum_arg_to_value): Change return argument
|
||
from bool to int, on success return index into the cl_enum_arg
|
||
array, on failure -1. Add len argument, if non-0, use strncmp
|
||
instead of strcmp.
|
||
(opt_enum_arg_to_value): Adjust caller.
|
||
(decode_cmdline_option): Handle EnumSet represented as
|
||
CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
|
||
(decode_cmdline_options_to_array): CLear opt_array[0].mask.
|
||
(handle_option): Pass decoded->mask to set_options last argument.
|
||
(generate_option): Clear decoded->mask.
|
||
(generate_option_input_file): Likewise.
|
||
(cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
|
||
(set_option): Add mask argument, use it for CLVC_ENUM.
|
||
(control_warning_option): Adjust enum_arg_to_value caller.
|
||
* doc/options.texi: Document Set and EnumSet properties.
|
||
|
||
2022-01-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/104170
|
||
* config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
|
||
OPTION_BIONIC_P, OPTION_MUSL_P): Define.
|
||
(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
|
||
using OPTION_*_P macros.
|
||
* config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
|
||
OPTION_BIONIC_P, OPTION_MUSL_P): Define.
|
||
(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
|
||
using OPTION_*_P macros.
|
||
* config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
|
||
OPTION_BIONIC_P, OPTION_MUSL_P): Define.
|
||
(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
|
||
using OPTION_*_P macros.
|
||
* config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
|
||
OPTION_BIONIC_P, OPTION_MUSL_P): Define.
|
||
(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
|
||
using OPTION_*_P macros.
|
||
* config/fuchsia.h (OPTION_MUSL_P): Redefine.
|
||
* config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
|
||
* common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
|
||
ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
|
||
OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
|
||
* common/config/i386/i386-common.cc (ix86_supports_split_stack): If
|
||
OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
|
||
otherwise assume if (true).
|
||
|
||
2022-01-24 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
|
||
Skip zicsr and zifencei if I-ext is 2.0.
|
||
|
||
2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
|
||
|
||
* config.gcc: Modify default isa_spec version.
|
||
|
||
2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
|
||
|
||
PR tree-optimization/102087
|
||
* tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
|
||
Correct PLUS result type.
|
||
|
||
2022-01-24 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/104188
|
||
* config/i386/predicates.md (bcst_mem_operand): Also check mode
|
||
of memory broadcast.
|
||
|
||
2022-01-23 Andrew Pinski <apinski@marvell.com>
|
||
|
||
PR target/64821
|
||
* config/aarch64/aarch64-builtins.cc
|
||
(aarch64_general_gimple_fold_builtin): Handle
|
||
__builtin_aarch64_sqrt* and simplify into SQRT internal
|
||
function.
|
||
|
||
2022-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/104176
|
||
* opts-global.cc (handle_common_deferred_options): Quote
|
||
--enable-plugin in diagnostics to avoid -Werror=format-diag.
|
||
|
||
2022-01-21 Michael Meissner <meissner@the-meissners.org>
|
||
|
||
PR target/104136
|
||
* config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
|
||
* config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
|
||
* config/rs6000/rs6000.md (prefixed attribute): Delete section
|
||
that sets the prefixed attribute for xxspltiw, xxspltidp, and
|
||
xxsplti32dx instructions.
|
||
(movsf_hardfloat): Explicitly set the prefixed attribute
|
||
when xxspltiw and xxspltidp instructions are generated.
|
||
(mov<mode>_hardfloat32): Likewise.
|
||
(mov<mode>_hardfloat64): Likewise.
|
||
* config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
|
||
prefixed attribute for xxspltiw and xxspltidp instructions.
|
||
(vsx_mov<mode>_32bit): Likewise.
|
||
|
||
2022-01-21 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR bootstrap/104170
|
||
* common/config/i386/i386-common.cc (ix86_supports_split_stack):
|
||
Return true only on glibc.
|
||
* config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
|
||
Revert commit c163647ffbc.
|
||
* config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
|
||
|
||
2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
|
||
|
||
* common/config/s390/s390-common.cc (s390_supports_split_stack):
|
||
Only support split-stack on glibc targets.
|
||
* config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
|
||
* config/i386/gnu.h (defined): Ditto.
|
||
|
||
2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
|
||
vector float and vector double.
|
||
|
||
2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
|
||
|
||
* config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
|
||
Fix mention of ifunc in string.
|
||
|
||
2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
PR middle-end/104140
|
||
* tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
|
||
operands of the widening multiplication are either both signed or
|
||
both unsigned, and abort the conversion if mismatched.
|
||
* doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
|
||
(MULT_HIGHPART_EXPR): Clarify that operands must have the same
|
||
signedness.
|
||
* tree.def (MULT_HIGHPART_EXPR): Document both operands must have
|
||
integer types with the same precision and signedness.
|
||
(WIDEN_MULT_EXPR): Document that operands must have integer types
|
||
with the same precision, but possibly differing signedness.
|
||
* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
|
||
riscv_current_subset_list returning a NULL pointer (empty list).
|
||
|
||
2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/103676
|
||
* ira.h (struct target_ira): Add member
|
||
x_ira_exclude_class_mode_regs.
|
||
(ira_exclude_class_mode_regs): New macro.
|
||
* lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
|
||
move from here ...
|
||
* lra-int.h: ... to here.
|
||
(lra_create_new_reg_with_unique_value): Add arg
|
||
exclude_start_hard_regs.
|
||
(class lra_reg): Add member exclude_start_hard_regs.
|
||
* lra-assigns.cc (find_hard_regno_for_1): Setup
|
||
impossible_start_hard_regs from exclude_start_hard_regs.
|
||
* lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
|
||
it lra_create_new_reg[_with_unique_value].
|
||
(match_reload): Ditto.
|
||
(check_and_process_move): Pass NULL
|
||
exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
|
||
(goal_alt_exclude_start_hard_regs): New static variable.
|
||
(process_addr_reg, simplify_operand_subreg): Pass NULL
|
||
exclude_start_hard_regs to lra_create_new_reg_with_unique_value
|
||
and get_reload_reg.
|
||
(process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
|
||
Use this_alternative_exclude_start_hard_regs additionally to find
|
||
winning operand alternative.
|
||
(base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
|
||
exclude_start_hard_regs to lra_create_new_reg.
|
||
(process_address_1, emit_inc): Ditto.
|
||
(curr_insn_transform): Pass exclude_start_hard_regs value to
|
||
lra_create_new_reg, get_reload_reg, match_reload.
|
||
(inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
|
||
to lra_create_new_reg.
|
||
(process_invariant_for_inheritance): Ditto.
|
||
* lra-remat.cc (update_scratch_ops): Ditto.
|
||
* lra.cc (lra_create_new_reg_with_unique_value): Add arg
|
||
exclude_start_hard_regs. Setup the corresponding member of
|
||
lra reg info.
|
||
(lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
|
||
to lra_create_new_reg_with_unique_value.
|
||
(initialize_lra_reg_info_element): Initialize member
|
||
exclude_start_hard_regs.
|
||
(get_scratch_reg): Pass NULL to lra_create_new_reg.
|
||
* ira.cc (setup_prohibited_class_mode_regs): Rename to
|
||
setup_prohibited_and_exclude_class_mode_regs and calculate
|
||
ira_exclude_class_mode_regs.
|
||
|
||
2022-01-21 Martin Liska <mliska@suse.cz>
|
||
|
||
* configure.ac: Detect ld_is_mold and use it for
|
||
comdat_group=yes and gcc_cv_ld_hidden=yes.
|
||
* configure: Regenerate.
|
||
|
||
2022-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/100089
|
||
* tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
|
||
of if-converted loops with unvectorized COND_EXPRs for
|
||
all but the unlimited cost models.
|
||
|
||
2022-01-21 Ard Biesheuvel <ardb@kernel.org>
|
||
|
||
* config/arm/arm-opts.h (enum stack_protector_guard): New.
|
||
* config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
|
||
New.
|
||
* config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
|
||
(arm_option_override_internal): Handle and put in error checks.
|
||
for stack protector guard options.
|
||
(arm_option_reconfigure_globals): Likewise.
|
||
(arm_stack_protect_tls_canary_mem): New.
|
||
(arm_stack_protect_guard): New.
|
||
* config/arm/arm.md (stack_protect_set): New.
|
||
(stack_protect_set_tls): Likewise.
|
||
(stack_protect_test): Likewise.
|
||
(stack_protect_test_tls): Likewise.
|
||
(reload_tp_hard): Likewise.
|
||
* config/arm/arm.opt (-mstack-protector-guard): New
|
||
(-mstack-protector-guard-offset): New.
|
||
* doc/invoke.texi: Document new options.
|
||
|
||
2022-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104156
|
||
* tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
|
||
Collect and reset debug stmts with out-of-loop uses when
|
||
hoisting guards.
|
||
(find_loop_guard): Adjust.
|
||
(empty_bb_without_guard_p): Likewise. Ignore debug stmts.
|
||
(used_outside_loop_p): Push debug uses to a vector of
|
||
debug stmts to reset.
|
||
(hoist_guard): Adjust -fopt-info category.
|
||
|
||
2022-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104152
|
||
* tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
|
||
can_duplicate_and_interleave_p check.
|
||
|
||
2022-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
|
||
Avoid passing var to warning_at when the format string doesn't
|
||
refer to it.
|
||
|
||
2022-01-21 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR tree-optimization/103721
|
||
* gimple-range-path.cc
|
||
(path_range_query::relations_may_be_invalidated): New.
|
||
(path_range_query::compute_ranges_in_block): Reset relations if
|
||
they may be invalidated.
|
||
(path_range_query::maybe_register_phi_relation): Exit if relations
|
||
may be invalidated on incoming edge.
|
||
(path_range_query::compute_phi_relations): Pass incoming PHI edge
|
||
to maybe_register_phi_relation.
|
||
* gimple-range-path.h (relations_may_be_invalidated): New.
|
||
(maybe_register_phi_relation): Pass edge instead of tree.
|
||
* tree-ssa-threadbackward.cc (back_threader::back_threader):
|
||
Mark DFS edges.
|
||
* value-relation.cc (path_oracle::path_oracle): Call
|
||
mark_dfs_back_edges.
|
||
(path_oracle::register_relation): Add SSA names to m_registered
|
||
bitmap.
|
||
(path_oracle::reset_path): Clear m_registered bitmap.
|
||
* value-relation.h (path_oracle::set_root_oracle): New.
|
||
|
||
2022-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/102478
|
||
* optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
|
||
force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
|
||
would be needed.
|
||
|
||
2022-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/100786
|
||
* gimple-fold.cc (get_symbol_constant_value): Only return
|
||
values of compatible type to the symbol.
|
||
|
||
2022-01-20 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* value-relation.cc (relation_oracle::valid_equivs): Query and add
|
||
if valid members of a set.
|
||
(equiv_oracle::register_equiv): Call valid_equivs rather than
|
||
bitmap direct operations.
|
||
(path_oracle::register_equiv): Ditto.
|
||
* value-relation.h (relation_oracle::valid_equivs): New prototype.
|
||
|
||
2022-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/100784
|
||
* config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
|
||
LHS before folding __builtin_ia32_shufpd and friends.
|
||
|
||
2022-01-20 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/crypto.md (aes_op_protect): Allow moves from core
|
||
registers and from memory.
|
||
(aes_op_protect_misalign_load): New pattern.
|
||
(aes_op_protect_neon_vld1v16qi): New pattern.
|
||
|
||
2022-01-20 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
|
||
New pattern.
|
||
(aarch32_crypto_aese_fused_protected): Likewise.
|
||
(aarch32_crypto_aesd_fused_protected): Likewise.
|
||
|
||
2022-01-20 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
|
||
to define_expand. Add mitigation for the Cortex-A AES erratum
|
||
when enabled.
|
||
(*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
|
||
on original crypto_<CRYPTO_AES:crypto_pattern> insn.
|
||
(aes_op_protect): New pattern.
|
||
* config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
|
||
|
||
2022-01-20 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
|
||
(ALL_QUIRKS): Add it.
|
||
(cortex-a57, cortex-a72): Enable it.
|
||
(cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
|
||
* config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
|
||
option.
|
||
(mfix-cortex-a72-aes-1655431): New option alias.
|
||
* config/arm/arm.cc (arm_option_override): Handle default settings
|
||
for AES erratum switch.
|
||
* doc/invoke.texi (Arm Options): Document new options.
|
||
|
||
2022-01-20 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
|
||
<crypto_mode> rather than hard-coding the mode.
|
||
(crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
|
||
(crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
|
||
(*aarch32_crypto_aese_fused): Likewise.
|
||
(*aarch32_crypto_aesd_fused): Likewise.
|
||
(crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
|
||
(crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
|
||
(crypto_sha1h_lb): Likewise.
|
||
(crypto_vmullp64): Likewise.
|
||
(crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
|
||
(crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
|
||
|
||
2022-01-20 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
|
||
iterator to pattern name to disambiguate.
|
||
(crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
|
||
(crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
|
||
(crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
|
||
(crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
|
||
(crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
|
||
|
||
2022-01-20 Martin Liska <mliska@suse.cz>
|
||
|
||
PR bootstrap/104135
|
||
* emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
|
||
* rtl.cc: Partially disable -Wformat-diag for RTL checking
|
||
error messages.
|
||
|
||
2022-01-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/103874
|
||
* dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
|
||
block_num > 0, index entry even if !have_multiple_function_sections.
|
||
|
||
2022-01-20 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/103771
|
||
* tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
|
||
integral mode mask pack by multi steps which takes
|
||
vec_pack_sbool_trunc_optab as start when elements number is
|
||
less than BITS_PER_UNITS.
|
||
|
||
2022-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104114
|
||
* tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
|
||
single element vector decomposition.
|
||
|
||
2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* ifcvt.cc (noce_convert_multiple_sets_1): New function.
|
||
(noce_convert_multiple_sets): Call function a second time if we can
|
||
improve the first try.
|
||
|
||
2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
|
||
reversed comparison.
|
||
(try_emit_cmove_seq): New function to facilitate creating a cmov
|
||
sequence.
|
||
(noce_convert_multiple_sets): Create two sequences and use the less
|
||
expensive one.
|
||
|
||
2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* rtl.h (struct rtx_comparison): New struct that holds an rtx
|
||
comparison.
|
||
* config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
|
||
single parameters.
|
||
(rs6000_emit_swsqrt): Likewise.
|
||
* expmed.cc (expand_sdiv_pow2): Likewise.
|
||
(emit_store_flag): Likewise.
|
||
* expr.cc (expand_cond_expr_using_cmove): Likewise.
|
||
(expand_expr_real_2): Likewise.
|
||
* ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
|
||
parameters.
|
||
* optabs.cc (emit_conditional_move_1): New function.
|
||
(expand_doubleword_shift_condmove): Use struct.
|
||
(emit_conditional_move): Use struct and allow to call directly
|
||
without going through preparation steps.
|
||
* optabs.h (emit_conditional_move): Use struct.
|
||
|
||
2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
|
||
(noce_process_if_block): Use potential costs.
|
||
|
||
2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* ifcvt.cc (noce_convert_multiple_sets): Allow constants.
|
||
(bb_ok_for_noce_convert_multiple_sets): Likewise.
|
||
|
||
2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* ifcvt.cc (need_cmov_or_rewire): New function.
|
||
(noce_convert_multiple_sets): Call it.
|
||
|
||
2022-01-19 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* attribs.cc (attribute_c_tests): Rename to...
|
||
(attribs_cc_tests): ...this.
|
||
* bitmap.cc (bitmap_c_tests): Rename to...
|
||
(bitmap_cc_tests): ...this.
|
||
* cgraph.cc (cgraph_c_finalize): Rename to...
|
||
(cgraph_cc_finalize): ...this.
|
||
(cgraph_c_tests): Rename to...
|
||
(cgraph_cc_tests): ...this.
|
||
* cgraph.h (cgraph_c_finalize): Rename to...
|
||
(cgraph_cc_finalize): ...this.
|
||
(cgraphunit_c_finalize): Rename to...
|
||
(cgraphunit_cc_finalize): ...this.
|
||
* cgraphunit.cc (cgraphunit_c_finalize): Rename to...
|
||
(cgraphunit_cc_finalize): ...this.
|
||
* convert.cc (convert_c_tests): Rename to...
|
||
(convert_cc_tests): ...this.
|
||
* dbgcnt.cc (dbgcnt_c_tests): Rename to...
|
||
(dbgcnt_cc_tests): ...this.
|
||
* diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
|
||
(diagnostic_show_locus_cc_tests): ...this.
|
||
* diagnostic.cc (diagnostic_c_tests): Rename to...
|
||
(diagnostic_cc_tests): ...this.
|
||
* dumpfile.cc (dumpfile_c_tests): Rename to...
|
||
(dumpfile_cc_tests): ...this.
|
||
* dwarf2out.cc (dwarf2out_c_finalize): Rename to...
|
||
(dwarf2out_cc_finalize): ...this.
|
||
* dwarf2out.h (dwarf2out_c_finalize): Rename to...
|
||
(dwarf2out_cc_finalize): ...this.
|
||
* edit-context.cc (edit_context_c_tests): Rename to...
|
||
(edit_context_cc_tests): ...this.
|
||
* et-forest.cc (et_forest_c_tests): Rename to...
|
||
(et_forest_cc_tests): ...this.
|
||
* fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
|
||
(fibonacci_heap_cc_tests): ...this.
|
||
* fold-const.cc (fold_const_c_tests): Rename to...
|
||
(fold_const_cc_tests): ...this.
|
||
* function-tests.cc (function_tests_c_tests): Rename to...
|
||
(function_tests_cc_tests): ...this.
|
||
* gcse.cc (gcse_c_finalize): Rename to...
|
||
(gcse_cc_finalize): ...this.
|
||
* gcse.h (gcse_c_finalize): Rename to...
|
||
(gcse_cc_finalize): ...this.
|
||
* ggc-tests.cc (ggc_tests_c_tests): Rename to...
|
||
(ggc_tests_cc_tests): ...this.
|
||
* gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
|
||
(store_merging_cc_tests): ...this.
|
||
* gimple.cc (gimple_c_tests): Rename to...
|
||
(gimple_cc_tests): ...this.
|
||
* hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
|
||
(hash_map_tests_cc_tests): ...this.
|
||
* hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
|
||
(hash_set_tests_cc_tests): ...this.
|
||
* input.cc (input_c_tests): Rename to...
|
||
(input_cc_tests): ...this.
|
||
* ipa-cp.cc (ipa_cp_c_finalize): Rename to...
|
||
(ipa_cp_cc_finalize): ...this.
|
||
* ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
|
||
(ipa_fnsummary_cc_finalize): ...this.
|
||
* ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
|
||
(ipa_fnsummary_cc_finalize): ...this.
|
||
* ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
|
||
(ipa_modref_tree_cc_tests): ...this.
|
||
* ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
|
||
* ipa-modref.cc (ipa_modref_c_finalize): Rename to...
|
||
(ipa_modref_cc_finalize): ...this.
|
||
* ipa-modref.h (ipa_modref_c_finalize): Rename to...
|
||
(ipa_modref_cc_finalize): ...this.
|
||
* ipa-prop.h (ipa_cp_c_finalize): Rename to...
|
||
(ipa_cp_cc_finalize): ...this.
|
||
* ipa-reference.cc (ipa_reference_c_finalize): Rename to...
|
||
(ipa_reference_cc_finalize): ...this.
|
||
* ipa-reference.h (ipa_reference_c_finalize): Rename to...
|
||
(ipa_reference_cc_finalize): ...this.
|
||
* ira-costs.cc (ira_costs_c_finalize): Rename to...
|
||
(ira_costs_cc_finalize): ...this.
|
||
* ira.h (ira_costs_c_finalize): Rename to...
|
||
(ira_costs_cc_finalize): ...this.
|
||
* opt-suggestions.cc (opt_proposer_c_tests): Rename to...
|
||
(opt_suggestions_cc_tests): ...this.
|
||
* opts.cc (opts_c_tests): Rename to...
|
||
(opts_cc_tests): ...this.
|
||
* predict.cc (predict_c_tests): Rename to...
|
||
(predict_cc_tests): ...this.
|
||
* pretty-print.cc (pretty_print_c_tests): Rename to...
|
||
(pretty_print_cc_tests): ...this.
|
||
* read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
|
||
(read_rtl_function_cc_tests): ...this.
|
||
* rtl-tests.cc (rtl_tests_c_tests): Rename to...
|
||
(rtl_tests_cc_tests): ...this.
|
||
* sbitmap.cc (sbitmap_c_tests): Rename to...
|
||
(sbitmap_cc_tests): ...this.
|
||
* selftest-run-tests.cc (selftest::run_tests): Update calls for
|
||
_c_ to _cc_ function renamings; fix names of attribs and
|
||
opt-suggestions tests.
|
||
* selftest.cc (selftest_c_tests): Rename to...
|
||
(selftest_cc_tests): ...this.
|
||
* selftest.h (attribute_c_tests): Rename to...
|
||
(attribs_cc_tests): ...this.
|
||
(bitmap_c_tests): Rename to...
|
||
(bitmap_cc_tests): ...this.
|
||
(cgraph_c_tests): Rename to...
|
||
(cgraph_cc_tests): ...this.
|
||
(convert_c_tests): Rename to...
|
||
(convert_cc_tests): ...this.
|
||
(diagnostic_c_tests): Rename to...
|
||
(diagnostic_cc_tests): ...this.
|
||
(diagnostic_show_locus_c_tests): Rename to...
|
||
(diagnostic_show_locus_cc_tests): ...this.
|
||
(dumpfile_c_tests): Rename to...
|
||
(dumpfile_cc_tests): ...this.
|
||
(edit_context_c_tests): Rename to...
|
||
(edit_context_cc_tests): ...this.
|
||
(et_forest_c_tests): Rename to...
|
||
(et_forest_cc_tests): ...this.
|
||
(fibonacci_heap_c_tests): Rename to...
|
||
(fibonacci_heap_cc_tests): ...this.
|
||
(fold_const_c_tests): Rename to...
|
||
(fold_const_cc_tests): ...this.
|
||
(function_tests_c_tests): Rename to...
|
||
(function_tests_cc_tests): ...this.
|
||
(ggc_tests_c_tests): Rename to...
|
||
(ggc_tests_cc_tests): ...this.
|
||
(gimple_c_tests): Rename to...
|
||
(gimple_cc_tests): ...this.
|
||
(hash_map_tests_c_tests): Rename to...
|
||
(hash_map_tests_cc_tests): ...this.
|
||
(hash_set_tests_c_tests): Rename to...
|
||
(hash_set_tests_cc_tests): ...this.
|
||
(input_c_tests): Rename to...
|
||
(input_cc_tests): ...this.
|
||
(opts_c_tests): Rename to...
|
||
(opts_cc_tests): ...this.
|
||
(predict_c_tests): Rename to...
|
||
(predict_cc_tests): ...this.
|
||
(pretty_print_c_tests): Rename to...
|
||
(pretty_print_cc_tests): ...this.
|
||
(read_rtl_function_c_tests): Rename to...
|
||
(read_rtl_function_cc_tests): ...this.
|
||
(rtl_tests_c_tests): Rename to...
|
||
(rtl_tests_cc_tests): ...this.
|
||
(sbitmap_c_tests): Rename to...
|
||
(sbitmap_cc_tests): ...this.
|
||
(selftest_c_tests): Rename to...
|
||
(selftest_cc_tests): ...this.
|
||
(simplify_rtx_c_tests): Rename to...
|
||
(simplify_rtx_cc_tests): ...this.
|
||
(spellcheck_c_tests): Rename to...
|
||
(spellcheck_cc_tests): ...this.
|
||
(spellcheck_tree_c_tests): Rename to...
|
||
(spellcheck_tree_cc_tests): ...this.
|
||
(sreal_c_tests): Rename to...
|
||
(sreal_cc_tests): ...this.
|
||
(store_merging_c_tests): Rename to...
|
||
(store_merging_cc_tests): ...this.
|
||
(tree_c_tests): Rename to...
|
||
(tree_cc_tests): ...this.
|
||
(tree_cfg_c_tests): Rename to...
|
||
(tree_cfg_cc_tests): ...this.
|
||
(typed_splay_tree_c_tests): Rename to...
|
||
(typed_splay_tree_cc_tests): ...this.
|
||
(vec_c_tests): Rename to...
|
||
(vec_cc_tests): ...this.
|
||
(vec_perm_indices_c_tests): Rename to...
|
||
(vec_perm_indices_cc_tests): ..this.
|
||
(opt_proposer_c_tests): Rename to...
|
||
(opt_suggestions_cc_tests): ...this.
|
||
(dbgcnt_c_tests): Rename to...
|
||
(dbgcnt_cc_tests): ...this.
|
||
(ipa_modref_tree_c_tests): Rename to...
|
||
(ipa_modref_tree_cc_tests): ...this.
|
||
* simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
|
||
(simplify_rtx_cc_tests): ...this.
|
||
* spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
|
||
(spellcheck_tree_cc_tests): ...this.
|
||
* spellcheck.cc (spellcheck_c_tests): Rename to...
|
||
(spellcheck_cc_tests): ...this.
|
||
* sreal.cc (sreal_c_tests): Rename to...
|
||
(sreal_cc_tests): ...this.
|
||
* toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
|
||
function renamings.
|
||
* tree-cfg.cc (tree_cfg_c_tests): Rename to...
|
||
(tree_cfg_cc_tests): ...this.
|
||
* tree.cc (tree_c_tests): Rename to...
|
||
(tree_cc_tests): ...this.
|
||
* typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
|
||
(typed_splay_tree_cc_tests): ...this.
|
||
* vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
|
||
(vec_perm_indices_cc_tests): ...this.
|
||
* vec.cc (vec_c_tests): Rename to...
|
||
(vec_cc_tests): ...this.
|
||
|
||
2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
PR tree-optimization/103997
|
||
* tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
|
||
vectorization.
|
||
|
||
2022-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/102860
|
||
* match.pd (x %[fl] y -> x % y): New simplification for
|
||
unsigned integral types.
|
||
* optabs-tree.cc (optab_for_tree_code): Return unknown_optab
|
||
for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
|
||
|
||
2022-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104112
|
||
* tree-vect-loop.cc (vect_find_reusable_accumulator): Check
|
||
for required intermediate vector types.
|
||
|
||
2022-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
|
||
|
||
2022-01-19 Martin Liska <mliska@suse.cz>
|
||
|
||
* configure.ac: Remove -Wno-error=format-diag.
|
||
* configure: Regenerate.
|
||
|
||
2022-01-19 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/riscv/riscv.cc (riscv_handle_type_attribute):
|
||
Update one -Wformat-diag string in warning message.
|
||
|
||
2022-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/104103
|
||
* gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
|
||
.ASAN_MARK calls.
|
||
|
||
2022-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/89074
|
||
* fold-const.cc (address_compare): Consider different STRING_CSTs
|
||
with the same lengths that memcmp the same as equal, not different.
|
||
|
||
2022-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
|
||
{%0}.
|
||
|
||
2022-01-19 Martin Liska <mliska@suse.cz>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
|
||
warning messages.
|
||
|
||
2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
PR target/104090
|
||
* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
|
||
rs6000_cpu.
|
||
|
||
2022-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/104104
|
||
* config/i386/sse.md
|
||
(<avx512>_<complexopname>_<mode><maskc_name><round_name>,
|
||
avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
|
||
avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
|
||
avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
|
||
avx512dq_rangep<mode><mask_name><round_saeonly_name>,
|
||
avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
|
||
<avx512>_getmant<mode><mask_name><round_saeonly_name>,
|
||
avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
|
||
Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
|
||
|
||
2022-01-19 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/104069
|
||
* gimple-ssa-warn-access.cc (pointers_related_p): Return false for
|
||
an unknown result as documented.
|
||
|
||
2022-01-18 Andrew Pinski <apinski@marvell.com>
|
||
|
||
* ipa-split.cc (visit_bb): Fix comment before the
|
||
warning/error attribute checking code.
|
||
|
||
2022-01-18 David Faust <david.faust@oracle.com>
|
||
|
||
* config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
|
||
for base strtab offset yet as it may change.
|
||
(output_asm_btfext_core_reloc): Do so here instead.
|
||
(output_btfext_core_sections): Likewise.
|
||
|
||
2022-01-18 David Faust <david.faust@oracle.com>
|
||
|
||
* config/bpf/coreout.cc (output_btfext_header): Account for
|
||
4-byte record size in core_relo_len.
|
||
(output_btfext_core_sections): Only write record size once.
|
||
* config/bpf/coreout.h (btf_ext_section_header): Delete unused
|
||
member.
|
||
|
||
2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
|
||
|
||
* common/config/riscv/riscv-common.cc
|
||
(riscv_subset_list::parse_multiletter_ext): Move pointer
|
||
arithmetic ahead of `free'.
|
||
|
||
2022-01-18 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/104007
|
||
* gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
|
||
context.
|
||
|
||
2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR middle-end/103163
|
||
* emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
|
||
(init_emit_once): ...not here.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* collect2.cc (scan_libraries): Fix -Wformat-diag issues.
|
||
* config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
|
||
* config/arc/arc.md: Likewise.
|
||
* config/avr/avr.cc (avr_section_type_flags): Likewise.
|
||
* config/bfin/bfin.cc (bfin_option_override): Likewise.
|
||
(bfin_handle_longcall_attribute): Likewise.
|
||
* config/cris/cris.h (FUNCTION_PROFILER): Likewise.
|
||
* config/frv/frv.cc (frv_expand_builtin): Likewise.
|
||
* config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
|
||
* config/iq2000/iq2000.cc (save_restore_insns): Likewise.
|
||
(iq2000_print_operand_address): Likewise.
|
||
(iq2000_print_operand): Likewise.
|
||
* config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
|
||
(m32c_pragma_address): Likewise.
|
||
* config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
|
||
* config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
|
||
(mips_set_compression_mode): Likewise.
|
||
* config/mmix/mmix.cc (mmix_function_profiler): Likewise.
|
||
(mmix_print_operand): Likewise.
|
||
(mmix_output_shiftvalue_op_from_str): Likewise.
|
||
(mmix_output_shifted_value): Likewise.
|
||
* config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
|
||
* config/msp430/msp430.cc (msp430_option_override): Likewise.
|
||
(msp430_attr): Likewise.
|
||
(msp430_expand_delay_cycles): Likewise.
|
||
(msp430_expand_builtin): Likewise.
|
||
* config/rs6000/aix73.h: Likewise.
|
||
* config/rs6000/rtems.h (INVALID_64BIT): Likewise.
|
||
* config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
|
||
(valid_psw_flag): Likewise.
|
||
* config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
|
||
* config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
|
||
(xstormy16_expand_builtin_va_start): Likewise.
|
||
(xstormy16_handle_below100_attribute): Likewise.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
|
||
warning.
|
||
(vms_pragma_standard): Likewise.
|
||
(vms_pragma_extern_prefix): Likewise.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/xtensa/xtensa.cc (print_operand): Fix warnings.
|
||
(print_operand_address): Likewise.
|
||
(xtensa_multibss_section_type_flags): Likewise.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
|
||
wording of an error message.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
|
||
warning.
|
||
(ghs_pragma_section): Likewise.
|
||
(ghs_pragma_interrupt): Likewise.
|
||
(ghs_pragma_starttda): Likewise.
|
||
(ghs_pragma_startsda): Likewise.
|
||
(ghs_pragma_startzda): Likewise.
|
||
(ghs_pragma_endtda): Likewise.
|
||
(ghs_pragma_endsda): Likewise.
|
||
(ghs_pragma_endzda): Likewise.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
|
||
Fix warnings.
|
||
* config/nds32/nds32-intrinsic.md: Likewise.
|
||
* config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
|
||
* config/nds32/nds32.cc (nds32_print_operand): Likewise.
|
||
(nds32_insert_attributes): Likewise.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
|
||
keyword.
|
||
* config/nvptx/nvptx.md: Remove trailing dot.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* common/config/riscv/riscv-common.cc (riscv_subset_list::add):
|
||
Wrap keywords with quotes and remove trailing dots.
|
||
(riscv_subset_list::parsing_subset_version): Likewise.
|
||
(riscv_subset_list::parse_std_ext): Likewise.
|
||
(riscv_subset_list::parse_multiletter_ext): Likewise.
|
||
* config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
|
||
|
||
2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
|
||
argument suggested_unroll_factor.
|
||
(vect_analyze_loop_costing): Likewise.
|
||
(_loop_vec_info::_loop_vec_info): Initialize new member
|
||
suggested_unroll_factor.
|
||
(vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
|
||
main loop use partial vectors.
|
||
(vect_analyze_loop_2): Pass and use new argument
|
||
suggested_unroll_factor.
|
||
(vect_analyze_loop_1): Change to intialize local
|
||
suggested_unroll_factor and use it.
|
||
(vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
|
||
* tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
|
||
suggested_unroll_factor.
|
||
(vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
|
||
(vector_costs::suggested_unroll_factor): New getter function.
|
||
(finish_cost): Set return argument suggested_unroll_factor.
|
||
|
||
2022-01-18 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/104038
|
||
* doc/invoke.texi (relation-block-limit): New.
|
||
* params.opt (relation-block-limit): New.
|
||
* value-relation.cc (dom_oracle::register_relation): Check for NULL
|
||
record before invoking transitive registery.
|
||
(dom_oracle::set_one_relation): Check limit before creating record.
|
||
(dom_oracle::register_transitives): Stop when no record created.
|
||
* value-relation.h (relation_chain_head::m_num_relations): New.
|
||
|
||
2022-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/103989
|
||
* ipa-inline.cc (inline_small_functions): Do not enqueue call
|
||
edges originating in functions compiled with -Og.
|
||
|
||
2022-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/103989
|
||
* passes.def (pass_all_optimizations_g): Remove pass_modref
|
||
and pass_local_pure_const.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/s390/s390.cc: Fix -Wformat-diag warnings.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
|
||
keyword in quotes.
|
||
(s390_resolve_overloaded_builtin): Remove trailing dot.
|
||
* config/s390/s390.cc (s390_const_operand_ok): Use - for range.
|
||
(s390_expand_builtin): Remove trailing dot.
|
||
(s390_emit_prologue): Likewise, use semicolon.
|
||
(s390_option_override_internal): Update keyword.
|
||
* varasm.cc (do_assemble_alias): Wrap keyword in quotes.
|
||
|
||
2022-01-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
|
||
keywords and use %qs instead of %<%s%>.
|
||
|
||
2022-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103987
|
||
* tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
|
||
query with a pointer check.
|
||
|
||
2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR target/104005
|
||
* config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
|
||
When using MEM_EXPR, require the base to be a decl.
|
||
|
||
2022-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
* cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
|
||
avoid padding.
|
||
* function.h (struct function): Likewise.
|
||
|
||
2022-01-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* doc/install.texi: Update prerequisites for GNAT
|
||
|
||
2022-01-18 Andrew Pinski <apinski@marvell.com>
|
||
|
||
PR tree-optimization/101941
|
||
* ipa-split.cc (visit_bb): Disallow function calls where
|
||
the function has either error or warning attribute.
|
||
|
||
2022-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/104064
|
||
* tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
|
||
DR_INIT fits in a signed HWI, represent the difference from the
|
||
first DR in unsigned.
|
||
|
||
2022-01-17 Martin Liska <mliska@suse.cz>
|
||
|
||
* Makefile.in: Rename .c names to .cc.
|
||
* config.gcc: Likewise.
|
||
* configure: Regenerate. Likewise.
|
||
* configure.ac: Likewise.
|
||
* gengtype.cc (set_gc_used): Likewise.
|
||
(source_dot_c_frul): Likewise.
|
||
(source_dot_cc_frul): Likewise.
|
||
(struct file_rule_st): Likewise.
|
||
(close_output_files): Likewise.
|
||
* config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
|
||
|
||
2022-01-17 Martin Liska <mliska@suse.cz>
|
||
|
||
* Makefile.in: Rename .c names to .cc.
|
||
* alias.h: Likewise.
|
||
* asan.cc: Likewise.
|
||
* auto-profile.h: Likewise.
|
||
* basic-block.h (struct basic_block_d): Likewise.
|
||
* btfout.cc: Likewise.
|
||
* builtins.cc (expand_builtin_longjmp): Likewise.
|
||
(validate_arg): Likewise.
|
||
(access_ref::offset_bounded): Likewise.
|
||
* caller-save.cc (reg_restore_code): Likewise.
|
||
(setup_save_areas): Likewise.
|
||
* calls.cc (initialize_argument_information): Likewise.
|
||
(expand_call): Likewise.
|
||
(emit_library_call_value_1): Likewise.
|
||
* cfg-flags.def (RTL): Likewise.
|
||
(SIBCALL): Likewise.
|
||
(CAN_FALLTHRU): Likewise.
|
||
* cfganal.cc (post_order_compute): Likewise.
|
||
* cfgcleanup.cc (try_simplify_condjump): Likewise.
|
||
(merge_blocks_move_predecessor_nojumps): Likewise.
|
||
(merge_blocks_move_successor_nojumps): Likewise.
|
||
(merge_blocks_move): Likewise.
|
||
(old_insns_match_p): Likewise.
|
||
(try_crossjump_bb): Likewise.
|
||
* cfgexpand.cc (expand_gimple_stmt): Likewise.
|
||
* cfghooks.cc (split_block_before_cond_jump): Likewise.
|
||
(profile_record_check_consistency): Likewise.
|
||
* cfghooks.h: Likewise.
|
||
* cfgrtl.cc (pass_free_cfg::execute): Likewise.
|
||
(rtl_can_merge_blocks): Likewise.
|
||
(try_redirect_by_replacing_jump): Likewise.
|
||
(make_pass_outof_cfg_layout_mode): Likewise.
|
||
(cfg_layout_can_merge_blocks_p): Likewise.
|
||
* cgraph.cc (release_function_body): Likewise.
|
||
(cgraph_node::get_fun): Likewise.
|
||
* cgraph.h (struct cgraph_node): Likewise.
|
||
(asmname_hasher::equal): Likewise.
|
||
(cgraph_inline_failed_type): Likewise.
|
||
(thunk_adjust): Likewise.
|
||
(dump_callgraph_transformation): Likewise.
|
||
(record_references_in_initializer): Likewise.
|
||
(ipa_discover_variable_flags): Likewise.
|
||
* cgraphclones.cc (GTY): Likewise.
|
||
* cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
|
||
* collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
|
||
* collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
|
||
* collect2.cc (maybe_run_lto_and_relink): Likewise.
|
||
* combine-stack-adj.cc: Likewise.
|
||
* combine.cc (setup_incoming_promotions): Likewise.
|
||
(combine_simplify_rtx): Likewise.
|
||
(count_rtxs): Likewise.
|
||
* common.opt: Likewise.
|
||
* common/config/aarch64/aarch64-common.cc: Likewise.
|
||
* common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
|
||
* common/config/avr/avr-common.cc: Likewise.
|
||
* common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
|
||
* conditions.h: Likewise.
|
||
* config.gcc: Likewise.
|
||
* config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
|
||
* config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
|
||
(aarch64_get_extension_string_for_isa_flags): Likewise.
|
||
* config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
|
||
* config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
|
||
(aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
|
||
(aarch64_option_valid_attribute_p): Likewise.
|
||
(aarch64_short_vector_p): Likewise.
|
||
(aarch64_float_const_representable_p): Likewise.
|
||
* config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
|
||
(ASM_OUTPUT_POOL_EPILOGUE): Likewise.
|
||
(GTY): Likewise.
|
||
* config/aarch64/cortex-a57-fma-steering.cc: Likewise.
|
||
* config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
|
||
* config/aarch64/t-aarch64: Likewise.
|
||
* config/aarch64/x-aarch64: Likewise.
|
||
* config/aarch64/x-darwin: Likewise.
|
||
* config/alpha/alpha-protos.h: Likewise.
|
||
* config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
|
||
* config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
|
||
(enum reg_class): Likewise.
|
||
* config/alpha/alpha.md: Likewise.
|
||
* config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
|
||
* config/alpha/x-alpha: Likewise.
|
||
* config/arc/arc-protos.h (arc_eh_uses): Likewise.
|
||
* config/arc/arc.cc (ARC_OPT): Likewise.
|
||
(arc_ccfsm_advance): Likewise.
|
||
(arc_arg_partial_bytes): Likewise.
|
||
(conditionalize_nonjump): Likewise.
|
||
* config/arc/arc.md: Likewise.
|
||
* config/arc/builtins.def: Likewise.
|
||
* config/arc/t-arc: Likewise.
|
||
* config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
|
||
(arm_pragma_target_parse): Likewise.
|
||
* config/arm/arm-protos.h (save_restore_target_globals): Likewise.
|
||
(arm_cpu_cpp_builtins): Likewise.
|
||
* config/arm/arm.cc (vfp3_const_double_index): Likewise.
|
||
(shift_op): Likewise.
|
||
(thumb2_final_prescan_insn): Likewise.
|
||
(arm_final_prescan_insn): Likewise.
|
||
(arm_asm_output_labelref): Likewise.
|
||
(arm_small_register_classes_for_mode_p): Likewise.
|
||
* config/arm/arm.h: Likewise.
|
||
* config/arm/arm.md: Likewise.
|
||
* config/arm/driver-arm.cc: Likewise.
|
||
* config/arm/symbian.h: Likewise.
|
||
* config/arm/t-arm: Likewise.
|
||
* config/arm/thumb1.md: Likewise.
|
||
* config/arm/x-arm: Likewise.
|
||
* config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
|
||
* config/avr/avr-fixed.md: Likewise.
|
||
* config/avr/avr-log.cc (avr_log_vadump): Likewise.
|
||
* config/avr/avr-mcus.def: Likewise.
|
||
* config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
|
||
* config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
|
||
* config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
|
||
* config/avr/avr.cc (avr_option_override): Likewise.
|
||
(avr_build_builtin_va_list): Likewise.
|
||
(avr_mode_dependent_address_p): Likewise.
|
||
(avr_function_arg_advance): Likewise.
|
||
(avr_asm_output_aligned_decl_common): Likewise.
|
||
* config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
|
||
(SUPPORTS_INIT_PRIORITY): Likewise.
|
||
* config/avr/avr.md: Likewise.
|
||
* config/avr/builtins.def: Likewise.
|
||
* config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
|
||
* config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
|
||
(main): Likewise.
|
||
* config/avr/t-avr: Likewise.
|
||
* config/bfin/bfin.cc (frame_related_constant_load): Likewise.
|
||
* config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
|
||
* config/bpf/bpf.h (enum reg_class): Likewise.
|
||
* config/bpf/t-bpf: Likewise.
|
||
* config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
|
||
* config/cr16/cr16-protos.h: Likewise.
|
||
* config/cris/cris.cc (cris_address_cost): Likewise.
|
||
(cris_side_effect_mode_ok): Likewise.
|
||
(cris_init_machine_status): Likewise.
|
||
(cris_emit_movem_store): Likewise.
|
||
* config/cris/cris.h (INDEX_REG_CLASS): Likewise.
|
||
(enum reg_class): Likewise.
|
||
(struct cum_args): Likewise.
|
||
* config/cris/cris.opt: Likewise.
|
||
* config/cris/sync.md: Likewise.
|
||
* config/csky/csky.cc (csky_expand_prologue): Likewise.
|
||
* config/darwin-c.cc: Likewise.
|
||
* config/darwin-f.cc: Likewise.
|
||
* config/darwin-sections.def (zobj_const_section): Likewise.
|
||
* config/darwin.cc (output_objc_section_asm_op): Likewise.
|
||
(fprintf): Likewise.
|
||
* config/darwin.h (GTY): Likewise.
|
||
* config/elfos.h: Likewise.
|
||
* config/epiphany/epiphany-sched.md: Likewise.
|
||
* config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
|
||
* config/epiphany/epiphany.h (GTY): Likewise.
|
||
(NO_FUNCTION_CSE): Likewise.
|
||
* config/epiphany/mode-switch-use.cc: Likewise.
|
||
* config/epiphany/predicates.md: Likewise.
|
||
* config/epiphany/t-epiphany: Likewise.
|
||
* config/fr30/fr30-protos.h: Likewise.
|
||
* config/frv/frv-protos.h: Likewise.
|
||
* config/frv/frv.cc (TLS_BIAS): Likewise.
|
||
* config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
|
||
* config/ft32/ft32-protos.h: Likewise.
|
||
* config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
|
||
* config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
|
||
* config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
|
||
* config/gcn/t-gcn-hsa: Likewise.
|
||
* config/gcn/t-omp-device: Likewise.
|
||
* config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
|
||
(same_cmp_following_p): Likewise.
|
||
* config/h8300/h8300.cc (F): Likewise.
|
||
* config/h8300/h8300.h (struct cum_arg): Likewise.
|
||
(BRANCH_COST): Likewise.
|
||
* config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
|
||
* config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
|
||
* config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
|
||
* config/i386/driver-i386.cc (detect_caches_intel): Likewise.
|
||
* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
|
||
* config/i386/i386-c.cc (ix86_target_macros): Likewise.
|
||
* config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
|
||
* config/i386/i386-options.cc (ix86_set_func_type): Likewise.
|
||
* config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
|
||
(ix86_register_pragmas): Likewise.
|
||
(ix86_d_has_stdcall_convention): Likewise.
|
||
(i386_pe_seh_init_sections): Likewise.
|
||
* config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
|
||
(ix86_function_value_regno_p): Likewise.
|
||
(ix86_compute_frame_layout): Likewise.
|
||
(legitimize_pe_coff_symbol): Likewise.
|
||
(output_pic_addr_const): Likewise.
|
||
* config/i386/i386.h (defined): Likewise.
|
||
(host_detect_local_cpu): Likewise.
|
||
(CONSTANT_ADDRESS_P): Likewise.
|
||
(DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
|
||
(struct machine_frame_state): Likewise.
|
||
* config/i386/i386.md: Likewise.
|
||
* config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
|
||
* config/i386/mmx.md: Likewise.
|
||
* config/i386/sse.md: Likewise.
|
||
* config/i386/t-cygming: Likewise.
|
||
* config/i386/t-djgpp: Likewise.
|
||
* config/i386/t-gnu-property: Likewise.
|
||
* config/i386/t-i386: Likewise.
|
||
* config/i386/t-intelmic: Likewise.
|
||
* config/i386/t-omp-device: Likewise.
|
||
* config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
|
||
(i386_pe_adjust_class_at_definition): Likewise.
|
||
* config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
|
||
(i386_pe_mangle_decl_assembler_name): Likewise.
|
||
(i386_pe_encode_section_info): Likewise.
|
||
* config/i386/x-cygwin: Likewise.
|
||
* config/i386/x-darwin: Likewise.
|
||
* config/i386/x-i386: Likewise.
|
||
* config/i386/x-mingw32: Likewise.
|
||
* config/i386/x86-tune-sched-core.cc: Likewise.
|
||
* config/i386/x86-tune.def: Likewise.
|
||
* config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
|
||
* config/ia64/freebsd.h: Likewise.
|
||
* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
|
||
* config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
|
||
* config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
|
||
(ia64_secondary_reload_class): Likewise.
|
||
(bundling): Likewise.
|
||
* config/ia64/ia64.h: Likewise.
|
||
* config/ia64/ia64.md: Likewise.
|
||
* config/ia64/predicates.md: Likewise.
|
||
* config/ia64/sysv4.h: Likewise.
|
||
* config/ia64/t-ia64: Likewise.
|
||
* config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
|
||
* config/iq2000/iq2000.md: Likewise.
|
||
* config/linux.h (TARGET_HAS_BIONIC): Likewise.
|
||
(if): Likewise.
|
||
* config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
|
||
* config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
|
||
* config/m32c/t-m32c: Likewise.
|
||
* config/m32r/m32r-protos.h: Likewise.
|
||
* config/m32r/m32r.cc (m32r_print_operand): Likewise.
|
||
* config/m32r/m32r.h: Likewise.
|
||
* config/m32r/m32r.md: Likewise.
|
||
* config/m68k/m68k-isas.def: Likewise.
|
||
* config/m68k/m68k-microarchs.def: Likewise.
|
||
* config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
|
||
(m68k_epilogue_uses): Likewise.
|
||
* config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
|
||
(m68k_sched_adjust_cost): Likewise.
|
||
(m68k_sched_md_init): Likewise.
|
||
* config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
|
||
(enum m68k_function_kind): Likewise.
|
||
* config/m68k/m68k.md: Likewise.
|
||
* config/m68k/m68kemb.h: Likewise.
|
||
* config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
|
||
* config/mcore/mcore-protos.h: Likewise.
|
||
* config/mcore/mcore.cc (mcore_expand_insv): Likewise.
|
||
(mcore_expand_prolog): Likewise.
|
||
* config/mcore/mcore.h (TARGET_MCORE): Likewise.
|
||
* config/mcore/mcore.md: Likewise.
|
||
* config/microblaze/microblaze-protos.h: Likewise.
|
||
* config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
|
||
(microblaze_function_prologue): Likewise.
|
||
(microblaze_function_epilogue): Likewise.
|
||
(microblaze_select_section): Likewise.
|
||
(microblaze_asm_output_mi_thunk): Likewise.
|
||
(microblaze_eh_return): Likewise.
|
||
* config/microblaze/microblaze.h: Likewise.
|
||
* config/microblaze/microblaze.md: Likewise.
|
||
* config/microblaze/t-microblaze: Likewise.
|
||
* config/mips/driver-native.cc: Likewise.
|
||
* config/mips/loongson2ef.md: Likewise.
|
||
* config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
|
||
* config/mips/mips.cc (mips_rtx_costs): Likewise.
|
||
(mips_output_filename): Likewise.
|
||
(mips_output_function_prologue): Likewise.
|
||
(mips_output_function_epilogue): Likewise.
|
||
(mips_output_mi_thunk): Likewise.
|
||
* config/mips/mips.h: Likewise.
|
||
* config/mips/mips.md: Likewise.
|
||
* config/mips/t-mips: Likewise.
|
||
* config/mips/x-native: Likewise.
|
||
* config/mmix/mmix-protos.h: Likewise.
|
||
* config/mmix/mmix.cc (mmix_option_override): Likewise.
|
||
(mmix_dbx_register_number): Likewise.
|
||
(mmix_expand_prologue): Likewise.
|
||
* config/mmix/mmix.h: Likewise.
|
||
* config/mmix/mmix.md: Likewise.
|
||
* config/mmix/predicates.md: Likewise.
|
||
* config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
|
||
(mn10300_legitimate_pic_operand_p): Likewise.
|
||
* config/mn10300/mn10300.h (enum reg_class): Likewise.
|
||
(NO_FUNCTION_CSE): Likewise.
|
||
* config/moxie/moxie-protos.h: Likewise.
|
||
* config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
|
||
* config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
|
||
* config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
|
||
(msp430_incoming_return_addr_rtx): Likewise.
|
||
* config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
|
||
* config/msp430/t-msp430: Likewise.
|
||
* config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
|
||
(nds32_rtx_costs_size_prefer): Likewise.
|
||
(nds32_init_rtx_costs): Likewise.
|
||
* config/nds32/nds32-doubleword.md: Likewise.
|
||
* config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
|
||
(nds32_builtin_decl): Likewise.
|
||
* config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
|
||
(enum nds32_isr_nested_type): Likewise.
|
||
(enum reg_class): Likewise.
|
||
* config/nds32/predicates.md: Likewise.
|
||
* config/nds32/t-nds32: Likewise.
|
||
* config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
|
||
* config/nvptx/nvptx-protos.h: Likewise.
|
||
* config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
|
||
* config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
|
||
* config/nvptx/t-nvptx: Likewise.
|
||
* config/nvptx/t-omp-device: Likewise.
|
||
* config/pa/elf.h: Likewise.
|
||
* config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
|
||
* config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
|
||
* config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
|
||
* config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
|
||
(pa_legitimize_reload_address): Likewise.
|
||
(pa_can_use_return_insn): Likewise.
|
||
* config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
|
||
(som_output_text_section_asm_op): Likewise.
|
||
* config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
|
||
* config/pa/pa.md: Likewise.
|
||
* config/pa/som.h: Likewise.
|
||
* config/pa/t-pa: Likewise.
|
||
* config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
|
||
* config/pdp11/pdp11.h: Likewise.
|
||
* config/pdp11/pdp11.md: Likewise.
|
||
* config/pdp11/t-pdp11: Likewise.
|
||
* config/pru/pru.md: Likewise.
|
||
* config/pru/t-pru: Likewise.
|
||
* config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
|
||
(riscv_gpr_save_operation_p): Likewise.
|
||
(riscv_d_register_target_info): Likewise.
|
||
(riscv_init_builtins): Likewise.
|
||
* config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
|
||
* config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
|
||
* config/riscv/t-riscv: Likewise.
|
||
* config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
|
||
* config/rl78/t-rl78: Likewise.
|
||
* config/rs6000/aix.h: Likewise.
|
||
* config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
|
||
* config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
|
||
* config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
|
||
* config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
|
||
* config/rs6000/driver-rs6000.cc: Likewise.
|
||
* config/rs6000/freebsd.h: Likewise.
|
||
* config/rs6000/freebsd64.h: Likewise.
|
||
* config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
|
||
* config/rs6000/rbtree.cc: Likewise.
|
||
* config/rs6000/rbtree.h: Likewise.
|
||
* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
|
||
* config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
|
||
(rs6000_expand_builtin): Likewise.
|
||
(rs6000_init_builtins): Likewise.
|
||
* config/rs6000/rs6000-cpus.def: Likewise.
|
||
* config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
|
||
* config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
|
||
(quad_address_offset_p): Likewise.
|
||
* config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
|
||
(rs6000_emit_epilogue): Likewise.
|
||
* config/rs6000/rs6000-overload.def: Likewise.
|
||
* config/rs6000/rs6000-p8swap.cc: Likewise.
|
||
* config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
|
||
(rs6000_const_f32_to_i32): Likewise.
|
||
* config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
|
||
(rs6000_debug_legitimize_address): Likewise.
|
||
(rs6000_mode_dependent_address): Likewise.
|
||
(rs6000_adjust_priority): Likewise.
|
||
(rs6000_c_mode_for_suffix): Likewise.
|
||
* config/rs6000/rs6000.h (defined): Likewise.
|
||
(LONG_DOUBLE_TYPE_SIZE): Likewise.
|
||
* config/rs6000/rs6000.md: Likewise.
|
||
* config/rs6000/sysv4.h: Likewise.
|
||
* config/rs6000/t-linux: Likewise.
|
||
* config/rs6000/t-linux64: Likewise.
|
||
* config/rs6000/t-rs6000: Likewise.
|
||
* config/rs6000/x-darwin: Likewise.
|
||
* config/rs6000/x-darwin64: Likewise.
|
||
* config/rs6000/x-rs6000: Likewise.
|
||
* config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
|
||
* config/rx/rx.cc (rx_expand_builtin): Likewise.
|
||
* config/s390/constraints.md: Likewise.
|
||
* config/s390/driver-native.cc: Likewise.
|
||
* config/s390/htmxlintrin.h: Likewise.
|
||
* config/s390/s390-builtins.def (B_DEF): Likewise.
|
||
(OB_DEF_VAR): Likewise.
|
||
* config/s390/s390-builtins.h: Likewise.
|
||
* config/s390/s390-c.cc: Likewise.
|
||
* config/s390/s390-opts.h: Likewise.
|
||
* config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
|
||
(s390_register_target_pragmas): Likewise.
|
||
* config/s390/s390.cc (s390_init_builtins): Likewise.
|
||
(s390_expand_plus_operand): Likewise.
|
||
(s390_expand_atomic): Likewise.
|
||
(s390_valid_target_attribute_inner_p): Likewise.
|
||
* config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
|
||
* config/s390/s390.md: Likewise.
|
||
* config/s390/t-s390: Likewise.
|
||
* config/s390/vx-builtins.md: Likewise.
|
||
* config/s390/x-native: Likewise.
|
||
* config/sh/divtab-sh4-300.cc (main): Likewise.
|
||
* config/sh/divtab-sh4.cc (main): Likewise.
|
||
* config/sh/divtab.cc (main): Likewise.
|
||
* config/sh/elf.h: Likewise.
|
||
* config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
|
||
* config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
|
||
(sh_struct_value_rtx): Likewise.
|
||
(sh_remove_reg_dead_or_unused_notes): Likewise.
|
||
* config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
|
||
* config/sh/t-sh: Likewise.
|
||
* config/sol2-protos.h (solaris_override_options): Likewise.
|
||
* config/sol2.h: Likewise.
|
||
* config/sparc/driver-sparc.cc: Likewise.
|
||
* config/sparc/freebsd.h: Likewise.
|
||
* config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
|
||
* config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
|
||
(sparc_asan_shadow_offset): Likewise.
|
||
* config/sparc/sparc.h: Likewise.
|
||
* config/sparc/sparc.md: Likewise.
|
||
* config/sparc/t-sparc: Likewise.
|
||
* config/sparc/x-sparc: Likewise.
|
||
* config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
|
||
* config/t-darwin: Likewise.
|
||
* config/t-dragonfly: Likewise.
|
||
* config/t-freebsd: Likewise.
|
||
* config/t-glibc: Likewise.
|
||
* config/t-linux: Likewise.
|
||
* config/t-netbsd: Likewise.
|
||
* config/t-openbsd: Likewise.
|
||
* config/t-pnt16-warn: Likewise.
|
||
* config/t-sol2: Likewise.
|
||
* config/t-vxworks: Likewise.
|
||
* config/t-winnt: Likewise.
|
||
* config/tilegx/t-tilegx: Likewise.
|
||
* config/tilegx/tilegx-c.cc: Likewise.
|
||
* config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
|
||
* config/tilegx/tilegx.md: Likewise.
|
||
* config/tilepro/t-tilepro: Likewise.
|
||
* config/tilepro/tilepro-c.cc: Likewise.
|
||
* config/v850/t-v850: Likewise.
|
||
* config/v850/v850-protos.h: Likewise.
|
||
* config/v850/v850.cc (F): Likewise.
|
||
* config/v850/v850.h (enum reg_class): Likewise.
|
||
(SLOW_BYTE_ACCESS): Likewise.
|
||
* config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
|
||
* config/vax/vax.h (enum reg_class): Likewise.
|
||
* config/vax/vax.md: Likewise.
|
||
* config/visium/visium.cc (visium_legitimate_address_p): Likewise.
|
||
* config/visium/visium.h: Likewise.
|
||
* config/vms/t-vms: Likewise.
|
||
* config/vms/vms-crtlmap.map: Likewise.
|
||
* config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
|
||
* config/vx-common.h: Likewise.
|
||
* config/x-darwin: Likewise.
|
||
* config/x-hpux: Likewise.
|
||
* config/x-linux: Likewise.
|
||
* config/x-netbsd: Likewise.
|
||
* config/x-openbsd: Likewise.
|
||
* config/x-solaris: Likewise.
|
||
* config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
|
||
* config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
|
||
* config/xtensa/xtensa.h: Likewise.
|
||
* configure.ac: Likewise.
|
||
* context.cc: Likewise.
|
||
* convert.h: Likewise.
|
||
* coretypes.h: Likewise.
|
||
* coverage.cc: Likewise.
|
||
* coverage.h: Likewise.
|
||
* cppdefault.h (struct default_include): Likewise.
|
||
* cprop.cc (local_cprop_pass): Likewise.
|
||
(one_cprop_pass): Likewise.
|
||
* cse.cc (hash_rtx_cb): Likewise.
|
||
(fold_rtx): Likewise.
|
||
* ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
|
||
* data-streamer.h (bp_unpack_var_len_int): Likewise.
|
||
(streamer_write_widest_int): Likewise.
|
||
* dbgcnt.def: Likewise.
|
||
* dbxout.cc (dbxout_early_global_decl): Likewise.
|
||
(dbxout_common_check): Likewise.
|
||
* dbxout.h: Likewise.
|
||
* debug.h (struct gcc_debug_hooks): Likewise.
|
||
(dump_go_spec_init): Likewise.
|
||
* df-core.cc: Likewise.
|
||
* df-scan.cc (df_insn_info_delete): Likewise.
|
||
(df_insn_delete): Likewise.
|
||
* df.h (debug_df_chain): Likewise.
|
||
(can_move_insns_across): Likewise.
|
||
* dfp.cc (decimal_from_binary): Likewise.
|
||
* diagnostic-color.cc: Likewise.
|
||
* diagnostic-event-id.h: Likewise.
|
||
* diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
|
||
* diagnostic.cc (bt_callback): Likewise.
|
||
(num_digits): Likewise.
|
||
* doc/avr-mmcu.texi: Likewise.
|
||
* doc/cfg.texi: Likewise.
|
||
* doc/contrib.texi: Likewise.
|
||
* doc/cppinternals.texi: Likewise.
|
||
* doc/extend.texi: Likewise.
|
||
* doc/generic.texi: Likewise.
|
||
* doc/gimple.texi: Likewise.
|
||
* doc/gty.texi: Likewise.
|
||
* doc/invoke.texi: Likewise.
|
||
* doc/loop.texi: Likewise.
|
||
* doc/lto.texi: Likewise.
|
||
* doc/match-and-simplify.texi: Likewise.
|
||
* doc/md.texi: Likewise.
|
||
* doc/optinfo.texi: Likewise.
|
||
* doc/options.texi: Likewise.
|
||
* doc/passes.texi: Likewise.
|
||
* doc/plugins.texi: Likewise.
|
||
* doc/rtl.texi: Likewise.
|
||
* doc/sourcebuild.texi: Likewise.
|
||
* doc/tm.texi: Likewise.
|
||
* doc/tm.texi.in: Likewise.
|
||
* doc/tree-ssa.texi: Likewise.
|
||
* dojump.cc (do_jump): Likewise.
|
||
* dojump.h: Likewise.
|
||
* dumpfile.cc (test_impl_location): Likewise.
|
||
(test_capture_of_dump_calls): Likewise.
|
||
* dumpfile.h (enum dump_kind): Likewise.
|
||
(class dump_location_t): Likewise.
|
||
(dump_enabled_p): Likewise.
|
||
(enable_rtl_dump_file): Likewise.
|
||
(dump_combine_total_stats): Likewise.
|
||
* dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
|
||
* dwarf2ctf.h (ctf_debug_finish): Likewise.
|
||
* dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
|
||
(struct loc_descr_context): Likewise.
|
||
(rtl_for_decl_location): Likewise.
|
||
(gen_subprogram_die): Likewise.
|
||
(gen_label_die): Likewise.
|
||
(is_trivial_indirect_ref): Likewise.
|
||
(dwarf2out_late_global_decl): Likewise.
|
||
(dwarf_file_hasher::hash): Likewise.
|
||
(dwarf2out_end_source_file): Likewise.
|
||
(dwarf2out_define): Likewise.
|
||
(dwarf2out_early_finish): Likewise.
|
||
* dwarf2out.h (struct dw_fde_node): Likewise.
|
||
(struct dw_discr_list_node): Likewise.
|
||
(output_loc_sequence_raw): Likewise.
|
||
* emit-rtl.cc (gen_raw_REG): Likewise.
|
||
(maybe_set_max_label_num): Likewise.
|
||
* emit-rtl.h (struct rtl_data): Likewise.
|
||
* errors.cc (internal_error): Likewise.
|
||
(trim_filename): Likewise.
|
||
* et-forest.cc: Likewise.
|
||
* except.cc (init_eh_for_function): Likewise.
|
||
* explow.cc (promote_ssa_mode): Likewise.
|
||
(get_dynamic_stack_size): Likewise.
|
||
* explow.h: Likewise.
|
||
* expmed.h: Likewise.
|
||
* expr.cc (safe_from_p): Likewise.
|
||
(expand_expr_real_2): Likewise.
|
||
(expand_expr_real_1): Likewise.
|
||
* file-prefix-map.cc (remap_filename): Likewise.
|
||
* final.cc (app_enable): Likewise.
|
||
(make_pass_compute_alignments): Likewise.
|
||
(final_scan_insn_1): Likewise.
|
||
(final_scan_insn): Likewise.
|
||
* fixed-value.h (fixed_from_string): Likewise.
|
||
* flag-types.h (NO_DEBUG): Likewise.
|
||
(DWARF2_DEBUG): Likewise.
|
||
(VMS_DEBUG): Likewise.
|
||
(BTF_DEBUG): Likewise.
|
||
(enum ctf_debug_info_levels): Likewise.
|
||
* fold-const.cc (const_binop): Likewise.
|
||
(fold_binary_loc): Likewise.
|
||
(fold_checksum_tree): Likewise.
|
||
* fp-test.cc: Likewise.
|
||
* function.cc (expand_function_end): Likewise.
|
||
* function.h (struct function): Likewise.
|
||
* fwprop.cc (should_replace_address): Likewise.
|
||
* gcc-main.cc: Likewise.
|
||
* gcc-rich-location.h (class gcc_rich_location): Likewise.
|
||
* gcc-symtab.h: Likewise.
|
||
* gcc.cc (MIN_FATAL_STATUS): Likewise.
|
||
(driver_handle_option): Likewise.
|
||
(quote_spec_arg): Likewise.
|
||
(driver::finalize): Likewise.
|
||
* gcc.h (set_input): Likewise.
|
||
* gcov-dump.cc: Likewise.
|
||
* gcov.cc (solve_flow_graph): Likewise.
|
||
* gcse-common.cc: Likewise.
|
||
* gcse.cc (make_pass_rtl_hoist): Likewise.
|
||
* genattr-common.cc: Likewise.
|
||
* genattrtab.cc (min_fn): Likewise.
|
||
(write_const_num_delay_slots): Likewise.
|
||
* genautomata.cc: Likewise.
|
||
* genconditions.cc (write_one_condition): Likewise.
|
||
* genconstants.cc: Likewise.
|
||
* genemit.cc (gen_exp): Likewise.
|
||
* generic-match-head.cc: Likewise.
|
||
* genextract.cc: Likewise.
|
||
* gengenrtl.cc (always_void_p): Likewise.
|
||
* gengtype-parse.cc (gtymarker_opt): Likewise.
|
||
* gengtype-state.cc (state_writer::state_writer): Likewise.
|
||
(write_state_trailer): Likewise.
|
||
(equals_type_number): Likewise.
|
||
(read_state): Likewise.
|
||
* gengtype.cc (open_base_files): Likewise.
|
||
(struct file_rule_st): Likewise.
|
||
(header_dot_h_frul): Likewise.
|
||
* gengtype.h: Likewise.
|
||
* genmatch.cc (main): Likewise.
|
||
* genmddeps.cc: Likewise.
|
||
* genmodes.cc (emit_mode_inner): Likewise.
|
||
(emit_mode_unit_size): Likewise.
|
||
* genpeep.cc (gen_peephole): Likewise.
|
||
* genpreds.cc (write_tm_preds_h): Likewise.
|
||
* genrecog.cc (validate_pattern): Likewise.
|
||
(write_header): Likewise.
|
||
(main): Likewise.
|
||
* gensupport.cc (change_subst_attribute): Likewise.
|
||
(traverse_c_tests): Likewise.
|
||
(add_predicate): Likewise.
|
||
(init_predicate_table): Likewise.
|
||
* gensupport.h (struct optab_pattern): Likewise.
|
||
(get_num_insn_codes): Likewise.
|
||
(maybe_eval_c_test): Likewise.
|
||
(struct pred_data): Likewise.
|
||
* ggc-internal.h: Likewise.
|
||
* gimple-fold.cc (maybe_fold_reference): Likewise.
|
||
(get_range_strlen_tree): Likewise.
|
||
* gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
|
||
* gimple-low.cc: Likewise.
|
||
* gimple-match-head.cc (directly_supported_p): Likewise.
|
||
* gimple-pretty-print.h: Likewise.
|
||
* gimple-ssa-sprintf.cc (format_percent): Likewise.
|
||
(adjust_range_for_overflow): Likewise.
|
||
* gimple-streamer.h: Likewise.
|
||
* gimple.h (struct GTY): Likewise.
|
||
(is_gimple_resx): Likewise.
|
||
* gimplify.cc (gimplify_expr): Likewise.
|
||
(gimplify_init_constructor): Likewise.
|
||
(omp_construct_selector_matches): Likewise.
|
||
(gimplify_omp_target_update): Likewise.
|
||
(gimplify_omp_ordered): Likewise.
|
||
(gimplify_va_arg_expr): Likewise.
|
||
* graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
|
||
* haifa-sched.cc (increase_insn_priority): Likewise.
|
||
(try_ready): Likewise.
|
||
(sched_create_recovery_edges): Likewise.
|
||
* ifcvt.cc (find_if_case_1): Likewise.
|
||
(find_if_case_2): Likewise.
|
||
* inchash.h: Likewise.
|
||
* incpath.cc (add_env_var_paths): Likewise.
|
||
* input.cc (dump_location_info): Likewise.
|
||
(assert_loceq): Likewise.
|
||
(test_lexer_string_locations_concatenation_1): Likewise.
|
||
(test_lexer_string_locations_concatenation_2): Likewise.
|
||
(test_lexer_string_locations_concatenation_3): Likewise.
|
||
* input.h (BUILTINS_LOCATION): Likewise.
|
||
(class string_concat_db): Likewise.
|
||
* internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
|
||
(expand_LOOP_VECTORIZED): Likewise.
|
||
* ipa-cp.cc (make_pass_ipa_cp): Likewise.
|
||
* ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
|
||
(ipa_fn_summary_t::duplicate): Likewise.
|
||
(make_pass_ipa_fn_summary): Likewise.
|
||
* ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
|
||
* ipa-free-lang-data.cc (fld_simplified_type): Likewise.
|
||
(free_lang_data_in_decl): Likewise.
|
||
* ipa-inline.cc (compute_inlined_call_time): Likewise.
|
||
(inline_always_inline_functions): Likewise.
|
||
* ipa-inline.h (free_growth_caches): Likewise.
|
||
(inline_account_function_p): Likewise.
|
||
* ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
|
||
(modref_eaf_analysis::analyze_ssa_name): Likewise.
|
||
* ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
|
||
(ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
|
||
* ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
|
||
* ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
|
||
(unadjusted_ptr_and_unit_offset): Likewise.
|
||
* ipa-reference.cc (make_pass_ipa_reference): Likewise.
|
||
* ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
|
||
* ipa-split.cc (consider_split): Likewise.
|
||
* ipa-sra.cc (isra_read_node_info): Likewise.
|
||
* ipa-utils.h (struct ipa_dfs_info): Likewise.
|
||
(recursive_call_p): Likewise.
|
||
(ipa_make_function_pure): Likewise.
|
||
* ira-build.cc (ira_create_allocno): Likewise.
|
||
(ira_flattening): Likewise.
|
||
* ira-color.cc (do_coloring): Likewise.
|
||
(update_curr_costs): Likewise.
|
||
* ira-conflicts.cc (process_regs_for_copy): Likewise.
|
||
* ira-int.h (struct ira_emit_data): Likewise.
|
||
(ira_prohibited_mode_move_regs): Likewise.
|
||
(ira_get_dup_out_num): Likewise.
|
||
(ira_destroy): Likewise.
|
||
(ira_tune_allocno_costs): Likewise.
|
||
(ira_implicitly_set_insn_hard_regs): Likewise.
|
||
(ira_build_conflicts): Likewise.
|
||
(ira_color): Likewise.
|
||
* ira-lives.cc (process_bb_node_lives): Likewise.
|
||
* ira.cc (class ira_spilled_reg_stack_slot): Likewise.
|
||
(setup_uniform_class_p): Likewise.
|
||
(def_dominates_uses): Likewise.
|
||
* ira.h (ira_nullify_asm_goto): Likewise.
|
||
* langhooks.cc (lhd_post_options): Likewise.
|
||
* langhooks.h (class substring_loc): Likewise.
|
||
(struct lang_hooks_for_tree_inlining): Likewise.
|
||
(struct lang_hooks_for_types): Likewise.
|
||
(struct lang_hooks): Likewise.
|
||
* libfuncs.h (synchronize_libfunc): Likewise.
|
||
* loop-doloop.cc (doloop_condition_get): Likewise.
|
||
* loop-init.cc (fix_loop_structure): Likewise.
|
||
* loop-invariant.cc: Likewise.
|
||
* lower-subreg.h: Likewise.
|
||
* lra-constraints.cc (curr_insn_transform): Likewise.
|
||
* lra-int.h (struct lra_insn_reg): Likewise.
|
||
(lra_undo_inheritance): Likewise.
|
||
(lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
|
||
(lra_split_hard_reg_for): Likewise.
|
||
(lra_coalesce): Likewise.
|
||
(lra_final_code_change): Likewise.
|
||
* lra-spills.cc (lra_final_code_change): Likewise.
|
||
* lra.cc (lra_process_new_insns): Likewise.
|
||
* lto-compress.h (struct lto_compression_stream): Likewise.
|
||
* lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
|
||
(write_symbol): Likewise.
|
||
* lto-streamer.h (enum LTO_tags): Likewise.
|
||
(lto_value_range_error): Likewise.
|
||
(lto_append_block): Likewise.
|
||
(lto_streamer_hooks_init): Likewise.
|
||
(stream_read_tree_ref): Likewise.
|
||
(lto_prepare_function_for_streaming): Likewise.
|
||
(select_what_to_stream): Likewise.
|
||
(omp_lto_input_declare_variant_alt): Likewise.
|
||
(cl_optimization_stream_in): Likewise.
|
||
* lto-wrapper.cc (append_compiler_options): Likewise.
|
||
* machmode.def: Likewise.
|
||
* machmode.h (struct int_n_data_t): Likewise.
|
||
* main.cc (main): Likewise.
|
||
* match.pd: Likewise.
|
||
* omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
|
||
(BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
|
||
* omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
|
||
(make_pass_expand_omp_ssa): Likewise.
|
||
* omp-low.cc (struct omp_context): Likewise.
|
||
(struct omp_taskcopy_context): Likewise.
|
||
(lower_omp): Likewise.
|
||
* omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
|
||
(mask_name): Likewise.
|
||
(omp_sese_dump_pars): Likewise.
|
||
(worker_single_simple): Likewise.
|
||
* omp-offload.cc (omp_finish_file): Likewise.
|
||
(execute_oacc_loop_designation): Likewise.
|
||
* optabs-query.cc (lshift_cheap_p): Likewise.
|
||
* optc-gen.awk: Likewise.
|
||
* optc-save-gen.awk: Likewise.
|
||
* optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
|
||
* opts-common.cc: Likewise.
|
||
* output.h (app_enable): Likewise.
|
||
(output_operand_lossage): Likewise.
|
||
(insn_current_reference_address): Likewise.
|
||
(get_insn_template): Likewise.
|
||
(output_quoted_string): Likewise.
|
||
* pass_manager.h (struct register_pass_info): Likewise.
|
||
* plugin.cc: Likewise.
|
||
* plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
|
||
* plugin.h (invoke_plugin_callbacks): Likewise.
|
||
* pointer-query.cc (handle_mem_ref): Likewise.
|
||
* postreload-gcse.cc (alloc_mem): Likewise.
|
||
* predict.h (enum prediction): Likewise.
|
||
(add_reg_br_prob_note): Likewise.
|
||
* prefix.h: Likewise.
|
||
* profile.h (get_working_sets): Likewise.
|
||
* read-md.cc: Likewise.
|
||
* read-md.h (struct mapping): Likewise.
|
||
(class md_reader): Likewise.
|
||
(class noop_reader): Likewise.
|
||
* read-rtl-function.cc (function_reader::create_function): Likewise.
|
||
(function_reader::extra_parsing_for_operand_code_0): Likewise.
|
||
* read-rtl.cc (initialize_iterators): Likewise.
|
||
* real.cc: Likewise.
|
||
* real.h (struct real_value): Likewise.
|
||
(format_helper::format_helper): Likewise.
|
||
(real_hash): Likewise.
|
||
(real_can_shorten_arithmetic): Likewise.
|
||
* recog.cc (struct target_recog): Likewise.
|
||
(offsettable_nonstrict_memref_p): Likewise.
|
||
(constrain_operands): Likewise.
|
||
* recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
|
||
(which_op_alt): Likewise.
|
||
(struct insn_gen_fn): Likewise.
|
||
* reg-notes.def (REG_NOTE): Likewise.
|
||
* reg-stack.cc: Likewise.
|
||
* regs.h (reg_is_parm_p): Likewise.
|
||
* regset.h: Likewise.
|
||
* reload.cc (push_reload): Likewise.
|
||
(find_reloads): Likewise.
|
||
(find_reloads_address_1): Likewise.
|
||
(find_replacement): Likewise.
|
||
(refers_to_regno_for_reload_p): Likewise.
|
||
(refers_to_mem_for_reload_p): Likewise.
|
||
* reload.h (push_reload): Likewise.
|
||
(deallocate_reload_reg): Likewise.
|
||
* reload1.cc (emit_input_reload_insns): Likewise.
|
||
* reorg.cc (relax_delay_slots): Likewise.
|
||
* rtl.def (UNKNOWN): Likewise.
|
||
(SEQUENCE): Likewise.
|
||
(BARRIER): Likewise.
|
||
(ASM_OPERANDS): Likewise.
|
||
(EQ_ATTR_ALT): Likewise.
|
||
* rtl.h (struct GTY): Likewise.
|
||
(LABEL_NAME): Likewise.
|
||
(LABEL_ALT_ENTRY_P): Likewise.
|
||
(SUBREG_BYTE): Likewise.
|
||
(get_stack_check_protect): Likewise.
|
||
(dump_rtx_statistics): Likewise.
|
||
(unwrap_const_vec_duplicate): Likewise.
|
||
(subreg_promoted_mode): Likewise.
|
||
(gen_lowpart_common): Likewise.
|
||
(operand_subword): Likewise.
|
||
(immed_wide_int_const): Likewise.
|
||
(decide_function_section): Likewise.
|
||
(active_insn_p): Likewise.
|
||
(delete_related_insns): Likewise.
|
||
(try_split): Likewise.
|
||
(val_signbit_known_clear_p): Likewise.
|
||
(simplifiable_subregs): Likewise.
|
||
(set_insn_deleted): Likewise.
|
||
(subreg_get_info): Likewise.
|
||
(remove_free_EXPR_LIST_node): Likewise.
|
||
(finish_subregs_of_mode): Likewise.
|
||
(get_mem_attrs): Likewise.
|
||
(lookup_constant_def): Likewise.
|
||
(rtx_to_tree_code): Likewise.
|
||
(hash_rtx): Likewise.
|
||
(condjump_in_parallel_p): Likewise.
|
||
(validate_subreg): Likewise.
|
||
(make_compound_operation): Likewise.
|
||
(schedule_ebbs): Likewise.
|
||
(print_inline_rtx): Likewise.
|
||
(fixup_args_size_notes): Likewise.
|
||
(expand_dec): Likewise.
|
||
(prepare_copy_insn): Likewise.
|
||
(mark_elimination): Likewise.
|
||
(valid_mode_changes_for_regno): Likewise.
|
||
(make_debug_expr_from_rtl): Likewise.
|
||
(delete_vta_debug_insns): Likewise.
|
||
(simplify_using_condition): Likewise.
|
||
(set_insn_locations): Likewise.
|
||
(fatal_insn_not_found): Likewise.
|
||
(word_register_operation_p): Likewise.
|
||
* rtlanal.cc (get_call_fndecl): Likewise.
|
||
(side_effects_p): Likewise.
|
||
(subreg_nregs): Likewise.
|
||
(rtx_cost): Likewise.
|
||
(canonicalize_condition): Likewise.
|
||
* rtlanal.h (rtx_properties::try_to_add_note): Likewise.
|
||
* run-rtl-passes.cc (run_rtl_passes): Likewise.
|
||
* sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
|
||
* sched-deps.cc (add_dependence_1): Likewise.
|
||
* sched-ebb.cc (begin_move_insn): Likewise.
|
||
(add_deps_for_risky_insns): Likewise.
|
||
(advance_target_bb): Likewise.
|
||
* sched-int.h (reemit_notes): Likewise.
|
||
(struct _haifa_insn_data): Likewise.
|
||
(HID): Likewise.
|
||
(DEP_CANCELLED): Likewise.
|
||
(debug_ds): Likewise.
|
||
(number_in_ready): Likewise.
|
||
(schedule_ebbs_finish): Likewise.
|
||
(find_modifiable_mems): Likewise.
|
||
* sched-rgn.cc (debug_rgn_dependencies): Likewise.
|
||
* sel-sched-dump.cc (dump_lv_set): Likewise.
|
||
* sel-sched-dump.h: Likewise.
|
||
* sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
|
||
(setup_id_reg_sets): Likewise.
|
||
(has_dependence_p): Likewise.
|
||
(sel_num_cfg_preds_gt_1): Likewise.
|
||
(bb_ends_ebb_p): Likewise.
|
||
* sel-sched-ir.h (struct _list_node): Likewise.
|
||
(struct idata_def): Likewise.
|
||
(bb_next_bb): Likewise.
|
||
* sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
|
||
(choose_best_pseudo_reg): Likewise.
|
||
(verify_target_availability): Likewise.
|
||
(can_speculate_dep_p): Likewise.
|
||
(sel_rank_for_schedule): Likewise.
|
||
* selftest-run-tests.cc (selftest::run_tests): Likewise.
|
||
* selftest.h (class auto_fix_quotes): Likewise.
|
||
* shrink-wrap.cc (handle_simple_exit): Likewise.
|
||
* shrink-wrap.h: Likewise.
|
||
* simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
|
||
(simplify_context::simplify_gen_vec_select): Likewise.
|
||
* spellcheck-tree.h: Likewise.
|
||
* spellcheck.h: Likewise.
|
||
* statistics.h (struct function): Likewise.
|
||
* stmt.cc (conditional_probability): Likewise.
|
||
* stmt.h: Likewise.
|
||
* stor-layout.h: Likewise.
|
||
* streamer-hooks.h: Likewise.
|
||
* stringpool.h: Likewise.
|
||
* symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
|
||
* target.def (HOOK_VECTOR_END): Likewise.
|
||
(type.): Likewise.
|
||
* target.h (union cumulative_args_t): Likewise.
|
||
(by_pieces_ninsns): Likewise.
|
||
(class predefined_function_abi): Likewise.
|
||
* targhooks.cc (default_translate_mode_attribute): Likewise.
|
||
* timevar.def: Likewise.
|
||
* timevar.h (class timer): Likewise.
|
||
* toplev.h (enable_rtl_dump_file): Likewise.
|
||
* trans-mem.cc (collect_bb2reg): Likewise.
|
||
* tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
|
||
* tree-cfg.cc (remove_bb): Likewise.
|
||
(verify_gimple_debug): Likewise.
|
||
(remove_edge_and_dominated_blocks): Likewise.
|
||
(push_fndecl): Likewise.
|
||
* tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
|
||
* tree-complex.cc (expand_complex_multiplication): Likewise.
|
||
(expand_complex_div_straight): Likewise.
|
||
* tree-core.h (enum tree_index): Likewise.
|
||
(enum operand_equal_flag): Likewise.
|
||
* tree-eh.cc (honor_protect_cleanup_actions): Likewise.
|
||
* tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
|
||
* tree-inline.cc (initialize_inlined_parameters): Likewise.
|
||
* tree-inline.h (force_value_to_type): Likewise.
|
||
* tree-nested.cc (get_chain_decl): Likewise.
|
||
(walk_all_functions): Likewise.
|
||
* tree-object-size.h: Likewise.
|
||
* tree-outof-ssa.cc: Likewise.
|
||
* tree-parloops.cc (create_parallel_loop): Likewise.
|
||
* tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
|
||
(dump_generic_node): Likewise.
|
||
* tree-profile.cc (tree_profiling): Likewise.
|
||
* tree-sra.cc (maybe_add_sra_candidate): Likewise.
|
||
* tree-ssa-address.cc: Likewise.
|
||
* tree-ssa-alias.cc: Likewise.
|
||
* tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
|
||
(dump_alias_stats): Likewise.
|
||
* tree-ssa-ccp.cc: Likewise.
|
||
* tree-ssa-coalesce.h: Likewise.
|
||
* tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
|
||
* tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
|
||
* tree-ssa-loop-unswitch.cc: Likewise.
|
||
* tree-ssa-math-opts.cc: Likewise.
|
||
* tree-ssa-operands.cc (class operands_scanner): Likewise.
|
||
* tree-ssa-pre.cc: Likewise.
|
||
* tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
|
||
(debug_range_entry): Likewise.
|
||
* tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
|
||
* tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
|
||
* tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
|
||
(equal_mem_array_ref_p): Likewise.
|
||
* tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
|
||
* tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
|
||
* tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
|
||
* tree-ssa-ter.h: Likewise.
|
||
* tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
|
||
* tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
|
||
* tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
|
||
(write_ts_block_tree_pointers): Likewise.
|
||
* tree-streamer.h (struct streamer_tree_cache_d): Likewise.
|
||
(streamer_read_tree_bitfields): Likewise.
|
||
(streamer_write_integer_cst): Likewise.
|
||
* tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
|
||
(vect_synth_mult_by_constant): Likewise.
|
||
* tree-vect-stmts.cc (vectorizable_operation): Likewise.
|
||
* tree-vectorizer.cc: Likewise.
|
||
* tree-vectorizer.h (class auto_purge_vect_location): Likewise.
|
||
(vect_update_inits_of_drs): Likewise.
|
||
(vect_get_mask_type_for_stmt): Likewise.
|
||
(vect_rgroup_iv_might_wrap_p): Likewise.
|
||
(cse_and_gimplify_to_preheader): Likewise.
|
||
(vect_free_slp_tree): Likewise.
|
||
(vect_pattern_recog): Likewise.
|
||
(vect_stmt_dominates_stmt_p): Likewise.
|
||
* tree.cc (initialize_tree_contains_struct): Likewise.
|
||
(need_assembler_name_p): Likewise.
|
||
(type_with_interoperable_signedness): Likewise.
|
||
* tree.def (SWITCH_EXPR): Likewise.
|
||
* tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
|
||
(poly_int_tree_p): Likewise.
|
||
(inlined_function_outer_scope_p): Likewise.
|
||
(tree_code_for_canonical_type_merging): Likewise.
|
||
* value-prof.cc: Likewise.
|
||
* value-prof.h (get_nth_most_common_value): Likewise.
|
||
(find_func_by_profile_id): Likewise.
|
||
* value-range.cc (vrp_operand_equal_p): Likewise.
|
||
* value-range.h: Likewise.
|
||
* var-tracking.cc: Likewise.
|
||
* varasm.cc (default_function_section): Likewise.
|
||
(function_section_1): Likewise.
|
||
(assemble_variable): Likewise.
|
||
(handle_vtv_comdat_section): Likewise.
|
||
* vec.h (struct vec_prefix): Likewise.
|
||
* vmsdbgout.cc (full_name): Likewise.
|
||
* vtable-verify.cc: Likewise.
|
||
* vtable-verify.h (struct vtv_graph_node): Likewise.
|
||
* xcoffout.cc: Likewise.
|
||
* xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
|
||
|
||
2022-01-17 Martin Liska <mliska@suse.cz>
|
||
|
||
* adjust-alignment.c: Moved to...
|
||
* adjust-alignment.cc: ...here.
|
||
* alias.c: Moved to...
|
||
* alias.cc: ...here.
|
||
* alloc-pool.c: Moved to...
|
||
* alloc-pool.cc: ...here.
|
||
* asan.c: Moved to...
|
||
* asan.cc: ...here.
|
||
* attribs.c: Moved to...
|
||
* attribs.cc: ...here.
|
||
* auto-inc-dec.c: Moved to...
|
||
* auto-inc-dec.cc: ...here.
|
||
* auto-profile.c: Moved to...
|
||
* auto-profile.cc: ...here.
|
||
* bb-reorder.c: Moved to...
|
||
* bb-reorder.cc: ...here.
|
||
* bitmap.c: Moved to...
|
||
* bitmap.cc: ...here.
|
||
* btfout.c: Moved to...
|
||
* btfout.cc: ...here.
|
||
* builtins.c: Moved to...
|
||
* builtins.cc: ...here.
|
||
* caller-save.c: Moved to...
|
||
* caller-save.cc: ...here.
|
||
* calls.c: Moved to...
|
||
* calls.cc: ...here.
|
||
* ccmp.c: Moved to...
|
||
* ccmp.cc: ...here.
|
||
* cfg.c: Moved to...
|
||
* cfg.cc: ...here.
|
||
* cfganal.c: Moved to...
|
||
* cfganal.cc: ...here.
|
||
* cfgbuild.c: Moved to...
|
||
* cfgbuild.cc: ...here.
|
||
* cfgcleanup.c: Moved to...
|
||
* cfgcleanup.cc: ...here.
|
||
* cfgexpand.c: Moved to...
|
||
* cfgexpand.cc: ...here.
|
||
* cfghooks.c: Moved to...
|
||
* cfghooks.cc: ...here.
|
||
* cfgloop.c: Moved to...
|
||
* cfgloop.cc: ...here.
|
||
* cfgloopanal.c: Moved to...
|
||
* cfgloopanal.cc: ...here.
|
||
* cfgloopmanip.c: Moved to...
|
||
* cfgloopmanip.cc: ...here.
|
||
* cfgrtl.c: Moved to...
|
||
* cfgrtl.cc: ...here.
|
||
* cgraph.c: Moved to...
|
||
* cgraph.cc: ...here.
|
||
* cgraphbuild.c: Moved to...
|
||
* cgraphbuild.cc: ...here.
|
||
* cgraphclones.c: Moved to...
|
||
* cgraphclones.cc: ...here.
|
||
* cgraphunit.c: Moved to...
|
||
* cgraphunit.cc: ...here.
|
||
* collect-utils.c: Moved to...
|
||
* collect-utils.cc: ...here.
|
||
* collect2-aix.c: Moved to...
|
||
* collect2-aix.cc: ...here.
|
||
* collect2.c: Moved to...
|
||
* collect2.cc: ...here.
|
||
* combine-stack-adj.c: Moved to...
|
||
* combine-stack-adj.cc: ...here.
|
||
* combine.c: Moved to...
|
||
* combine.cc: ...here.
|
||
* common/common-targhooks.c: Moved to...
|
||
* common/common-targhooks.cc: ...here.
|
||
* common/config/aarch64/aarch64-common.c: Moved to...
|
||
* common/config/aarch64/aarch64-common.cc: ...here.
|
||
* common/config/alpha/alpha-common.c: Moved to...
|
||
* common/config/alpha/alpha-common.cc: ...here.
|
||
* common/config/arc/arc-common.c: Moved to...
|
||
* common/config/arc/arc-common.cc: ...here.
|
||
* common/config/arm/arm-common.c: Moved to...
|
||
* common/config/arm/arm-common.cc: ...here.
|
||
* common/config/avr/avr-common.c: Moved to...
|
||
* common/config/avr/avr-common.cc: ...here.
|
||
* common/config/bfin/bfin-common.c: Moved to...
|
||
* common/config/bfin/bfin-common.cc: ...here.
|
||
* common/config/bpf/bpf-common.c: Moved to...
|
||
* common/config/bpf/bpf-common.cc: ...here.
|
||
* common/config/c6x/c6x-common.c: Moved to...
|
||
* common/config/c6x/c6x-common.cc: ...here.
|
||
* common/config/cr16/cr16-common.c: Moved to...
|
||
* common/config/cr16/cr16-common.cc: ...here.
|
||
* common/config/cris/cris-common.c: Moved to...
|
||
* common/config/cris/cris-common.cc: ...here.
|
||
* common/config/csky/csky-common.c: Moved to...
|
||
* common/config/csky/csky-common.cc: ...here.
|
||
* common/config/default-common.c: Moved to...
|
||
* common/config/default-common.cc: ...here.
|
||
* common/config/epiphany/epiphany-common.c: Moved to...
|
||
* common/config/epiphany/epiphany-common.cc: ...here.
|
||
* common/config/fr30/fr30-common.c: Moved to...
|
||
* common/config/fr30/fr30-common.cc: ...here.
|
||
* common/config/frv/frv-common.c: Moved to...
|
||
* common/config/frv/frv-common.cc: ...here.
|
||
* common/config/gcn/gcn-common.c: Moved to...
|
||
* common/config/gcn/gcn-common.cc: ...here.
|
||
* common/config/h8300/h8300-common.c: Moved to...
|
||
* common/config/h8300/h8300-common.cc: ...here.
|
||
* common/config/i386/i386-common.c: Moved to...
|
||
* common/config/i386/i386-common.cc: ...here.
|
||
* common/config/ia64/ia64-common.c: Moved to...
|
||
* common/config/ia64/ia64-common.cc: ...here.
|
||
* common/config/iq2000/iq2000-common.c: Moved to...
|
||
* common/config/iq2000/iq2000-common.cc: ...here.
|
||
* common/config/lm32/lm32-common.c: Moved to...
|
||
* common/config/lm32/lm32-common.cc: ...here.
|
||
* common/config/m32r/m32r-common.c: Moved to...
|
||
* common/config/m32r/m32r-common.cc: ...here.
|
||
* common/config/m68k/m68k-common.c: Moved to...
|
||
* common/config/m68k/m68k-common.cc: ...here.
|
||
* common/config/mcore/mcore-common.c: Moved to...
|
||
* common/config/mcore/mcore-common.cc: ...here.
|
||
* common/config/microblaze/microblaze-common.c: Moved to...
|
||
* common/config/microblaze/microblaze-common.cc: ...here.
|
||
* common/config/mips/mips-common.c: Moved to...
|
||
* common/config/mips/mips-common.cc: ...here.
|
||
* common/config/mmix/mmix-common.c: Moved to...
|
||
* common/config/mmix/mmix-common.cc: ...here.
|
||
* common/config/mn10300/mn10300-common.c: Moved to...
|
||
* common/config/mn10300/mn10300-common.cc: ...here.
|
||
* common/config/msp430/msp430-common.c: Moved to...
|
||
* common/config/msp430/msp430-common.cc: ...here.
|
||
* common/config/nds32/nds32-common.c: Moved to...
|
||
* common/config/nds32/nds32-common.cc: ...here.
|
||
* common/config/nios2/nios2-common.c: Moved to...
|
||
* common/config/nios2/nios2-common.cc: ...here.
|
||
* common/config/nvptx/nvptx-common.c: Moved to...
|
||
* common/config/nvptx/nvptx-common.cc: ...here.
|
||
* common/config/or1k/or1k-common.c: Moved to...
|
||
* common/config/or1k/or1k-common.cc: ...here.
|
||
* common/config/pa/pa-common.c: Moved to...
|
||
* common/config/pa/pa-common.cc: ...here.
|
||
* common/config/pdp11/pdp11-common.c: Moved to...
|
||
* common/config/pdp11/pdp11-common.cc: ...here.
|
||
* common/config/pru/pru-common.c: Moved to...
|
||
* common/config/pru/pru-common.cc: ...here.
|
||
* common/config/riscv/riscv-common.c: Moved to...
|
||
* common/config/riscv/riscv-common.cc: ...here.
|
||
* common/config/rs6000/rs6000-common.c: Moved to...
|
||
* common/config/rs6000/rs6000-common.cc: ...here.
|
||
* common/config/rx/rx-common.c: Moved to...
|
||
* common/config/rx/rx-common.cc: ...here.
|
||
* common/config/s390/s390-common.c: Moved to...
|
||
* common/config/s390/s390-common.cc: ...here.
|
||
* common/config/sh/sh-common.c: Moved to...
|
||
* common/config/sh/sh-common.cc: ...here.
|
||
* common/config/sparc/sparc-common.c: Moved to...
|
||
* common/config/sparc/sparc-common.cc: ...here.
|
||
* common/config/tilegx/tilegx-common.c: Moved to...
|
||
* common/config/tilegx/tilegx-common.cc: ...here.
|
||
* common/config/tilepro/tilepro-common.c: Moved to...
|
||
* common/config/tilepro/tilepro-common.cc: ...here.
|
||
* common/config/v850/v850-common.c: Moved to...
|
||
* common/config/v850/v850-common.cc: ...here.
|
||
* common/config/vax/vax-common.c: Moved to...
|
||
* common/config/vax/vax-common.cc: ...here.
|
||
* common/config/visium/visium-common.c: Moved to...
|
||
* common/config/visium/visium-common.cc: ...here.
|
||
* common/config/xstormy16/xstormy16-common.c: Moved to...
|
||
* common/config/xstormy16/xstormy16-common.cc: ...here.
|
||
* common/config/xtensa/xtensa-common.c: Moved to...
|
||
* common/config/xtensa/xtensa-common.cc: ...here.
|
||
* compare-elim.c: Moved to...
|
||
* compare-elim.cc: ...here.
|
||
* config/aarch64/aarch64-bti-insert.c: Moved to...
|
||
* config/aarch64/aarch64-bti-insert.cc: ...here.
|
||
* config/aarch64/aarch64-builtins.c: Moved to...
|
||
* config/aarch64/aarch64-builtins.cc: ...here.
|
||
* config/aarch64/aarch64-c.c: Moved to...
|
||
* config/aarch64/aarch64-c.cc: ...here.
|
||
* config/aarch64/aarch64-d.c: Moved to...
|
||
* config/aarch64/aarch64-d.cc: ...here.
|
||
* config/aarch64/aarch64.c: Moved to...
|
||
* config/aarch64/aarch64.cc: ...here.
|
||
* config/aarch64/cortex-a57-fma-steering.c: Moved to...
|
||
* config/aarch64/cortex-a57-fma-steering.cc: ...here.
|
||
* config/aarch64/driver-aarch64.c: Moved to...
|
||
* config/aarch64/driver-aarch64.cc: ...here.
|
||
* config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
|
||
* config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
|
||
* config/aarch64/host-aarch64-darwin.c: Moved to...
|
||
* config/aarch64/host-aarch64-darwin.cc: ...here.
|
||
* config/alpha/alpha.c: Moved to...
|
||
* config/alpha/alpha.cc: ...here.
|
||
* config/alpha/driver-alpha.c: Moved to...
|
||
* config/alpha/driver-alpha.cc: ...here.
|
||
* config/arc/arc-c.c: Moved to...
|
||
* config/arc/arc-c.cc: ...here.
|
||
* config/arc/arc.c: Moved to...
|
||
* config/arc/arc.cc: ...here.
|
||
* config/arc/driver-arc.c: Moved to...
|
||
* config/arc/driver-arc.cc: ...here.
|
||
* config/arm/aarch-common.c: Moved to...
|
||
* config/arm/aarch-common.cc: ...here.
|
||
* config/arm/arm-builtins.c: Moved to...
|
||
* config/arm/arm-builtins.cc: ...here.
|
||
* config/arm/arm-c.c: Moved to...
|
||
* config/arm/arm-c.cc: ...here.
|
||
* config/arm/arm-d.c: Moved to...
|
||
* config/arm/arm-d.cc: ...here.
|
||
* config/arm/arm.c: Moved to...
|
||
* config/arm/arm.cc: ...here.
|
||
* config/arm/driver-arm.c: Moved to...
|
||
* config/arm/driver-arm.cc: ...here.
|
||
* config/avr/avr-c.c: Moved to...
|
||
* config/avr/avr-c.cc: ...here.
|
||
* config/avr/avr-devices.c: Moved to...
|
||
* config/avr/avr-devices.cc: ...here.
|
||
* config/avr/avr-log.c: Moved to...
|
||
* config/avr/avr-log.cc: ...here.
|
||
* config/avr/avr.c: Moved to...
|
||
* config/avr/avr.cc: ...here.
|
||
* config/avr/driver-avr.c: Moved to...
|
||
* config/avr/driver-avr.cc: ...here.
|
||
* config/avr/gen-avr-mmcu-specs.c: Moved to...
|
||
* config/avr/gen-avr-mmcu-specs.cc: ...here.
|
||
* config/avr/gen-avr-mmcu-texi.c: Moved to...
|
||
* config/avr/gen-avr-mmcu-texi.cc: ...here.
|
||
* config/bfin/bfin.c: Moved to...
|
||
* config/bfin/bfin.cc: ...here.
|
||
* config/bpf/bpf.c: Moved to...
|
||
* config/bpf/bpf.cc: ...here.
|
||
* config/bpf/coreout.c: Moved to...
|
||
* config/bpf/coreout.cc: ...here.
|
||
* config/c6x/c6x.c: Moved to...
|
||
* config/c6x/c6x.cc: ...here.
|
||
* config/cr16/cr16.c: Moved to...
|
||
* config/cr16/cr16.cc: ...here.
|
||
* config/cris/cris.c: Moved to...
|
||
* config/cris/cris.cc: ...here.
|
||
* config/csky/csky.c: Moved to...
|
||
* config/csky/csky.cc: ...here.
|
||
* config/darwin-c.c: Moved to...
|
||
* config/darwin-c.cc: ...here.
|
||
* config/darwin-d.c: Moved to...
|
||
* config/darwin-d.cc: ...here.
|
||
* config/darwin-driver.c: Moved to...
|
||
* config/darwin-driver.cc: ...here.
|
||
* config/darwin-f.c: Moved to...
|
||
* config/darwin-f.cc: ...here.
|
||
* config/darwin.c: Moved to...
|
||
* config/darwin.cc: ...here.
|
||
* config/default-c.c: Moved to...
|
||
* config/default-c.cc: ...here.
|
||
* config/default-d.c: Moved to...
|
||
* config/default-d.cc: ...here.
|
||
* config/dragonfly-d.c: Moved to...
|
||
* config/dragonfly-d.cc: ...here.
|
||
* config/epiphany/epiphany.c: Moved to...
|
||
* config/epiphany/epiphany.cc: ...here.
|
||
* config/epiphany/mode-switch-use.c: Moved to...
|
||
* config/epiphany/mode-switch-use.cc: ...here.
|
||
* config/epiphany/resolve-sw-modes.c: Moved to...
|
||
* config/epiphany/resolve-sw-modes.cc: ...here.
|
||
* config/fr30/fr30.c: Moved to...
|
||
* config/fr30/fr30.cc: ...here.
|
||
* config/freebsd-d.c: Moved to...
|
||
* config/freebsd-d.cc: ...here.
|
||
* config/frv/frv.c: Moved to...
|
||
* config/frv/frv.cc: ...here.
|
||
* config/ft32/ft32.c: Moved to...
|
||
* config/ft32/ft32.cc: ...here.
|
||
* config/gcn/driver-gcn.c: Moved to...
|
||
* config/gcn/driver-gcn.cc: ...here.
|
||
* config/gcn/gcn-run.c: Moved to...
|
||
* config/gcn/gcn-run.cc: ...here.
|
||
* config/gcn/gcn-tree.c: Moved to...
|
||
* config/gcn/gcn-tree.cc: ...here.
|
||
* config/gcn/gcn.c: Moved to...
|
||
* config/gcn/gcn.cc: ...here.
|
||
* config/gcn/mkoffload.c: Moved to...
|
||
* config/gcn/mkoffload.cc: ...here.
|
||
* config/glibc-c.c: Moved to...
|
||
* config/glibc-c.cc: ...here.
|
||
* config/glibc-d.c: Moved to...
|
||
* config/glibc-d.cc: ...here.
|
||
* config/h8300/h8300.c: Moved to...
|
||
* config/h8300/h8300.cc: ...here.
|
||
* config/host-darwin.c: Moved to...
|
||
* config/host-darwin.cc: ...here.
|
||
* config/host-hpux.c: Moved to...
|
||
* config/host-hpux.cc: ...here.
|
||
* config/host-linux.c: Moved to...
|
||
* config/host-linux.cc: ...here.
|
||
* config/host-netbsd.c: Moved to...
|
||
* config/host-netbsd.cc: ...here.
|
||
* config/host-openbsd.c: Moved to...
|
||
* config/host-openbsd.cc: ...here.
|
||
* config/host-solaris.c: Moved to...
|
||
* config/host-solaris.cc: ...here.
|
||
* config/i386/djgpp.c: Moved to...
|
||
* config/i386/djgpp.cc: ...here.
|
||
* config/i386/driver-i386.c: Moved to...
|
||
* config/i386/driver-i386.cc: ...here.
|
||
* config/i386/driver-mingw32.c: Moved to...
|
||
* config/i386/driver-mingw32.cc: ...here.
|
||
* config/i386/gnu-property.c: Moved to...
|
||
* config/i386/gnu-property.cc: ...here.
|
||
* config/i386/host-cygwin.c: Moved to...
|
||
* config/i386/host-cygwin.cc: ...here.
|
||
* config/i386/host-i386-darwin.c: Moved to...
|
||
* config/i386/host-i386-darwin.cc: ...here.
|
||
* config/i386/host-mingw32.c: Moved to...
|
||
* config/i386/host-mingw32.cc: ...here.
|
||
* config/i386/i386-builtins.c: Moved to...
|
||
* config/i386/i386-builtins.cc: ...here.
|
||
* config/i386/i386-c.c: Moved to...
|
||
* config/i386/i386-c.cc: ...here.
|
||
* config/i386/i386-d.c: Moved to...
|
||
* config/i386/i386-d.cc: ...here.
|
||
* config/i386/i386-expand.c: Moved to...
|
||
* config/i386/i386-expand.cc: ...here.
|
||
* config/i386/i386-features.c: Moved to...
|
||
* config/i386/i386-features.cc: ...here.
|
||
* config/i386/i386-options.c: Moved to...
|
||
* config/i386/i386-options.cc: ...here.
|
||
* config/i386/i386.c: Moved to...
|
||
* config/i386/i386.cc: ...here.
|
||
* config/i386/intelmic-mkoffload.c: Moved to...
|
||
* config/i386/intelmic-mkoffload.cc: ...here.
|
||
* config/i386/msformat-c.c: Moved to...
|
||
* config/i386/msformat-c.cc: ...here.
|
||
* config/i386/winnt-cxx.c: Moved to...
|
||
* config/i386/winnt-cxx.cc: ...here.
|
||
* config/i386/winnt-d.c: Moved to...
|
||
* config/i386/winnt-d.cc: ...here.
|
||
* config/i386/winnt-stubs.c: Moved to...
|
||
* config/i386/winnt-stubs.cc: ...here.
|
||
* config/i386/winnt.c: Moved to...
|
||
* config/i386/winnt.cc: ...here.
|
||
* config/i386/x86-tune-sched-atom.c: Moved to...
|
||
* config/i386/x86-tune-sched-atom.cc: ...here.
|
||
* config/i386/x86-tune-sched-bd.c: Moved to...
|
||
* config/i386/x86-tune-sched-bd.cc: ...here.
|
||
* config/i386/x86-tune-sched-core.c: Moved to...
|
||
* config/i386/x86-tune-sched-core.cc: ...here.
|
||
* config/i386/x86-tune-sched.c: Moved to...
|
||
* config/i386/x86-tune-sched.cc: ...here.
|
||
* config/ia64/ia64-c.c: Moved to...
|
||
* config/ia64/ia64-c.cc: ...here.
|
||
* config/ia64/ia64.c: Moved to...
|
||
* config/ia64/ia64.cc: ...here.
|
||
* config/iq2000/iq2000.c: Moved to...
|
||
* config/iq2000/iq2000.cc: ...here.
|
||
* config/linux.c: Moved to...
|
||
* config/linux.cc: ...here.
|
||
* config/lm32/lm32.c: Moved to...
|
||
* config/lm32/lm32.cc: ...here.
|
||
* config/m32c/m32c-pragma.c: Moved to...
|
||
* config/m32c/m32c-pragma.cc: ...here.
|
||
* config/m32c/m32c.c: Moved to...
|
||
* config/m32c/m32c.cc: ...here.
|
||
* config/m32r/m32r.c: Moved to...
|
||
* config/m32r/m32r.cc: ...here.
|
||
* config/m68k/m68k.c: Moved to...
|
||
* config/m68k/m68k.cc: ...here.
|
||
* config/mcore/mcore.c: Moved to...
|
||
* config/mcore/mcore.cc: ...here.
|
||
* config/microblaze/microblaze-c.c: Moved to...
|
||
* config/microblaze/microblaze-c.cc: ...here.
|
||
* config/microblaze/microblaze.c: Moved to...
|
||
* config/microblaze/microblaze.cc: ...here.
|
||
* config/mips/driver-native.c: Moved to...
|
||
* config/mips/driver-native.cc: ...here.
|
||
* config/mips/frame-header-opt.c: Moved to...
|
||
* config/mips/frame-header-opt.cc: ...here.
|
||
* config/mips/mips-d.c: Moved to...
|
||
* config/mips/mips-d.cc: ...here.
|
||
* config/mips/mips.c: Moved to...
|
||
* config/mips/mips.cc: ...here.
|
||
* config/mmix/mmix.c: Moved to...
|
||
* config/mmix/mmix.cc: ...here.
|
||
* config/mn10300/mn10300.c: Moved to...
|
||
* config/mn10300/mn10300.cc: ...here.
|
||
* config/moxie/moxie.c: Moved to...
|
||
* config/moxie/moxie.cc: ...here.
|
||
* config/msp430/driver-msp430.c: Moved to...
|
||
* config/msp430/driver-msp430.cc: ...here.
|
||
* config/msp430/msp430-c.c: Moved to...
|
||
* config/msp430/msp430-c.cc: ...here.
|
||
* config/msp430/msp430-devices.c: Moved to...
|
||
* config/msp430/msp430-devices.cc: ...here.
|
||
* config/msp430/msp430.c: Moved to...
|
||
* config/msp430/msp430.cc: ...here.
|
||
* config/nds32/nds32-cost.c: Moved to...
|
||
* config/nds32/nds32-cost.cc: ...here.
|
||
* config/nds32/nds32-fp-as-gp.c: Moved to...
|
||
* config/nds32/nds32-fp-as-gp.cc: ...here.
|
||
* config/nds32/nds32-intrinsic.c: Moved to...
|
||
* config/nds32/nds32-intrinsic.cc: ...here.
|
||
* config/nds32/nds32-isr.c: Moved to...
|
||
* config/nds32/nds32-isr.cc: ...here.
|
||
* config/nds32/nds32-md-auxiliary.c: Moved to...
|
||
* config/nds32/nds32-md-auxiliary.cc: ...here.
|
||
* config/nds32/nds32-memory-manipulation.c: Moved to...
|
||
* config/nds32/nds32-memory-manipulation.cc: ...here.
|
||
* config/nds32/nds32-pipelines-auxiliary.c: Moved to...
|
||
* config/nds32/nds32-pipelines-auxiliary.cc: ...here.
|
||
* config/nds32/nds32-predicates.c: Moved to...
|
||
* config/nds32/nds32-predicates.cc: ...here.
|
||
* config/nds32/nds32-relax-opt.c: Moved to...
|
||
* config/nds32/nds32-relax-opt.cc: ...here.
|
||
* config/nds32/nds32-utils.c: Moved to...
|
||
* config/nds32/nds32-utils.cc: ...here.
|
||
* config/nds32/nds32.c: Moved to...
|
||
* config/nds32/nds32.cc: ...here.
|
||
* config/netbsd-d.c: Moved to...
|
||
* config/netbsd-d.cc: ...here.
|
||
* config/netbsd.c: Moved to...
|
||
* config/netbsd.cc: ...here.
|
||
* config/nios2/nios2.c: Moved to...
|
||
* config/nios2/nios2.cc: ...here.
|
||
* config/nvptx/mkoffload.c: Moved to...
|
||
* config/nvptx/mkoffload.cc: ...here.
|
||
* config/nvptx/nvptx-c.c: Moved to...
|
||
* config/nvptx/nvptx-c.cc: ...here.
|
||
* config/nvptx/nvptx.c: Moved to...
|
||
* config/nvptx/nvptx.cc: ...here.
|
||
* config/openbsd-d.c: Moved to...
|
||
* config/openbsd-d.cc: ...here.
|
||
* config/or1k/or1k.c: Moved to...
|
||
* config/or1k/or1k.cc: ...here.
|
||
* config/pa/pa-d.c: Moved to...
|
||
* config/pa/pa-d.cc: ...here.
|
||
* config/pa/pa.c: Moved to...
|
||
* config/pa/pa.cc: ...here.
|
||
* config/pdp11/pdp11.c: Moved to...
|
||
* config/pdp11/pdp11.cc: ...here.
|
||
* config/pru/pru-passes.c: Moved to...
|
||
* config/pru/pru-passes.cc: ...here.
|
||
* config/pru/pru-pragma.c: Moved to...
|
||
* config/pru/pru-pragma.cc: ...here.
|
||
* config/pru/pru.c: Moved to...
|
||
* config/pru/pru.cc: ...here.
|
||
* config/riscv/riscv-builtins.c: Moved to...
|
||
* config/riscv/riscv-builtins.cc: ...here.
|
||
* config/riscv/riscv-c.c: Moved to...
|
||
* config/riscv/riscv-c.cc: ...here.
|
||
* config/riscv/riscv-d.c: Moved to...
|
||
* config/riscv/riscv-d.cc: ...here.
|
||
* config/riscv/riscv-shorten-memrefs.c: Moved to...
|
||
* config/riscv/riscv-shorten-memrefs.cc: ...here.
|
||
* config/riscv/riscv-sr.c: Moved to...
|
||
* config/riscv/riscv-sr.cc: ...here.
|
||
* config/riscv/riscv.c: Moved to...
|
||
* config/riscv/riscv.cc: ...here.
|
||
* config/rl78/rl78-c.c: Moved to...
|
||
* config/rl78/rl78-c.cc: ...here.
|
||
* config/rl78/rl78.c: Moved to...
|
||
* config/rl78/rl78.cc: ...here.
|
||
* config/rs6000/driver-rs6000.c: Moved to...
|
||
* config/rs6000/driver-rs6000.cc: ...here.
|
||
* config/rs6000/host-darwin.c: Moved to...
|
||
* config/rs6000/host-darwin.cc: ...here.
|
||
* config/rs6000/host-ppc64-darwin.c: Moved to...
|
||
* config/rs6000/host-ppc64-darwin.cc: ...here.
|
||
* config/rs6000/rbtree.c: Moved to...
|
||
* config/rs6000/rbtree.cc: ...here.
|
||
* config/rs6000/rs6000-c.c: Moved to...
|
||
* config/rs6000/rs6000-c.cc: ...here.
|
||
* config/rs6000/rs6000-call.c: Moved to...
|
||
* config/rs6000/rs6000-call.cc: ...here.
|
||
* config/rs6000/rs6000-d.c: Moved to...
|
||
* config/rs6000/rs6000-d.cc: ...here.
|
||
* config/rs6000/rs6000-gen-builtins.c: Moved to...
|
||
* config/rs6000/rs6000-gen-builtins.cc: ...here.
|
||
* config/rs6000/rs6000-linux.c: Moved to...
|
||
* config/rs6000/rs6000-linux.cc: ...here.
|
||
* config/rs6000/rs6000-logue.c: Moved to...
|
||
* config/rs6000/rs6000-logue.cc: ...here.
|
||
* config/rs6000/rs6000-p8swap.c: Moved to...
|
||
* config/rs6000/rs6000-p8swap.cc: ...here.
|
||
* config/rs6000/rs6000-pcrel-opt.c: Moved to...
|
||
* config/rs6000/rs6000-pcrel-opt.cc: ...here.
|
||
* config/rs6000/rs6000-string.c: Moved to...
|
||
* config/rs6000/rs6000-string.cc: ...here.
|
||
* config/rs6000/rs6000.c: Moved to...
|
||
* config/rs6000/rs6000.cc: ...here.
|
||
* config/rx/rx.c: Moved to...
|
||
* config/rx/rx.cc: ...here.
|
||
* config/s390/driver-native.c: Moved to...
|
||
* config/s390/driver-native.cc: ...here.
|
||
* config/s390/s390-c.c: Moved to...
|
||
* config/s390/s390-c.cc: ...here.
|
||
* config/s390/s390-d.c: Moved to...
|
||
* config/s390/s390-d.cc: ...here.
|
||
* config/s390/s390.c: Moved to...
|
||
* config/s390/s390.cc: ...here.
|
||
* config/sh/divtab-sh4-300.c: Moved to...
|
||
* config/sh/divtab-sh4-300.cc: ...here.
|
||
* config/sh/divtab-sh4.c: Moved to...
|
||
* config/sh/divtab-sh4.cc: ...here.
|
||
* config/sh/divtab.c: Moved to...
|
||
* config/sh/divtab.cc: ...here.
|
||
* config/sh/sh-c.c: Moved to...
|
||
* config/sh/sh-c.cc: ...here.
|
||
* config/sh/sh.c: Moved to...
|
||
* config/sh/sh.cc: ...here.
|
||
* config/sol2-c.c: Moved to...
|
||
* config/sol2-c.cc: ...here.
|
||
* config/sol2-cxx.c: Moved to...
|
||
* config/sol2-cxx.cc: ...here.
|
||
* config/sol2-d.c: Moved to...
|
||
* config/sol2-d.cc: ...here.
|
||
* config/sol2-stubs.c: Moved to...
|
||
* config/sol2-stubs.cc: ...here.
|
||
* config/sol2.c: Moved to...
|
||
* config/sol2.cc: ...here.
|
||
* config/sparc/driver-sparc.c: Moved to...
|
||
* config/sparc/driver-sparc.cc: ...here.
|
||
* config/sparc/sparc-c.c: Moved to...
|
||
* config/sparc/sparc-c.cc: ...here.
|
||
* config/sparc/sparc-d.c: Moved to...
|
||
* config/sparc/sparc-d.cc: ...here.
|
||
* config/sparc/sparc.c: Moved to...
|
||
* config/sparc/sparc.cc: ...here.
|
||
* config/stormy16/stormy16.c: Moved to...
|
||
* config/stormy16/stormy16.cc: ...here.
|
||
* config/tilegx/mul-tables.c: Moved to...
|
||
* config/tilegx/mul-tables.cc: ...here.
|
||
* config/tilegx/tilegx-c.c: Moved to...
|
||
* config/tilegx/tilegx-c.cc: ...here.
|
||
* config/tilegx/tilegx.c: Moved to...
|
||
* config/tilegx/tilegx.cc: ...here.
|
||
* config/tilepro/mul-tables.c: Moved to...
|
||
* config/tilepro/mul-tables.cc: ...here.
|
||
* config/tilepro/tilepro-c.c: Moved to...
|
||
* config/tilepro/tilepro-c.cc: ...here.
|
||
* config/tilepro/tilepro.c: Moved to...
|
||
* config/tilepro/tilepro.cc: ...here.
|
||
* config/v850/v850-c.c: Moved to...
|
||
* config/v850/v850-c.cc: ...here.
|
||
* config/v850/v850.c: Moved to...
|
||
* config/v850/v850.cc: ...here.
|
||
* config/vax/vax.c: Moved to...
|
||
* config/vax/vax.cc: ...here.
|
||
* config/visium/visium.c: Moved to...
|
||
* config/visium/visium.cc: ...here.
|
||
* config/vms/vms-c.c: Moved to...
|
||
* config/vms/vms-c.cc: ...here.
|
||
* config/vms/vms-f.c: Moved to...
|
||
* config/vms/vms-f.cc: ...here.
|
||
* config/vms/vms.c: Moved to...
|
||
* config/vms/vms.cc: ...here.
|
||
* config/vxworks-c.c: Moved to...
|
||
* config/vxworks-c.cc: ...here.
|
||
* config/vxworks.c: Moved to...
|
||
* config/vxworks.cc: ...here.
|
||
* config/winnt-c.c: Moved to...
|
||
* config/winnt-c.cc: ...here.
|
||
* config/xtensa/xtensa.c: Moved to...
|
||
* config/xtensa/xtensa.cc: ...here.
|
||
* context.c: Moved to...
|
||
* context.cc: ...here.
|
||
* convert.c: Moved to...
|
||
* convert.cc: ...here.
|
||
* coverage.c: Moved to...
|
||
* coverage.cc: ...here.
|
||
* cppbuiltin.c: Moved to...
|
||
* cppbuiltin.cc: ...here.
|
||
* cppdefault.c: Moved to...
|
||
* cppdefault.cc: ...here.
|
||
* cprop.c: Moved to...
|
||
* cprop.cc: ...here.
|
||
* cse.c: Moved to...
|
||
* cse.cc: ...here.
|
||
* cselib.c: Moved to...
|
||
* cselib.cc: ...here.
|
||
* ctfc.c: Moved to...
|
||
* ctfc.cc: ...here.
|
||
* ctfout.c: Moved to...
|
||
* ctfout.cc: ...here.
|
||
* data-streamer-in.c: Moved to...
|
||
* data-streamer-in.cc: ...here.
|
||
* data-streamer-out.c: Moved to...
|
||
* data-streamer-out.cc: ...here.
|
||
* data-streamer.c: Moved to...
|
||
* data-streamer.cc: ...here.
|
||
* dbgcnt.c: Moved to...
|
||
* dbgcnt.cc: ...here.
|
||
* dbxout.c: Moved to...
|
||
* dbxout.cc: ...here.
|
||
* dce.c: Moved to...
|
||
* dce.cc: ...here.
|
||
* ddg.c: Moved to...
|
||
* ddg.cc: ...here.
|
||
* debug.c: Moved to...
|
||
* debug.cc: ...here.
|
||
* df-core.c: Moved to...
|
||
* df-core.cc: ...here.
|
||
* df-problems.c: Moved to...
|
||
* df-problems.cc: ...here.
|
||
* df-scan.c: Moved to...
|
||
* df-scan.cc: ...here.
|
||
* dfp.c: Moved to...
|
||
* dfp.cc: ...here.
|
||
* diagnostic-color.c: Moved to...
|
||
* diagnostic-color.cc: ...here.
|
||
* diagnostic-show-locus.c: Moved to...
|
||
* diagnostic-show-locus.cc: ...here.
|
||
* diagnostic-spec.c: Moved to...
|
||
* diagnostic-spec.cc: ...here.
|
||
* diagnostic.c: Moved to...
|
||
* diagnostic.cc: ...here.
|
||
* dojump.c: Moved to...
|
||
* dojump.cc: ...here.
|
||
* dominance.c: Moved to...
|
||
* dominance.cc: ...here.
|
||
* domwalk.c: Moved to...
|
||
* domwalk.cc: ...here.
|
||
* double-int.c: Moved to...
|
||
* double-int.cc: ...here.
|
||
* dse.c: Moved to...
|
||
* dse.cc: ...here.
|
||
* dumpfile.c: Moved to...
|
||
* dumpfile.cc: ...here.
|
||
* dwarf2asm.c: Moved to...
|
||
* dwarf2asm.cc: ...here.
|
||
* dwarf2cfi.c: Moved to...
|
||
* dwarf2cfi.cc: ...here.
|
||
* dwarf2ctf.c: Moved to...
|
||
* dwarf2ctf.cc: ...here.
|
||
* dwarf2out.c: Moved to...
|
||
* dwarf2out.cc: ...here.
|
||
* early-remat.c: Moved to...
|
||
* early-remat.cc: ...here.
|
||
* edit-context.c: Moved to...
|
||
* edit-context.cc: ...here.
|
||
* emit-rtl.c: Moved to...
|
||
* emit-rtl.cc: ...here.
|
||
* errors.c: Moved to...
|
||
* errors.cc: ...here.
|
||
* et-forest.c: Moved to...
|
||
* et-forest.cc: ...here.
|
||
* except.c: Moved to...
|
||
* except.cc: ...here.
|
||
* explow.c: Moved to...
|
||
* explow.cc: ...here.
|
||
* expmed.c: Moved to...
|
||
* expmed.cc: ...here.
|
||
* expr.c: Moved to...
|
||
* expr.cc: ...here.
|
||
* fibonacci_heap.c: Moved to...
|
||
* fibonacci_heap.cc: ...here.
|
||
* file-find.c: Moved to...
|
||
* file-find.cc: ...here.
|
||
* file-prefix-map.c: Moved to...
|
||
* file-prefix-map.cc: ...here.
|
||
* final.c: Moved to...
|
||
* final.cc: ...here.
|
||
* fixed-value.c: Moved to...
|
||
* fixed-value.cc: ...here.
|
||
* fold-const-call.c: Moved to...
|
||
* fold-const-call.cc: ...here.
|
||
* fold-const.c: Moved to...
|
||
* fold-const.cc: ...here.
|
||
* fp-test.c: Moved to...
|
||
* fp-test.cc: ...here.
|
||
* function-tests.c: Moved to...
|
||
* function-tests.cc: ...here.
|
||
* function.c: Moved to...
|
||
* function.cc: ...here.
|
||
* fwprop.c: Moved to...
|
||
* fwprop.cc: ...here.
|
||
* gcc-ar.c: Moved to...
|
||
* gcc-ar.cc: ...here.
|
||
* gcc-main.c: Moved to...
|
||
* gcc-main.cc: ...here.
|
||
* gcc-rich-location.c: Moved to...
|
||
* gcc-rich-location.cc: ...here.
|
||
* gcc.c: Moved to...
|
||
* gcc.cc: ...here.
|
||
* gcov-dump.c: Moved to...
|
||
* gcov-dump.cc: ...here.
|
||
* gcov-io.c: Moved to...
|
||
* gcov-io.cc: ...here.
|
||
* gcov-tool.c: Moved to...
|
||
* gcov-tool.cc: ...here.
|
||
* gcov.c: Moved to...
|
||
* gcov.cc: ...here.
|
||
* gcse-common.c: Moved to...
|
||
* gcse-common.cc: ...here.
|
||
* gcse.c: Moved to...
|
||
* gcse.cc: ...here.
|
||
* genattr-common.c: Moved to...
|
||
* genattr-common.cc: ...here.
|
||
* genattr.c: Moved to...
|
||
* genattr.cc: ...here.
|
||
* genattrtab.c: Moved to...
|
||
* genattrtab.cc: ...here.
|
||
* genautomata.c: Moved to...
|
||
* genautomata.cc: ...here.
|
||
* gencfn-macros.c: Moved to...
|
||
* gencfn-macros.cc: ...here.
|
||
* gencheck.c: Moved to...
|
||
* gencheck.cc: ...here.
|
||
* genchecksum.c: Moved to...
|
||
* genchecksum.cc: ...here.
|
||
* gencodes.c: Moved to...
|
||
* gencodes.cc: ...here.
|
||
* genconditions.c: Moved to...
|
||
* genconditions.cc: ...here.
|
||
* genconfig.c: Moved to...
|
||
* genconfig.cc: ...here.
|
||
* genconstants.c: Moved to...
|
||
* genconstants.cc: ...here.
|
||
* genemit.c: Moved to...
|
||
* genemit.cc: ...here.
|
||
* genenums.c: Moved to...
|
||
* genenums.cc: ...here.
|
||
* generic-match-head.c: Moved to...
|
||
* generic-match-head.cc: ...here.
|
||
* genextract.c: Moved to...
|
||
* genextract.cc: ...here.
|
||
* genflags.c: Moved to...
|
||
* genflags.cc: ...here.
|
||
* gengenrtl.c: Moved to...
|
||
* gengenrtl.cc: ...here.
|
||
* gengtype-parse.c: Moved to...
|
||
* gengtype-parse.cc: ...here.
|
||
* gengtype-state.c: Moved to...
|
||
* gengtype-state.cc: ...here.
|
||
* gengtype.c: Moved to...
|
||
* gengtype.cc: ...here.
|
||
* genhooks.c: Moved to...
|
||
* genhooks.cc: ...here.
|
||
* genmatch.c: Moved to...
|
||
* genmatch.cc: ...here.
|
||
* genmddeps.c: Moved to...
|
||
* genmddeps.cc: ...here.
|
||
* genmddump.c: Moved to...
|
||
* genmddump.cc: ...here.
|
||
* genmodes.c: Moved to...
|
||
* genmodes.cc: ...here.
|
||
* genopinit.c: Moved to...
|
||
* genopinit.cc: ...here.
|
||
* genoutput.c: Moved to...
|
||
* genoutput.cc: ...here.
|
||
* genpeep.c: Moved to...
|
||
* genpeep.cc: ...here.
|
||
* genpreds.c: Moved to...
|
||
* genpreds.cc: ...here.
|
||
* genrecog.c: Moved to...
|
||
* genrecog.cc: ...here.
|
||
* gensupport.c: Moved to...
|
||
* gensupport.cc: ...here.
|
||
* gentarget-def.c: Moved to...
|
||
* gentarget-def.cc: ...here.
|
||
* genversion.c: Moved to...
|
||
* genversion.cc: ...here.
|
||
* ggc-common.c: Moved to...
|
||
* ggc-common.cc: ...here.
|
||
* ggc-none.c: Moved to...
|
||
* ggc-none.cc: ...here.
|
||
* ggc-page.c: Moved to...
|
||
* ggc-page.cc: ...here.
|
||
* ggc-tests.c: Moved to...
|
||
* ggc-tests.cc: ...here.
|
||
* gimple-builder.c: Moved to...
|
||
* gimple-builder.cc: ...here.
|
||
* gimple-expr.c: Moved to...
|
||
* gimple-expr.cc: ...here.
|
||
* gimple-fold.c: Moved to...
|
||
* gimple-fold.cc: ...here.
|
||
* gimple-iterator.c: Moved to...
|
||
* gimple-iterator.cc: ...here.
|
||
* gimple-laddress.c: Moved to...
|
||
* gimple-laddress.cc: ...here.
|
||
* gimple-loop-jam.c: Moved to...
|
||
* gimple-loop-jam.cc: ...here.
|
||
* gimple-low.c: Moved to...
|
||
* gimple-low.cc: ...here.
|
||
* gimple-match-head.c: Moved to...
|
||
* gimple-match-head.cc: ...here.
|
||
* gimple-pretty-print.c: Moved to...
|
||
* gimple-pretty-print.cc: ...here.
|
||
* gimple-ssa-backprop.c: Moved to...
|
||
* gimple-ssa-backprop.cc: ...here.
|
||
* gimple-ssa-evrp-analyze.c: Moved to...
|
||
* gimple-ssa-evrp-analyze.cc: ...here.
|
||
* gimple-ssa-evrp.c: Moved to...
|
||
* gimple-ssa-evrp.cc: ...here.
|
||
* gimple-ssa-isolate-paths.c: Moved to...
|
||
* gimple-ssa-isolate-paths.cc: ...here.
|
||
* gimple-ssa-nonnull-compare.c: Moved to...
|
||
* gimple-ssa-nonnull-compare.cc: ...here.
|
||
* gimple-ssa-split-paths.c: Moved to...
|
||
* gimple-ssa-split-paths.cc: ...here.
|
||
* gimple-ssa-sprintf.c: Moved to...
|
||
* gimple-ssa-sprintf.cc: ...here.
|
||
* gimple-ssa-store-merging.c: Moved to...
|
||
* gimple-ssa-store-merging.cc: ...here.
|
||
* gimple-ssa-strength-reduction.c: Moved to...
|
||
* gimple-ssa-strength-reduction.cc: ...here.
|
||
* gimple-ssa-warn-alloca.c: Moved to...
|
||
* gimple-ssa-warn-alloca.cc: ...here.
|
||
* gimple-ssa-warn-restrict.c: Moved to...
|
||
* gimple-ssa-warn-restrict.cc: ...here.
|
||
* gimple-streamer-in.c: Moved to...
|
||
* gimple-streamer-in.cc: ...here.
|
||
* gimple-streamer-out.c: Moved to...
|
||
* gimple-streamer-out.cc: ...here.
|
||
* gimple-walk.c: Moved to...
|
||
* gimple-walk.cc: ...here.
|
||
* gimple-warn-recursion.c: Moved to...
|
||
* gimple-warn-recursion.cc: ...here.
|
||
* gimple.c: Moved to...
|
||
* gimple.cc: ...here.
|
||
* gimplify-me.c: Moved to...
|
||
* gimplify-me.cc: ...here.
|
||
* gimplify.c: Moved to...
|
||
* gimplify.cc: ...here.
|
||
* godump.c: Moved to...
|
||
* godump.cc: ...here.
|
||
* graph.c: Moved to...
|
||
* graph.cc: ...here.
|
||
* graphds.c: Moved to...
|
||
* graphds.cc: ...here.
|
||
* graphite-dependences.c: Moved to...
|
||
* graphite-dependences.cc: ...here.
|
||
* graphite-isl-ast-to-gimple.c: Moved to...
|
||
* graphite-isl-ast-to-gimple.cc: ...here.
|
||
* graphite-optimize-isl.c: Moved to...
|
||
* graphite-optimize-isl.cc: ...here.
|
||
* graphite-poly.c: Moved to...
|
||
* graphite-poly.cc: ...here.
|
||
* graphite-scop-detection.c: Moved to...
|
||
* graphite-scop-detection.cc: ...here.
|
||
* graphite-sese-to-poly.c: Moved to...
|
||
* graphite-sese-to-poly.cc: ...here.
|
||
* graphite.c: Moved to...
|
||
* graphite.cc: ...here.
|
||
* haifa-sched.c: Moved to...
|
||
* haifa-sched.cc: ...here.
|
||
* hash-map-tests.c: Moved to...
|
||
* hash-map-tests.cc: ...here.
|
||
* hash-set-tests.c: Moved to...
|
||
* hash-set-tests.cc: ...here.
|
||
* hash-table.c: Moved to...
|
||
* hash-table.cc: ...here.
|
||
* hooks.c: Moved to...
|
||
* hooks.cc: ...here.
|
||
* host-default.c: Moved to...
|
||
* host-default.cc: ...here.
|
||
* hw-doloop.c: Moved to...
|
||
* hw-doloop.cc: ...here.
|
||
* hwint.c: Moved to...
|
||
* hwint.cc: ...here.
|
||
* ifcvt.c: Moved to...
|
||
* ifcvt.cc: ...here.
|
||
* inchash.c: Moved to...
|
||
* inchash.cc: ...here.
|
||
* incpath.c: Moved to...
|
||
* incpath.cc: ...here.
|
||
* init-regs.c: Moved to...
|
||
* init-regs.cc: ...here.
|
||
* input.c: Moved to...
|
||
* input.cc: ...here.
|
||
* internal-fn.c: Moved to...
|
||
* internal-fn.cc: ...here.
|
||
* intl.c: Moved to...
|
||
* intl.cc: ...here.
|
||
* ipa-comdats.c: Moved to...
|
||
* ipa-comdats.cc: ...here.
|
||
* ipa-cp.c: Moved to...
|
||
* ipa-cp.cc: ...here.
|
||
* ipa-devirt.c: Moved to...
|
||
* ipa-devirt.cc: ...here.
|
||
* ipa-fnsummary.c: Moved to...
|
||
* ipa-fnsummary.cc: ...here.
|
||
* ipa-icf-gimple.c: Moved to...
|
||
* ipa-icf-gimple.cc: ...here.
|
||
* ipa-icf.c: Moved to...
|
||
* ipa-icf.cc: ...here.
|
||
* ipa-inline-analysis.c: Moved to...
|
||
* ipa-inline-analysis.cc: ...here.
|
||
* ipa-inline-transform.c: Moved to...
|
||
* ipa-inline-transform.cc: ...here.
|
||
* ipa-inline.c: Moved to...
|
||
* ipa-inline.cc: ...here.
|
||
* ipa-modref-tree.c: Moved to...
|
||
* ipa-modref-tree.cc: ...here.
|
||
* ipa-modref.c: Moved to...
|
||
* ipa-modref.cc: ...here.
|
||
* ipa-param-manipulation.c: Moved to...
|
||
* ipa-param-manipulation.cc: ...here.
|
||
* ipa-polymorphic-call.c: Moved to...
|
||
* ipa-polymorphic-call.cc: ...here.
|
||
* ipa-predicate.c: Moved to...
|
||
* ipa-predicate.cc: ...here.
|
||
* ipa-profile.c: Moved to...
|
||
* ipa-profile.cc: ...here.
|
||
* ipa-prop.c: Moved to...
|
||
* ipa-prop.cc: ...here.
|
||
* ipa-pure-const.c: Moved to...
|
||
* ipa-pure-const.cc: ...here.
|
||
* ipa-ref.c: Moved to...
|
||
* ipa-ref.cc: ...here.
|
||
* ipa-reference.c: Moved to...
|
||
* ipa-reference.cc: ...here.
|
||
* ipa-split.c: Moved to...
|
||
* ipa-split.cc: ...here.
|
||
* ipa-sra.c: Moved to...
|
||
* ipa-sra.cc: ...here.
|
||
* ipa-utils.c: Moved to...
|
||
* ipa-utils.cc: ...here.
|
||
* ipa-visibility.c: Moved to...
|
||
* ipa-visibility.cc: ...here.
|
||
* ipa.c: Moved to...
|
||
* ipa.cc: ...here.
|
||
* ira-build.c: Moved to...
|
||
* ira-build.cc: ...here.
|
||
* ira-color.c: Moved to...
|
||
* ira-color.cc: ...here.
|
||
* ira-conflicts.c: Moved to...
|
||
* ira-conflicts.cc: ...here.
|
||
* ira-costs.c: Moved to...
|
||
* ira-costs.cc: ...here.
|
||
* ira-emit.c: Moved to...
|
||
* ira-emit.cc: ...here.
|
||
* ira-lives.c: Moved to...
|
||
* ira-lives.cc: ...here.
|
||
* ira.c: Moved to...
|
||
* ira.cc: ...here.
|
||
* jump.c: Moved to...
|
||
* jump.cc: ...here.
|
||
* langhooks.c: Moved to...
|
||
* langhooks.cc: ...here.
|
||
* lcm.c: Moved to...
|
||
* lcm.cc: ...here.
|
||
* lists.c: Moved to...
|
||
* lists.cc: ...here.
|
||
* loop-doloop.c: Moved to...
|
||
* loop-doloop.cc: ...here.
|
||
* loop-init.c: Moved to...
|
||
* loop-init.cc: ...here.
|
||
* loop-invariant.c: Moved to...
|
||
* loop-invariant.cc: ...here.
|
||
* loop-iv.c: Moved to...
|
||
* loop-iv.cc: ...here.
|
||
* loop-unroll.c: Moved to...
|
||
* loop-unroll.cc: ...here.
|
||
* lower-subreg.c: Moved to...
|
||
* lower-subreg.cc: ...here.
|
||
* lra-assigns.c: Moved to...
|
||
* lra-assigns.cc: ...here.
|
||
* lra-coalesce.c: Moved to...
|
||
* lra-coalesce.cc: ...here.
|
||
* lra-constraints.c: Moved to...
|
||
* lra-constraints.cc: ...here.
|
||
* lra-eliminations.c: Moved to...
|
||
* lra-eliminations.cc: ...here.
|
||
* lra-lives.c: Moved to...
|
||
* lra-lives.cc: ...here.
|
||
* lra-remat.c: Moved to...
|
||
* lra-remat.cc: ...here.
|
||
* lra-spills.c: Moved to...
|
||
* lra-spills.cc: ...here.
|
||
* lra.c: Moved to...
|
||
* lra.cc: ...here.
|
||
* lto-cgraph.c: Moved to...
|
||
* lto-cgraph.cc: ...here.
|
||
* lto-compress.c: Moved to...
|
||
* lto-compress.cc: ...here.
|
||
* lto-opts.c: Moved to...
|
||
* lto-opts.cc: ...here.
|
||
* lto-section-in.c: Moved to...
|
||
* lto-section-in.cc: ...here.
|
||
* lto-section-out.c: Moved to...
|
||
* lto-section-out.cc: ...here.
|
||
* lto-streamer-in.c: Moved to...
|
||
* lto-streamer-in.cc: ...here.
|
||
* lto-streamer-out.c: Moved to...
|
||
* lto-streamer-out.cc: ...here.
|
||
* lto-streamer.c: Moved to...
|
||
* lto-streamer.cc: ...here.
|
||
* lto-wrapper.c: Moved to...
|
||
* lto-wrapper.cc: ...here.
|
||
* main.c: Moved to...
|
||
* main.cc: ...here.
|
||
* mcf.c: Moved to...
|
||
* mcf.cc: ...here.
|
||
* mode-switching.c: Moved to...
|
||
* mode-switching.cc: ...here.
|
||
* modulo-sched.c: Moved to...
|
||
* modulo-sched.cc: ...here.
|
||
* multiple_target.c: Moved to...
|
||
* multiple_target.cc: ...here.
|
||
* omp-expand.c: Moved to...
|
||
* omp-expand.cc: ...here.
|
||
* omp-general.c: Moved to...
|
||
* omp-general.cc: ...here.
|
||
* omp-low.c: Moved to...
|
||
* omp-low.cc: ...here.
|
||
* omp-offload.c: Moved to...
|
||
* omp-offload.cc: ...here.
|
||
* omp-simd-clone.c: Moved to...
|
||
* omp-simd-clone.cc: ...here.
|
||
* opt-suggestions.c: Moved to...
|
||
* opt-suggestions.cc: ...here.
|
||
* optabs-libfuncs.c: Moved to...
|
||
* optabs-libfuncs.cc: ...here.
|
||
* optabs-query.c: Moved to...
|
||
* optabs-query.cc: ...here.
|
||
* optabs-tree.c: Moved to...
|
||
* optabs-tree.cc: ...here.
|
||
* optabs.c: Moved to...
|
||
* optabs.cc: ...here.
|
||
* opts-common.c: Moved to...
|
||
* opts-common.cc: ...here.
|
||
* opts-global.c: Moved to...
|
||
* opts-global.cc: ...here.
|
||
* opts.c: Moved to...
|
||
* opts.cc: ...here.
|
||
* passes.c: Moved to...
|
||
* passes.cc: ...here.
|
||
* plugin.c: Moved to...
|
||
* plugin.cc: ...here.
|
||
* postreload-gcse.c: Moved to...
|
||
* postreload-gcse.cc: ...here.
|
||
* postreload.c: Moved to...
|
||
* postreload.cc: ...here.
|
||
* predict.c: Moved to...
|
||
* predict.cc: ...here.
|
||
* prefix.c: Moved to...
|
||
* prefix.cc: ...here.
|
||
* pretty-print.c: Moved to...
|
||
* pretty-print.cc: ...here.
|
||
* print-rtl-function.c: Moved to...
|
||
* print-rtl-function.cc: ...here.
|
||
* print-rtl.c: Moved to...
|
||
* print-rtl.cc: ...here.
|
||
* print-tree.c: Moved to...
|
||
* print-tree.cc: ...here.
|
||
* profile-count.c: Moved to...
|
||
* profile-count.cc: ...here.
|
||
* profile.c: Moved to...
|
||
* profile.cc: ...here.
|
||
* read-md.c: Moved to...
|
||
* read-md.cc: ...here.
|
||
* read-rtl-function.c: Moved to...
|
||
* read-rtl-function.cc: ...here.
|
||
* read-rtl.c: Moved to...
|
||
* read-rtl.cc: ...here.
|
||
* real.c: Moved to...
|
||
* real.cc: ...here.
|
||
* realmpfr.c: Moved to...
|
||
* realmpfr.cc: ...here.
|
||
* recog.c: Moved to...
|
||
* recog.cc: ...here.
|
||
* ree.c: Moved to...
|
||
* ree.cc: ...here.
|
||
* reg-stack.c: Moved to...
|
||
* reg-stack.cc: ...here.
|
||
* regcprop.c: Moved to...
|
||
* regcprop.cc: ...here.
|
||
* reginfo.c: Moved to...
|
||
* reginfo.cc: ...here.
|
||
* regrename.c: Moved to...
|
||
* regrename.cc: ...here.
|
||
* regstat.c: Moved to...
|
||
* regstat.cc: ...here.
|
||
* reload.c: Moved to...
|
||
* reload.cc: ...here.
|
||
* reload1.c: Moved to...
|
||
* reload1.cc: ...here.
|
||
* reorg.c: Moved to...
|
||
* reorg.cc: ...here.
|
||
* resource.c: Moved to...
|
||
* resource.cc: ...here.
|
||
* rtl-error.c: Moved to...
|
||
* rtl-error.cc: ...here.
|
||
* rtl-tests.c: Moved to...
|
||
* rtl-tests.cc: ...here.
|
||
* rtl.c: Moved to...
|
||
* rtl.cc: ...here.
|
||
* rtlanal.c: Moved to...
|
||
* rtlanal.cc: ...here.
|
||
* rtlhash.c: Moved to...
|
||
* rtlhash.cc: ...here.
|
||
* rtlhooks.c: Moved to...
|
||
* rtlhooks.cc: ...here.
|
||
* rtx-vector-builder.c: Moved to...
|
||
* rtx-vector-builder.cc: ...here.
|
||
* run-rtl-passes.c: Moved to...
|
||
* run-rtl-passes.cc: ...here.
|
||
* sancov.c: Moved to...
|
||
* sancov.cc: ...here.
|
||
* sanopt.c: Moved to...
|
||
* sanopt.cc: ...here.
|
||
* sbitmap.c: Moved to...
|
||
* sbitmap.cc: ...here.
|
||
* sched-deps.c: Moved to...
|
||
* sched-deps.cc: ...here.
|
||
* sched-ebb.c: Moved to...
|
||
* sched-ebb.cc: ...here.
|
||
* sched-rgn.c: Moved to...
|
||
* sched-rgn.cc: ...here.
|
||
* sel-sched-dump.c: Moved to...
|
||
* sel-sched-dump.cc: ...here.
|
||
* sel-sched-ir.c: Moved to...
|
||
* sel-sched-ir.cc: ...here.
|
||
* sel-sched.c: Moved to...
|
||
* sel-sched.cc: ...here.
|
||
* selftest-diagnostic.c: Moved to...
|
||
* selftest-diagnostic.cc: ...here.
|
||
* selftest-rtl.c: Moved to...
|
||
* selftest-rtl.cc: ...here.
|
||
* selftest-run-tests.c: Moved to...
|
||
* selftest-run-tests.cc: ...here.
|
||
* selftest.c: Moved to...
|
||
* selftest.cc: ...here.
|
||
* sese.c: Moved to...
|
||
* sese.cc: ...here.
|
||
* shrink-wrap.c: Moved to...
|
||
* shrink-wrap.cc: ...here.
|
||
* simplify-rtx.c: Moved to...
|
||
* simplify-rtx.cc: ...here.
|
||
* sparseset.c: Moved to...
|
||
* sparseset.cc: ...here.
|
||
* spellcheck-tree.c: Moved to...
|
||
* spellcheck-tree.cc: ...here.
|
||
* spellcheck.c: Moved to...
|
||
* spellcheck.cc: ...here.
|
||
* sreal.c: Moved to...
|
||
* sreal.cc: ...here.
|
||
* stack-ptr-mod.c: Moved to...
|
||
* stack-ptr-mod.cc: ...here.
|
||
* statistics.c: Moved to...
|
||
* statistics.cc: ...here.
|
||
* stmt.c: Moved to...
|
||
* stmt.cc: ...here.
|
||
* stor-layout.c: Moved to...
|
||
* stor-layout.cc: ...here.
|
||
* store-motion.c: Moved to...
|
||
* store-motion.cc: ...here.
|
||
* streamer-hooks.c: Moved to...
|
||
* streamer-hooks.cc: ...here.
|
||
* stringpool.c: Moved to...
|
||
* stringpool.cc: ...here.
|
||
* substring-locations.c: Moved to...
|
||
* substring-locations.cc: ...here.
|
||
* symtab.c: Moved to...
|
||
* symtab.cc: ...here.
|
||
* target-globals.c: Moved to...
|
||
* target-globals.cc: ...here.
|
||
* targhooks.c: Moved to...
|
||
* targhooks.cc: ...here.
|
||
* timevar.c: Moved to...
|
||
* timevar.cc: ...here.
|
||
* toplev.c: Moved to...
|
||
* toplev.cc: ...here.
|
||
* tracer.c: Moved to...
|
||
* tracer.cc: ...here.
|
||
* trans-mem.c: Moved to...
|
||
* trans-mem.cc: ...here.
|
||
* tree-affine.c: Moved to...
|
||
* tree-affine.cc: ...here.
|
||
* tree-call-cdce.c: Moved to...
|
||
* tree-call-cdce.cc: ...here.
|
||
* tree-cfg.c: Moved to...
|
||
* tree-cfg.cc: ...here.
|
||
* tree-cfgcleanup.c: Moved to...
|
||
* tree-cfgcleanup.cc: ...here.
|
||
* tree-chrec.c: Moved to...
|
||
* tree-chrec.cc: ...here.
|
||
* tree-complex.c: Moved to...
|
||
* tree-complex.cc: ...here.
|
||
* tree-data-ref.c: Moved to...
|
||
* tree-data-ref.cc: ...here.
|
||
* tree-dfa.c: Moved to...
|
||
* tree-dfa.cc: ...here.
|
||
* tree-diagnostic.c: Moved to...
|
||
* tree-diagnostic.cc: ...here.
|
||
* tree-dump.c: Moved to...
|
||
* tree-dump.cc: ...here.
|
||
* tree-eh.c: Moved to...
|
||
* tree-eh.cc: ...here.
|
||
* tree-emutls.c: Moved to...
|
||
* tree-emutls.cc: ...here.
|
||
* tree-if-conv.c: Moved to...
|
||
* tree-if-conv.cc: ...here.
|
||
* tree-inline.c: Moved to...
|
||
* tree-inline.cc: ...here.
|
||
* tree-into-ssa.c: Moved to...
|
||
* tree-into-ssa.cc: ...here.
|
||
* tree-iterator.c: Moved to...
|
||
* tree-iterator.cc: ...here.
|
||
* tree-loop-distribution.c: Moved to...
|
||
* tree-loop-distribution.cc: ...here.
|
||
* tree-nested.c: Moved to...
|
||
* tree-nested.cc: ...here.
|
||
* tree-nrv.c: Moved to...
|
||
* tree-nrv.cc: ...here.
|
||
* tree-object-size.c: Moved to...
|
||
* tree-object-size.cc: ...here.
|
||
* tree-outof-ssa.c: Moved to...
|
||
* tree-outof-ssa.cc: ...here.
|
||
* tree-parloops.c: Moved to...
|
||
* tree-parloops.cc: ...here.
|
||
* tree-phinodes.c: Moved to...
|
||
* tree-phinodes.cc: ...here.
|
||
* tree-predcom.c: Moved to...
|
||
* tree-predcom.cc: ...here.
|
||
* tree-pretty-print.c: Moved to...
|
||
* tree-pretty-print.cc: ...here.
|
||
* tree-profile.c: Moved to...
|
||
* tree-profile.cc: ...here.
|
||
* tree-scalar-evolution.c: Moved to...
|
||
* tree-scalar-evolution.cc: ...here.
|
||
* tree-sra.c: Moved to...
|
||
* tree-sra.cc: ...here.
|
||
* tree-ssa-address.c: Moved to...
|
||
* tree-ssa-address.cc: ...here.
|
||
* tree-ssa-alias.c: Moved to...
|
||
* tree-ssa-alias.cc: ...here.
|
||
* tree-ssa-ccp.c: Moved to...
|
||
* tree-ssa-ccp.cc: ...here.
|
||
* tree-ssa-coalesce.c: Moved to...
|
||
* tree-ssa-coalesce.cc: ...here.
|
||
* tree-ssa-copy.c: Moved to...
|
||
* tree-ssa-copy.cc: ...here.
|
||
* tree-ssa-dce.c: Moved to...
|
||
* tree-ssa-dce.cc: ...here.
|
||
* tree-ssa-dom.c: Moved to...
|
||
* tree-ssa-dom.cc: ...here.
|
||
* tree-ssa-dse.c: Moved to...
|
||
* tree-ssa-dse.cc: ...here.
|
||
* tree-ssa-forwprop.c: Moved to...
|
||
* tree-ssa-forwprop.cc: ...here.
|
||
* tree-ssa-ifcombine.c: Moved to...
|
||
* tree-ssa-ifcombine.cc: ...here.
|
||
* tree-ssa-live.c: Moved to...
|
||
* tree-ssa-live.cc: ...here.
|
||
* tree-ssa-loop-ch.c: Moved to...
|
||
* tree-ssa-loop-ch.cc: ...here.
|
||
* tree-ssa-loop-im.c: Moved to...
|
||
* tree-ssa-loop-im.cc: ...here.
|
||
* tree-ssa-loop-ivcanon.c: Moved to...
|
||
* tree-ssa-loop-ivcanon.cc: ...here.
|
||
* tree-ssa-loop-ivopts.c: Moved to...
|
||
* tree-ssa-loop-ivopts.cc: ...here.
|
||
* tree-ssa-loop-manip.c: Moved to...
|
||
* tree-ssa-loop-manip.cc: ...here.
|
||
* tree-ssa-loop-niter.c: Moved to...
|
||
* tree-ssa-loop-niter.cc: ...here.
|
||
* tree-ssa-loop-prefetch.c: Moved to...
|
||
* tree-ssa-loop-prefetch.cc: ...here.
|
||
* tree-ssa-loop-split.c: Moved to...
|
||
* tree-ssa-loop-split.cc: ...here.
|
||
* tree-ssa-loop-unswitch.c: Moved to...
|
||
* tree-ssa-loop-unswitch.cc: ...here.
|
||
* tree-ssa-loop.c: Moved to...
|
||
* tree-ssa-loop.cc: ...here.
|
||
* tree-ssa-math-opts.c: Moved to...
|
||
* tree-ssa-math-opts.cc: ...here.
|
||
* tree-ssa-operands.c: Moved to...
|
||
* tree-ssa-operands.cc: ...here.
|
||
* tree-ssa-phiopt.c: Moved to...
|
||
* tree-ssa-phiopt.cc: ...here.
|
||
* tree-ssa-phiprop.c: Moved to...
|
||
* tree-ssa-phiprop.cc: ...here.
|
||
* tree-ssa-pre.c: Moved to...
|
||
* tree-ssa-pre.cc: ...here.
|
||
* tree-ssa-propagate.c: Moved to...
|
||
* tree-ssa-propagate.cc: ...here.
|
||
* tree-ssa-reassoc.c: Moved to...
|
||
* tree-ssa-reassoc.cc: ...here.
|
||
* tree-ssa-sccvn.c: Moved to...
|
||
* tree-ssa-sccvn.cc: ...here.
|
||
* tree-ssa-scopedtables.c: Moved to...
|
||
* tree-ssa-scopedtables.cc: ...here.
|
||
* tree-ssa-sink.c: Moved to...
|
||
* tree-ssa-sink.cc: ...here.
|
||
* tree-ssa-strlen.c: Moved to...
|
||
* tree-ssa-strlen.cc: ...here.
|
||
* tree-ssa-structalias.c: Moved to...
|
||
* tree-ssa-structalias.cc: ...here.
|
||
* tree-ssa-tail-merge.c: Moved to...
|
||
* tree-ssa-tail-merge.cc: ...here.
|
||
* tree-ssa-ter.c: Moved to...
|
||
* tree-ssa-ter.cc: ...here.
|
||
* tree-ssa-threadbackward.c: Moved to...
|
||
* tree-ssa-threadbackward.cc: ...here.
|
||
* tree-ssa-threadedge.c: Moved to...
|
||
* tree-ssa-threadedge.cc: ...here.
|
||
* tree-ssa-threadupdate.c: Moved to...
|
||
* tree-ssa-threadupdate.cc: ...here.
|
||
* tree-ssa-uncprop.c: Moved to...
|
||
* tree-ssa-uncprop.cc: ...here.
|
||
* tree-ssa-uninit.c: Moved to...
|
||
* tree-ssa-uninit.cc: ...here.
|
||
* tree-ssa.c: Moved to...
|
||
* tree-ssa.cc: ...here.
|
||
* tree-ssanames.c: Moved to...
|
||
* tree-ssanames.cc: ...here.
|
||
* tree-stdarg.c: Moved to...
|
||
* tree-stdarg.cc: ...here.
|
||
* tree-streamer-in.c: Moved to...
|
||
* tree-streamer-in.cc: ...here.
|
||
* tree-streamer-out.c: Moved to...
|
||
* tree-streamer-out.cc: ...here.
|
||
* tree-streamer.c: Moved to...
|
||
* tree-streamer.cc: ...here.
|
||
* tree-switch-conversion.c: Moved to...
|
||
* tree-switch-conversion.cc: ...here.
|
||
* tree-tailcall.c: Moved to...
|
||
* tree-tailcall.cc: ...here.
|
||
* tree-vect-data-refs.c: Moved to...
|
||
* tree-vect-data-refs.cc: ...here.
|
||
* tree-vect-generic.c: Moved to...
|
||
* tree-vect-generic.cc: ...here.
|
||
* tree-vect-loop-manip.c: Moved to...
|
||
* tree-vect-loop-manip.cc: ...here.
|
||
* tree-vect-loop.c: Moved to...
|
||
* tree-vect-loop.cc: ...here.
|
||
* tree-vect-patterns.c: Moved to...
|
||
* tree-vect-patterns.cc: ...here.
|
||
* tree-vect-slp-patterns.c: Moved to...
|
||
* tree-vect-slp-patterns.cc: ...here.
|
||
* tree-vect-slp.c: Moved to...
|
||
* tree-vect-slp.cc: ...here.
|
||
* tree-vect-stmts.c: Moved to...
|
||
* tree-vect-stmts.cc: ...here.
|
||
* tree-vector-builder.c: Moved to...
|
||
* tree-vector-builder.cc: ...here.
|
||
* tree-vectorizer.c: Moved to...
|
||
* tree-vectorizer.cc: ...here.
|
||
* tree-vrp.c: Moved to...
|
||
* tree-vrp.cc: ...here.
|
||
* tree.c: Moved to...
|
||
* tree.cc: ...here.
|
||
* tsan.c: Moved to...
|
||
* tsan.cc: ...here.
|
||
* typed-splay-tree.c: Moved to...
|
||
* typed-splay-tree.cc: ...here.
|
||
* ubsan.c: Moved to...
|
||
* ubsan.cc: ...here.
|
||
* valtrack.c: Moved to...
|
||
* valtrack.cc: ...here.
|
||
* value-prof.c: Moved to...
|
||
* value-prof.cc: ...here.
|
||
* var-tracking.c: Moved to...
|
||
* var-tracking.cc: ...here.
|
||
* varasm.c: Moved to...
|
||
* varasm.cc: ...here.
|
||
* varpool.c: Moved to...
|
||
* varpool.cc: ...here.
|
||
* vec-perm-indices.c: Moved to...
|
||
* vec-perm-indices.cc: ...here.
|
||
* vec.c: Moved to...
|
||
* vec.cc: ...here.
|
||
* vmsdbgout.c: Moved to...
|
||
* vmsdbgout.cc: ...here.
|
||
* vr-values.c: Moved to...
|
||
* vr-values.cc: ...here.
|
||
* vtable-verify.c: Moved to...
|
||
* vtable-verify.cc: ...here.
|
||
* web.c: Moved to...
|
||
* web.cc: ...here.
|
||
* xcoffout.c: Moved to...
|
||
* xcoffout.cc: ...here.
|
||
|
||
2022-01-17 qing zhao <qing.zhao@oracle.com>
|
||
|
||
* tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
|
||
.DEFERRED_INIT call with an anonymous SSA_NAME specially.
|
||
(check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
|
||
specially.
|
||
(warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
|
||
(warn_uninitialized_vars): Likewise.
|
||
(warn_uninitialized_phi): Likewise.
|
||
|
||
2022-01-17 Jason Merrill <jason@redhat.com>
|
||
|
||
* diagnostic.h (struct diagnostic_context): Add includes_seen.
|
||
* diagnostic.c (diagnostic_initialize): Initialize it.
|
||
(diagnostic_finish): Clean it up.
|
||
(includes_seen): New function.
|
||
(diagnostic_report_current_module): Use it.
|
||
|
||
2022-01-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/101292
|
||
* diagnostic-spec.c (copy_warning): Make sure to not
|
||
reference old hashtable content on possible resize.
|
||
* warning-control.cc (copy_warning): Likewise.
|
||
|
||
2022-01-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/103973
|
||
* tree-cfg.h (cond_only_block_p): Declare.
|
||
* tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
|
||
* tree-cfg.c (cond_only_block_p): ... here. No longer static.
|
||
* optabs.def (spaceship_optab): New optab.
|
||
* internal-fn.def (SPACESHIP): New internal function.
|
||
* internal-fn.h (expand_SPACESHIP): Declare.
|
||
* internal-fn.c (expand_PHI): Formatting fix.
|
||
(expand_SPACESHIP): New function.
|
||
* tree-ssa-math-opts.c (optimize_spaceship): New function.
|
||
(math_opts_dom_walker::after_dom_children): Use it.
|
||
* config/i386/i386.md (spaceship<mode>3): New define_expand.
|
||
* config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
|
||
* config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
|
||
* doc/md.texi (spaceship@var{m}3): Document.
|
||
|
||
2022-01-17 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
* config/rs6000/altivec.md (altivec_vreveti2): Remove.
|
||
* config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
|
||
*vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
|
||
known constant values to simplify code.
|
||
|
||
2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
|
||
|
||
PR target/103124
|
||
* config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
|
||
|
||
2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
|
||
|
||
* config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
|
||
* config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
|
||
Insert zero-idiom in output template when attr enabled, set new attribute to
|
||
true for non-mask/maskz insn.
|
||
(avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
|
||
Likewise.
|
||
(avx512dq_mul<mode>3<mask_name>): Likewise.
|
||
(<avx2_avx512>_permvar<mode><mask_name>): Likewise.
|
||
(avx2_perm<mode>_1<mask_name>): Likewise.
|
||
(avx512f_perm<mode>_1<mask_name>): Likewise.
|
||
(avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
|
||
(avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
|
||
Likewise.
|
||
(<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
|
||
(avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
|
||
Likewise.
|
||
* config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
|
||
subst_attr.
|
||
(mask4_dest_false_dep_for_glc_cond): Likewise.
|
||
(mask6_dest_false_dep_for_glc_cond): Likewise.
|
||
(mask10_dest_false_dep_for_glc_cond): Likewise.
|
||
(maskc_dest_false_dep_for_glc_cond): Likewise.
|
||
(mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
|
||
(mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
|
||
* config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
|
||
DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
|
||
|
||
2022-01-15 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/63272
|
||
* diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
|
||
-Wdangling-pointer.
|
||
* doc/invoke.texi (-Wdangling-pointer): Document new option.
|
||
* gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
|
||
(pass_waccess::check_pointer_uses): New function.
|
||
(pass_waccess::gimple_call_return_arg): New function.
|
||
(pass_waccess::gimple_call_return_arg_ref): New function.
|
||
(pass_waccess::check_call_dangling): New function.
|
||
(pass_waccess::check_dangling_uses): New function overloads.
|
||
(pass_waccess::check_dangling_stores): New function.
|
||
(pass_waccess::check_dangling_stores): New function.
|
||
(pass_waccess::m_clobbers): New data member.
|
||
(pass_waccess::m_func): New data member.
|
||
(pass_waccess::m_run_number): New data member.
|
||
(pass_waccess::m_check_dangling_p): New data member.
|
||
(pass_waccess::check_alloca): Check m_early_checks_p.
|
||
(pass_waccess::check_alloc_size_call): Same.
|
||
(pass_waccess::check_strcat): Same.
|
||
(pass_waccess::check_strncat): Same.
|
||
(pass_waccess::check_stxcpy): Same.
|
||
(pass_waccess::check_stxncpy): Same.
|
||
(pass_waccess::check_strncmp): Same.
|
||
(pass_waccess::check_memop_access): Same.
|
||
(pass_waccess::check_read_access): Same.
|
||
(pass_waccess::check_builtin): Call check_pointer_uses.
|
||
(pass_waccess::warn_invalid_pointer): Add arguments.
|
||
(is_auto_decl): New function.
|
||
(pass_waccess::check_stmt): New function.
|
||
(pass_waccess::check_block): Call check_stmt.
|
||
(pass_waccess::execute): Call check_dangling_uses,
|
||
check_dangling_stores. Empty m_clobbers.
|
||
* passes.def (pass_warn_access): Invoke pass two more times.
|
||
|
||
2022-01-15 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/80532
|
||
* common.opt (-Wuse-after-free): New options.
|
||
* diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
|
||
OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
|
||
* diagnostic-spec.h (NW_DANGLING): New enumerator.
|
||
* doc/invoke.texi (-Wuse-after-free): Document new option.
|
||
* gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
|
||
(pass_waccess::check_call_access): ...to this.
|
||
(pass_waccess::check): Rename...
|
||
(pass_waccess::check_block): ...to this.
|
||
(pass_waccess::check_pointer_uses): New function.
|
||
(pass_waccess::gimple_call_return_arg): New function.
|
||
(pass_waccess::warn_invalid_pointer): New function.
|
||
(pass_waccess::check_builtin): Handle free and realloc.
|
||
(gimple_use_after_inval_p): New function.
|
||
(get_realloc_lhs): New function.
|
||
(maybe_warn_mismatched_realloc): New function.
|
||
(pointers_related_p): New function.
|
||
(pass_waccess::check_call): Call check_pointer_uses.
|
||
(pass_waccess::execute): Compute and free dominance info.
|
||
|
||
2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
|
||
expand_simple_unop and expand_simple_binop instead of manually
|
||
constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
|
||
consistently. Eliminate common subexpressions and simplify code.
|
||
* config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
|
||
(<any_logic:code><MODEF:mode>3): Make public.
|
||
|
||
2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
|
||
reverse flag as "reverse" for the sake of consistency.
|
||
* ipa-sra.c: Fix copyright year.
|
||
(ipa_sra_function_summaries::duplicate): Copy the reverse flag.
|
||
(dump_isra_access): Tweak dump line.
|
||
(isra_write_node_summary): Write the reverse flag.
|
||
(isra_read_node_info): Read it.
|
||
(pull_accesses_from_callee): Test its consistency and copy it.
|
||
|
||
2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/104026
|
||
* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
|
||
partial_load_store_bias.
|
||
|
||
2022-01-14 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/101475
|
||
* pointer-query.cc (handle_component_ref): Use the size of
|
||
the enclosing object if it's smaller than the member.
|
||
|
||
2022-01-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* configure: Regenerate.
|
||
|
||
2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*add<mode>_1_slp"):
|
||
Mark alternative 1 output operand earlyclobbered.
|
||
(*sub<mode>_1_slp): Ditto.
|
||
(*and<mode>_1_slp): Ditto.
|
||
(*<code><mode>_1_slp): Ditto.
|
||
(*neg<mode>_1_slp): Ditto.
|
||
(*one_cmpl<mode>_1_slp): Ditto.
|
||
(*ashl<mode>3_1_slp): Ditto.
|
||
(*<insn><mode>3_1_slp): Ditto.
|
||
(*<insn><mode>3_1_slp): Ditto.
|
||
|
||
2022-01-14 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR tree-optimization/104015
|
||
* tree-vect-loop.c (vect_analyze_loop): Check
|
||
param_vect_partial_vector_usage for supports_partial_vectors.
|
||
|
||
2022-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/89074
|
||
* fold-const.c (address_compare): Punt on comparison of address of
|
||
one object with address of end of another object if
|
||
folding_initializer.
|
||
|
||
2022-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/98737
|
||
* tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
|
||
__atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
|
||
and __atomic_op_fetch (p, x, y) iop x into
|
||
__atomic_fetch_op (p, x, y).
|
||
|
||
2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
|
||
(DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
|
||
(INCOMING_RETURN_ADDR_RTX): Likewise.
|
||
(DWARF_ALT_FRAME_RETURN_COLUMN): Define.
|
||
|
||
2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (arc_compute_frame_size): Remove condition when
|
||
computin checking accumulator regs.
|
||
(arc_expand_prologue): Update comments.
|
||
(arc_expand_epilogue): Likewise.
|
||
|
||
2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
|
||
Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
|
||
(ix86_expand_ti_to_v1ti): Use force_reg.
|
||
(ix86_expand_v1ti_shift): Use force_reg.
|
||
(ix86_expand_v1ti_rotate): Use force_reg.
|
||
(ix86_expand_v1ti_ashiftrt): Provide new three operation
|
||
implementations for shifts by 111..126 bits. Use force_reg.
|
||
|
||
2022-01-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* common/config/arm/arm-common.c (arm_target_mode): Fix
|
||
warning: unterminated quoting directive [-Wformat=].
|
||
|
||
2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR tree-optimization/104009
|
||
* tree-object-size.c (compute_builtin_object_size): Bail out on
|
||
negative offset.
|
||
(plus_stmt_object_size): Return maximum of wholesize and minimum
|
||
of 0 for negative offset.
|
||
|
||
2022-01-14 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/104001
|
||
PR target/94790
|
||
PR target/104014
|
||
* config/i386/i386.md (*xor2andn): Refine predicate of
|
||
operands[0] from nonimmediate_operand to
|
||
register_operand, remove TARGET_AVX512BW from condition.
|
||
|
||
2022-01-14 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* doc/extend.texi (Function Attributes): Note that "tainted_args" can
|
||
be used on field decls.
|
||
(Common Function Attributes): Add entry on "tainted_args" attribute.
|
||
|
||
2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
|
||
Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/70417
|
||
* doc/invoke.texi: Documentation for Wmissing-template-keyword.
|
||
|
||
2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/103861
|
||
* config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
|
||
(*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
|
||
* config/i386/mmx.md (<any_shift:insn>v2qi):
|
||
New insn_and_split pattern.
|
||
|
||
2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
|
||
|
||
* internal-fn.c (expand_partial_load_optab_fn): Add bias.
|
||
(expand_partial_store_optab_fn): Likewise.
|
||
(internal_len_load_store_bias): New function.
|
||
* internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
|
||
(internal_len_load_store_bias): New function.
|
||
* tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
|
||
(vect_set_loop_condition_partial_vectors): Add header_seq parameter.
|
||
* tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
|
||
(vect_estimate_min_profitable_iters): Account for bias.
|
||
(vect_get_loop_len): Add bias-adjusted length.
|
||
* tree-vect-stmts.c (vectorizable_store): Use.
|
||
(vectorizable_load): Use.
|
||
* tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
|
||
(LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
|
||
* config/rs6000/vsx.md: Use const0 bias predicate.
|
||
* doc/md.texi: Document bias value.
|
||
|
||
2022-01-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/83072
|
||
PR tree-optimization/83073
|
||
PR tree-optimization/97909
|
||
* fold-const.c (expr_not_equal_to): Use a multi-range class.
|
||
|
||
2022-01-13 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/96707
|
||
* range-op.cc (operator_rshift::lhs_op1_relation): New.
|
||
|
||
2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
|
||
Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
|
||
(negv2qi splitters): Use lowpart_subreg instead of
|
||
gen_lowpart to create subreg.
|
||
(<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
|
||
Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
|
||
(<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
|
||
gen_lowpart to create subreg.
|
||
* config/i386/i386.md (*subqi_ext<mode>_2): Move.
|
||
|
||
2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/104003
|
||
* config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
|
||
|
||
2022-01-13 Martin Liska <mliska@suse.cz>
|
||
|
||
* common/config/arm/arm-common.c (arm_target_mode): Wrap
|
||
keywords with %<, %> and remove trailing punctuation char.
|
||
(arm_canon_arch_option_1): Likewise.
|
||
(arm_asm_auto_mfpu): Likewise.
|
||
* config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
|
||
* config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
|
||
(use_vfp_abi): Likewise.
|
||
(aapcs_vfp_is_call_or_return_candidate): Likewise.
|
||
(arm_handle_cmse_nonsecure_entry): Likewise.
|
||
(arm_handle_cmse_nonsecure_call): Likewise.
|
||
(thumb1_md_asm_adjust): Likewise.
|
||
|
||
2022-01-13 Paul A. Clarke <pc@us.ibm.com>
|
||
|
||
* config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
|
||
_mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
|
||
_MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
|
||
_MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
|
||
_MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
|
||
_MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
|
||
(_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
|
||
_mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
|
||
macro.
|
||
|
||
2022-01-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/103989
|
||
* tree-inline.c (setup_one_parameter): Don't copy parms with
|
||
empty type.
|
||
|
||
2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
|
||
'TYPE_ADDR_SPACE' for offloading.
|
||
* tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
|
||
'TYPE_ADDR_SPACE' for offloading.
|
||
|
||
2022-01-13 Julian Brown <julian@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* omp-oacc-kernels-decompose.cc (add_wait): New function, split out
|
||
of...
|
||
(add_async_clauses_and_wait): ...here. Call new outlined function.
|
||
(decompose_kernels_region_body): Add wait at the end of
|
||
explicitly-asynchronous kernels regions.
|
||
|
||
2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR middle-end/100280
|
||
* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
|
||
Mark variables used in synthesized data clauses as addressable.
|
||
|
||
2022-01-13 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/epiphany/epiphany.c (epiphany_mode_priority):
|
||
Use gcc_unreachable for not handled cases.
|
||
|
||
2022-01-13 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
|
||
Use %qs format specifier.
|
||
(epiphany_override_options): Wrap keyword in %<, %>.
|
||
|
||
2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
|
||
|
||
PR target/94790
|
||
* config/i386/i386.md (*xor2andn): New define_insn_and_split.
|
||
|
||
2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
|
||
|
||
* config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
|
||
|
||
2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/100637
|
||
PR target/103861
|
||
* config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
|
||
(ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
|
||
when constructing vector logic RTXes.
|
||
(expand_vec_perm_pshufb2): Ditto.
|
||
* config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
|
||
(<plusminus:insn>v2qi3): Ditto.
|
||
(vcond<mode><mode>): Re-enable for TARGET_SSE2.
|
||
(vcondu<mode><mode>): Ditto.
|
||
(vcond_mask_<mode><mode>): Ditto.
|
||
(one_cmpl<VI_32:mode>2): Remove expander.
|
||
(one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
|
||
Use VI_16_32 mode iterator.
|
||
(one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
|
||
Use lowpart_subreg instead of gen_lowpart to create subreg.
|
||
(*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
|
||
"*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
|
||
Disparage GPR alternative a bit. Add CC clobber.
|
||
(*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
|
||
Use lowpart_subreg instead of gen_lowpart to create subreg.
|
||
(*<any_logic:code><VI_16_32:mode>3): Merge from
|
||
"*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
|
||
using VI_16_32 mode iterator. Disparage GPR alternative a bit.
|
||
Add CC clobber.
|
||
(*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
|
||
iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
|
||
|
||
2022-01-12 Clément Chigot <clement.chigot@atos.net>
|
||
|
||
* configure.ac: Check sizeof ino_t and dev_t.
|
||
(HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
|
||
syscall being able to handle 64bit inodes.
|
||
* config.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
|
||
(remove_duplicates): Use it.
|
||
|
||
2022-01-12 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/103551
|
||
* tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
|
||
|
||
2022-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103990
|
||
* tree-pass.h (tail_merge_optimize): Drop unused argument.
|
||
* tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
|
||
* tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
|
||
and adjust call to tail_merge_optimize.
|
||
|
||
2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
|
||
does not add autovectorize_vector_modes.
|
||
|
||
2022-01-12 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
|
||
%qs where possible.
|
||
(aarch64_parse_sve_width_string): Likewise.
|
||
(aarch64_override_options_internal): Likewise.
|
||
(aarch64_print_hint_for_extensions): Likewise.
|
||
(aarch64_validate_sls_mitigation): Likewise.
|
||
(aarch64_handle_attr_arch): Likewise.
|
||
(aarch64_handle_attr_cpu): Likewise.
|
||
(aarch64_handle_attr_tune): Likewise.
|
||
(aarch64_handle_attr_isa_flags): Likewise.
|
||
|
||
2022-01-12 Martin Liska <mliska@suse.cz>
|
||
|
||
* config.gcc: Include elfos.h before ${tm_file}.
|
||
|
||
2022-01-12 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* config/cris/cris.c: Quote identifiers in parameters to error
|
||
and internal_error, and remove extraneous spaces with punctuation.
|
||
* config/cris/cris.h (CRIS_ASSERT): When passing on stringified
|
||
expression to internal_error, pass it as a parameter instead of
|
||
appending it to the format part.
|
||
|
||
2022-01-12 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
|
||
parameter to as_a.
|
||
|
||
2022-01-11 qing zhao <qing.zhao@oracle.com>
|
||
|
||
* gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
|
||
Change the 3rd argument of function .DEFERRED_INIT to the name of the
|
||
decl.
|
||
(gimplify_decl_expr): Delete the 3rd argument when call
|
||
gimple_add_init_for_auto_var.
|
||
* internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
|
||
the 3rd argument change of function .DEFERRED_INIT.
|
||
* tree-cfg.c (verify_gimple_call): Update comments and verification
|
||
to reflect the 3rd argument change of function .DEFERRED_INIT.
|
||
* tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
|
||
(sra_modify_deferred_init): Change the 3rd argument of function
|
||
.DEFERRED_INIT to the name of the decl.
|
||
|
||
2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
* flag-types.h (enum gfc_convert): Add flags for
|
||
conversion.
|
||
|
||
2022-01-11 Michael Meissner <meissner@the-meissners.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
|
||
checks for only C/C++ front ends before allowing the long double
|
||
format to change without a warning.
|
||
|
||
2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/103974
|
||
* ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
|
||
extra argument, default true, that says whether old-reload
|
||
targets should be excluded.
|
||
* ira-color.c (color_pass): Pass false.
|
||
|
||
2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/103861
|
||
* config/i386/mmx.md (vcond<mode><mode>):
|
||
Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
|
||
(vcondu<mode><mode>): Ditto.
|
||
(vcond_mask_<mode><mode>): Ditto.
|
||
(mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
|
||
(mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
|
||
Use VI_16_32 mode iterator.
|
||
* config/i386/i386-expand.c (ix86_expand_sse_movcc):
|
||
Update for rename. Handle V2QImode.
|
||
(expand_vec_perm_blend): Update for rename.
|
||
|
||
2022-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/101597
|
||
* tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
|
||
|
||
2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR middle-end/70090
|
||
* tree-object-size.c (size_valid_p): New function.
|
||
(size_for_offset): Remove OFFSET constness assertion.
|
||
(addr_object_size): Build dynamic expressions for object
|
||
sizes and use size_valid_p to decide if it is valid for the
|
||
given OBJECT_SIZE_TYPE.
|
||
(compute_builtin_object_size): Allow dynamic offsets when
|
||
computing size at O0.
|
||
(call_object_size): Call size_valid_p.
|
||
(plus_stmt_object_size): Allow non-constant offset and use
|
||
size_valid_p to decide if it is valid for the given
|
||
OBJECT_SIZE_TYPE.
|
||
|
||
2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR middle-end/70090
|
||
* tree-object-size.c (alloc_object_size): Make and return
|
||
non-constant size expression.
|
||
(call_object_size): Return expression or unknown based on
|
||
whether dynamic object size is requested.
|
||
|
||
2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR middle-end/70090
|
||
* tree-object-size.c: Include tree-dfa.h.
|
||
(parm_object_size): New function.
|
||
(collect_object_sizes_for): Call it.
|
||
|
||
2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
|
||
PR middle-end/70090
|
||
* builtins.c (fold_builtin_object_size): Adjust for dynamic size
|
||
expressions.
|
||
* tree-object-size.c: Include gimplify-me.h.
|
||
(struct object_size_info): New member UNKNOWNS.
|
||
(size_initval_p, size_usable_p, object_sizes_get_raw): New
|
||
functions.
|
||
(object_sizes_get): Return suitable gimple variable for
|
||
object size.
|
||
(bundle_sizes): New function.
|
||
(object_sizes_set): Use it and handle dynamic object size
|
||
expressions.
|
||
(object_sizes_set_temp): New function.
|
||
(size_for_offset): Adjust for dynamic size expressions.
|
||
(emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
|
||
New functions.
|
||
(compute_builtin_object_size): Call gimplify_size_expressions
|
||
for OST_DYNAMIC.
|
||
(dynamic_object_size): New function.
|
||
(cond_expr_object_size): Use it.
|
||
(phi_dynamic_object_size): New function.
|
||
(collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
|
||
accommodate dynamic object sizes.
|
||
|
||
2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/103961
|
||
* tree-object-size.c (plus_stmt_object_size): Always avoid
|
||
computing offset for -1 size.
|
||
|
||
2022-01-11 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR tree-optimization/103821
|
||
* range-op.cc (range_operator::fold_range): Only do precise ranges
|
||
when there are not too many subranges.
|
||
|
||
2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
|
||
definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
|
||
|
||
2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-math-opts.c (struct widen_mul_stats): Add a
|
||
highpart_mults_inserted field.
|
||
(convert_mult_to_highpart): New function to convert right shift
|
||
of a widening multiply into a MULT_HIGHPART_EXPR.
|
||
(math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
|
||
Call new convert_mult_to_highpart function.
|
||
(pass_optimize_widening_mul::execute): Add a statistics counter
|
||
for tracking "highpart multiplications inserted" events.
|
||
|
||
2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
|
||
|
||
PR target/102239
|
||
* config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
|
||
declare.
|
||
* config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
|
||
function.
|
||
* config/rs6000/rs6000.md (*branch_anddi3_dot): New.
|
||
|
||
2022-01-11 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc.c (driver_handle_option): State --sysroot as
|
||
validated.
|
||
|
||
2022-01-11 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
|
||
useless related to option -mno-power10.
|
||
|
||
2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
|
||
|
||
PR target/53652
|
||
* config/i386/sse.md (*andnot<mode>3): Extend predicate of
|
||
operands[1] from register_operand to vector_operand.
|
||
|
||
2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/103861
|
||
* config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
|
||
Handle V2QImode.
|
||
* config/i386/mmx.md (<sat_plusminus:insn><mode>3):
|
||
Use VI1_16_32 mode iterator.
|
||
(*eq<mode>3): Ditto.
|
||
(*gt<mode>3): Ditto.
|
||
(*xop_maskcmp<mode>3): Ditto.
|
||
(*xop_maskcmp_uns<mode>3): Ditto.
|
||
(vec_cmp<mode><mode>): Ditto.
|
||
(vec_cmpu<mode><mode>): Ditto.
|
||
|
||
2022-01-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103948
|
||
* tree-vect-generic.c (expand_vector_condition): Return true if
|
||
all ones vector is returned for true, all zeros vector for false
|
||
and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
|
||
|
||
2022-01-10 Paul A. Clarke <pc@us.ibm.com>
|
||
|
||
* config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
|
||
when _ARCH_PWR10. Use signed types.
|
||
(_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
|
||
(_mm_blendv_pd): Likewise.
|
||
|
||
2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
|
||
epilogue costing.
|
||
* tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
|
||
epilogues, unless we are guaranteed that we can't have partial vectors.
|
||
* genopinit.c: (partial_vectors_supported): Generate new function.
|
||
|
||
2022-01-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/102024
|
||
* config/i386/i386.c (classify_argument): Add zero_width_bitfields
|
||
argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
|
||
always ignore them, when seeing other zero sized bitfields, either
|
||
set zero_width_bitfields to 1 and ignore it or if equal to 2 process
|
||
it. Pass it to recursive calls. Add wrapper
|
||
with old arguments and diagnose ABI differences for C structures
|
||
with zero width bitfields. Formatting fixes.
|
||
|
||
2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/98782
|
||
* ira-int.h (ira_soft_conflict): Declare.
|
||
* ira-color.c (max_soft_conflict_loop_depth): New constant.
|
||
(ira_soft_conflict): New function.
|
||
(spill_soft_conflicts): Likewise.
|
||
(assign_hard_reg): Use them to handle the case described by
|
||
the comment above ira_soft_conflict.
|
||
(improve_allocation): Likewise.
|
||
* ira.c (check_allocation): Allow allocnos with "soft" conflicts
|
||
to share the same register.
|
||
|
||
2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/98782
|
||
* ira-int.h (ira_caller_save_cost): New function.
|
||
(ira_caller_save_loop_spill_p): Likewise.
|
||
* ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
|
||
cheaper to spill a call-clobbered register throughout a loop rather
|
||
than spill it around each individual call. If so, treat all
|
||
call-clobbered registers as conflicts and...
|
||
(propagate_allocno_info): ...do not propagate call information
|
||
from the child to the parent.
|
||
* ira-color.c (move_spill_restore): Update accordingly.
|
||
* ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
|
||
|
||
2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/98782
|
||
* ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
|
||
(ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
|
||
(ira_single_region_allocno_p): New function.
|
||
(ira_total_conflict_hard_regs): Likewise.
|
||
* ira-build.c (ira_create_allocno): Initialize
|
||
ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
|
||
(ira_propagate_hard_reg_costs): New function.
|
||
(propagate_allocno_info): Use it. Try to avoid propagating
|
||
hard register conflicts to parent allocnos if we can handle
|
||
the conflicts by spilling instead. Limit the propagated
|
||
register costs to the cost of spilling throughout the child loop.
|
||
* ira-color.c (color_pass): Use ira_single_region_allocno_p to
|
||
test whether a child and parent allocno can share the same
|
||
register.
|
||
(move_spill_restore): Adjust for the new behavior of
|
||
propagate_allocno_info.
|
||
|
||
2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/98782
|
||
* ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
|
||
extracted from...
|
||
* ira-color.c (color_pass): ...here.
|
||
|
||
2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/98782
|
||
* ira-color.c (color_pass): Add comments to describe the spill costs.
|
||
(move_spill_restore): Likewise. Fix reversed calculation.
|
||
|
||
2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/98782
|
||
* ira-int.h (ira_loop_border_costs): New class.
|
||
* ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
|
||
New constructor.
|
||
(calculate_allocno_spill_cost): Use ira_loop_border_costs.
|
||
(color_pass): Likewise.
|
||
(move_spill_restore): Likewise.
|
||
|
||
2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/103465
|
||
* coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
|
||
|
||
2022-01-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/100359
|
||
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
|
||
Allow non-growing peeling with !allow_peel and UL_ALL.
|
||
|
||
2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/i386/i386-expand.c (ix86_expand_vector_move): Add
|
||
special case for TImode to V1TImode moves, going via V2DImode.
|
||
|
||
2022-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/89074
|
||
* match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
|
||
simplification.
|
||
|
||
2022-01-08 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* doc/analyzer.texi
|
||
(Special Functions for Debugging the Analyzer): Document
|
||
__analyzer_dump_escaped.
|
||
|
||
2022-01-08 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* doc/analyzer.texi (Other Debugging Techniques): Document
|
||
region::is_named_decl_p.
|
||
|
||
2022-01-07 Andrew Pinski <apinski@marvell.com>
|
||
|
||
PR target/102941
|
||
* config/arm/aarch-common.c (arm_md_asm_adjust):
|
||
Use a temp if !REG_P.
|
||
|
||
2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
|
||
(*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
|
||
|
||
2022-01-07 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR rtl-optimization/103750
|
||
* fwprop.c (forward_propagate_into): Allow propagations from
|
||
inner loop to outer loop.
|
||
|
||
2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
|
||
|
||
2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
|
||
|
||
* config/rs6000/rs6000.md (rs6000_mffscrni): Define.
|
||
(rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
|
||
Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
|
||
|
||
2022-01-07 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* config/i386/sse.md
|
||
(*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
|
||
UNSPEC_PCMP_UNSIGNED.
|
||
|
||
2022-01-07 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/103753
|
||
* config/i386/i386-expand.c (ix86_expand_vector_set): Not use
|
||
gen_avx2_pblendph_1 when elt == 0.
|
||
* config/i386/sse.md (avx2_pblendph): Rename to ..
|
||
(avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
|
||
(*avx2_pblendw): Rename to ..
|
||
(*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
|
||
(avx2_pblendw): Rename to ..
|
||
(*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
|
||
(blendsuf): Removed.
|
||
(sse4_1_pblend<blendsuf>): Renamed to ..
|
||
(sse4_1_pblend<ssemodesuffix>): .. this.
|
||
|
||
2022-01-06 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/103925
|
||
* config/i386/i386.c (ix86_output_indirect_function_return):
|
||
Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
|
||
|
||
2022-01-06 H.J. Lu <hjl.tools@gmail.com>
|
||
|
||
PR target/102952
|
||
* config/i386/i386-opts.h (harden_sls): Replace
|
||
harden_sls_indirect_branch with harden_sls_indirect_jmp.
|
||
* config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
|
||
Likewise.
|
||
(ix86_output_indirect_jmp): Likewise.
|
||
(ix86_output_call_insn): Likewise.
|
||
* config/i386/i386.opt: Replace indirect-branch with
|
||
indirect-jmp. Replace harden_sls_indirect_branch with
|
||
harden_sls_indirect_jmp.
|
||
* doc/invoke.texi (-harden-sls=): Replace indirect-branch with
|
||
indirect-jmp.
|
||
|
||
2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
|
||
Add %q modifier for operands in general registers.
|
||
<MODE_SI>: Add %q modifier for operands in general registers.
|
||
* config/i386/i386.md (*movhi_internal): Change type attribute of
|
||
xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
|
||
to SImode for non-avx512fp16 targets.
|
||
(*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
|
||
* config/i386/mmx.md (*movv2qi_internal):
|
||
Ditto for xmm-gpr interunit alternatives 8,9.
|
||
|
||
2022-01-06 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* common/config/riscv/riscv-common.c (riscv_implied_info): Add
|
||
vector extensions.
|
||
(riscv_ext_version_table): Add version info for vector extensions.
|
||
(riscv_ext_flag_table): Add option mask for vector extensions.
|
||
* config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
|
||
(MASK_VECTOR_EEW_64): New.
|
||
(MASK_VECTOR_EEW_FP_32): New.
|
||
(MASK_VECTOR_EEW_FP_64): New.
|
||
(MASK_ZVL32B): New.
|
||
(MASK_ZVL64B): New.
|
||
(MASK_ZVL128B): New.
|
||
(MASK_ZVL256B): New.
|
||
(MASK_ZVL512B): New.
|
||
(MASK_ZVL1024B): New.
|
||
(MASK_ZVL2048B): New.
|
||
(MASK_ZVL4096B): New.
|
||
(MASK_ZVL8192B): New.
|
||
(MASK_ZVL16384B): New.
|
||
(MASK_ZVL32768B): New.
|
||
(MASK_ZVL65536B): New.
|
||
(TARGET_ZVL32B): New.
|
||
(TARGET_ZVL64B): New.
|
||
(TARGET_ZVL128B): New.
|
||
(TARGET_ZVL256B): New.
|
||
(TARGET_ZVL512B): New.
|
||
(TARGET_ZVL1024B): New.
|
||
(TARGET_ZVL2048B): New.
|
||
(TARGET_ZVL4096B): New.
|
||
(TARGET_ZVL8192B): New.
|
||
(TARGET_ZVL16384B): New.
|
||
(TARGET_ZVL32768B): New.
|
||
(TARGET_ZVL65536B): New.
|
||
* config/riscv/riscv.opt (Mask(VECTOR)): New.
|
||
(riscv_vector_eew_flags): New.
|
||
(riscv_zvl_flags): New.
|
||
|
||
2022-01-06 Kito Cheng <kito.cheng@sifive.com>
|
||
|
||
* common/config/riscv/riscv-common.c
|
||
(riscv_subset_list::parse_multiletter_ext): Allow ext. name has
|
||
digit.
|
||
|
||
2022-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/103899
|
||
* expr.c (expand_expr_real_1): Add a workaround for bogus uninit
|
||
warning by moving context variable to the only spot where it is used
|
||
and moving gcc_assert into if body.
|
||
|
||
2022-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/103908
|
||
* ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
|
||
asm goto.
|
||
|
||
2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
|
||
|
||
PR target/103622
|
||
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
|
||
Skip over instances with undefined function types.
|
||
|
||
2022-01-05 Andrew Pinski <apinski@marvell.com>
|
||
|
||
PR target/103910
|
||
* config/i386/i386.h (x86_mfence): Mark with GTY.
|
||
|
||
2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/103861
|
||
* config/i386/mmx.md (VI_16_32): New mode iterator.
|
||
(VI1_16_32): Ditto.
|
||
(mmxvecsize): Handle V2QI mode.
|
||
(<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
|
||
Use VI1_16_32 mode iterator.
|
||
(<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
|
||
Use VI1_16_32 mode iterator.
|
||
(abs<mode>2): Use VI_16_32 mode iterator.
|
||
(uavgv2qi3_ceil): New insn pattern.
|
||
|
||
2022-01-05 Martin Sebor <msebor@redhat.com>
|
||
|
||
* gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
|
||
%qs to avoid -Wformat-diag.
|
||
|
||
2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/103915
|
||
* config/i386/mmx.md (one_cmplv2qi2): Change
|
||
alternatives 1,2 type from sselog to sselog1.
|
||
|
||
2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/103905
|
||
* config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
|
||
narrow mode remapped elements for !one_operand_p case.
|
||
|
||
2022-01-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103816
|
||
* tree-vect-data-refs.c (vect_analyze_group_access_1): Also
|
||
check DR_GROUP_GAP compute for overflow and representability.
|
||
|
||
2022-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/103691
|
||
* gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
|
||
for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
|
||
it can do unwanted rhs folding like &a[0] into &2.0 etc.
|
||
|
||
2022-01-05 Kewen Lin <linkw@linux.ibm.com>
|
||
|
||
PR ipa/102059
|
||
* config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
|
||
(TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
|
||
(rs6000_need_ipa_fn_target_info): New function.
|
||
(rs6000_update_ipa_fn_target_info): Likewise.
|
||
(rs6000_can_inline_p): Adjust for ipa function summary target info.
|
||
* config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
|
||
* ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
|
||
summary target info.
|
||
(analyze_function_body): Adjust for ipa function summary target info
|
||
and call hook rs6000_need_ipa_fn_target_info and
|
||
rs6000_update_ipa_fn_target_info.
|
||
(ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
|
||
target info.
|
||
(inline_read_section): Likewise.
|
||
(ipa_fn_summary_write): Likewise.
|
||
* ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
|
||
* doc/tm.texi: Regenerate.
|
||
* doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
|
||
(TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
|
||
* target.def (update_ipa_fn_target_info): New hook.
|
||
(need_ipa_fn_target_info): Likewise.
|
||
* targhooks.c (default_need_ipa_fn_target_info): New function.
|
||
(default_update_ipa_fn_target_info): Likewise.
|
||
* targhooks.h (default_update_ipa_fn_target_info): New declare.
|
||
(default_need_ipa_fn_target_info): Likewise.
|
||
|
||
2022-01-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/99612
|
||
* builtins.c (get_memmodel): Move warning code to
|
||
gimple-ssa-warn-access.cc.
|
||
(expand_builtin_atomic_compare_exchange): Same.
|
||
(expand_ifn_atomic_compare_exchange): Same.
|
||
(expand_builtin_atomic_load): Same.
|
||
(expand_builtin_atomic_store): Same.
|
||
(expand_builtin_atomic_clear): Same.
|
||
* doc/extend.texi (__atomic_exchange_n): Update valid memory
|
||
models.
|
||
* gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
|
||
(struct memmodel_pair): New struct.
|
||
(memmodel_name): New function.
|
||
(pass_waccess::maybe_warn_memmodel): New function.
|
||
(pass_waccess::check_atomic_memmodel): New function.
|
||
(pass_waccess::check_atomic_builtin): Handle memory model.
|
||
* input.c (expansion_point_location_if_in_system_header): Return
|
||
original location if expansion location is in a system header.
|
||
|
||
2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/103861
|
||
* config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
|
||
(one_cmplv2qi3 splitters): New post-reload splitters.
|
||
(*andnotv2qi3): New insn pattern.
|
||
(andnotv2qi3 splitters): New post-reload splitters.
|
||
(<any_logic:code>v2qi3): New insn pattern.
|
||
(<any_logic:insn>v2qi3 splitters): New post-reload splitters.
|
||
|
||
2022-01-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103800
|
||
* tree-vect-loop.c (vectorizable_phi): Remove assert and
|
||
expand comment.
|
||
|
||
2022-01-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103690
|
||
* tree-pass.h (tail_merge_optimize): Adjust.
|
||
* tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
|
||
to re-split critical edges, move CFG cleanup ...
|
||
* tree-ssa-pre.c (pass_pre::execute): ... here, before
|
||
simple_dce_from_worklist and delay freeing inserted_exprs from
|
||
...
|
||
(fini_pre): .. here.
|
||
|
||
2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
|
||
|
||
* config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
|
||
* config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
|
||
(setcc_from_bi): Remove SImode specific pattern.
|
||
(setcc<mode>_from_bi): Provide more general HSDIM pattern.
|
||
(extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
|
||
for sign- and zero-extending BImode predicates to integers.
|
||
(setcc_int<mode>): Remove previous (-1-based) instructions.
|
||
(cstorebi4): Remove BImode to SImode specific expander.
|
||
(cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
|
||
(cstore<mode>4): For both integer and floating point modes.
|
||
|
||
2022-01-04 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc.c (driver_handle_option): do_save --sysroot.
|
||
|
||
2022-01-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/103864
|
||
PR tree-optimization/103544
|
||
* tree-vect-slp.c (vect_analyze_slp_instance): Exclude
|
||
reductions wrapped in conversions from SLP handling.
|
||
(vect_analyze_slp): Revert PR103544 change.
|
||
|
||
2022-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/103860
|
||
* shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
|
||
uselessly for blocks for which it has been called already.
|
||
|
||
2022-01-04 Cui,Lili <lili.cui@intel.com>
|
||
|
||
* common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
|
||
to Alderlake and Rocketlake.
|
||
|
||
2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
PR middle-end/103643
|
||
* gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
|
||
OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
|
||
|
||
2022-01-04 liuhongt <hongtao.liu@intel.com>
|
||
|
||
PR target/103895
|
||
* config/i386/sse.md (*bit_and_float_vector_all_ones):
|
||
Force_reg operand 1 to avoid ICE.
|
||
|
||
2022-01-04 Jason Merrill <jason@redhat.com>
|
||
|
||
* tree-pretty-print.c (do_niy): Add spc parameter.
|
||
(NIY): Pass it.
|
||
(print_call_name): Add spc local variable.
|
||
|
||
2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/103894
|
||
* config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
|
||
(mov<V_32:mode>_internal): Ditto.
|
||
(*push<V_32:mode>_rex64): Ditto.
|
||
(movmisalign<V_32:mode>): Ditto.
|
||
(*push<V_32:mode>_rex64 splitter): Enable for
|
||
TARGET_64BIT && TARGET_SSE.
|
||
(*push<V_32:mode>2): Remove insn pattern.
|
||
|
||
2022-01-03 Andrew Pinski <apinski@marvell.com>
|
||
|
||
PR c/33193
|
||
* doc/extend.texi: Extend the documentation about Complex
|
||
types for casting and also rewrite the __real__/__imag__
|
||
expression portion to use tables.
|
||
Move __builtin_complex to the Complex type section.
|
||
|
||
2022-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/98737
|
||
* internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
|
||
ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
|
||
New internal fns.
|
||
* internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
|
||
ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
|
||
ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
|
||
* internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
|
||
expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
|
||
expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
|
||
functions.
|
||
* optabs.def (atomic_add_fetch_cmp_0_optab,
|
||
atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
|
||
atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
|
||
direct optabs.
|
||
* builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
|
||
* builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
|
||
* tree-ssa-ccp.c: Include internal-fn.h.
|
||
(optimize_atomic_bit_test_and): Add . before internal fn call
|
||
in function comment. Change return type from void to bool and
|
||
return true only if successfully replaced.
|
||
(optimize_atomic_op_fetch_cmp_0): New function.
|
||
(pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
|
||
for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
|
||
BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
|
||
for *XOR* ones only if optimize_atomic_bit_test_and failed.
|
||
* config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
|
||
atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
|
||
(atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
|
||
atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
|
||
* doc/md.texi (atomic_add_fetch_cmp_0<mode>,
|
||
atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
|
||
atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
|
||
new named patterns.
|
||
|
||
2022-01-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/103851
|
||
* tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
|
||
|
||
2022-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/94716
|
||
* symtab.c: Include fold-const.h.
|
||
(symtab_node::equal_address_to): If folding_initializer is true,
|
||
handle it like memory_accessed. Simplify.
|
||
|
||
2022-01-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/extend.texi: Use ; for function declarations.
|
||
|
||
2022-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/103600
|
||
* symtab.c (symtab_node::equal_address_to): Return 0 if one of
|
||
VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
|
||
|
||
2022-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gcc.c (process_command): Update copyright notice dates.
|
||
* gcov-dump.c (print_version): Ditto.
|
||
* gcov.c (print_version): Ditto.
|
||
* gcov-tool.c (print_version): Ditto.
|
||
* gengtype.c (create_file): Ditto.
|
||
* doc/cpp.texi: Bump @copying's copyright year.
|
||
* doc/cppinternals.texi: Ditto.
|
||
* doc/gcc.texi: Ditto.
|
||
* doc/gccint.texi: Ditto.
|
||
* doc/gcov.texi: Ditto.
|
||
* doc/install.texi: Ditto.
|
||
* doc/invoke.texi: Ditto.
|
||
|
||
2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/103861
|
||
* config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
|
||
(VALID_INT_MODE_P): Ditto.
|
||
* config/i386/i386.c (ix86_secondary_reload): Handle
|
||
V2QImode reloads from SSE register to memory.
|
||
(vector_mode_supported_p): Always return true for V2QImode.
|
||
* config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
|
||
(*negqi_ext<mode>_2): Ditto.
|
||
* config/i386/mmx.md (movv2qi): New expander.
|
||
(movmisalignv2qi): Ditto.
|
||
(*movv2qi_internal): New insn pattern.
|
||
(*pushv2qi2): Ditto.
|
||
(negv2qi2 and splitters): Ditto.
|
||
(<plusminus:insn>v2qi3 and splitters): Ditto.
|
||
|
||
2022-01-02 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
|
||
sync_lock_test_and_set libfunc. Call convert_memory_address to
|
||
convert memory address to Pmode.
|
||
(atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
|
||
|
||
|
||
Copyright (C) 2022 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|