| 2022-12-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| Iain Sandoe <iain@sandoe.co.uk> | |
| PR modula2/107612 | |
| * Makefile.in: Make the configured libintl includes avaiable in INCINTL. | |
| (BUILD_CPPFLAGS): Use INCINTL. | |
| 2022-12-30 Alexandre Oliva <oliva@adacore.com> | |
| * hash-table.h (check_complete_insertion, check_insert_slot): | |
| New hash_table methods. | |
| (m_inserting_slot): New hash_table field. | |
| (begin, hash_table ctors, ~hash_table): Check previous insert. | |
| (expand, empty_slow, clear_slot, find_with_hash): Likewise. | |
| (remote_elt_with_hash, traverse_noresize): Likewise. | |
| (gt_pch_nx): Likewise. | |
| (find_slot_with_hash): Likewise. Record requested insert. | |
| 2022-12-30 Stam Markianos-Wright <stam.markianos-wright@arm.com> | |
| PR target/107714 | |
| * config/arm/arm-protos.h (mve_struct_mem_operand): New protoype. | |
| * config/arm/arm.cc (mve_struct_mem_operand): New function. | |
| * config/arm/constraints.md (Ug): New constraint. | |
| * config/arm/mve.md (mve_vst4q<mode>): Change constraint. | |
| (mve_vst2q<mode>): Likewise. | |
| (mve_vld4q<mode>): Likewise. | |
| (mve_vld2q<mode>): Likewise. | |
| * config/arm/predicates.md (mve_struct_operand): New predicate. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * hash-map.h (put, get_or_insert): Check that added entry | |
| doesn't look deleted either. | |
| * hash-set.h (add): Likewise. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * tree-parloops.cc (take_address_of): Skip INSERT if !gsi. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * hash-map.h (put, get_or_insert): Check that entry does not | |
| look empty after insertion. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * hash-set.h (add): Check that the inserted entry does not | |
| look empty. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * trans-mem.cc (split_bb_make_tm_edge): Record new node in | |
| tm_restart. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * postreload-gcse.cc (lookup_expr_in_table): Use NO_INSERT. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * tree-inline.cc (declare_return_variable): Don't remap NULL | |
| default def of result. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * tree-ssa-loop-niter.cc (expand_simple_operands): Refrain | |
| from caching NULL TREE_OPERANDs. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * tree-inline.cc (insert_decl_map): Skip mapping a NULL decl | |
| as value to itself. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * varpool.cc (symbol_table::remove_unreferenced_decls): Do not | |
| add NULL vnodes to referenced table. | |
| 2022-12-29 Alexandre Oliva <oliva@adacore.com> | |
| * tree-ssa-scopedtables.cc | |
| (avail_exprs_stack::lookup_avail_expr): Finish hash table | |
| insertion before further lookups. | |
| 2022-12-29 Max Filippov <jcmvbkbc@gmail.com> | |
| * config/xtensa/xtensa.cc (xtensa_return_in_memory): Use | |
| GP_RETURN_* instead of magic constant. | |
| 2022-12-29 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.cc (xtensa_expand_prologue): Fix to check | |
| DF availability before use of DF_* macros. | |
| 2022-12-28 Roger Sayle <roger@nextmovesoftware.com> | |
| * config/i386/i386.md (*clzsi2_lzcnt_zext_2): define_insn_and_split | |
| to match ZERO_EXTEND form of *clzsi2_lzcnt_zext. | |
| (*clzsi2_lzcnt_zext_2_falsedep): Likewise, new define_insn to match | |
| ZERO_EXTEND form of *clzsi2_lzcnt_zext_falsedep. | |
| (*bmi2_bzhi_zero_extendsidi_5): Likewise, new define_insn to match | |
| ZERO_EXTEND form of *bmi2_bzhi_zero_extendsidi. | |
| (*popcountsi2_zext_2): Likewise, new define_insn_and_split to match | |
| ZERO_EXTEND form of *popcountsi2_zext. | |
| (*popcountsi2_zext_2_falsedep): Likewise, new define_insn to match | |
| ZERO_EXTEND form of *popcountsi2_zext_falsedep. | |
| (*popcounthi2_2): Likewise, new define_insn_and_split to match | |
| ZERO_EXTEND form of *popcounthi2. | |
| (define_peephole2): ZERO_EXTEND variant of HImode popcount&1 using | |
| parity flag peephole2. | |
| 2022-12-28 Roger Sayle <roger@nextmovesoftware.com> | |
| * config/i386/i386-expand.cc (ix86_split_ashl): Call | |
| ix86_expand_clear to generate an xor instruction. | |
| 2022-12-28 Martin Liska <mliska@suse.cz> | |
| PR tree-optimization/108137 | |
| * tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything | |
| different from INTEGER_CST. | |
| 2022-12-28 Kito Cheng <kito.cheng@sifive.com> | |
| * config/riscv/riscv-vsetvl.h (vl_vtype_info::get_avl_info): | |
| Return const reference rather than value. | |
| 2022-12-27 Jeff Law <jlaw@ventanamicro.com> | |
| * config/riscv/riscv.md: Add missing modes to last patch.t | |
| 2022-12-27 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> | |
| PR target/95632 | |
| PR target/106602 | |
| * config/riscv/riscv.md: New pattern to simulate complex | |
| const_int loads. | |
| 2022-12-27 Christoph Müllner <christoph.muellner@vrull.eu> | |
| * config/riscv/riscv.cc (riscv_next_saved_reg): New function. | |
| (riscv_is_eh_return_data_register): New function. | |
| (riscv_for_each_saved_reg): Restructure loop. | |
| 2022-12-27 Christoph Müllner <christoph.muellner@vrull.eu> | |
| * config/riscv/riscv.md: Sync comments with code. | |
| 2022-12-27 jinma <jinma@linux.alibaba.com> | |
| * common/config/riscv/riscv-common.cc: | |
| 2022-12-27 Jonathan Yong <10walls@gmail.com> | |
| * configure.ac: use grep -i for case insensitive test. | |
| * configure: Regenerate. | |
| 2022-12-27 Max Filippov <jcmvbkbc@gmail.com> | |
| * config/xtensa/xtensa.md (unspec): Extract UNSPEC_* constants | |
| into this enum. | |
| (unspecv): Extract UNSPECV_* constants into this enum. | |
| 2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.md (set_frame_ptr): Fix to reflect | |
| TARGET_DENSITY. | |
| 2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.h (GP_RETURN, GP_RETURN_REG_COUNT): | |
| Change to GP_RETURN_FIRST and GP_RETURN_LAST, respectively. | |
| * config/xtensa/xtensa.cc (xtensa_function_value, | |
| xtensa_libcall_value, xtensa_function_value_regno_p): Ditto. | |
| 2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.cc (xtensa_expand_prologue): Modify to | |
| exit the inspection loops as soon as the necessity of stack | |
| pointer is found. | |
| 2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/elf.h: Tabify, and trim trailing spaces. | |
| * config/xtensa/linux.h: Likewise. | |
| * config/xtensa/uclinux.h: Likewise. | |
| * config/xtensa/xtensa-dynconfig.c: Likewise. | |
| * config/xtensa/xtensa.cc: Likewise. | |
| * config/xtensa/xtensa.h: Likewise. | |
| * config/xtensa/xtensa.md: Likewise. | |
| 2022-12-27 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vsetvl.cc | |
| (pass_vsetvl::compute_global_backward_infos): Change to visit CFG. | |
| (pass_vsetvl::prune_expressions): Ditto. | |
| 2022-12-27 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vsetvl.cc (change_insn): Remove pp_print. | |
| (avl_info::avl_info): Add copy function. | |
| (vector_insn_info::dump): Remove pp_print. | |
| * config/riscv/riscv-vsetvl.h: Add copy function. | |
| 2022-12-27 Kewen Lin <linkw@linux.ibm.com> | |
| PR target/106680 | |
| * common/config/rs6000/rs6000-common.cc (rs6000_handle_option): Remove | |
| the adjustment for option powerpc64 in -m64 handling, and remove the | |
| whole -m32 handling. | |
| * config/rs6000/rs6000.cc (rs6000_option_override_internal): When no | |
| explicit powerpc64 option is provided, enable it for -m64. For 32 bit | |
| and OS_MISSING_POWERPC64, disable powerpc64 if it's enabled but not | |
| specified explicitly. | |
| 2022-12-26 liuhongt <hongtao.liu@intel.com> | |
| PR target/55522 | |
| PR target/36821 | |
| * config/i386/gnu-user-common.h (GNU_USER_TARGET_MATHFILE_SPEC): | |
| Link crtfastmath.o whenever -mdaz-ftz is specified. Don't link | |
| crtfastmath.o when -share or -mno-daz-ftz is specified. | |
| * config/i386/i386.opt (mdaz-ftz): New option. | |
| * doc/invoke.texi (x86 options): Document mftz-daz. | |
| 2022-12-25 Roger Sayle <roger@nextmovesoftware.com> | |
| Uroš Bizjak <ubizjak@gmail.com> | |
| * config/i386/i386-builtin.def (__builtin_ia32_movss): Update | |
| CODE_FOR_sse_movss to CODE_FOR_sse_movss_v4sf. | |
| (__builtin_ia32_movsd): Likewise, update CODE_FOR_sse2_movsd to | |
| CODE_FOR_sse2_movsd_v2df. | |
| * config/i386/i386-expand.cc (split_convert_uns_si_sse): Update | |
| gen_sse_movss call to gen_sse_movss_v4sf, and gen_sse2_movsd call | |
| to gen_sse2_movsd_v2df. | |
| (expand_vec_perm_movs): Also allow V4SImode with TARGET_SSE and | |
| V2DImode with TARGET_SSE2. | |
| * config/i386/sse.md | |
| (avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>): Update | |
| gen_sse_movss call to gen_sse_movss_v4sf. | |
| (avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>): Likewise. | |
| (sse_movss_<mode>): Renamed from sse_movss using VI4F_128 mode | |
| iterator to handle both V4SF and V4SI. | |
| (sse2_movsd_<mode>): Likewise, renamed from sse2_movsd using | |
| VI8F_128 mode iterator to handle both V2DF and V2DI. | |
| 2022-12-23 Jakub Jelinek <jakub@redhat.com> | |
| Aldy Hernandez <aldyh@redhat.com> | |
| * tree-ssa-phiopt.cc (value_replacement): Instead of resetting | |
| phires range info, union it with carg. | |
| 2022-12-23 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/108068 | |
| * tree.h (real_maybe_zerop): Declare. | |
| * tree.cc (real_maybe_zerop): Define. | |
| * tree-ssa-dom.cc (record_edge_info): Use it instead of | |
| real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop. Always set | |
| can_infer_simple_equiv to false for decimal floating point types. | |
| 2022-12-23 Roger Sayle <roger@nextmovesoftware.com> | |
| PR target/107548 | |
| * config/i386/i386-features.cc (scalar_chain::add_insn): The | |
| operands of a VEC_SELECT don't need to added to the scalar chain. | |
| (general_scalar_chain::compute_convert_gain) <case VEC_SELECT>: | |
| Provide gains for performing STV on a VEC_SELECT. | |
| (general_scalar_chain::convert_insn): Convert VEC_SELECT to pshufd, | |
| psrldq or no-op. | |
| (general_scalar_to_vector_candidate_p): Handle VEC_SELECT of a | |
| single element from a vector register to a scalar register. | |
| 2022-12-23 H.J. Lu <hjl.tools@gmail.com> | |
| Roger Sayle <roger@nextmovesoftware.com> | |
| PR target/106933 | |
| PR target/106959 | |
| * config/i386/i386-features.cc (single_def_chain_p): New predicate | |
| function to check that a pseudo's use-def chain is in SSA form. | |
| (timode_scalar_to_vector_candidate_p): Check that TImode regs that | |
| are SET_DEST or SET_SRC of an insn match/are single_def_chain_p. | |
| 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/vector.md: Fix contraints. | |
| 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-protos.h (get_avl_type_rtx): New function. | |
| * config/riscv/riscv-v.cc (get_avl_type_rtx): Ditto. | |
| * config/riscv/riscv-vector-builtins-bases.cc (class loadstore): New | |
| class. | |
| (BASE): Ditto. | |
| * config/riscv/riscv-vector-builtins-bases.h: Ditto. | |
| * config/riscv/riscv-vector-builtins-functions.def (vle): Ditto. | |
| (vse): Ditto. | |
| * config/riscv/riscv-vector-builtins-shapes.cc (build_one): Ditto. | |
| (struct loadstore_def): Ditto. | |
| (SHAPE): Ditto. | |
| * config/riscv/riscv-vector-builtins-shapes.h: Ditto. | |
| * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_U_OPS): New | |
| macro. | |
| (DEF_RVV_F_OPS): Ditto. | |
| (vuint8mf8_t): Add corresponding mask type. | |
| (vuint8mf4_t): Ditto. | |
| (vuint8mf2_t): Ditto. | |
| (vuint8m1_t): Ditto. | |
| (vuint8m2_t): Ditto. | |
| (vuint8m4_t): Ditto. | |
| (vuint8m8_t): Ditto. | |
| (vuint16mf4_t): Ditto. | |
| (vuint16mf2_t): Ditto. | |
| (vuint16m1_t): Ditto. | |
| (vuint16m2_t): Ditto. | |
| (vuint16m4_t): Ditto. | |
| (vuint16m8_t): Ditto. | |
| (vuint32mf2_t): Ditto. | |
| (vuint32m1_t): Ditto. | |
| (vuint32m2_t): Ditto. | |
| (vuint32m4_t): Ditto. | |
| (vuint32m8_t): Ditto. | |
| (vuint64m1_t): Ditto. | |
| (vuint64m2_t): Ditto. | |
| (vuint64m4_t): Ditto. | |
| (vuint64m8_t): Ditto. | |
| (vfloat32mf2_t): Ditto. | |
| (vfloat32m1_t): Ditto. | |
| (vfloat32m2_t): Ditto. | |
| (vfloat32m4_t): Ditto. | |
| (vfloat32m8_t): Ditto. | |
| (vfloat64m1_t): Ditto. | |
| (vfloat64m2_t): Ditto. | |
| (vfloat64m4_t): Ditto. | |
| (vfloat64m8_t): Ditto. | |
| * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Adjust for new | |
| macro. | |
| (DEF_RVV_I_OPS): Ditto. | |
| (DEF_RVV_U_OPS): New macro. | |
| (DEF_RVV_F_OPS): New macro. | |
| (use_real_mask_p): New function. | |
| (use_real_merge_p): Ditto. | |
| (get_tail_policy_for_pred): Ditto. | |
| (get_mask_policy_for_pred): Ditto. | |
| (function_builder::apply_predication): Ditto. | |
| (function_builder::append_base_name): Ditto. | |
| (function_builder::append_sew): Ditto. | |
| (function_expander::add_vundef_operand): Ditto. | |
| (function_expander::add_mem_operand): Ditto. | |
| (function_expander::use_contiguous_load_insn): Ditto. | |
| (function_expander::use_contiguous_store_insn): Ditto. | |
| * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Adjust for | |
| adding mask type. | |
| (vbool64_t): Ditto. | |
| (vbool32_t): Ditto. | |
| (vbool16_t): Ditto. | |
| (vbool8_t): Ditto. | |
| (vbool4_t): Ditto. | |
| (vbool2_t): Ditto. | |
| (vbool1_t): Ditto. | |
| (vint8mf8_t): Ditto. | |
| (vint8mf4_t): Ditto. | |
| (vint8mf2_t): Ditto. | |
| (vint8m1_t): Ditto. | |
| (vint8m2_t): Ditto. | |
| (vint8m4_t): Ditto. | |
| (vint8m8_t): Ditto. | |
| (vint16mf4_t): Ditto. | |
| (vint16mf2_t): Ditto. | |
| (vint16m1_t): Ditto. | |
| (vint16m2_t): Ditto. | |
| (vint16m4_t): Ditto. | |
| (vint16m8_t): Ditto. | |
| (vint32mf2_t): Ditto. | |
| (vint32m1_t): Ditto. | |
| (vint32m2_t): Ditto. | |
| (vint32m4_t): Ditto. | |
| (vint32m8_t): Ditto. | |
| (vint64m1_t): Ditto. | |
| (vint64m2_t): Ditto. | |
| (vint64m4_t): Ditto. | |
| (vint64m8_t): Ditto. | |
| (vfloat32mf2_t): Ditto. | |
| (vfloat32m1_t): Ditto. | |
| (vfloat32m2_t): Ditto. | |
| (vfloat32m4_t): Ditto. | |
| (vfloat32m8_t): Ditto. | |
| (vfloat64m1_t): Ditto. | |
| (vfloat64m4_t): Ditto. | |
| * config/riscv/riscv-vector-builtins.h | |
| (function_expander::add_output_operand): New function. | |
| (function_expander::add_all_one_mask_operand): Ditto. | |
| (function_expander::add_fixed_operand): Ditto. | |
| (function_expander::vector_mode): Ditto. | |
| (function_base::apply_vl_p): Ditto. | |
| (function_base::can_be_overloaded_p): Ditto. | |
| * config/riscv/riscv-vsetvl.cc (get_vl): Remove restrict of supporting | |
| AVL is not VLMAX. | |
| * config/riscv/t-riscv: Add include file. | |
| 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins-shapes.cc (struct vsetvl_def): Add | |
| "__riscv_" prefix. | |
| 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins-bases.cc: Change it to no side effects. | |
| * config/riscv/vector.md (@vsetvl<mode>_no_side_effects): New pattern. | |
| 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins-bases.cc: Remove side effects. | |
| 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vsetvl.cc (anticipatable_occurrence_p): Fix | |
| incorrect annotations. | |
| (available_occurrence_p): Ditto. | |
| (backward_propagate_worthwhile_p): Ditto. | |
| (can_backward_propagate_p): Ditto. | |
| 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vsetvl.cc (vlmax_avl_insn_p): Fix multi-line | |
| conditional. | |
| (vsetvl_insn_p): Ditto. | |
| (same_bb_and_before_p): Ditto. | |
| (same_bb_and_after_or_equal_p): Ditto. | |
| 2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com> | |
| * doc/md.texi: Move example code remark next to it's code block. | |
| 2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com> | |
| * doc/md.texi: Fix inconsistent example name. | |
| 2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com> | |
| * doc/md.texi: Fix incorrect pxref. | |
| 2022-12-22 Richard Biener <rguenther@suse.de> | |
| PR bootstrap/106482 | |
| * doc/install.texi (ISO C++11 Compiler): Document GCC version | |
| known to work. | |
| 2022-12-22 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/108166 | |
| * tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p | |
| case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result. | |
| 2022-12-22 Jakub Jelinek <jakub@redhat.com> | |
| PR rtl-optimization/108193 | |
| * cse.cc (compute_const_anchors): Change n type to | |
| unsigned HOST_WIDE_INT, adjust comparison against it to avoid | |
| warnings. Formatting fix. | |
| (insert_const_anchor): Use gen_int_mode instead of GEN_INT. | |
| 2022-12-22 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107451 | |
| * tree-vect-stmts.cc (vectorizable_load): Avoid loading | |
| SLP group members from group numbers in excess of the | |
| vectorization factor. | |
| 2022-12-22 Jakub Jelinek <jakub@redhat.com> | |
| * config/aarch64/t-aarch64 (TM_H): Don't add aarch64-cores.def, | |
| add aarch64-fusion-pairs.def, aarch64-tuning-flags.def and | |
| aarch64-option-extensions.def. | |
| (OPTIONS_H_EXTRA): Don't add aarch64-fusion-pairs.def nor | |
| aarch64-tuning-flags.def. | |
| 2022-12-22 Jan Hubicka <hubicka@ucw.cz> | |
| * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add | |
| TARGET_AVX512_SPLIT_REGS | |
| * config/i386/i386-options.cc (ix86_option_override_internal): | |
| Honor x86_TONE_AVOID_256FMA_CHAINS. | |
| * config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS. | |
| (ix86_reassociation_width): Likewise. | |
| * config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune. | |
| * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable | |
| for znver4. | |
| (X86_TUNE_USE_GATHER_4PARTS): Likewise. | |
| (X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4. | |
| (X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4. | |
| (X86_TUNE_AVX256_OPTIMAL): Add znver4. | |
| (X86_TUNE_AVX512_SPLIT_REGS): New tune. | |
| (X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3. | |
| (X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3. | |
| (X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4. | |
| (X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4. | |
| 2022-12-22 Jan Hubicka <hubicka@ucw.cz> | |
| * config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE | |
| moves, division multiplication, gathers, L2 cache size, and more | |
| complex FP instrutions. | |
| 2022-12-21 Andrew Pinski <apinski@marvell.com> | |
| PR tree-optimization/105532 | |
| * match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral | |
| type before calling tree_nonzero_bits. | |
| (popcount(X) + popcount(Y)): Likewise. | |
| (popcount(X&C1)): Likewise. | |
| 2022-12-21 Chung-Lin Tang <cltang@codesourcery.com> | |
| * config/nvptx/nvptx.cc (nvptx_print_operand): Add 'p' case, adjust | |
| comments. | |
| (enum nvptx_builtins): Add NVPTX_BUILTIN_BAR_RED_AND, | |
| NVPTX_BUILTIN_BAR_RED_OR, and NVPTX_BUILTIN_BAR_RED_POPC. | |
| (nvptx_expand_bar_red): New function. | |
| (nvptx_init_builtins): | |
| Add DEFs of __builtin_nvptx_bar_red_[and/or/popc]. | |
| (nvptx_expand_builtin): Use nvptx_expand_bar_red to expand | |
| NVPTX_BUILTIN_BAR_RED_[AND/OR/POPC] cases. | |
| * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add | |
| UNSPECV_BARRED_AND, UNSPECV_BARRED_OR, and UNSPECV_BARRED_POPC. | |
| (BARRED): New int iterator. | |
| (barred_op,barred_mode,barred_ptxtype): New int attrs. | |
| (nvptx_barred_<barred_op>): New define_insn. | |
| 2022-12-21 Richard Biener <rguenther@suse.de> | |
| PR middle-end/107994 | |
| * gimplify.cc (gimplify_expr): Catch errorneous comparison | |
| operand. | |
| 2022-12-21 Jan Hubicka <hubicka@ucw.cz> | |
| * lto-opts.cc (lto_write_options): Also skip -fwhole-program. | |
| 2022-12-21 Jan Hubicka <jh@suse.cz> | |
| * lto-cgraph.cc (lto_output_node): When doing WPA in incremental link | |
| pass down resolution info. | |
| 2022-12-21 Jan Hubicka <hubicka@ucw.cz> | |
| * doc/invoke.texi: Fix documentation of -fwhole-program with LTO | |
| and document behaviour for incremental linking. | |
| 2022-12-21 Kewen Lin <linkw@linux.ibm.com> | |
| * config/rs6000/rs6000.cc (rs6000_option_override_internal): Fix the | |
| location for OPTION_MASK_P10_FUSION flag setting. | |
| 2022-12-21 Kewen Lin <linkw@linux.ibm.com> | |
| * fold-const.cc (fold_convert_const_real_from_real): Treat floating | |
| point conversion to a type with same mode as copy instead of normal | |
| convertFormat. | |
| 2022-12-21 Kewen Lin <linkw@linux.ibm.com> | |
| PR target/106736 | |
| * config/rs6000/mma.md (define_expand movoo): Call function | |
| rs6000_opaque_type_invalid_use_p to check and emit error message for | |
| the invalid use of opaque type. | |
| (define_expand movxo): Likewise. | |
| * config/rs6000/rs6000-protos.h | |
| (rs6000_opaque_type_invalid_use_p): New function declaration. | |
| (currently_expanding_gimple_stmt): New extern declaration. | |
| * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New | |
| function. | |
| 2022-12-21 Jason Merrill <jason@redhat.com> | |
| * fold-const.cc (fold_convert_loc): Check return value of | |
| protected_set_expr_location_unshare. | |
| 2022-12-21 Jason Merrill <jason@redhat.com> | |
| PR c++/84471 | |
| PR c++/107504 | |
| * fold-const.cc (protected_set_expr_location_unshare): Not static. | |
| * tree.h: Declare it. | |
| * tree.cc (decl_value_expr_insert): Use it. | |
| 2022-12-20 Patrick Palka <ppalka@redhat.com> | |
| PR c++/101886 | |
| * tree.cc (walk_tree_1) <case TREE_VEC>: Walk the elements | |
| in forward instead of reverse order. | |
| <case VECTOR_CST>: Likewise. | |
| 2022-12-20 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/108139 | |
| * gimple-range-cache.cc (ranger_cache::fill_block_cache): Do not | |
| use equivalences originating from PHIS. | |
| 2022-12-20 Richard Biener <rguenther@suse.de> | |
| PR d/104749 | |
| * doc/install.texi (GDC): Document GDC 9.4 or later is required | |
| to build the D language frontend. | |
| 2022-12-20 Jiufu Guo <guojiufu@linux.ibm.com> | |
| PR target/103743 | |
| * config/rs6000/rs6000-protos.h (can_be_rotated_to_lowbits): New. | |
| (can_be_rotated_to_positive_16bits): New. | |
| (can_be_rotated_to_negative_15bits): New. | |
| * config/rs6000/rs6000.cc (can_be_rotated_to_lowbits): New definition. | |
| (can_be_rotated_to_positive_16bits): New definition. | |
| (can_be_rotated_to_negative_15bits): New definition. | |
| * config/rs6000/rs6000.md (*rotate_on_cmpdi): New define_insn_and_split. | |
| (eqne): Move earlier. | |
| 2022-12-19 Jason Merrill <jason@redhat.com> | |
| * sort.cc: Disable -Wconditionally-supported in | |
| CHECKING_P code. | |
| 2022-12-19 Jason Merrill <jason@redhat.com> | |
| PR c++/64867 | |
| * configure.ac (strict_warn): Add -Wconditionally-supported. | |
| * configure: Regenerate. | |
| 2022-12-19 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/108164 | |
| * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): | |
| Perform vect_step_op_add update in the appropriate type. | |
| 2022-12-19 Richard Earnshaw <rearnsha@arm.com> | |
| * config/arm/arm-c.cc (__ARM_FEATURE_CLZ): Fix definition of | |
| preprocessor macro when target has CLZ in another ISA. | |
| 2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/vector.md: Remove vste. | |
| 2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config.gcc: Add riscv-vsetvl.o. | |
| * config/riscv/riscv-passes.def (INSERT_PASS_BEFORE): Add VSETVL PASS | |
| location. | |
| * config/riscv/riscv-protos.h (make_pass_vsetvl): New function. | |
| (enum avl_type): New enum. | |
| (get_ta): New function. | |
| (get_ma): Ditto. | |
| (get_avl_type): Ditto. | |
| (calculate_ratio): Ditto. | |
| (enum tail_policy): New enum. | |
| (enum mask_policy): Ditto. | |
| * config/riscv/riscv-v.cc (calculate_ratio): New function. | |
| (emit_pred_op): change the VLMAX mov codgen. | |
| (get_ta): New function. | |
| (get_ma): Ditto. | |
| (enum tail_policy): Change enum. | |
| (get_prefer_tail_policy): New function. | |
| (enum mask_policy): Change enum. | |
| (get_prefer_mask_policy): New function. | |
| * config/riscv/t-riscv: Add riscv-vsetvl.o | |
| * config/riscv/vector.md: Adjust attribute and pattern for VSETVL | |
| PASS. | |
| (@vlmax_avl<mode>): Ditto. | |
| (@vsetvl<mode>_no_side_effects): Delete. | |
| (vsetvl_vtype_change_only): New MD pattern. | |
| (@vsetvl_discard_result<mode>): Ditto. | |
| * config/riscv/riscv-vsetvl.cc: New file. | |
| * config/riscv/riscv-vsetvl.h: New file. | |
| 2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-switch.def (ENTRY): Correct attributes. | |
| 2022-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| PR target/108140 | |
| * config/aarch64/aarch64-builtins.cc | |
| (aarch64_expand_builtin_data_intrinsic): Handle NULL target. | |
| 2022-12-19 Jakub Jelinek <jakub@redhat.com> | |
| * config/gnu-user.h (LIBHWASAN_EARLY_SPEC): Add libhwasan_preinit.o | |
| to link spec if not -shared. | |
| 2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-v.cc (emit_vlmax_vsetvl): Pass through VLMUL enum | |
| instead of machine mode. | |
| * config/riscv/riscv-vector-builtins-bases.cc: Ditto. | |
| * config/riscv/riscv.cc (riscv_print_operand): Print LMUL by enum vlmul | |
| instead of machine mode. | |
| 2022-12-19 Jiufu Guo <guojiufu@linux.ibm.com> | |
| PR target/106708 | |
| * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Add using | |
| "li; x?oris" to build constant. | |
| 2022-12-19 liuhongt <hongtao.liu@intel.com> | |
| PR target/55522 | |
| * config/i386/gnu-user-common.h (GNU_USER_TARGET_MATHFILE_SPEC): | |
| Don't add crtfastmath.o for -shared. | |
| * doc/invoke.texi (-shared): Add related documentation. | |
| 2022-12-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| * config.gcc: Determine Solaris minor version. | |
| Obsolete *-*-solaris2.11.[0-3]*. | |
| * doc/install.texi (Specific, *-*-solaris2*): Document it. | |
| 2022-12-17 Segher Boessenkool <segher@kernel.crashing.org> | |
| * config/rs6000/rs6000-logue.cc (rs6000_output_function_epilogue): | |
| Handle GNU Rust for the tbtab lang field. | |
| 2022-12-16 John David Anglin <danglin@gcc.gnu.org> | |
| * config/pa/pa.cc (pa_option_override): Disable -fstack-protector. | |
| 2022-12-16 Vladimir N. Makarov <vmakarov@redhat.com> | |
| Revert: | |
| 2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com> | |
| * ira-costs.cc: Include print-rtl.h. | |
| (record_reg_classes, scan_one_insn): Add code to print debug info. | |
| * ira.cc (ira_init_register_move_cost): Check that at least one hard | |
| reg of the mode are in the class contents to calculate the | |
| register move costs. | |
| 2022-12-16 Qing Zhao <qing.zhao@oracle.com> | |
| * doc/invoke.texi: Document -Wstrict-flex-arrays option. | |
| * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Add two more | |
| arguments. | |
| (array_bounds_checker::check_array_ref): Issue warnings for | |
| -Wstrict-flex-arrays. | |
| * opts.cc (finish_options): Issue warning for unsupported combination | |
| of -Wstrict_flex_arrays and -fstrict-flex-array. | |
| * tree-vrp.cc (execute_ranger_vrp): Enable the pass when | |
| warn_strict_flex_array is true. | |
| 2022-12-16 Palmer Dabbelt <palmer@rivosinc.com> | |
| * config/riscv/riscv.cc (riscv_option_override): Fix comment | |
| wording. | |
| 2022-12-16 Palmer Dabbelt <palmer@rivosinc.com> | |
| * doc/extend.texi (__builtin_riscv_pause): Imply | |
| Xgnuzihintpausestate. | |
| 2022-12-16 Richard Biener <rguenther@suse.de> | |
| PR middle-end/108086 | |
| * tree-inline.cc (remap_ssa_name): Do not unshare the | |
| result from the decl_map. | |
| 2022-12-16 Richard Biener <rguenther@suse.de> | |
| PR middle-end/108086 | |
| * tree-inline.cc (copy_bb): Remove handling of (foo *)&this->m | |
| substitution which is done in remap_gimple_op_r via | |
| re-gimplifying. | |
| 2022-12-16 Jakub Jelinek <jakub@redhat.com> | |
| PR rtl-optimization/106751 | |
| * loop-invariant.cc (move_invariant_reg): If preheader bb ends | |
| with a JUMP_INSN, split the preheader edge and emit invariants | |
| into the new preheader basic block. | |
| 2022-12-16 Richard Biener <rguenther@suse.de> | |
| PR middle-end/108086 | |
| * tree-inline.cc (remap_gimple_stmt): Add stmts to the | |
| sequence without updating them. Simplify x == x detection. | |
| 2022-12-16 Haochen Jiang <haochen.jiang@intel.com> | |
| * config/i386/cmpccxaddintrin.h | |
| (__cmpccxadd_epi32): Rename to _cmpccxadd_epi32. | |
| (__cmpccxadd_epi64): Rename to _cmpccxadd_epi64. | |
| 2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com> | |
| * ira-costs.cc: Include print-rtl.h. | |
| (record_reg_classes, scan_one_insn): Add code to print debug info. | |
| * ira.cc (ira_init_register_move_cost): Check that at least one hard | |
| reg of the mode are in the class contents to calculate the | |
| register move costs. | |
| 2022-12-15 Siddhesh Poyarekar <siddhesh@gotplt.org> | |
| * doc/extend.texi (__builtin_dynamic_object_size): Document | |
| builtin. | |
| * doc/passes.texi | |
| (Optimize calls to @code{__builtin_object_size}): Also mention | |
| __builtin_dynamic_object_size. | |
| 2022-12-15 Siddhesh Poyarekar <siddhesh@gotplt.org> | |
| PR middle-end/70090 | |
| * doc/invoke.texi (-fsanitize=object-size): Use | |
| __builtin_dynamic_object_size instead of | |
| __builtin_object_size. | |
| 2022-12-15 Richard Biener <rguenther@suse.de> | |
| PR middle-end/108086 | |
| * tree-inline.cc (copy_edges_for_bb): Walk stmts backwards for | |
| splitting the block to avoid quadratic behavior with setting | |
| stmts BB on multliple splits. | |
| 2022-12-15 Spacetown <michael.foerderer@gmx.de> | |
| PR gcov-profile/107537 | |
| * gcov.cc (output_branch_count): Add annotation '(fallthrough)' | |
| or '(throw)' also to uncovered branches. | |
| 2022-12-15 Richard Biener <rguenther@suse.de> | |
| PR middle-end/108086 | |
| * tree-inline.cc (copy_edges_for_bb): Do not update all | |
| stmts again. | |
| 2022-12-15 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/108095 | |
| * tree-into-ssa.cc (maybe_register_def): Insert debug stmt | |
| on all non-EH edges from asm goto if they have a single | |
| predecessor rather than asserting there is at most one such edge. | |
| Test whether there are no PHI nodes next to the single predecessor | |
| test. | |
| 2022-12-14 David Faust <david.faust@oracle.com> | |
| PR target/106773 | |
| * btfout.cc (get_section_name): New function. | |
| (btf_collect_datasec): Use it here. Process functions, marking them | |
| 'extern' and generating DATASEC entries for them as appropriate. Move | |
| creation of BTF_KIND_FUNC records to here... | |
| (btf_dtd_emit_preprocess_cb): ... from here. | |
| 2022-12-14 David Faust <david.faust@oracle.com> | |
| PR target/106773 | |
| * btfout.cc (btf_collect_datasec): Correct size of void entries. | |
| (btf_dvd_emit_preprocess_cb): Do not skip emitting variables which | |
| refer to void types. | |
| (btf_init_postprocess): Create 'const void' type record if needed and | |
| adjust variables to refer to it as appropriate. | |
| 2022-12-14 David Faust <david.faust@oracle.com> | |
| PR target/106773 | |
| * btfout.cc (btf_collect_datasec): Mark extern variables as such. | |
| (btf_dvd_emit_preprocess_cb): Skip non-defining extern variable decl | |
| if there is a defining decl for the same variable. | |
| (btf_asm_varent): Accomodate 'extern' linkage. | |
| 2022-12-14 Martin Jambor <mjambor@suse.cz> | |
| * ipa-sra.cc (create_parameter_descriptors): Consider the first | |
| parameter of a method safe to dereference. | |
| 2022-12-14 Martin Jambor <mjambor@suse.cz> | |
| * ipa-sra.cc (loaded_decls): Adjust comment. | |
| (scan_expr_access): Also detect assignments of address of local | |
| variables to a variable. Bail out early on SSA_NAMEs and | |
| constants as an optimization. | |
| 2022-12-14 Gaius Mulley <gaiusmod2@gmail.com> | |
| * configure.ac (HAVE_PYTHON): Test for Python3 added. | |
| * dwarf2out.cc (gen_compile_unit_die): Check language_string | |
| and language to DW_LANG_Modula2. | |
| * doc/install.texi: Add m2 as a language. | |
| (--disable-libgm2): Documented. Add make check-m2 to testing selected | |
| tests. | |
| * doc/sourcebuild.texi (GM2): New prerequisite item. | |
| (Python3 modules) New item. | |
| (libgm2) Added. | |
| (gcc/m2) Added. | |
| * configure: Rebuilt. | |
| * config.in: Rebuilt. | |
| * doc/gm2.texi: New file. | |
| 2022-12-14 Martin Jambor <mjambor@suse.cz> | |
| * doc/invoke.texi (ipa-sra-ptrwrap-growth-factor): Fix the | |
| description. | |
| * params.opt (ipa-sra-ptrwrap-growth-factor): Likewise. | |
| 2022-12-14 Tamar Christina <tamar.christina@arm.com> | |
| PR target/107988 | |
| * config/aarch64/aarch64.cc | |
| (aarch64_vectorize_can_special_div_by_constant): Ensure input and output | |
| RTL are registers. | |
| 2022-12-14 Martin Liska <mliska@suse.cz> | |
| * doc/invoke.texi: Document ipa-sra-ptrwrap-growth-factor. | |
| 2022-12-14 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107617 | |
| * tree-ssa-sccvn.cc (vn_walk_cb_data::push_partial_def): | |
| Handle negative pd.rhs_off. | |
| (vn_reference_lookup_3): Properly provide pd.rhs_off | |
| for .LEN_STORE on big-endian targets. | |
| 2022-12-13 Martin Jambor <mjambor@suse.cz> | |
| * ipa-param-manipulation.cc | |
| (ipa_param_body_adjustments::modify_expression): Bail out early if | |
| there are no replacements. | |
| (ipa_param_body_adjustments::modify_assignment): Likewise. | |
| 2022-12-13 Martin Jambor <mjambor@suse.cz> | |
| * ipa-sra.cc (isra_param_desc): New fields safe_size, | |
| conditionally_dereferenceable and safe_size_set. | |
| (struct gensum_param_desc): New field conditionally_dereferenceable. | |
| (struct isra_param_flow): Updated comment of field unit_size. | |
| (ipa_sra_function_summaries::duplicate): Copy the new fields. | |
| (isra_call_summary::dump): Dump unit_size when representing safe_size. | |
| (dump_gensum_param_descriptor): Dump new flag. | |
| (dump_isra_param_descriptor): Dump new fields. | |
| (isra_analyze_call): Fill unit_size when it represents known safe | |
| size. | |
| (check_gensum_access): Instead of disqualifying pointers which are not | |
| always dereference, mark them as conditionally dereferencable if loads | |
| are frequent enough. | |
| (process_scan_results): Copy the conditionally_dereferenceable flag. | |
| (isra_write_node_summary): Stream new fields, or assert they are not | |
| initialized yet. | |
| (isra_read_node_info): Stream new fields. | |
| (update_safe_size): New function. | |
| (propagate_param_hints_accross_call): Propagate safe_sizes. | |
| (propagate_hints_to_all_callees): New function. | |
| (adjust_parameter_descriptions): Check conditionally_dereferenceable | |
| candidates, rework dumping. | |
| (ipa_sra_analysis): Move most of hint propagation for one node to | |
| propagate_hints_to_all_callees. Add another loop to stabilize within | |
| SCCs and another one to verify. | |
| 2022-12-13 Martin Jambor <mjambor@suse.cz> | |
| * ipa-sra.cc (isra_param_desc): New field not_specially_constructed. | |
| (struct isra_param_flow): New field constructed_for_calls. | |
| (isra_call_summary::dump): Dump the new flag. | |
| (loaded_decls): New variable. | |
| (dump_isra_param_descriptor): New parameter hints, dump | |
| not_specially_constructed if it is true. | |
| (dump_isra_param_descriptors): New parameter hints, pass it to | |
| dump_isra_param_descriptor. | |
| (ipa_sra_function_summaries::duplicate): Duplicate new flag. | |
| (create_parameter_descriptors): Adjust comment. | |
| (get_gensum_param_desc): Bail out when decl2desc is NULL. | |
| (scan_expr_access): Add loaded local variables to loaded_decls. | |
| (scan_function): Survive if final_bbs is NULL. | |
| (isra_analyze_call): Compute constructed_for_calls flag. | |
| (process_scan_results): Be optimistic about size limits. Do not dump | |
| computed param hints when dumpint IPA-SRA structures. | |
| (isra_write_edge_summary): Stream constructed_for_calls. | |
| (isra_read_edge_summary): Likewise. | |
| (ipa_sra_dump_all_summaries): New parameter hints, pass it to | |
| dump_isra_param_descriptor. | |
| (flip_all_hints_pessimistic): New function. | |
| (flip_all_param_hints_pessimistic): Likewise. | |
| (propagate_param_hints): Likewise. | |
| (disable_unavailable_parameters): Renamed to | |
| adjust_parameter_descriptions. Expand size limits for parameters | |
| which are specially contstructed by all callers. Check limits again.p | |
| (ipa_sra_analysis): Pass required hints to ipa_sra_dump_all_summaries. | |
| Add hint propagation. | |
| (ipa_sra_summarize_function): Initialize and destory loaded_decls, | |
| rearrange so that scan_function is called even when there are no | |
| candidates. | |
| * params.opt (ipa-sra-ptrwrap-growth-factor): New parameter. | |
| 2022-12-13 Martin Jambor <mjambor@suse.cz> | |
| * ipa-sra.cc (ipa_sra_analysis): Move top-down analysis before | |
| bottom-up analysis. Replace FOR_EACH_VEC_ELT with C++11 iteration. | |
| 2022-12-13 Martin Jambor <mjambor@suse.cz> | |
| PR ipa/103585 | |
| * params.opt (ipa-sra-deref-prob-threshold): New parameter. | |
| * doc/invoke.texi (ipa-sra-deref-prob-threshold): Document it. | |
| * ipa-sra.cc (struct gensum_param_access): New field load_count. | |
| (struct gensum_param_desc): New field safe_ref, adjusted comments. | |
| (by_ref_count): Renamed to unsafe_by_ref_count, adjusted all uses. | |
| (dump_gensum_access): Dump the new field. | |
| (dump_gensum_param_descriptor): Likewise. | |
| (create_parameter_descriptors): Set safe_ref field, move setting | |
| by_ref forward. Only increment unsafe_by_ref_count for unsafe | |
| by_ref parameters. | |
| (allocate_access): Initialize new field. | |
| (mark_param_dereference): Adjust indentation. Only add data to | |
| bb_dereferences for unsafe by_ref parameters. | |
| (scan_expr_access): For loads, accumulate BB counts. | |
| (dereference_probable_p): New function. | |
| (check_gensum_access): Fix leading comment, add parameter FUN. | |
| Check cumulative counts of loads for safe by_ref accesses instead | |
| of dereferences. | |
| (process_scan_results): Do not propagate dereference distances for | |
| safe by_ref parameters. Pass fun to check_gensum_access. Safe | |
| by_ref params do not need the postdominance check. | |
| 2022-12-13 Martin Jambor <mjambor@suse.cz> | |
| * ipa-cp.cc (clone_for_param_removal_p): New function. | |
| (estimate_local_effects): Call it before considering cloning | |
| just to remove unused parameters. | |
| 2022-12-13 Martin Jambor <mjambor@suse.cz> | |
| PR ipa/103227 | |
| * ipa-param-manipulation.h (class ipa_param_adjustments): Removed | |
| member function get_updated_index_or_split. | |
| (class ipa_param_body_adjustments): New overload of | |
| register_replacement, new member function append_init_stmts, new | |
| member m_split_agg_csts_inits. | |
| * ipa-param-manipulation.cc: Include ipa-prop.h. | |
| (ipa_param_adjustments::get_updated_index_or_split): Removed. | |
| (ipa_param_body_adjustments::register_replacement): New overload, use | |
| it from the older one. | |
| (ipa_param_body_adjustments::common_initialization): Added the | |
| capability to create replacements for conflicting IPA-CP discovered | |
| constants. | |
| (ipa_param_body_adjustments::ipa_param_body_adjustments): Construct | |
| the new member. | |
| (ipa_param_body_adjustments::append_init_stmts): New function. | |
| * ipa-sra.cc: Include ipa-prop.h. | |
| (push_param_adjustments_for_index): Require IPA-CP transformation | |
| summary as a parameter, do not create replacements which are known to | |
| have constant values. | |
| (process_isra_node_results): Find and pass to the above function the | |
| IPA-CP transformation summary. | |
| * ipa-prop.cc (adjust_agg_replacement_values): Remove the | |
| functionality replacing IPA-SRA created scalar parameters with | |
| constants. Simplify, do not require parameter descriptors, do not | |
| return anything. | |
| (ipcp_transform_function): Simplify now that | |
| adjust_agg_replacement_values does not change cfg. Move definition | |
| and initialization of descriptors lower. | |
| * tree-inline.cc (tree_function_versioning): Call append_init_stmts of | |
| param_body_adjs, if there are any. | |
| 2022-12-13 Martin Jambor <mjambor@suse.cz> | |
| * ipa-prop.cc (useful_ipcp_transformation_info_p): New function. | |
| (write_ipcp_transformation_info): Added a parameter, simplified | |
| given that is known not to be NULL. | |
| (ipcp_write_transformation_summaries): Write out all useful | |
| transformation summaries. | |
| (read_ipcp_transformation_info): Simplify given that some info | |
| will be read. | |
| (read_replacements_section): Remove assert. | |
| * lto-cgraph.cc (add_node_to): Also set encode_body for clones. | |
| * lto-streamer-out.cc (lto_output): Do not output virtual clones. | |
| 2022-12-13 Jakub Jelinek <jakub@redhat.com> | |
| PR target/108044 | |
| * config/i386/i386.md (*concat<half><mode>3_5, *concat<mode><dwi>3_6, | |
| *concat<mode><dwi>3_7): Split alternative with =ro output constraint | |
| into =r,o,o and use Wd input constraint for the last alternative which | |
| is enabled for TARGET_64BIT. Reject ix86_endbr_immediate_operand | |
| in the input constant. | |
| 2022-12-13 Tamar Christina <tamar.christina@arm.com> | |
| * config/aarch64/aarch64.md (tbranch_<code><mode>3): Use gen_int_mode. | |
| 2022-12-13 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/108064 | |
| * tree-vect-patterns.cc (vect_recog_rotate_pattern): Pass uvectype | |
| as 4th argument to append_pattern_def_seq for statements with lhs | |
| with utype type. | |
| 2022-12-13 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/105801 | |
| * tree-ssa-ccp.cc (likely_value): .DEFERRED_INIT produces | |
| UNDEFINED. | |
| * doc/invoke.texi (ftrivial-auto-var-init): Explicitely | |
| mention we treat variables without an initializer as | |
| undefined also for optimization purposes. | |
| 2022-12-13 Tom Tromey <tom@tromey.com> | |
| Mark Wielaard <mark@klomp.org> | |
| Marc Poulhiès <dkm@kataplop.net> | |
| * dwarf2out.cc (is_rust): New. | |
| (base_type_die): Use DW_ATE_UTF for the Rust 'char' type. | |
| (gen_compile_unit_die): Handle "GNU Rust". | |
| 2022-12-13 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/108076 | |
| * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks | |
| with non-local or forced labels that we later remove | |
| labels from. | |
| 2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org> | |
| * config/rs6000/rs6000.md (cbranchcc4): New expander. | |
| 2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org> | |
| * optabs.cc (prepare_cmp_insn): Return a NULL rtx other than | |
| assertion failure when targets don't have cbranch optab or | |
| predicate check fails. | |
| 2022-12-12 Wilco Dijkstra <wilco.dijkstra@arm.com> | |
| * config/aarch64/aarch64.cc (aarch64_rtx_costs): Add correct costs | |
| for 24-bit and 12-bit shifted immediate add/sub. | |
| (TARGET_CONST_ANCHOR): Define. | |
| * config/aarch64/predicates.md (aarch64_pluslong_immediate): | |
| Fix range check. | |
| 2022-12-12 Tamar Christina <tamar.christina@arm.com> | |
| * match.pd: Add new rule. | |
| 2022-12-12 Tamar Christina <tamar.christina@arm.com> | |
| * config/aarch64/aarch64.cc (aarch64_can_change_mode_class): Restrict | |
| conversions between partial struct types properly. | |
| 2022-12-12 Tamar Christina <tamar.christina@arm.com> | |
| * config/aarch64/aarch64.md (*tb<optab><mode>1): Rename to... | |
| (*tb<optab><ALLI:mode><GPI:mode>1): ... this. | |
| (tbranch_<code><mode>4): New. | |
| * config/aarch64/iterators.md(ZEROM, zerom): New. | |
| 2022-12-12 Tamar Christina <tamar.christina@arm.com> | |
| * dojump.cc (do_jump): Pass along value. | |
| (do_jump_by_parts_greater_rtx): Likewise. | |
| (do_jump_by_parts_zero_rtx): Likewise. | |
| (do_jump_by_parts_equality_rtx): Likewise. | |
| (do_compare_rtx_and_jump): Likewise. | |
| (do_compare_and_jump): Likewise. | |
| * dojump.h (do_compare_rtx_and_jump): New. | |
| * optabs.cc (emit_cmp_and_jump_insn_1): Refactor to take optab to check. | |
| (validate_test_and_branch): New. | |
| (emit_cmp_and_jump_insns): Optiobally take a value, and when value is | |
| supplied then check if it's suitable for tbranch. | |
| * optabs.def (tbranch_eq$a4, tbranch_ne$a4): New. | |
| * doc/md.texi (tbranch_@var{op}@var{mode}4): Document it. | |
| * optabs.h (emit_cmp_and_jump_insns): New. | |
| * tree.h (tree_zero_one_valued_p): New. | |
| 2022-12-12 Tamar Christina <tamar.christina@arm.com> | |
| * config/aarch64/aarch64-simd.md (*aarch64_simd_movv2hf): New. | |
| (mov<mode>, movmisalign<mode>, aarch64_dup_lane<mode>, | |
| aarch64_store_lane0<mode>, aarch64_simd_vec_set<mode>, | |
| @aarch64_simd_vec_copy_lane<mode>, vec_set<mode>, | |
| reduc_<optab>_scal_<mode>, reduc_<fmaxmin>_scal_<mode>, | |
| aarch64_reduc_<optab>_internal<mode>, aarch64_get_lane<mode>, | |
| vec_init<mode><Vel>, vec_extract<mode><Vel>): Support V2HF. | |
| (aarch64_simd_dupv2hf): New. | |
| * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): | |
| Add E_V2HFmode. | |
| * config/aarch64/iterators.md (VHSDF_P): New. | |
| (V2F, VMOVE, nunits, Vtype, Vmtype, Vetype, stype, VEL, | |
| Vel, q, vp): Add V2HF. | |
| * config/arm/types.md (neon_fp_reduc_add_h): New. | |
| 2022-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define | |
| __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI when appropriate. | |
| * config/aarch64/aarch64.h (TARGET_BTI): Define. | |
| 2022-12-12 Richard Biener <rguenther@suse.de> | |
| * genmatch.cc (dt_simplify::gen): Revert last change. | |
| * match.pd: Revert simplification of CONSTUCTOR leaf handling. | |
| (&x cmp SSA_NAME): Handle ADDR_EXPR in SSA defs. | |
| * fold-const.cc (split_address_to_core_and_offset): Handle | |
| ADDR_EXPRs in SSA defs. | |
| (address_compare): Likewise. | |
| 2022-12-12 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/89317 | |
| * tree-ssa-ccp.cc (ccp_fold): Handle GIMPLE_COND via | |
| gimple_fold_stmt_to_constant_1. | |
| * match.pd (&a != &a + c): Apply to pointer_plus with non-ADDR_EXPR | |
| base as well. | |
| 2022-12-11 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/89317 | |
| * match.pd ((p + b) - &p->c -> b - offsetof(c)): New patterns. | |
| 2022-12-11 Richard Biener <rguenther@suse.de> | |
| * genmatch.cc (dt_node::gen_kids): Handle ADDR_EXPR in both | |
| the GENERIC and GIMPLE op position. | |
| (dt_simplify::gen): Capture both GENERIC and GIMPLE op | |
| position for ADDR_EXPR and CONSTRUCTOR. | |
| * match.pd: Simplify CONSTRUCTOR leaf handling. | |
| 2022-12-11 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106904 | |
| * tree.h (strip_zero_offset_components): Declare. | |
| * tree.cc (strip_zero_offset_components): Define. | |
| * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref): | |
| Strip zero offset components before building the address. | |
| 2022-12-10 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107997 | |
| * tree-ssa-loop-ivopts.cc: Include cfganal.h. | |
| (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends | |
| with a stmt which ends bb, instead of adding iv update after it split | |
| the latch edge and insert iterator into the new latch bb. | |
| 2022-12-09 Jiufu Guo <guojiufu@linux.ibm.com> | |
| * config/rs6000/rs6000.cc (rs6000_emit_set_const): Remove copy_rtx. | |
| (rs6000_emit_set_long_const): Likewise. | |
| 2022-12-09 Martin Liska <mliska@suse.cz> | |
| * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path | |
| as for PR103661. | |
| * doc/extend.texi: Fix "x86-64" use. | |
| 2022-12-09 Sebastian Huber <sebastian.huber@embedded-brains.de> | |
| * config/rtems.h (SUBTARGET_CC1_SPEC): Rename to... | |
| (OS_CC1_SPEC): ...this. | |
| * gcc.cc (SUBTARGET_CC1_SPEC): Rename to... | |
| (OS_CC1_SPEC): ...this. | |
| 2022-12-09 David Malcolm <dmalcolm@redhat.com> | |
| * Makefile.in (ANALYZER_OBJS): Update for renaming of | |
| analyzer/region-model-impl-calls.cc to analyzer/kf.cc. | |
| 2022-12-09 liuhongt <hongtao.liu@intel.com> | |
| * doc/invoke.texi (x86 options): Document | |
| -mlam={none,u48,u57}. | |
| * config/i386/i386-opts.h (enum lam_type): New enum. | |
| * config/i386/i386.cc (ix86_memtag_can_tag_addresses): New. | |
| (ix86_memtag_set_tag): Ditto. | |
| (ix86_memtag_extract_tag): Ditto. | |
| (ix86_memtag_add_tag): Ditto. | |
| (ix86_memtag_tag_size): Ditto. | |
| (ix86_memtag_untagged_pointer): Ditto. | |
| (TARGET_MEMTAG_CAN_TAG_ADDRESSES): New. | |
| (TARGET_MEMTAG_ADD_TAG): Ditto. | |
| (TARGET_MEMTAG_SET_TAG): Ditto. | |
| (TARGET_MEMTAG_EXTRACT_TAG): Ditto. | |
| (TARGET_MEMTAG_UNTAGGED_POINTER): Ditto. | |
| (TARGET_MEMTAG_TAG_SIZE): Ditto. | |
| (IX86_HWASAN_SHIFT): Ditto. | |
| (IX86_HWASAN_TAG_SIZE): Ditto. | |
| * config/i386/i386-expand.cc (ix86_expand_call): Untag code | |
| pointer. | |
| * config/i386/i386-options.cc (ix86_option_override_internal): | |
| Error when enable -mlam=[u48|u57] for 32-bit code. | |
| * config/i386/i386.opt: Add -mlam=[none|u48|u57]. | |
| * config/i386/i386-protos.h (ix86_memtag_untagged_pointer): | |
| Declare. | |
| (ix86_memtag_can_tag_addresses): Ditto. | |
| 2022-12-08 Marek Polacek <polacek@redhat.com> | |
| * doc/invoke.texi (-fsanitize=address): Suggest options to improve | |
| stack traces. | |
| 2022-12-08 Eugene Rozenfeld <erozen@microsoft.com> | |
| PR ipa/108000 | |
| * ipa-cp.cc (ipcp_propagate_stage): Fix profile count comparison | |
| 2022-12-08 David Faust <david.faust@oracle.com> | |
| * config/bpf/bpf.md (bswap<mode>2): New define_insn. | |
| 2022-12-08 Sebastian Pop <spop@amazon.com> | |
| PR target/98776 | |
| * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area): | |
| Declared. | |
| * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry): | |
| Emit an UNSPECV_PATCHABLE_AREA pseudo instruction. | |
| (aarch64_output_patchable_area): New. | |
| * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New. | |
| (patchable_area): Define. | |
| 2022-12-08 Jakub Jelinek <jakub@redhat.com> | |
| PR debug/106719 | |
| * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between | |
| debug_insn (seen after flow_transfer_insn) and insn, move NOTEs | |
| before all the DEBUG_INSNs and split after NOTEs. If there are | |
| other insns like jump table data, clear debug_insn. | |
| 2022-12-08 Jakub Jelinek <jakub@redhat.com> | |
| PR target/107627 | |
| * config/i386/i386.md (HALF, half): New mode attributes. | |
| (*concat<half><mode>3_5, *concat<mode><dwi>3_6, | |
| *concat<mode><dwi>3_7): New define_insn_and_split patterns. | |
| 2022-12-08 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/107985 | |
| * gimple-range-op.cc | |
| (gimple_range_op_handler::gimple_range_op_handler): Check if type | |
| of the operands is supported. | |
| * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Do | |
| not assert if here is no range-op handler. | |
| 2022-12-08 Jiufu Guo <guojiufu@linux.ibm.com> | |
| * config/rs6000/predicates.md: Use sext_hwi. | |
| * config/rs6000/rs6000.cc (num_insns_constant_gpr): Likewise. | |
| (darwin_rs6000_legitimate_lo_sum_const_p): Likewise. | |
| (mem_operand_gpr): Likewise. | |
| (mem_operand_ds_form): Likewise. | |
| (rs6000_legitimize_address): Likewise. | |
| (rs6000_emit_set_const): Likewise. | |
| (rs6000_emit_set_long_const): Likewise. | |
| (print_operand): Likewise. | |
| (constant_generates_xxspltiw): Remove unnecessary expressions. | |
| * config/rs6000/rs6000.md: Use sext_hwi. | |
| 2022-12-08 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107699 | |
| * match.pd (&a !=/== &a.b + c -> (&a - &a.b) !=/== c): New | |
| pattern variant. | |
| 2022-12-08 Jakub Jelinek <jakub@redhat.com> | |
| * range-op-float.cc (frange_nextafter): For MODE_COMPOSITE_P from | |
| denormal or zero, use real_nextafter on DFmode with conversions | |
| around it. | |
| (frange_arithmetic): For mode_composite, on top of rounding in the | |
| right direction accept extra 1ulp error for PLUS/MINUS_EXPR, extra | |
| 2ulps error for MULT_EXPR and extra 3ulps error for RDIV_EXPR. | |
| 2022-12-08 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107967 | |
| * range-op-float.cc (frange_arithmetic): Fix a thinko - if | |
| inf is negative, use nextafter if !real_less (&result, &value) | |
| rather than if real_less (&result, &value). If result is +-INF | |
| while value is finite and -fno-rounding-math, don't do rounding | |
| if !inexact or if result is significantly above max representable | |
| value or below min representable value. | |
| 2022-12-07 Max Filippov <jcmvbkbc@gmail.com> | |
| * config.gcc (xtensa*-*-*): Add xtensa-dynconfig.o to extra_objs. | |
| * config/xtensa/t-xtensa (TM_H): Add xtensa-dynconfig.h. | |
| (xtensa-dynconfig.o): New rule. | |
| * config/xtensa/xtensa-dynconfig.c: New file. | |
| * config/xtensa/xtensa-protos.h (xtensa_get_config_strings): New | |
| declaration. | |
| * config/xtensa/xtensa.h (xtensa-config.h): Replace #include | |
| with xtensa-dynconfig.h | |
| (XCHAL_HAVE_MUL32_HIGH, XCHAL_HAVE_RELEASE_SYNC) | |
| (XCHAL_HAVE_S32C1I, XCHAL_HAVE_THREADPTR) | |
| (XCHAL_HAVE_FP_POSTINC): Drop definitions. | |
| (TARGET_DIV32): Replace with __XCHAL_HAVE_DIV32. | |
| (TARGET_CPU_CPP_BUILTINS): Add new 'builtin' variable and loop | |
| through string array returned by the xtensa_get_config_strings | |
| function call. | |
| 2022-12-07 Wilco Dijkstra <wilco.dijkstra@arm.com> | |
| PR target/108006 | |
| * config/aarch64/aarch64.cc (aarch64_expand_sve_const_vector): | |
| Fix call to aarch64_move_imm to use SI/DI. | |
| 2022-12-07 Richard Biener <rguenther@suse.de> | |
| PR ipa/105676 | |
| * ipa-pure-const.cc (ipa_make_function_pure): Skip also | |
| for functions already being const. | |
| 2022-12-07 Hongyu Wang <hongyu.wang@intel.com> | |
| * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add | |
| m_SAPPHIRERAPIDS, m_ALDERLAKE and m_CORE_ATOM. | |
| 2022-12-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
| PR target/107920 | |
| * config/aarch64/aarch64-sve-builtins-base.cc: Use | |
| gsi_replace_with_seq_vops to handle virtual operands, and gate | |
| the transform on !flag_non_call_exceptions. | |
| * gimple-fold.cc (gsi_replace_with_seq_vops): Make function non static. | |
| * gimple-fold.h (gsi_replace_with_seq_vops): Declare. | |
| 2022-12-07 liuhongt <hongtao.liu@intel.com> | |
| PR target/107970 | |
| * config/i386/mmx.md (btruncv2sf2): Add TARGET_MMX_WITH_SSE to | |
| the condition. | |
| 2022-12-06 Wilco Dijkstra <wilco.dijkstra@arm.com> | |
| * config/aarch64/aarch64.cc (aarch64_bitmask_imm): Use unsigned type. | |
| (aarch64_is_mov_xn_imm): New function. | |
| (aarch64_move_imm): Refactor, assert mode is SImode or DImode. | |
| (aarch64_internal_mov_immediate): Assert mode is SImode or DImode. | |
| Simplify special cases. | |
| (aarch64_uimm12_shift): Simplify code. | |
| (aarch64_clamp_to_uimm12_shift): Likewise. | |
| (aarch64_movw_imm): Rename to aarch64_is_movz. | |
| (aarch64_float_const_rtx_p): Pass either SImode or DImode to | |
| aarch64_internal_mov_immediate. | |
| (aarch64_rtx_costs): Likewise. | |
| * config/aarch64/aarch64.md (movdi_aarch64): Merge 'N' and 'M' | |
| constraints into single 'O'. | |
| (mov<mode>_aarch64): Likewise. | |
| * config/aarch64/aarch64-protos.h (aarch64_move_imm): Use unsigned. | |
| (aarch64_bitmask_imm): Likewise. | |
| (aarch64_uimm12_shift): Likewise. | |
| (aarch64_is_mov_xn_imm): New prototype. | |
| * config/aarch64/constraints.md: Add 'O' for 32/64-bit immediates, | |
| limit 'N' to 64-bit only moves. | |
| 2022-12-06 Qing Zhao <qing.zhao@oracle.com> | |
| * attribs.cc (strict_flex_array_level_of): New function. | |
| * attribs.h (strict_flex_array_level_of): Prototype for new function. | |
| * doc/invoke.texi: Update -Warray-bounds by specifying the impact from | |
| -fstrict-flex-arrays. Also update -Warray-bounds=2 by eliminating its | |
| impact on treating trailing arrays as flexible array members. | |
| * gimple-array-bounds.cc (get_up_bounds_for_array_ref): New function. | |
| (check_out_of_bounds_and_warn): New function. | |
| (array_bounds_checker::check_array_ref): Update with call to the above | |
| new functions. | |
| * tree.cc (array_ref_flexible_size_p): Add one new argument. | |
| (component_ref_sam_type): New function. | |
| (component_ref_size): Control with level of strict-flex-array. | |
| * tree.h (array_ref_flexible_size_p): Update prototype. | |
| (enum struct special_array_member): Add two new enum values. | |
| (component_ref_sam_type): New prototype. | |
| 2022-12-06 David Malcolm <dmalcolm@redhat.com> | |
| * doc/analyzer.texi: Drop out-of-date ideas for other checkers. | |
| 2022-12-06 David Malcolm <dmalcolm@redhat.com> | |
| * Makefile.in (ANALYZER_OBJS): Add analyzer/call-details.o, | |
| analyzer/kf-analyzer.o, and kf-lang-cp.o. | |
| 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com> | |
| * gimplify.cc (optimize_target_teams): Set initial num_teams_upper | |
| to "-2" instead of "1" for non-existing num_teams clause in order to | |
| disambiguate from the case of an existing num_teams clause with value 1. | |
| 2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
| PR target/107987 | |
| * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>, | |
| @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar | |
| operand. | |
| 2022-12-06 Jakub Jelinek <jakub@redhat.com> | |
| PR target/107969 | |
| * config/i386/i386.md (cbranchbf4, cstorebf4): Guard expanders | |
| with the same condition as cbranchsf4 or cstoresf4 expanders. | |
| 2022-12-06 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/104475 | |
| * pointer-query.h (access_ref::ref_nullptr_p): New flag. | |
| * pointer-query.cc (access_ref::access_ref): Initialize | |
| ref_nullptr_p. | |
| (compute_objsize_r): Set ref_nullptr_p if we treat it that way. | |
| (access_ref::inform_access): If ref was treated as nullptr | |
| based, indicate that. | |
| 2022-12-06 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107972 | |
| * range-op-float.cc (frange_drop_infs): New function. | |
| (float_binary_op_range_finish): Add DIV_OP2 argument. If DIV_OP2 is | |
| false and lhs is finite or if DIV_OP2 is true and lhs is non-zero and | |
| not NAN, r must be finite too. | |
| (foperator_div::op2_range): Pass true to DIV_OP2 of | |
| float_binary_op_range_finish. | |
| 2022-12-06 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107975 | |
| * range-op-float.cc (foperator_mult::op1_range, | |
| foperator_div::op1_range, foperator_div::op2_range): Just | |
| return float_binary_op_range_finish result if lhs is known | |
| NAN, or the other operand is known NAN or UNDEFINED. | |
| 2022-12-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
| * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Use dup | |
| and zip1 for interleaving elements in vector initializer. | |
| 2022-12-05 Richard Biener <rguenther@suse.de> | |
| PR middle-end/40635 | |
| * tree-into-ssa.cc (rewrite_update_phi_arguments): Only | |
| update the argument when the reaching definition is different | |
| from the current argument. Keep an existing argument | |
| location. | |
| 2022-12-05 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106868 | |
| * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref): | |
| Inline into single user ... | |
| (pass_waccess::check_dangling_uses): ... here and adjust the | |
| call and the PHI case to require that ref.aref is the address | |
| of the decl. | |
| 2022-12-05 Jakub Jelinek <jakub@redhat.com> | |
| PR middle-end/106805 | |
| * match.pd (cmp @0 REAL_CST@1): Don't optimize x cmp NaN | |
| or NaN cmp x to false/true for cmp >/>=/</<= if -ftrapping-math. | |
| 2022-12-05 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107879 | |
| * range-op-float.cc (foperator_mult::op1_range): If both | |
| lhs and op2 ranges contain zero or both ranges contain | |
| some infinity, set r range to zero_to_inf_range depending on | |
| signbit_known_p. | |
| (foperator_div::op2_range): Similarly for lhs and op1 ranges. | |
| (foperator_div::op1_range): If lhs range contains zero and op2 | |
| range contains some infinity or vice versa, set r range to | |
| zero_to_inf_range depending on signbit_known_p. | |
| (foperator_div::rv_fold): Fix up condition for returning known NAN. | |
| 2022-12-05 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107833 | |
| PR tree-optimization/107839 | |
| * cfghooks.cc: Include tree.h. | |
| * tree-ssa-loop-im.cc (movement_possibility): Wrap and | |
| make stmts using any ssa_name_maybe_undef_p operand | |
| to preserve execution. | |
| (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs | |
| to init maybe-undefined status. | |
| * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p, | |
| ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p, | |
| mark_ssa_maybe_undefs): Move ... | |
| * tree-ssa.cc: ... here. | |
| * tree-ssa.h (ssa_name_any_use_dominates_bb_p, | |
| mark_ssa_maybe_undefs): Declare. | |
| (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define. | |
| 2022-12-05 Andrew Pinski <pinskia@gmail.com> | |
| PR tree-optimization/107956 | |
| * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern): | |
| Check for NULL LHS on masked loads. | |
| 2022-12-05 Kewen Lin <linkw@linux.ibm.com> | |
| Richard Sandiford <richard.sandiford@arm.com> | |
| PR tree-optimization/107412 | |
| * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use | |
| untruncated type for the length, and avoid to_constant and tree | |
| arithmetic for subtraction. | |
| 2022-12-02 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | |
| Jason Merrill <jason@redhat.com> | |
| * function.cc (init_function_start): Use DECL_RESULT location | |
| for -Waggregate-return warning. | |
| 2022-12-02 Andrew MacLeod <amacleod@redhat.com> | |
| * fold-const.cc (fold_unary_loc): Check TREE_TYPE of node. | |
| (tree_invalid_nonnegative_warnv_p): Likewise. | |
| 2022-12-02 Jason Merrill <jason@redhat.com> | |
| * gcc.cc (validate_switches): Reset suffix/starred on loop. | |
| 2022-12-02 Vladimir N. Makarov <vmakarov@redhat.com> | |
| * lra-constraints.cc (curr_insn_transform): Check available hard | |
| regs for pseudo and its subreg to decide what to reload. | |
| 2022-12-02 liuhongt <hongtao.liu@intel.com> | |
| * config/i386/i386-expand.cc | |
| (ix86_expand_fast_convert_bf_to_sf): Use extendbfsf2_1 for | |
| nonimmediate operand. | |
| 2022-12-02 Martin Liska <mliska@suse.cz> | |
| * configure: Regenerate. | |
| 2022-12-02 Jakub Jelinek <jakub@redhat.com> | |
| PR target/106577 | |
| * config/i386/i386-expand.cc (ix86_vector_duplicate_value): Save/restore | |
| recog_data around recog_memoized calls. | |
| 2022-12-02 Michael Collison <collison@rivosinc.com> | |
| * match.pd ((x & 0x1) == 0) ? y : z <op> y | |
| -> (-(typeof(y))(x & 0x1) & z) <op> y. | |
| 2022-12-02 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107946 | |
| * params.opt (-param=max-unswitch-depth=): New. | |
| * doc/invoke.texi (--param=max-unswitch-depth): Document. | |
| * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): Honor | |
| --param=max-unswitch-depth | |
| 2022-12-02 Eric Gallager <egallager@gcc.gnu.org> | |
| PR bootstrap/59447 | |
| * configure: Regenerate. | |
| * configure.ac: Document --with-dwarf2 flag as also | |
| applying to later DWARF standards. | |
| * doc/install.texi: Likewise. | |
| 2022-12-02 liuhongt <hongtao.liu@intel.com> | |
| PR target/107934 | |
| * config/i386/i386.md (extendbfsf2_1): Change type from | |
| sseishft to sseishft1. | |
| 2022-12-01 Alex Coplan <alex.coplan@arm.com> | |
| * varasm.cc (assemble_variable): Fix type confusion bug when | |
| checking for ".vtable_map_vars" section. | |
| 2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-v.cc (emit_pred_op): Adapt for mask mode. | |
| * config/riscv/vector.md: Remove Tail && make policy operand for mask mode mov. | |
| 2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-protos.h (enum vlmul_type): New enum. | |
| (get_vlmul): New function. | |
| (get_ratio): Ditto. | |
| * config/riscv/riscv-v.cc (struct mode_vtype_group): New struct. | |
| (ENTRY): Adapt for attributes. | |
| (enum vlmul_type): New enum. | |
| (get_vlmul): New function. | |
| (get_ratio): New function. | |
| * config/riscv/riscv-vector-switch.def (ENTRY): Adapt for attributes. | |
| * config/riscv/riscv.cc (ENTRY): Ditto. | |
| * config/riscv/vector.md (false,true): Add attributes. | |
| 2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/constraints.md (Wdm): New constraint. | |
| * config/riscv/predicates.md (direct_broadcast_operand): New predicate. | |
| * config/riscv/riscv-protos.h (RVV_VLMAX): New macro. | |
| (emit_pred_op): Refine function. | |
| * config/riscv/riscv-selftests.cc (run_const_vector_selftests): New function. | |
| (run_broadcast_selftests): Ditto. | |
| (BROADCAST_TEST): New tests. | |
| (riscv_run_selftests): More tests. | |
| * config/riscv/riscv-v.cc (emit_pred_move): Refine function. | |
| (emit_vlmax_vsetvl): Ditto. | |
| (emit_pred_op): Ditto. | |
| (expand_const_vector): New function. | |
| (legitimize_move): Add constant vector support. | |
| * config/riscv/riscv.cc (riscv_print_operand): New asm print rule for const vector. | |
| * config/riscv/riscv.h (X0_REGNUM): New macro. | |
| * config/riscv/vector-iterators.md: New attribute. | |
| * config/riscv/vector.md (vec_duplicate<mode>): New pattern. | |
| (@pred_broadcast<mode>): New pattern. | |
| 2022-12-01 Paul-Antoine Arras <pa@codesourcery.com> | |
| * config/gcn/gcn-opts.h (TARGET_FIJI): -march=fiji. | |
| (TARGET_VEGA10): -march=gfx900. | |
| (TARGET_VEGA20): -march=gfx906. | |
| (TARGET_GFX908): -march=gfx908. | |
| (TARGET_GFX90a): -march=gfx90a. | |
| * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Define a builtin that | |
| uniquely maps to '-march'. | |
| 2022-12-01 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107937 | |
| * gimple-predicate-analysis.h (predicate::is_true): New. | |
| (predicate::is_false): Likewise. | |
| (predicate::empty_val): Likewise. | |
| (uninit_analysis::uninit_analysis): Properly initialize | |
| def_preds. | |
| * gimple-predicate-analysis.cc (simplify_1b): Indicate | |
| whether the chain became empty. | |
| (predicate::simplify): Release emptied chain before removing it. | |
| (predicate::normalize): Replace temporary object with assertion. | |
| (uninit_analysis::is_use_guarded): Deal with predicates | |
| that simplify to true/false. | |
| 2022-12-01 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107935 | |
| * tree-ssa-sccvn.cc (visit_phi): Honor forced VARYING on | |
| backedges. | |
| 2022-12-01 Jakub Jelinek <jakub@redhat.com> | |
| PR target/107627 | |
| * config/i386/i386.md (*concat<mode><dwi>3_1, *concat<mode><dwi>3_2): | |
| For operands which are zero_extend arguments allow memory if | |
| output operand is a register. | |
| (*concat<mode><dwi>3_3, *concat<mode><dwi>3_4): Likewise. If | |
| both input operands are memory, use early clobber on output operand. | |
| * config/i386/i386-expand.cc (split_double_concat): Deal with corner | |
| cases where one input is memory and the other is not and the address | |
| of the memory input uses a register we'd overwrite before loading | |
| the memory into a register. | |
| 2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org> | |
| * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode): | |
| Corrects comments of this function and make them clear. | |
| 2022-12-01 liuhongt <hongtao.liu@intel.com> | |
| PR target/107863 | |
| * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin): | |
| Convert op1 to target mode whenever mode mismatch. | |
| 2022-12-01 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/106626 | |
| * diagnostic-path.h | |
| (diagnostic_path::get_first_event_in_a_function): New decl. | |
| * diagnostic.cc (diagnostic_path::get_first_event_in_a_function): | |
| New. | |
| (diagnostic_path::interprocedural_p): Ignore leading events that | |
| are outside of any function. | |
| 2022-12-01 David Malcolm <dmalcolm@redhat.com> | |
| * Makefile.in (ANALYZER_OBJS): Add analyzer/bounds-checking.o. | |
| 2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org> | |
| PR target/100866 | |
| * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode): | |
| Generate permute index directly for little endian targets. | |
| * config/rs6000/vsx.md (revb_<mode>): Call vprem directly with | |
| corresponding permute indexes. | |
| 2022-11-30 John David Anglin <danglin@gcc.gnu.org> | |
| * config/pa/pa.md (addvdi3): Force operand 2 to a register. | |
| Remove "addi,tsv,*" instruction from unamed pattern. | |
| (subvdi3): Force operand 1 to a register. | |
| Remove "subi,tsv" instruction from from unamed pattern. | |
| 2022-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg. | |
| (*aarch64_cpymemdi): Likewise. | |
| (aarch64_movmemdi): Likewise. | |
| (aarch64_setmemdi): Likewise. | |
| (*aarch64_setmemdi): Likewise. | |
| 2022-11-30 Martin Liska <mliska@suse.cz> | |
| * tree-switch-conversion.cc (bit_test_cluster::emit): Remove | |
| dead variable bt_range. | |
| 2022-11-30 Iskander Shakirzyanov <iskander@ispras.ru> | |
| Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
| PR driver/107787 | |
| * common.opt (Warray-bounds): Turn into alias of | |
| -Warray-bounds=1. | |
| * builtins.cc (c_strlen): Use OPT_Warray_bounds_ | |
| instead of OPT_Warray_bounds. | |
| * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Ditto. | |
| * gimple-array-bounds.cc (array_bounds_checker::check_array_ref, | |
| array_bounds_checker::check_mem_ref, | |
| array_bounds_checker::check_addr_expr, | |
| array_bounds_checker::check_array_bounds): Ditto. | |
| * gimple-ssa-warn-restrict.cc (maybe_diag_access_bounds): Ditto. | |
| 2022-11-30 Martin Liska <mliska@suse.cz> | |
| PR tree-optimization/101301 | |
| PR tree-optimization/103680 | |
| * tree-switch-conversion.cc (bit_test_cluster::emit): | |
| Handle correctly remaining probability. | |
| (switch_decision_tree::try_switch_expansion): Fix BB's count | |
| where a cluster expansion happens. | |
| (switch_decision_tree::emit_cmp_and_jump_insns): Fill up also | |
| BB count. | |
| (switch_decision_tree::do_jump_if_equal): Likewise. | |
| (switch_decision_tree::emit_case_nodes): Handle special case | |
| for BT expansion which can also fallback to a default BB. | |
| * tree-switch-conversion.h (cluster::cluster): Add | |
| m_default_prob probability. | |
| 2022-11-30 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107919 | |
| * gimple-predicate-analysis.cc (simplify_1): Rename to ... | |
| (simplify_1a): .. this. | |
| (simplify_1b): New. | |
| (predicate::simplify): Call both simplify_1a and simplify_1b. | |
| 2022-11-30 Richard Biener <rguenther@suse.de> | |
| * tree-ssa-uninit.cc (find_uninit_use): Dump the edge for a | |
| PHI node. | |
| 2022-11-30 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107919 | |
| * gimple-predicate-analysis.cc (predicate::simplify_2): | |
| Handle predicates of arbitrary length. | |
| 2022-11-30 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107835 | |
| * tree-chrec.cc (chrec_apply): Don't handle "{a, +, a} (x-1)" | |
| as "a*x" if type is a pointer type. | |
| 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com> | |
| * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Add gfx803. | |
| * config/gcn/t-omp-device: Add gfx803. | |
| 2022-11-30 Lulu Cheng <chenglulu@loongson.cn> | |
| * config/loongarch/linux.h (STACK_CHECK_MOVING_SP): | |
| Define this macro to 1. | |
| * config/loongarch/loongarch.cc (STACK_CLASH_PROTECTION_GUARD_SIZE): | |
| Size of guard page. | |
| (loongarch_first_stack_step): Return the size of the first drop stack | |
| according to whether stack checking is performed. | |
| (loongarch_emit_probe_stack_range): Adjust the method of stack checking in prologue. | |
| (loongarch_output_probe_stack_range): Delete useless code. | |
| (loongarch_expand_prologue): Adjust the method of stack checking in prologue. | |
| (loongarch_option_override_internal): Enforce that interval is the same | |
| size as size so the mid-end does the right thing. | |
| * config/loongarch/loongarch.h (STACK_CLASH_MAX_UNROLL_PAGES): | |
| New macro decide whether to loop stack detection. | |
| 2022-11-30 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/103546 | |
| * doc/invoke.texi (Static Analyzer Options): Add isatty, ferror, | |
| fileno, and getc to the list of functions known to the analyzer. | |
| 2022-11-29 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107852 | |
| * tree-ssa-sccvn.cc (visit_phi): Use equivalences recorded | |
| as predicated values to elide more redundant PHIs. | |
| 2022-11-29 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106995 | |
| * tree-if-conv.cc (pass_if_conversion::execute): Also redirect the | |
| versioning condition to the original loop if this very loop | |
| vanished during CFG cleanup. | |
| 2022-11-29 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107898 | |
| * gimple-ssa-warn-alloca.cc (alloca_call_type): Check | |
| the type of the alloca argument is compatible with size_t | |
| before querying ranges. | |
| 2022-11-29 Richard Biener <rguenther@suse.de> | |
| PR ipa/107897 | |
| * multiple_target.cc (pass_target_clone::gate): Disable | |
| after errors. | |
| 2022-11-29 Martin Liska <mliska@suse.cz> | |
| * configure: Regenerate. | |
| 2022-11-29 YunQiang Su <yunqiang.su@cipunited.com> | |
| * configure.ac: add description for | |
| AC_DEFINE(ENABLE_MULTIARCH, 1) | |
| 2022-11-28 Andrew Pinski <apinski@marvell.com> | |
| * match.pd ((A / (1 << B)) -> (A >> B).): | |
| Fix comment. | |
| 2022-11-28 Sinan <sinan.lin@linux.alibaba.com> | |
| * config/riscv/riscv.cc (riscv_build_integer): Improve some cases | |
| of loading 64bit constants for rv32. | |
| 2022-11-28 Maciej W. Rozycki <macro@embecosm.com> | |
| * config/riscv/riscv.cc (riscv_emit_int_order_test): Use EQ 0 | |
| rather that XOR 1 for LE and LEU operations. | |
| 2022-11-28 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107896 | |
| * tree-vect-stmts.cc (supportable_widening_operation): | |
| Handle non-vector mode intermediate mode. | |
| 2022-11-28 Frolov Daniil <frolov.da@phystech.edu> | |
| * gimple-ssa-sprintf.cc (fmtresult::type_max_digits): Handle | |
| base == 2. | |
| (tree_digits): Likewise. | |
| (format_integer): Likewise. | |
| (parse_directive): Add cases for %b and %B directives. | |
| 2022-11-28 Fei Gao <gaofei@eswincomputing.com> | |
| * config/riscv/riscv.cc (riscv_first_stack_step): Fix computation | |
| of MIN_FIRST_STEP to cover FP save area too. | |
| 2022-11-28 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107493 | |
| * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr): | |
| Only handle no-op and sign-changing conversions. | |
| 2022-11-28 Tobias Burnus <tobias@codesourcery.com> | |
| * config/gcn/gcn.cc (gcn_expand_builtin_1): Work on s1 instead | |
| of s[0:1] and use USE to prevent removal of setting that register. | |
| * config/gcn/gcn.md (prologue_use_di): Remove. | |
| 2022-11-28 Yuri Gribov <y.gribov@samsung.com> | |
| PR sanitizer/106558 | |
| * sanopt.cc: Do not optimize out checks for non-SSA addresses. | |
| 2022-11-28 Jakub Jelinek <jakub@redhat.com> | |
| PR target/106875 | |
| * config/i386/i386.opt (x_ix86_abi): Remove TargetSave. | |
| (ix86_abi): Replace it with TargetVariable. | |
| * config/i386/i386-options.cc (ix86_function_specific_save, | |
| ix86_function_specific_restore): Don't save and restore x_ix86_abi. | |
| 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si, | |
| mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs. | |
| 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/mve.md (mve_vmlaldavaq_<supf><mode>) | |
| (mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix | |
| spacing vs tabs. | |
| 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing. | |
| 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/mve.md (mve_vaddlvq_p_<supf>v4si) | |
| (mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>) | |
| (mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>) | |
| (mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>): | |
| Fix spacing. | |
| 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> | |
| * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads. | |
| (__arm_vsubq_x Integer): New. | |
| 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> | |
| PR target/107515 | |
| * config/arm/arm_mve.h (__ARM_mve_typeid): Add float types. | |
| 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> | |
| PR target/96795 | |
| * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading. | |
| (__arm_vmulq): Likewise. | |
| (__arm_vcmpeqq): Likewise. | |
| (__arm_vcmpneq): Likewise. | |
| (__arm_vmaxnmavq): Likewise. | |
| (__arm_vmaxnmvq): Likewise. | |
| (__arm_vminnmavq): Likewise. | |
| (__arm_vsubq): Likewise. | |
| (__arm_vminnmvq): Likewise. | |
| (__arm_vrshlq): Likewise. | |
| (__arm_vqsubq): Likewise. | |
| (__arm_vqdmulltq): Likewise. | |
| (__arm_vqdmullbq): Likewise. | |
| (__arm_vqdmulhq): Likewise. | |
| (__arm_vqaddq): Likewise. | |
| (__arm_vhaddq): Likewise. | |
| (__arm_vhsubq): Likewise. | |
| (__arm_vqdmlashq): Likewise. | |
| (__arm_vqrdmlahq): Likewise. | |
| (__arm_vmlasq): Likewise. | |
| (__arm_vqdmlahq): Likewise. | |
| (__arm_vmaxnmavq_p): Likewise. | |
| (__arm_vmaxnmvq_p): Likewise. | |
| (__arm_vminnmavq_p): Likewise. | |
| (__arm_vminnmvq_p): Likewise. | |
| (__arm_vfmasq_m): Likewise. | |
| (__arm_vsetq_lane): Likewise. | |
| (__arm_vcmpneq_m): Likewise. | |
| (__arm_vhaddq_x): Likewise. | |
| (__arm_vhsubq_x): Likewise. | |
| (__arm_vqrdmlashq_m): Likewise. | |
| (__arm_vqdmlashq_m): Likewise. | |
| (__arm_vmlaldavaxq_p): Likewise. | |
| (__arm_vmlasq_m): Likewise. | |
| (__arm_vqdmulhq_m): Likewise. | |
| (__arm_vqdmulltq_m): Likewise. | |
| (__arm_viwdupq_m): Likewise. | |
| (__arm_viwdupq_u16): Likewise. | |
| (__arm_viwdupq_u32): Likewise. | |
| (__arm_viwdupq_u8): Likewise. | |
| (__arm_vdwdupq_m): Likewise. | |
| (__arm_vdwdupq_u16): Likewise. | |
| (__arm_vdwdupq_u32): Likewise. | |
| (__arm_vdwdupq_u8): Likewise. | |
| (__arm_vaddlvaq): Likewise. | |
| (__arm_vaddlvaq_p): Likewise. | |
| (__arm_vaddvaq): Likewise. | |
| (__arm_vaddvaq_p): Likewise. | |
| (__arm_vcmphiq_m): Likewise. | |
| (__arm_vmladavaq_p): Likewise. | |
| (__arm_vmladavaxq): Likewise. | |
| (__arm_vmlaldavaxq): Likewise. | |
| (__arm_vrmlaldavhaq_p): Likewise. | |
| 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> | |
| PR target/96795 | |
| * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types. | |
| (__arm_vaddq_m_n_s32): Likewise. | |
| (__arm_vaddq_m_n_s16): Likewise. | |
| (__arm_vaddq_m_n_u8): Likewise. | |
| (__arm_vaddq_m_n_u32): Likewise. | |
| (__arm_vaddq_m_n_u16): Likewise. | |
| (__arm_vaddq_m): Fix Overloading. | |
| (__ARM_mve_coerce3): New. | |
| 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing. | |
| 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix | |
| spacing. | |
| * config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m) | |
| (__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines. | |
| 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/mve.md (mve_vdupq_n_f<mode>) | |
| (mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>) | |
| (mve_vdupq_m_n_f<mode>): Fix spacing. | |
| 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing. | |
| 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u' | |
| spacing. | |
| (mve_vddupq_m_wb_u<mode>_insn): Likewise. | |
| 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix | |
| 'vmsr' spacing and reg capitalization. | |
| 2022-11-28 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107876 | |
| * tree-ssa-loop-unswitch.cc (clean_up_after_unswitching): Wipe | |
| dominator info if we removed an edge. | |
| 2022-11-28 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107867 | |
| * tree-ssa-forwprop.cc (pass_forwprop::execute): Handle | |
| abnormal cleanup after substitution. | |
| 2022-11-28 Lulu Cheng <chenglulu@loongson.cn> | |
| * config/loongarch/loongarch.cc (enum loongarch_load_imm_method): | |
| Remove the member METHOD_INSV that is not currently used. | |
| (struct loongarch_integer_op): Define a new member curr_value, | |
| that records the value of the number stored in the destination | |
| register immediately after the current instruction has run. | |
| (loongarch_build_integer): Assign a value to the curr_value member variable. | |
| (loongarch_move_integer): Adds information for the immediate load instruction. | |
| * config/loongarch/loongarch.md (*movdi_32bit): Redefine as define_insn_and_split. | |
| (*movdi_64bit): Likewise. | |
| (*movsi_internal): Likewise. | |
| (*movhi_internal): Likewise. | |
| * config/loongarch/predicates.md: Return true as long as it is CONST_INT, ensure | |
| that the immediate number is not optimized by decomposition during expand | |
| optimization loop. | |
| 2022-11-28 liuhongt <hongtao.liu@intel.com> | |
| PR target/107748 | |
| * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Refined. | |
| * config/i386/i386-builtin-types.def (FLOAT_FTYPE_BFLOAT16): | |
| New function type. | |
| * config/i386/i386-builtin.def (BDESC): New builtin. | |
| * config/i386/i386-expand.cc (ix86_expand_args_builtin): | |
| Handle the builtin. | |
| * config/i386/i386.md (extendbfsf2): New expander. | |
| (extendbfsf2_1): New define_insn. | |
| (truncsfbf2): Ditto. | |
| 2022-11-26 Andrew Pinski <apinski@marvell.com> | |
| PR tree-optimization/103356 | |
| * match.pd: ((~a) == b -> a ^ b): New pattern. | |
| 2022-11-25 Sandra Loosemore <sandra@codesourcery.com> | |
| * common.opt (fopenmp-target-simd-clone): New option. | |
| (target_simd_clone_device): New enum to go with it. | |
| * doc/invoke.texi (-fopenmp-target-simd-clone): Document. | |
| * flag-types.h (enum omp_target_simd_clone_device_kind): New. | |
| * omp-simd-clone.cc (auto_simd_fail): New function. | |
| (auto_simd_check_stmt): New function. | |
| (plausible_type_for_simd_clone): New function. | |
| (ok_for_auto_simd_clone): New function. | |
| (simd_clone_create): Add force_local argument, make the symbol | |
| have internal linkage if it is true. | |
| (expand_simd_clones): Also check for cloneable functions with | |
| "omp declare target". Pass explicit_p argument to | |
| simd_clone.compute_vecsize_and_simdlen target hook. | |
| * opts.cc (default_options_table): Add -fopenmp-target-simd-clone. | |
| * target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): | |
| Add bool explicit_p argument. | |
| * doc/tm.texi: Regenerated. | |
| * config/aarch64/aarch64.cc | |
| (aarch64_simd_clone_compute_vecsize_and_simdlen): Update. | |
| * config/gcn/gcn.cc | |
| (gcn_simd_clone_compute_vecsize_and_simdlen): Update. | |
| * config/i386/i386.cc | |
| (ix86_simd_clone_compute_vecsize_and_simdlen): Update. | |
| 2022-11-25 Tamar Christina <tamar.christina@arm.com> | |
| PR target/107830 | |
| * config/aarch64/aarch64.cc | |
| (aarch64_vectorize_can_special_div_by_constant): Check validity during | |
| codegen phase as well. | |
| 2022-11-25 Eric Botcazou <ebotcazou@adacore.com> | |
| * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko. | |
| 2022-11-25 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107865 | |
| * tree-cfg.cc (move_sese_region_to_fn): Free the number of | |
| iterations of moved loops. | |
| 2022-11-25 Kewen.Lin <linkw@gcc.gnu.org> | |
| PR target/99889 | |
| * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): | |
| Adjust to call function default_print_patchable_function_entry. | |
| * targhooks.cc (default_print_patchable_function_entry_1): Remove and | |
| move the flags preparation ... | |
| (default_print_patchable_function_entry): ... here, adjust to use | |
| current_function_funcdef_no for label no. | |
| * targhooks.h (default_print_patchable_function_entry_1): Remove. | |
| * varasm.cc (default_elf_asm_named_section): Adjust code for | |
| __patchable_function_entries section support with LPFE label. | |
| 2022-11-24 Wilco Dijkstra <wilco.dijkstra@arm.com> | |
| PR tree-optimization/107413 | |
| * config/aarch64/aarch64.cc (struct tune_params): Add | |
| fma_reassoc_width to all CPU tuning structures. | |
| (aarch64_reassociation_width): Use fma_reassoc_width. | |
| * config/aarch64/aarch64-protos.h (struct tune_params): Add | |
| fma_reassoc_width. | |
| 2022-11-24 Jakub Jelinek <jakub@redhat.com> | |
| PR middle-end/107317 | |
| * asan.cc: Include diagnostic-core.h. | |
| (asan_emit_stack_protection): Return NULL early if seen_error (). | |
| 2022-11-24 Aldy Hernandez <aldyh@redhat.com> | |
| * vr-values.cc (simplify_using_ranges::compare_names): Remove. | |
| (vrp_evaluate_conditional_warnv_with_ops): Remove call to | |
| compare_names. | |
| (simplify_using_ranges::vrp_visit_cond_stmt): Remove use_equiv_p | |
| argument to vrp_evaluate_conditional_warnv_with_ops. | |
| * vr-values.h (class simplify_using_ranges): Remove | |
| compare_names. | |
| Remove use_equiv_p to vrp_evaluate_conditional_warnv_with_ops. | |
| 2022-11-24 Aldy Hernandez <aldyh@redhat.com> | |
| * tree-vrp.cc (overflow_comparison_p_1): Remove follow_assert_exprs. | |
| (overflow_comparison_p): Remove use_equiv_p. | |
| * tree-vrp.h (overflow_comparison_p): Same. | |
| * vr-values.cc (vrp_evaluate_conditional_warnv_with_ops): Remove | |
| use_equiv_p argument to overflow_comparison_p. | |
| 2022-11-24 Aldy Hernandez <aldyh@redhat.com> | |
| * doc/gimple.texi: Remove ASSERT_EXPR references. | |
| * fold-const.cc (tree_expr_nonzero_warnv_p): Same. | |
| (fold_binary_loc): Same. | |
| (tree_expr_nonnegative_warnv_p): Same. | |
| * gimple-array-bounds.cc (get_base_decl): Same. | |
| * gimple-pretty-print.cc (dump_unary_rhs): Same. | |
| * gimple.cc (get_gimple_rhs_num_ops): Same. | |
| * pointer-query.cc (handle_ssa_name): Same. | |
| * tree-cfg.cc (verify_gimple_assign_single): Same. | |
| * tree-pretty-print.cc (dump_generic_node): Same. | |
| * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):Same. | |
| (interpret_rhs_expr): Same. | |
| * tree-ssa-operands.cc (operands_scanner::get_expr_operands): Same. | |
| * tree-ssa-propagate.cc | |
| (substitute_and_fold_dom_walker::before_dom_children): Same. | |
| * tree-ssa-threadedge.cc: Same. | |
| * tree-vrp.cc (overflow_comparison_p): Same. | |
| * tree.def (ASSERT_EXPR): Add note. | |
| * tree.h (ASSERT_EXPR_VAR): Remove. | |
| (ASSERT_EXPR_COND): Remove. | |
| * vr-values.cc (simplify_using_ranges::vrp_visit_cond_stmt): | |
| Remove comment. | |
| 2022-11-24 Aldy Hernandez <aldyh@redhat.com> | |
| * Makefile.in: Remove value-range-equiv.o | |
| * gimple-array-bounds.cc | |
| (array_bounds_checker::array_bounds_checker): Remove comment. | |
| * tree-vrp.cc (supported_types_p): Remove use of value_range_equiv. | |
| * value-query.cc (class equiv_allocator): Same. | |
| (range_query::allocate_value_range_equiv): Remove. | |
| (range_query::free_value_range_equiv): Remove. | |
| (range_query::get_value_range): Remove. | |
| * value-query.h (class range_query): Remove get_value_range. | |
| Remove allocate_value_range_equiv. | |
| Remove free_value_range_equiv. | |
| * vr-values.cc (compare_ranges): Replace value_range_equiv with | |
| value_range. | |
| (simplify_using_ranges::get_vr_for_comparison): Same. | |
| (simplify_using_ranges::compare_names): Same. | |
| * vr-values.h: Remove value_range_equiv references. | |
| * value-range-equiv.cc: Removed. | |
| * value-range-equiv.h: Removed. | |
| 2022-11-24 Aldy Hernandez <aldyh@redhat.com> | |
| * doc/invoke.texi: Remove docs for max-vrp-switch-assertions, | |
| vrp1-mode, and vrp2-mode. | |
| * params.opt: Same. | |
| * range-op.cc (masked_increment): Move from tree-vrp.cc. | |
| * tree-vrp.cc (class live_names): Remove. | |
| (live_names::init_bitmap_if_needed): Remove. | |
| (live_names::block_has_live_names_p): Remove. | |
| (live_names::clear_block): Remove. | |
| (live_names::merge): Remove. | |
| (live_names::set): Remove. | |
| (live_names::clear): Remove. | |
| (live_names::live_names): Remove. | |
| (live_names::~live_names): Remove. | |
| (live_names::live_on_block_p): Remove. | |
| (live_names::live_on_edge_p): Remove. | |
| (get_single_symbol): Make static. | |
| (build_symbolic_expr): Remove. | |
| (adjust_symbolic_bound): Remove. | |
| (combine_bound): Remove. | |
| (set_value_range_with_overflow): Remove. | |
| (extract_range_from_pointer_plus_expr): Remove. | |
| (extract_range_from_plus_minus_expr): Remove. | |
| (drop_undefines_to_varying): Remove. | |
| (range_fold_binary_symbolics_p): Remove. | |
| (range_fold_unary_symbolics_p): Remove. | |
| (range_fold_binary_expr): Remove. | |
| (infer_value_range): Remove. | |
| (dump_assert_info): Remove. | |
| (dump_asserts_info): Remove. | |
| (add_assert_info): Remove. | |
| (extract_code_and_val_from_cond_with_ops): Remove. | |
| (masked_increment): Move to range-op.cc. | |
| (register_edge_assert_for_2): Remove. | |
| (find_case_label_index): Remove. | |
| (find_case_label_range): Remove. | |
| (register_edge_assert_for_1): Remove. | |
| (is_masked_range_test): Remove. | |
| (register_edge_assert_for): Remove. | |
| (stmt_interesting_for_vrp): Remove. | |
| (struct case_info): Remove. | |
| (struct assert_locus): Remove. | |
| (class vrp_asserts): Remove. | |
| (vrp_asserts::build_assert_expr_for): Remove. | |
| (vrp_asserts::dump): Remove. | |
| (vrp_asserts::register_new_assert_for): Remove. | |
| (vrp_asserts::finish_register_edge_assert_for): Remove. | |
| (vrp_asserts::find_conditional_asserts): Remove. | |
| (vrp_asserts::compare_case_labels): Remove. | |
| (vrp_asserts::find_switch_asserts): Remove. | |
| (vrp_asserts::find_assert_locations_in_bb): Remove. | |
| (vrp_asserts::find_assert_locations): Remove. | |
| (vrp_asserts::process_assert_insertions_for): Remove. | |
| (vrp_asserts::compare_assert_loc): Remove. | |
| (vrp_asserts::process_assert_insertions): Remove. | |
| (vrp_asserts::insert_range_assertions): Remove. | |
| (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Remove. | |
| (vrp_asserts::remove_range_assertions): Remove. | |
| (class vrp_prop): Remove. | |
| (vrp_prop::initialize): Remove. | |
| (enum ssa_prop_result): Remove. | |
| (vrp_prop::visit_stmt): Remove. | |
| (vrp_prop::visit_phi): Remove. | |
| (vrp_prop::finalize): Remove. | |
| (class vrp_folder): Remove. | |
| (vrp_folder::fold_predicate_in): Remove. | |
| (vrp_folder::fold_stmt): Remove. | |
| (vrp_folder::simplify_casted_conds): Remove. | |
| (execute_vrp): Remove. | |
| * tree-vrp.h (struct assert_info): Remove. | |
| (register_edge_assert_for): Remove. | |
| (stmt_interesting_for_vrp): Remove. | |
| (infer_value_range): Remove. | |
| (get_single_symbol): Remove. | |
| (masked_increment): Remove. | |
| (execute_ranger_vrp): Remove. | |
| * vr-values.cc (set_value_range_to_nonnegative): Remove. | |
| (set_value_range_to_truthvalue): Remove. | |
| (vr_values::get_lattice_entry): Remove. | |
| (vr_values::get_value_range): Remove. | |
| (vr_values::range_of_expr): Remove. | |
| (vr_values::value_of_expr): Remove. | |
| (vr_values::value_on_edge): Remove. | |
| (vr_values::value_of_stmt): Remove. | |
| (vr_values::set_def_to_varying): Remove. | |
| (vr_values::set_defs_to_varying): Remove. | |
| (vr_values::update_value_range): Remove. | |
| (symbolic_range_based_on_p): Remove. | |
| (gimple_assign_nonzero_p): Remove. | |
| (gimple_stmt_nonzero_p): Remove. | |
| (vr_values::vrp_stmt_computes_nonzero): Remove. | |
| (vr_values::op_with_constant_singleton_value_range): Remove. | |
| (vr_values::extract_range_for_var_from_comparison_expr): Remove. | |
| (vr_values::extract_range_from_assert): Remove. | |
| (vr_values::extract_range_from_ssa_name): Remove. | |
| (vr_values::extract_range_from_binary_expr): Remove. | |
| (vr_values::extract_range_from_unary_expr): Remove. | |
| (vr_values::extract_range_from_cond_expr): Remove. | |
| (vr_values::extract_range_from_comparison): Remove. | |
| (vr_values::extract_range_from_ubsan_builtin): Remove. | |
| (vr_values::extract_range_basic): Remove. | |
| (vr_values::extract_range_from_assignment): Remove. | |
| (vr_values::adjust_range_with_scev): Remove. | |
| (vr_values::dump): Remove. | |
| (vr_values::vr_values): Remove. | |
| (vr_values::~vr_values): Remove. | |
| (vrp_valueize): Remove. | |
| (vrp_valueize_1): Remove. | |
| (get_output_for_vrp): Remove. | |
| (vr_values::vrp_visit_assignment_or_call): Remove. | |
| (simplify_using_ranges::vrp_evaluate_conditional): Remove. | |
| (vr_values::vrp_visit_switch_stmt): Remove. | |
| (vr_values::extract_range_from_stmt): Remove. | |
| (vr_values::extract_range_from_phi_node): Remove. | |
| (simplify_using_ranges::fold_cond): Add FIXME note. | |
| (vr_values::set_vr_value): Remove. | |
| (vr_values::swap_vr_value): Remove. | |
| * vr-values.h (class vr_values): Remove. | |
| (get_output_for_vrp): Remove. | |
| 2022-11-24 Hongyu Wang <hongyu.wang@intel.com> | |
| PR target/107692 | |
| * common/config/i386/i386-common.cc (ix86_optimization_table): | |
| Enable loop unroll O2, disable -fweb and -frename-registers | |
| by default. | |
| * config/i386/i386-options.cc | |
| (ix86_override_options_after_change): | |
| Disable small loop unroll when funroll-loops enabled, reset | |
| cunroll_grow_size when it is not explicitly enabled. | |
| (ix86_option_override_internal): Call | |
| ix86_override_options_after_change instead of calling | |
| ix86_recompute_optlev_based_flags and ix86_default_align | |
| separately. | |
| * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll | |
| factor if -munroll-only-small-loops enabled. | |
| * loop-init.cc (pass_rtl_unroll_loops::gate): Do not enable | |
| loop unrolling for -O2-speed. | |
| (pass_rtl_unroll_loops::execute): Rmove | |
| targetm.loop_unroll_adjust check. | |
| 2022-11-23 Ramana Radhakrishnan <ramana.gcc@gmail.com> | |
| * config/arm/types.md: Update comment. | |
| (is_neon_type): Add neon_fcmla, neon_fcadd. | |
| 2022-11-23 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/invoke.texi (C++ Dialect Options): Recommend using | |
| -Wdelete-non-virtual-dtor instead of -Wnon-virtual-dtor. | |
| 2022-11-23 Jakub Jelinek <jakub@redhat.com> | |
| PR bootstrap/107722 | |
| * diagnostic.cc (test_diagnostic_get_location_text): Test | |
| special_fname_builtin () rather than "<built-in>" and expect | |
| special_fname_builtin () concatenated with ":" for it. | |
| 2022-11-23 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Set DO_LINK_MUTEX. | |
| 2022-11-23 Lulu Cheng <chenglulu@loongson.cn> | |
| xujiahao <xujiahao@loongson.cn> | |
| * config/loongarch/constraints.md (ZD): New constraint. | |
| * config/loongarch/loongarch-def.c: Initial number of parallel prefetch. | |
| * config/loongarch/loongarch-tune.h (struct loongarch_cache): | |
| Define number of parallel prefetch. | |
| * config/loongarch/loongarch.cc (loongarch_option_override_internal): | |
| Set up parameters to be used in prefetching algorithm. | |
| * config/loongarch/loongarch.md (prefetch): New template. | |
| 2022-11-23 Marek Polacek <polacek@redhat.com> | |
| Revert: | |
| 2022-11-23 Marek Polacek <polacek@redhat.com> | |
| * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie. | |
| Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to | |
| ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie. | |
| * configure.ac (--enable-host-shared): Don't set PICFLAG here. | |
| (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this | |
| check. | |
| * configure: Regenerate. | |
| * doc/install.texi: Document --enable-host-pie. | |
| 2022-11-23 Marek Polacek <polacek@redhat.com> | |
| Revert: | |
| 2022-11-23 Marek Polacek <polacek@redhat.com> | |
| * configure.ac (--enable-host-bind-now): New check. Add | |
| -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now. | |
| * configure: Regenerate. | |
| * doc/install.texi: Document --enable-host-bind-now. | |
| 2022-11-23 Marek Polacek <polacek@redhat.com> | |
| * configure.ac (--enable-host-bind-now): New check. Add | |
| -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now. | |
| * configure: Regenerate. | |
| * doc/install.texi: Document --enable-host-bind-now. | |
| 2022-11-23 Marek Polacek <polacek@redhat.com> | |
| * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie. | |
| Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to | |
| ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie. | |
| * configure.ac (--enable-host-shared): Don't set PICFLAG here. | |
| (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this | |
| check. | |
| * configure: Regenerate. | |
| * doc/install.texi: Document --enable-host-pie. | |
| 2022-11-22 Jeff Law <jlaw@ventanamicro.com> | |
| * tree-ssa-dom.cc (record_edge_info): Fix thinko in last commit. | |
| 2022-11-22 Jeff Law <jlaw@ventanamicro.com> | |
| * tree-ssa-dom.cc (record_edge_info): Fix comment typos. | |
| 2022-11-22 Jeff Law <jeffreyalaw@gmail.com> | |
| * config/riscv/riscv.cc (riscv_get_separate_components): Do not | |
| do shrink-wrapping for a frame with a variable size. | |
| 2022-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org> | |
| * tree-object-size.cc (todo): New variable. | |
| (object_sizes_execute): Use it. | |
| (strdup_object_size): New function. | |
| (call_object_size): Use it. | |
| 2022-11-22 Eric Botcazou <ebotcazou@adacore.com> | |
| * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst): | |
| Bail out if source and destination do not have the same storage order. | |
| 2022-11-22 Martin Jambor <mjambor@suse.cz> | |
| * ipa-sra.cc (ipa_sra_dump_all_summaries): Dump edge summaries even | |
| for non-candidates. | |
| 2022-11-22 Martin Jambor <mjambor@suse.cz> | |
| * ipa-cp.cc (push_agg_values_from_edge): Do not consider constants | |
| in unused aggregate parameters. | |
| 2022-11-22 Martin Jambor <mjambor@suse.cz> | |
| * ipa-param-manipulation.h (ipa_param_body_adjustments): Removed | |
| member m_split_modifications_p. | |
| * ipa-param-manipulation.cc | |
| (ipa_param_body_adjustments::common_initialization): Do not set | |
| m_split_modifications_p. | |
| (ipa_param_body_adjustments::ipa_param_body_adjustments): Remove | |
| initializations of m_split_modifications_p. | |
| (ipa_param_body_adjustments::modify_call_stmt): Check that | |
| m_replacements is empty instead of m_split_modifications_p. | |
| 2022-11-22 Martin Jambor <mjambor@suse.cz> | |
| PR ipa/107661 | |
| * ipa-cp.cc (push_agg_values_from_edge): New parameter | |
| optimize_self_recursion, use it to decide whether to pass interim to | |
| the helper function. | |
| (find_aggregate_values_for_callers_subset): Pass true in the new | |
| parameter of push_agg_values_from_edge. | |
| (cgraph_edge_brings_all_agg_vals_for_node): Pass false in the new | |
| parameter of push_agg_values_from_edge. | |
| 2022-11-22 Tobias Burnus <tobias@codesourcery.com> | |
| Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn-builtins.def (FIRST_CALL_THIS_THREAD_P, | |
| GET_STACK_LIMIT): Add new builtins. | |
| * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand them. | |
| * config/gcn/gcn.md (prologue_use): Add "register_operand" as | |
| arg to match_operand. | |
| (prologue_use_di): New; DI insn_and_split variant of the former. | |
| 2022-11-22 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107803 | |
| * tree-ssa-propagate.cc (substitute_and_fold_dom_walker): Add | |
| need_ab_cleanup member. | |
| (substitute_and_fold_dom_walker::before_dom_children): When | |
| a stmt can no longer transfer control flow abnormally set | |
| need_ab_cleanup. | |
| (substitute_and_fold_engine::substitute_and_fold): Cleanup | |
| abnormal control flow. | |
| 2022-11-22 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107672 | |
| * tree-vect-stmts.cc (supportable_widening_operation): Avoid | |
| type_for_mode on vector modes. | |
| 2022-11-22 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107766 | |
| * tree-vect-slp-patterns.cc (complex_mul_pattern::matches): | |
| Use *node to check for FP vector types. | |
| 2022-11-22 liuhongt <hongtao.liu@intel.com> | |
| * config/i386/mmx.md (*mov<mode>_internal): Add | |
| ix86_hard_reg_move_ok to condition. | |
| 2022-11-22 liuhongt <hongtao.liu@intel.com> | |
| * config/i386/i386.cc (ix86_can_change_mode_class): Also guard | |
| size of TO. | |
| (ix86_hard_regno_mode_ok): Remove VALID_AVX512FP16_SCALAR_MODE | |
| * config/i386/i386.h (VALID_AVX512FP16_SCALAR_MODE): Merged to | |
| .. | |
| (VALID_AVX512F_SCALAR_MODE): .. this, also add HImode. | |
| (VALID_SSE_REG_MODE): Add DI/HImode. | |
| 2022-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de> | |
| * config/rtems.h (SUBTARGET_CC1_SPEC): Undef and define. | |
| 2022-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de> | |
| * gcc.cc (SUBTARGET_CC1_SPEC): Define if not defined. | |
| (cc1_spec): Append SUBTARGET_CC1_SPEC. | |
| 2022-11-21 Dimitar Dimitrov <dimitar@dinux.eu> | |
| * doc/sourcebuild.texi (sockets): Document new check. | |
| 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> | |
| * tree-ssa-loop.h (tree_niter_desc): Update comment. | |
| 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> | |
| * tree-ssa-loop-niter.cc | |
| (number_of_iterations_exit_assumptions): Modify to call... | |
| (number_of_iterations_bitcount): ...this new function. | |
| (number_of_iterations_popcount): Now called by the above. | |
| Refactor, and extract popcount expression builder to... | |
| (build_popcount_expr): this new function. | |
| 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> | |
| * tree-ssa-loop-niter.cc (ssa_defined_by_minus_one_stmt_p): Move | |
| (number_of_iterations_popcount): Move, and remove separate prototype. | |
| 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com> | |
| * tree-ssa-loop-niter.cc (number_of_iterations_exit_assumptions): | |
| Move at_stmt assignment. | |
| 2022-11-21 Christophe Lyon <christophe.lyon@arm.com> | |
| * genmultilib: Fix options and dirnames/osdirnames sanity check. | |
| 2022-11-21 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| PR target/107786 | |
| * config/riscv/riscv.md | |
| (*branch<ANYI:mode>_shiftedarith_equals_zero): Wrap ANYI | |
| in a subreg, as our branch instructions only supports X. | |
| 2022-11-21 Jakub Jelinek <jakub@redhat.com> | |
| PR target/107748 | |
| * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128, | |
| _mm512_castph512_ph256, _mm512_castph128_ph512, | |
| _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local | |
| variables and union members. | |
| * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128, | |
| _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise. | |
| * config/i386/smmintrin.h (_mm_extract_ps): Likewise. | |
| 2022-11-21 Christophe Lyon <christophe.lyon@arm.com> | |
| * genmultilib: Add sanity check. | |
| 2022-11-21 Eric Botcazou <ebotcazou@adacore.com> | |
| * config/arm/arm.cc (arm_attribute_table) <cmse_nonsecure_call>: | |
| Change decl_required field to false. | |
| (arm_handle_cmse_nonsecure_call): Deal with a TYPE node. | |
| 2022-11-21 Andrew Pinski <apinski@marvell.com> | |
| * gimplify.cc (gimplify_modify_expr): If | |
| either *from_p or *to_p were error_operand | |
| return early. | |
| 2022-11-21 liuhongt <hongtao.liu@intel.com> | |
| * config/i386/i386-builtins.cc (def_builtin): Handle "shared" | |
| avx512bf16vl-avxneconvert builtins. | |
| 2022-11-20 Jakub Jelinek <jakub@redhat.com> | |
| PR target/107183 | |
| * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument. | |
| If >= 0 and a DEBUG_INSN would be otherwise returned, set | |
| DEBUG_SEEN to 1 and ignore it. | |
| (swap_rtx_condition): Add DEBUG_SEEN argument. In >= 0 | |
| mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs | |
| were seen and revert all changes on success in that case. | |
| Don't try to recog_memoized DEBUG_INSNs. | |
| (compare_for_stack_reg): Adjust swap_rtx_condition caller. | |
| If it returns true and debug_seen is 1, call swap_rtx_condition | |
| again with debug_seen -1. | |
| 2022-11-20 Jeff Law <jlaw@ventanamicro.com> | |
| PR other/104044 | |
| * config/mn10300/mn10300.cc (mn10300_print_operand): Remove | |
| extraneous semicolon. | |
| * config/nvptx/nvptx.cc (nvptx_goacc_reduction_fini): Likewise. | |
| 2022-11-19 Andrew Pinski <apinski@marvell.com> | |
| PR middle-end/14840 | |
| * tree-core.h (tree_code_type): Constexprify | |
| by including all-tree.def. | |
| (tree_code_length): Likewise. | |
| * tree.cc (tree_code_type): Remove. | |
| (tree_code_length): Remove. | |
| 2022-11-19 Thomas Schwinge <thomas@codesourcery.com> | |
| * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for | |
| '-mmainkernel'. | |
| 2022-11-19 Jonathan Wakely <jwakely@redhat.com> | |
| LIU Hao <lh_mouse@126.com> | |
| * system.h [INCLUDE_MUTEX]: Include header for std::mutex. | |
| 2022-11-19 Jakub Jelinek <jakub@redhat.com> | |
| PR target/107628 | |
| * config/i386/i386-protos.h (ix86_expand_fast_convert_bf_to_sf): | |
| Declare. | |
| * config/i386/i386-expand.cc (ix86_expand_fast_convert_bf_to_sf): New | |
| function. | |
| * config/i386/i386.md (cbranchbf4, cstorebf4): Use it. | |
| 2022-11-19 Jeff Chapman II <jchapman@lock3software.com> | |
| Andrew Sutton <asutton@lock3software.com> | |
| Andrew Marmaduke <amarmaduke@lock3software.com> | |
| Michael Lopez <mlopez@lock3software.com> | |
| Jason Merrill <jason@redhat.com> | |
| * doc/invoke.texi: Document contracts flags. | |
| 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md (*minmax): Additional pattern for | |
| min/max against constants that are extension-invariant. | |
| * config/riscv/iterators.md (minmax_optab): Add an iterator | |
| that has only min and max rtl. | |
| 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md | |
| (*branch<X:mode>_mask_twobits_equals_singlebit): | |
| Handle "if ((a & T) == C)" using Zbs, when T has 2 bits set and C | |
| has one of these tow bits set. | |
| * config/riscv/predicates.md (const_twobits_not_arith_operand): | |
| New predicate. | |
| 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md (*<or_optab>i<mode>_extrabit): | |
| New pattern for binvi+binvi/xori and bseti+bseti/ori | |
| (*andi<mode>_extrabit): New pattern for bclri+bclri/andi | |
| * config/riscv/iterators.md (any_or): Match or and ior | |
| * config/riscv/predicates.md (const_twobits_operand): | |
| New predicate. | |
| (uimm_extra_bit_operand): New predicate. | |
| (uimm_extra_bit_or_twobits): New predicate. | |
| (not_uimm_extra_bit_operand): New predicate. | |
| (not_uimm_extra_bit_or_nottwobits): New predicate. | |
| * config/riscv/riscv.h (UIMM_EXTRA_BIT_OPERAND): | |
| Helper for the uimm_extra_bit_operand and | |
| not_uimm_extra_bit_operand predicates. | |
| 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md: Handle corner-cases for combine | |
| when chaining slli(.uw)? + addw | |
| * config/riscv/riscv-protos.h (riscv_shamt_matches_mask_p): | |
| Define prototype. | |
| * config/riscv/riscv.cc (riscv_shamt_matches_mask_p): | |
| Helper for evaluating the relationship between two operands. | |
| 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md: Add a define_split to optimize | |
| slliw + addiw + divw into sh[123]add + divw. | |
| 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/predicates.md (shifted_const_arith_operand): New predicate. | |
| (uimm_extra_bit_operand): New predicate. | |
| * config/riscv/riscv.md (*branch<ANYI:mode>_shiftedarith_equals_zero): | |
| New pattern. | |
| (*branch<ANYI:mode>_shiftedmask_equals_zero): New pattern. | |
| 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md (*bsetidisi): New pattern. | |
| 2022-11-18 Richard Purdie <richard.purdie@linuxfoundation.org> | |
| * doc/invoke.texi: Document prefix-maps don't affect directives. | |
| 2022-11-18 Andrew Pinski <apinski@marvell.com> | |
| PR middle-end/107705 | |
| * function.cc (aggregate_value_p): Return 0 if | |
| the function type was an error operand. | |
| 2022-11-18 Andrew Pinski <apinski@marvell.com> | |
| PR c/106764 | |
| PR c/106765 | |
| PR c/107307 | |
| * gimplify.cc (gimplify_compound_lval): Return GS_ERROR | |
| if gimplify_expr had return GS_ERROR. | |
| (gimplify_call_expr): Likewise. | |
| 2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): | |
| Use <GPI:w> for destination format. | |
| * config/aarch64/iterators.md (w_sz): Delete. | |
| 2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/aarch64.h (TARGET_RCPC2): Define. | |
| * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): | |
| Adjust output template. | |
| (*aarch64_atomic_load<ALLX:mode>_rcpc_sex): Guard on TARGET_RCPC2. | |
| Adjust output template. | |
| * config/aarch64/iterators.md (w_sz): New mode attr. | |
| 2022-11-18 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107647 | |
| * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only | |
| allow FMA generation with -ffp-contract=fast for FP types. | |
| (complex_mul_pattern::matches): Likewise. | |
| 2022-11-18 Jinyang He <hejinyang@loongson.cn> | |
| PR target/107713 | |
| * config/loongarch/sync.md | |
| (atomic_cas_value_exchange_7_<mode>): New define_insn. | |
| (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of | |
| atomic_cas_value_cmp_and_7_si. | |
| 2022-11-17 Andrew Pinski <apinski@marvell.com> | |
| PR middle-end/107734 | |
| * match.pd (perm + vector op pattern): Clear the sbitmap before | |
| use. | |
| 2022-11-17 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107732 | |
| * range-op-float.cc (foperator_abs::op1_range): Early exit when | |
| result is undefined. | |
| 2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md (*bclri<mode>_nottwobits): New pattern. | |
| (*bclridisi_nottwobits): New pattern, handling the sign-bit. | |
| * config/riscv/predicates.md (const_nottwobits_operand): | |
| New predicate. | |
| 2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md: Add a splitter to generate | |
| polarity-reversed masks from a set bit using bexti + addi. | |
| 2022-11-17 mtsamis <manolis.tsamis@vrull.eu> | |
| * config/riscv/riscv.cc (struct machine_function): Add array to store | |
| register wrapping information. | |
| (riscv_for_each_saved_reg): Skip registers that are wrapped separetely. | |
| (riscv_get_separate_components): New function. | |
| (riscv_components_for_bb): Likewise. | |
| (riscv_disqualify_components): Likewise. | |
| (riscv_process_components): Likewise. | |
| (riscv_emit_prologue_components): Likewise. | |
| (riscv_emit_epilogue_components): Likewise. | |
| (riscv_set_handled_components): Likewise. | |
| (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define. | |
| (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise. | |
| (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise. | |
| (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise. | |
| (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise. | |
| (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise. | |
| 2022-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): | |
| Add mode size check to condition. | |
| (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise. | |
| 2022-11-17 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/68097 | |
| * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call | |
| range_of_stmt for floats. | |
| 2022-11-17 Lili Cui <lili.cui@intel.com> | |
| * config/i386/x86-tune.def | |
| (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake. | |
| (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto. | |
| 2022-11-17 Tamar Christina <tamar.christina@arm.com> | |
| PR tree-optimization/107717 | |
| * match.pd: Ensure same SSA_NAME. | |
| 2022-11-17 Tamar Christina <tamar.christina@arm.com> | |
| * match.pd: Replace GET_MODE_WIDER_MODE with | |
| custom code. | |
| 2022-11-17 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (range_operator_float::fold_range): Make check | |
| for maybe_isnan more readable. | |
| 2022-11-17 Kewen Lin <linkw@linux.ibm.com> | |
| * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use | |
| tree_fits_shwi_p rather than tree_fits_uhwi_p as bias is signed. | |
| 2022-11-17 Jia-Wei Chen <jiawei@iscas.ac.cn> | |
| * config/riscv/riscv.cc (riscv_expand_epilogue): | |
| Do not emit useless add sp, sp, 0 instrutions. | |
| 2022-11-17 Jeff Law <jlaw@ventanamicro.com> | |
| * config/sh/sh_treg_combine.cc: Include tm-preds.h. | |
| (t_reg_operand): Remove bogus prototype. | |
| (negt_reg_operand): Likewise. | |
| 2022-11-16 Marek Polacek <polacek@redhat.com> | |
| PR c++/106649 | |
| * doc/invoke.texi: Document -Winvalid-constexpr. | |
| 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md: Add split covering | |
| "(a & (1 << BIT_NO)) ? 0 : 1". | |
| 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md (*bext<mode>): Add an additional | |
| pattern that allows the 3rd argument to zero_extract to be | |
| an Xmode register operand. | |
| 2022-11-16 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107686 | |
| * tree-ssa-forwprop.cc (optimize_vector_load): Restrict | |
| VEC_UNPACK support to integral typed bitfield refs. | |
| 2022-11-16 Richard Biener <rguenther@suse.de> | |
| PR middle-end/107679 | |
| * tree-into-ssa.cc (maybe_register_def): Use new temporary if | |
| we require an uninitialized value for a parameter decl. | |
| 2022-11-16 Alexander Monakov <amonakov@ispras.ru> | |
| PR target/107676 | |
| * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description. | |
| 2022-11-16 Alexander Monakov <amonakov@ispras.ru> | |
| PR target/87832 | |
| * config/i386/znver.md: (znver1_fp_op_mul): Correct cycles in | |
| the reservation. | |
| (znver1_fp_op_mul_load): Ditto. | |
| (znver1_mmx_mul): Ditto. | |
| (znver1_mmx_load): Ditto. | |
| (znver1_ssemul_ss_ps): Ditto. | |
| (znver1_ssemul_ss_ps_load): Ditto. | |
| (znver1_ssemul_avx256_ps): Ditto. | |
| (znver1_ssemul_avx256_ps_load): Ditto. | |
| (znver1_ssemul_sd_pd): Ditto. | |
| (znver1_ssemul_sd_pd_load): Ditto. | |
| (znver2_ssemul_sd_pd): Ditto. | |
| (znver2_ssemul_sd_pd_load): Ditto. | |
| (znver1_ssemul_avx256_pd): Ditto. | |
| (znver1_ssemul_avx256_pd_load): Ditto. | |
| (znver1_sseimul): Ditto. | |
| (znver1_sseimul_avx256): Ditto. | |
| (znver1_sseimul_load): Ditto. | |
| (znver1_sseimul_avx256_load): Ditto. | |
| (znver1_sseimul_di): Ditto. | |
| (znver1_sseimul_load_di): Ditto. | |
| 2022-11-16 Alexander Monakov <amonakov@ispras.ru> | |
| PR target/87832 | |
| * config/i386/znver.md (znver1_fdiv): New automaton. | |
| (znver1-fdiv): New unit. | |
| (znver1_fp_op_div): Correct unit and cycles in the reservation. | |
| (znver1_fp_op_div_load): Ditto. | |
| (znver1_fp_op_idiv_load): Ditto. | |
| (znver2_fp_op_idiv_load): Ditto. | |
| (znver1_ssediv_ss_ps): Ditto. | |
| (znver1_ssediv_ss_ps_load): Ditto. | |
| (znver1_ssediv_sd_pd): Ditto. | |
| (znver1_ssediv_sd_pd_load): Ditto. | |
| (znver1_ssediv_avx256_ps): Ditto. | |
| (znver1_ssediv_avx256_ps_load): Ditto. | |
| (znver1_ssediv_avx256_pd): Ditto. | |
| (znver1_ssediv_avx256_pd_load): Ditto. | |
| 2022-11-16 Tobias Burnus <tobias@codesourcery.com> | |
| Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn-builtins.def (KERNARG_PTR): Add. | |
| * config/gcn/gcn.cc (gcn_init_builtin_types): Change siptr_type_node, | |
| sfptr_type_node and voidptr_type_node from FLAT to ADDR_SPACE_DEFAULT. | |
| (gcn_expand_builtin_1): Handle GCN_BUILTIN_KERNARG_PTR. | |
| (gcn_oacc_dim_size): Return in ADDR_SPACE_FLAT. | |
| 2022-11-16 David Malcolm <dmalcolm@redhat.com> | |
| * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o. | |
| 2022-11-16 Max Filippov <jcmvbkbc@gmail.com> | |
| PR target/107645 | |
| * config/m68k/predicates.md (symbolic_operand): Return false | |
| when UNSPEC is under the CONST node. | |
| 2022-11-16 Christoph Müllner <christoph.muellner@vrull.eu> | |
| * doc/invoke.texi: Fix PRU/RISC-V option list formatting. | |
| 2022-11-16 Tobias Burnus <tobias@codesourcery.com> | |
| * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...' | |
| besides tailing '$nohost' as being for reverse offload. | |
| 2022-11-16 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107668 | |
| * range-op-float.cc (float_binary_op_range_finish): Set VARYING | |
| also when r is UNDEFINED. | |
| 2022-11-16 Kewen Lin <linkw@linux.ibm.com> | |
| PR rtl-optimization/90259 | |
| * function.cc (rest_of_handle_thread_prologue_and_epilogue): Add | |
| parameter fun, and call function purge_all_dead_edges. | |
| (pass_thread_prologue_and_epilogue::execute): Name unamed parameter | |
| as fun, and use it for rest_of_handle_thread_prologue_and_epilogue. | |
| 2022-11-15 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/riscv-builtins.cc (struct riscv_builtin_description): | |
| add the pause machine-dependent builtin with no result and no | |
| arguments; mark it as always present (pause is a true hint | |
| that encodes into a fence-insn, if not supported with the new | |
| pause semantics). | |
| * config/riscv/riscv-ftypes.def: Add type for void -> void. | |
| * config/riscv/riscv.md (riscv_pause): Add risc_pause and | |
| UNSPECV_PAUSE | |
| * doc/extend.texi: Document __builtin_riscv_pause. | |
| * optabs.cc (maybe_gen_insn): Allow nops == 0 (void -> void). | |
| 2022-11-15 David Faust <david.faust@oracle.com> | |
| * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized | |
| variable in error case. | |
| 2022-11-15 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/106140 | |
| * doc/invoke.texi (Static Analyzer Options): Add | |
| -Wanalyzer-fd-phase-mismatch and -Wanalyzer-fd-type-mismatch. Add | |
| "socket", "bind", "listen", "accept", and "connect" to the list of | |
| functions known to the analyzer. | |
| 2022-11-15 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/106302 | |
| * Makefile.in (ANALYZER_OBJS): Add analyzer/analyzer-language.o. | |
| (GTFILES): Add analyzer/analyzer-language.cc. | |
| * doc/analyzer.texi: Document __analyzer_dump_named_constant. | |
| 2022-11-15 Lewis Hyatt <lhyatt@gmail.com> | |
| * json.h (class string): Add M_LEN member to store the length of | |
| the data. Add constructor taking an explicit length. | |
| * json.cc (string::string): Implement the new constructor. | |
| (string::print): Support printing strings that are not | |
| null-terminated. Escape embdedded null bytes on output. | |
| (test_writing_strings): Test the new null-byte-related features of | |
| json::string. | |
| 2022-11-15 Lewis Hyatt <lhyatt@gmail.com> | |
| * diagnostic.cc (diagnostic_get_location_text): Use | |
| special_fname_builtin () rather than a hardcoded string (which was | |
| also incorrectly left untranslated previously.) | |
| * input.cc (special_fname_builtin): New function. | |
| (expand_location_1): Use special_fname_builtin () rather than a | |
| hard-coded string. | |
| (test_builtins): Likewise. | |
| * input.h (special_fname_builtin): Declare. | |
| 2022-11-15 Lewis Hyatt <lhyatt@gmail.com> | |
| * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc | |
| location in return value of linemap_resolve_location(). | |
| 2022-11-15 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/cpp.texi (Pragmas): Use @item and @itemx for region | |
| pragmas. | |
| 2022-11-15 Maciej W. Rozycki <macro@embecosm.com> | |
| * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over | |
| `full_costs'. | |
| 2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
| * config/aarch64/atomics.md | |
| (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): New pattern. | |
| (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): New pattern. | |
| 2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
| Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro. | |
| (TARGET_RCPC): New Macro. | |
| * config/aarch64/atomics.md (atomic_load<mode>): Change into an expand. | |
| (aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr. | |
| (aarch64_atomic_load<mode>): Rename of old define_insn for ldar. | |
| * config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value. | |
| * doc/invoke.texi (rcpc): Ammend documentation to mention the effects | |
| on code generation. | |
| 2022-11-15 Hongyu Wang <hongyu.wang@intel.com> | |
| PR target/98167 | |
| * match.pd: New perm + vector op patterns for int and fp vector. | |
| 2022-11-15 Andrew Pinski <apinski@marvell.com> | |
| * doc/invoke.texi: Remove Score option section. | |
| 2022-11-15 Andrew Pinski <apinski@marvell.com> | |
| * doc/extend.texi: Remove picoChip builtin section. | |
| * doc/invoke.texi: Remove picoChip option section. | |
| 2022-11-15 Andrew Pinski <apinski@marvell.com> | |
| * doc/extend.texi: Remove MeP documentation. | |
| * doc/invoke.texi: Remove MeP Options documentation. | |
| 2022-11-15 Andrew Pinski <apinski@marvell.com> | |
| * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd. | |
| 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| Revert: | |
| 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1. | |
| (RISCV_CORE): Ditto. | |
| * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto. | |
| * config/riscv/riscv.cc: Add tune_info for ventana-vt1. | |
| * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1. | |
| 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| Revert: | |
| 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic | |
| constants to identify supported fusion patterns. | |
| (struct riscv_tune_param): Add fusible_op field. | |
| (riscv_macro_fusion_p): Implement. | |
| (riscv_fusion_enabled_p): Implement. | |
| (riscv_macro_fusion_pair_p): Implement and recognize fusible | |
| idioms for Ventana VT1. | |
| (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p. | |
| (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to | |
| riscv_macro_fusion_pair_p. | |
| 2022-11-14 Maciej W. Rozycki <macro@embecosm.com> | |
| * ira-build.cc (create_insn_allocnos): Fix documentation. | |
| 2022-11-14 Tamar Christina <tamar.christina@arm.com> | |
| * match.pd: Remove returns. | |
| 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an | |
| unspec. | |
| * config/riscv/riscv.md: Add UNSPEC_ORC_B. | |
| 2022-11-14 Tamar Christina <tamar.christina@arm.com> | |
| * target.def: Fix typo. | |
| 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic | |
| constants to identify supported fusion patterns. | |
| (struct riscv_tune_param): Add fusible_op field. | |
| (riscv_macro_fusion_p): Implement. | |
| (riscv_fusion_enabled_p): Implement. | |
| (riscv_macro_fusion_pair_p): Implement and recognize fusible | |
| idioms for Ventana VT1. | |
| (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p. | |
| (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to | |
| riscv_macro_fusion_pair_p. | |
| 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1. | |
| (RISCV_CORE): Ditto. | |
| * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto. | |
| * config/riscv/riscv.cc: Add tune_info for ventana-vt1. | |
| * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1. | |
| 2022-11-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/aarch64-option-extensions.def (cssc): Define. | |
| * config/aarch64/aarch64.h (AARCH64_ISA_CSSC): Define. | |
| (TARGET_CSSC): Likewise. | |
| * config/aarch64/aarch64.md (*aarch64_abs<mode>2_cssc_ins): New define_insn. | |
| (abs<mode>2): Adjust for the above. | |
| (aarch64_umax<mode>3_insn): New define_insn. | |
| (umax<mode>3): Adjust for the above. | |
| (*aarch64_popcount<mode>2_cssc_insn): New define_insn. | |
| (popcount<mode>2): Adjust for the above. | |
| (<optab><mode>3): New define_insn. | |
| * config/aarch64/constraints.md (Usm): Define. | |
| (Uum): Likewise. | |
| * doc/invoke.texi (AArch64 options): Document +cssc. | |
| * config/aarch64/iterators.md (MAXMIN_NOUMAX): New code iterator. | |
| * config/aarch64/predicates.md (aarch64_sminmax_immediate): Define. | |
| (aarch64_sminmax_operand): Likewise. | |
| (aarch64_uminmax_immediate): Likewise. | |
| (aarch64_uminmax_operand): Likewise. | |
| 2022-11-14 Tamar Christina <tamar.christina@arm.com> | |
| * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New. | |
| 2022-11-14 Tamar Christina <tamar.christina@arm.com> | |
| * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): New. | |
| * config/aarch64/aarch64.cc (aarch64_vectorize_can_special_div_by_constant): New. | |
| 2022-11-14 Tamar Christina <tamar.christina@arm.com> | |
| * expmed.h (expand_divmod): Pass tree operands down in addition to RTX. | |
| * expmed.cc (expand_divmod): Likewise. | |
| * explow.cc (round_push, align_dynamic_address): Likewise. | |
| * expr.cc (force_operand, expand_expr_divmod): Likewise. | |
| * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod): | |
| Likewise. | |
| * target.h: Include tree-core. | |
| * target.def (can_special_div_by_const): New. | |
| * targhooks.cc (default_can_special_div_by_const): New. | |
| * targhooks.h (default_can_special_div_by_const): New. | |
| * tree-vect-generic.cc (expand_vector_operation): Use it. | |
| * doc/tm.texi.in: Document it. | |
| * doc/tm.texi: Regenerate. | |
| * tree-vect-patterns.cc (vect_recog_divmod_pattern): Check for support. | |
| * tree-vect-stmts.cc (vectorizable_operation): Likewise. | |
| 2022-11-14 Tamar Christina <tamar.christina@arm.com> | |
| * generic-match-head.cc: Include langooks. | |
| * gimple-match-head.cc: Likewise. | |
| * match.pd: Add fneg/fadd rule. | |
| 2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com> | |
| * config/arm/arm-cpus.in (cortex-x1c): Define new CPU. | |
| * config/arm/arm-tables.opt: Regenerate. | |
| * config/arm/arm-tune.md: Likewise. | |
| * doc/invoke.texi: Document Cortex-X1C CPU. | |
| 2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com> | |
| * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X3 | |
| CPU. | |
| * config/aarch64/aarch64-tune.md: Regenerate. | |
| * doc/invoke.texi: Document Cortex-X3 CPU. | |
| 2022-11-14 Andrew Pinski <apinski@marvell.com> | |
| * doc/invoke.texi: Fix @opindex | |
| for m80387 option. | |
| 2022-11-14 Andrew Pinski <apinski@marvell.com> | |
| * doc/invoke.texi: Remove the front - from | |
| some @opindex. | |
| 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a. | |
| * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs. | |
| * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): | |
| Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two | |
| registers and then +1/-1). | |
| * config/aarch64/aarch64-tune.md: Regenerate. | |
| * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement | |
| idiom-matcher for the new fusion pair. | |
| * doc/invoke.texi: Add ampere1a. | |
| 2022-11-14 Richard Biener <rguenther@suse.de> | |
| * match.pd: Remove duplicates. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/contrib.texi: Port from Sphinx. | |
| * doc/cpp.texi: Likewise. | |
| * doc/install.texi: Likewise. | |
| * doc/invoke.texi: Likewise. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/cpp/character-sets.rst: New file. | |
| * doc/cpp/conditional-syntax.rst: New file. | |
| * doc/cpp/conditional-uses.rst: New file. | |
| * doc/cpp/conditionals.rst: New file. | |
| * doc/cpp/conf.py: New file. | |
| * doc/cpp/copyright.rst: New file. | |
| * doc/cpp/deleted-code.rst: New file. | |
| * doc/cpp/diagnostics.rst: New file. | |
| * doc/cpp/environment-variables.rst: New file. | |
| * doc/cpp/gnu-free-documentation-license.rst: New file. | |
| * doc/cpp/header-files.rst: New file. | |
| * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file. | |
| * doc/cpp/header-files/computed-includes.rst: New file. | |
| * doc/cpp/header-files/include-operation.rst: New file. | |
| * doc/cpp/header-files/include-syntax.rst: New file. | |
| * doc/cpp/header-files/once-only-headers.rst: New file. | |
| * doc/cpp/header-files/search-path.rst: New file. | |
| * doc/cpp/header-files/system-headers.rst: New file. | |
| * doc/cpp/header-files/wrapper-headers.rst: New file. | |
| * doc/cpp/implementation-defined-behavior.rst: New file. | |
| * doc/cpp/implementation-details.rst: New file. | |
| * doc/cpp/implementation-limits.rst: New file. | |
| * doc/cpp/index.rst: New file. | |
| * doc/cpp/indices-and-tables.rst: New file. | |
| * doc/cpp/initial-processing.rst: New file. | |
| * doc/cpp/invocation.rst: New file. | |
| * doc/cpp/line-control.rst: New file. | |
| * doc/cpp/macros.rst: New file. | |
| * doc/cpp/macros/concatenation.rst: New file. | |
| * doc/cpp/macros/directives-within-macro-arguments.rst: New file. | |
| * doc/cpp/macros/function-like-macros.rst: New file. | |
| * doc/cpp/macros/macro-arguments.rst: New file. | |
| * doc/cpp/macros/macro-pitfalls.rst: New file. | |
| * doc/cpp/macros/object-like-macros.rst: New file. | |
| * doc/cpp/macros/predefined-macros.rst: New file. | |
| * doc/cpp/macros/stringizing.rst: New file. | |
| * doc/cpp/macros/undefining-and-redefining-macros.rst: New file. | |
| * doc/cpp/macros/variadic-macros.rst: New file. | |
| * doc/cpp/obsolete-features.rst: New file. | |
| * doc/cpp/other-directives.rst: New file. | |
| * doc/cpp/overview.rst: New file. | |
| * doc/cpp/pragmas.rst: New file. | |
| * doc/cpp/preprocessor-output.rst: New file. | |
| * doc/cpp/the-preprocessing-language.rst: New file. | |
| * doc/cpp/tokenization.rst: New file. | |
| * doc/cpp/traditional-lexical-analysis.rst: New file. | |
| * doc/cpp/traditional-macros.rst: New file. | |
| * doc/cpp/traditional-miscellany.rst: New file. | |
| * doc/cpp/traditional-mode.rst: New file. | |
| * doc/cpp/traditional-warnings.rst: New file. | |
| * doc/cppinternals/conf.py: New file. | |
| * doc/cppinternals/copyright.rst: New file. | |
| * doc/cppinternals/cppinternals.rst: New file. | |
| * doc/cppinternals/cpplib.rst: New file. | |
| * doc/cppinternals/files.rst: New file. | |
| * doc/cppinternals/index.rst: New file. | |
| * doc/cppinternals/indices-and-tables.rst: New file. | |
| * doc/cppinternals/internal-representation-of-macros.rst: New file. | |
| * doc/cppinternals/just-which-line-number-anyway.rst: New file. | |
| * doc/cppinternals/lexing-a-line.rst: New file. | |
| * doc/cppinternals/lexing-a-token.rst: New file. | |
| * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file. | |
| * doc/cppinternals/macro-expansion-overview.rst: New file. | |
| * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file. | |
| * doc/cppinternals/multiple-include-optimization.rst: New file. | |
| * doc/cppinternals/overview.rst: New file. | |
| * doc/cppinternals/representation-of-line-numbers.rst: New file. | |
| * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file. | |
| * doc/gcc/binary-compatibility.rst: New file. | |
| * doc/gcc/c++-implementation-defined-behavior.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/characters.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/environment.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/hints.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/integers.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/statements.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: | |
| New file. | |
| * doc/gcc/c-implementation-defined-behavior/translation.rst: New file. | |
| * doc/gcc/conditionally-supported-behavior.rst: New file. | |
| * doc/gcc/conf.py: New file. | |
| * doc/gcc/contributing-to-gcc-development.rst: New file. | |
| * doc/gcc/contributors-to-gcc.rst: New file. | |
| * doc/gcc/copyright.rst: New file. | |
| * doc/gcc/exception-handling.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: | |
| New file. | |
| * doc/gcc/funding.rst: New file. | |
| * doc/gcc/gcc-command-options.rst: New file. | |
| * doc/gcc/gcc-command-options/c++-modules.rst: New file. | |
| * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file. | |
| * doc/gcc/gcc-command-options/description.rst: New file. | |
| * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file. | |
| * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file. | |
| * doc/gcc/gcc-command-options/option-summary.rst: New file. | |
| * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file. | |
| * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file. | |
| * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file. | |
| * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file. | |
| * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file. | |
| * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file. | |
| * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file. | |
| * doc/gcc/gcc-command-options/options-for-linking.rst: New file. | |
| * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file. | |
| * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file. | |
| * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file. | |
| * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file. | |
| * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file. | |
| * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file. | |
| * doc/gcc/gcc.rst: New file. | |
| * doc/gcc/gcov-dump.rst: New file. | |
| * doc/gcc/gcov-tool.rst: New file. | |
| * doc/gcc/gcov.rst: New file. | |
| * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file. | |
| * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file. | |
| * doc/gcc/gcov/introduction-to-gcov.rst: New file. | |
| * doc/gcc/gcov/invoking-gcov.rst: New file. | |
| * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file. | |
| * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file. | |
| * doc/gcc/general-public-license-3.rst: New file. | |
| * doc/gcc/gnu-free-documentation-license.rst: New file. | |
| * doc/gcc/gnu-objective-c-features.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/exceptions.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/synchronization.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file. | |
| * doc/gcc/gnu.rst: New file. | |
| * doc/gcc/have-you-found-a-bug.rst: New file. | |
| * doc/gcc/how-and-where-to-report-bugs.rst: New file. | |
| * doc/gcc/how-to-get-help-with-gcc.rst: New file. | |
| * doc/gcc/index.rst: New file. | |
| * doc/gcc/indices-and-tables.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: | |
| New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: | |
| New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: | |
| New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: | |
| New file. | |
| * doc/gcc/language-standards-supported-by-gcc.rst: New file. | |
| * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file. | |
| * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file. | |
| * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file. | |
| * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file. | |
| * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: | |
| New file. | |
| * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file. | |
| * doc/gcc/lto-dump.rst: New file. | |
| * doc/gcc/programming-languages-supported-by-gcc.rst: New file. | |
| * doc/gcc/reporting-bugs.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: | |
| New file. | |
| * doc/gccint/analysis-and-representation-of-loops.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: | |
| New file. | |
| * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file. | |
| * doc/gccint/analyzer-internals.rst: New file. | |
| * doc/gccint/collect2.rst: New file. | |
| * doc/gccint/conf.py: New file. | |
| * doc/gccint/contributing-to-gcc-development.rst: New file. | |
| * doc/gccint/contributors-to-gcc.rst: New file. | |
| * doc/gccint/control-flow-graph.rst: New file. | |
| * doc/gccint/control-flow-graph/basic-blocks.rst: New file. | |
| * doc/gccint/control-flow-graph/edges.rst: New file. | |
| * doc/gccint/control-flow-graph/liveness-information.rst: New file. | |
| * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file. | |
| * doc/gccint/control-flow-graph/profile-information.rst: New file. | |
| * doc/gccint/copyright.rst: New file. | |
| * doc/gccint/debugging-the-analyzer.rst: New file. | |
| * doc/gccint/funding.rst: New file. | |
| * doc/gccint/gcc-and-portability.rst: New file. | |
| * doc/gccint/general-public-license-3.rst: New file. | |
| * doc/gccint/generic.rst: New file. | |
| * doc/gccint/generic/attributes-in-trees.rst: New file. | |
| * doc/gccint/generic/c-and-c++-trees.rst: New file. | |
| * doc/gccint/generic/declarations.rst: New file. | |
| * doc/gccint/generic/deficiencies.rst: New file. | |
| * doc/gccint/generic/expressions.rst: New file. | |
| * doc/gccint/generic/functions.rst: New file. | |
| * doc/gccint/generic/language-dependent-trees.rst: New file. | |
| * doc/gccint/generic/overview.rst: New file. | |
| * doc/gccint/generic/statements.rst: New file. | |
| * doc/gccint/generic/types.rst: New file. | |
| * doc/gccint/gimple-api.rst: New file. | |
| * doc/gccint/gimple.rst: New file. | |
| * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file. | |
| * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file. | |
| * doc/gccint/gimple/exception-handling.rst: New file. | |
| * doc/gccint/gimple/gimple-instruction-set.rst: New file. | |
| * doc/gccint/gimple/gimple-sequences.rst: New file. | |
| * doc/gccint/gimple/manipulating-gimple-statements.rst: New file. | |
| * doc/gccint/gimple/operands.rst: New file. | |
| * doc/gccint/gimple/sequence-iterators.rst: New file. | |
| * doc/gccint/gimple/statement-and-operand-traversals.rst: New file. | |
| * doc/gccint/gimple/temporaries.rst: New file. | |
| * doc/gccint/gimple/tuple-representation.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file. | |
| * doc/gccint/gnu-free-documentation-license.rst: New file. | |
| * doc/gccint/guidelines-for-diagnostics.rst: New file. | |
| * doc/gccint/guidelines-for-options.rst: New file. | |
| * doc/gccint/host-common.rst: New file. | |
| * doc/gccint/host-configuration.rst: New file. | |
| * doc/gccint/host-filesystem.rst: New file. | |
| * doc/gccint/host-makefile-fragments.rst: New file. | |
| * doc/gccint/host-misc.rst: New file. | |
| * doc/gccint/index.rst: New file. | |
| * doc/gccint/indices-and-tables.rst: New file. | |
| * doc/gccint/interfacing-to-gcc-output.rst: New file. | |
| * doc/gccint/introduction.rst: New file. | |
| * doc/gccint/language-front-ends-in-gcc.rst: New file. | |
| * doc/gccint/link-time-optimization.rst: New file. | |
| * doc/gccint/link-time-optimization/design-overview.rst: New file. | |
| * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file. | |
| * doc/gccint/link-time-optimization/lto-file-sections.rst: New file. | |
| * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file. | |
| * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: | |
| New file. | |
| * doc/gccint/machine-descriptions.rst: New file. | |
| * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file. | |
| * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file. | |
| * doc/gccint/machine-descriptions/conditional-execution.rst: New file. | |
| * doc/gccint/machine-descriptions/constant-definitions.rst: New file. | |
| * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file. | |
| * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file. | |
| * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file. | |
| * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file. | |
| * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file. | |
| * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file. | |
| * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file. | |
| * doc/gccint/machine-descriptions/instruction-attributes.rst: New file. | |
| * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file. | |
| * doc/gccint/machine-descriptions/iterators.rst: New file. | |
| * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file. | |
| * doc/gccint/machine-descriptions/operand-constraints.rst: New file. | |
| * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file. | |
| * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: | |
| New file. | |
| * doc/gccint/machine-descriptions/predicates.rst: New file. | |
| * doc/gccint/machine-descriptions/rtl-template.rst: New file. | |
| * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file. | |
| * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file. | |
| * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file. | |
| * doc/gccint/makefile-fragments.rst: New file. | |
| * doc/gccint/match-and-simplify.rst: New file. | |
| * doc/gccint/memory-management-and-type-information.rst: New file. | |
| * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: | |
| New file. | |
| * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: | |
| New file. | |
| * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: | |
| New file. | |
| * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file. | |
| * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: | |
| New file. | |
| * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file. | |
| * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: | |
| New file. | |
| * doc/gccint/option-file-format.rst: New file. | |
| * doc/gccint/option-properties.rst: New file. | |
| * doc/gccint/option-specification-files.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: | |
| New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file. | |
| * doc/gccint/plugins.rst: New file. | |
| * doc/gccint/plugins/building-gcc-plugins.rst: New file. | |
| * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file. | |
| * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file. | |
| * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file. | |
| * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file. | |
| * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file. | |
| * doc/gccint/plugins/loading-plugins.rst: New file. | |
| * doc/gccint/plugins/plugin-api.rst: New file. | |
| * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file. | |
| * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file. | |
| * doc/gccint/rtl-representation.rst: New file. | |
| * doc/gccint/rtl-representation/access-to-operands.rst: New file. | |
| * doc/gccint/rtl-representation/access-to-special-operands.rst: New file. | |
| * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file. | |
| * doc/gccint/rtl-representation/bit-fields.rst: New file. | |
| * doc/gccint/rtl-representation/comparison-operations.rst: New file. | |
| * doc/gccint/rtl-representation/constant-expression-types.rst: New file. | |
| * doc/gccint/rtl-representation/conversions.rst: New file. | |
| * doc/gccint/rtl-representation/declarations.rst: New file. | |
| * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file. | |
| * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file. | |
| * doc/gccint/rtl-representation/insns.rst: New file. | |
| * doc/gccint/rtl-representation/machine-modes.rst: New file. | |
| * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file. | |
| * doc/gccint/rtl-representation/reading-rtl.rst: New file. | |
| * doc/gccint/rtl-representation/registers-and-memory.rst: New file. | |
| * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file. | |
| * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file. | |
| * doc/gccint/rtl-representation/rtl-object-types.rst: New file. | |
| * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file. | |
| * doc/gccint/rtl-representation/side-effect-expressions.rst: New file. | |
| * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file. | |
| * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file. | |
| * doc/gccint/rtl-representation/vector-operations.rst: New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: | |
| New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: | |
| New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: | |
| New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: | |
| New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: | |
| New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file. | |
| * doc/gccint/source-tree-structure-and-build-system.rst: New file. | |
| * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: | |
| New file. | |
| * doc/gccint/standard-header-file-directories.rst: New file. | |
| * doc/gccint/static-analyzer.rst: New file. | |
| * doc/gccint/target-macros.rst: New file. | |
| * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file. | |
| * doc/gccint/target-macros/addressing-modes.rst: New file. | |
| * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file. | |
| * doc/gccint/target-macros/anchored-addresses.rst: New file. | |
| * doc/gccint/target-macros/c++-abi-parameters.rst: New file. | |
| * doc/gccint/target-macros/condition-code-status.rst: New file. | |
| * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file. | |
| * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file. | |
| * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file. | |
| * doc/gccint/target-macros/d-abi-parameters.rst: New file. | |
| * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file. | |
| * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: | |
| New file. | |
| * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file. | |
| * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file. | |
| * doc/gccint/target-macros/emulating-tls.rst: New file. | |
| * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file. | |
| * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file. | |
| * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file. | |
| * doc/gccint/target-macros/miscellaneous-parameters.rst: New file. | |
| * doc/gccint/target-macros/mode-switching-instructions.rst: New file. | |
| * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: | |
| New file. | |
| * doc/gccint/target-macros/position-independent-code.rst: New file. | |
| * doc/gccint/target-macros/register-classes.rst: New file. | |
| * doc/gccint/target-macros/register-usage.rst: New file. | |
| * doc/gccint/target-macros/run-time-target-specification.rst: New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: | |
| New file. | |
| * doc/gccint/target-macros/storage-layout.rst: New file. | |
| * doc/gccint/target-macros/support-for-nested-functions.rst: New file. | |
| * doc/gccint/target-macros/the-global-targetm-variable.rst: New file. | |
| * doc/gccint/target-makefile-fragments.rst: New file. | |
| * doc/gccint/testsuites.rst: New test. | |
| * doc/gccint/testsuites/ada-language-testsuites.rst: New test. | |
| * doc/gccint/testsuites/c-language-testsuites.rst: New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: | |
| New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: | |
| New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: | |
| New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: | |
| New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: | |
| New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: | |
| New test. | |
| * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-gcov.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test. | |
| * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test. | |
| * doc/gccint/the-gcc-low-level-runtime-library.rst: New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: | |
| New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: | |
| New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: | |
| New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: | |
| New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: | |
| New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: | |
| New file. | |
| * doc/gccint/the-language.rst: New file. | |
| * doc/gccint/user-experience-guidelines.rst: New file. | |
| * doc/install/binaries.rst: New file. | |
| * doc/install/building.rst: New file. | |
| * doc/install/building/building-a-cross-compiler.rst: New file. | |
| * doc/install/building/building-a-native-compiler.rst: New file. | |
| * doc/install/building/building-in-parallel.rst: New file. | |
| * doc/install/building/building-the-ada-compiler.rst: New file. | |
| * doc/install/building/building-the-d-compiler.rst: New file. | |
| * doc/install/building/building-with-profile-feedback.rst: New file. | |
| * doc/install/conf.py: New file. | |
| * doc/install/configuration.rst: New file. | |
| * doc/install/copyright.rst: New file. | |
| * doc/install/downloading-gcc.rst: New file. | |
| * doc/install/final-installation.rst: New file. | |
| * doc/install/gnu-free-documentation-license.rst: New file. | |
| * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file. | |
| * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test. | |
| * doc/install/how-to-interpret-test-results.rst: New file. | |
| * doc/install/index.rst: New file. | |
| * doc/install/indices-and-tables.rst: New file. | |
| * doc/install/installing-gcc.rst: New file. | |
| * doc/install/passing-options-and-running-multiple-testsuites.rst: New test. | |
| * doc/install/prerequisites.rst: New file. | |
| * doc/install/submitting-test-results.rst: New file. | |
| * doc/install/testing.rst: New file. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * common/common-target.def: Port to RST. | |
| * target.def: Port to RST. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file. | |
| * doc/gccint/target-macros/addressing-modes.rst: Likewise. | |
| * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise. | |
| * doc/gccint/target-macros/anchored-addresses.rst: Likewise. | |
| * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise. | |
| * doc/gccint/target-macros/condition-code-status.rst: Likewise. | |
| * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise. | |
| * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise. | |
| * doc/gccint/target-macros/d-abi-parameters.rst: Likewise. | |
| * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise. | |
| * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise. | |
| * doc/gccint/target-macros/emulating-tls.rst: Likewise. | |
| * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise. | |
| * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise. | |
| * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise. | |
| * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise. | |
| * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise. | |
| * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/register-classes.rst: Likewise. | |
| * doc/gccint/target-macros/register-usage.rst: Likewise. | |
| * doc/gccint/target-macros/run-time-target-specification.rst: Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/storage-layout.rst: Likewise. | |
| * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Support Sphinx based documentation. | |
| * configure: Regenerate. | |
| * configure.ac: Support Sphinx based documentation. | |
| * genhooks.cc (struct s_hook): Emit tm.rst.in file. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/gccint/target-macros/tm.rst.in: New file. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/analyzer.texi: Removed. | |
| * doc/avr-mmcu.texi: Removed. | |
| * doc/bugreport.texi: Removed. | |
| * doc/cfg.texi: Removed. | |
| * doc/collect2.texi: Removed. | |
| * doc/compat.texi: Removed. | |
| * doc/configfiles.texi: Removed. | |
| * doc/configterms.texi: Removed. | |
| * doc/contrib.texi: Removed. | |
| * doc/contribute.texi: Removed. | |
| * doc/cpp.texi: Removed. | |
| * doc/cppdiropts.texi: Removed. | |
| * doc/cppenv.texi: Removed. | |
| * doc/cppinternals.texi: Removed. | |
| * doc/cppopts.texi: Removed. | |
| * doc/cppwarnopts.texi: Removed. | |
| * doc/extend.texi: Removed. | |
| * doc/fragments.texi: Removed. | |
| * doc/frontends.texi: Removed. | |
| * doc/gcc.texi: Removed. | |
| * doc/gccint.texi: Removed. | |
| * doc/gcov-dump.texi: Removed. | |
| * doc/gcov-tool.texi: Removed. | |
| * doc/gcov.texi: Removed. | |
| * doc/generic.texi: Removed. | |
| * doc/gimple.texi: Removed. | |
| * doc/gnu.texi: Removed. | |
| * doc/gty.texi: Removed. | |
| * doc/headerdirs.texi: Removed. | |
| * doc/hostconfig.texi: Removed. | |
| * doc/implement-c.texi: Removed. | |
| * doc/implement-cxx.texi: Removed. | |
| * doc/include/fdl.texi: Removed. | |
| * doc/include/funding.texi: Removed. | |
| * doc/include/gcc-common.texi: Removed. | |
| * doc/include/gpl_v3.texi: Removed. | |
| * doc/install.texi: Removed. | |
| * doc/interface.texi: Removed. | |
| * doc/invoke.texi: Removed. | |
| * doc/languages.texi: Removed. | |
| * doc/libgcc.texi: Removed. | |
| * doc/loop.texi: Removed. | |
| * doc/lto-dump.texi: Removed. | |
| * doc/lto.texi: Removed. | |
| * doc/makefile.texi: Removed. | |
| * doc/match-and-simplify.texi: Removed. | |
| * doc/md.texi: Removed. | |
| * doc/objc.texi: Removed. | |
| * doc/optinfo.texi: Removed. | |
| * doc/options.texi: Removed. | |
| * doc/passes.texi: Removed. | |
| * doc/plugins.texi: Removed. | |
| * doc/poly-int.texi: Removed. | |
| * doc/portability.texi: Removed. | |
| * doc/rtl.texi: Removed. | |
| * doc/service.texi: Removed. | |
| * doc/sourcebuild.texi: Removed. | |
| * doc/standards.texi: Removed. | |
| * doc/tm.texi: Removed. | |
| * doc/tree-ssa.texi: Removed. | |
| * doc/trouble.texi: Removed. | |
| * doc/ux.texi: Removed. | |
| * doc/tm.texi.in: Removed. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * target.def: Use proper lexers for target macros. | |
| * doc/gccint/target-macros/tm.rst.in: Re-generate. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Support --with-sphinx-build. | |
| * configure.ac: | |
| * configure: Regenerate. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: | |
| Fix cross manual refs. | |
| * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: | |
| Likewise. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: | |
| Do not include tm.rst.in. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/run-time-target-specification.rst: | |
| Likewise. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: | |
| Port to RST. | |
| * doc/gccint/target-macros/storage-layout.rst: Likewise. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master. | |
| * doc/gcc/gcc-command-options/option-summary.rst: Likewise. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Support installation if sphinx-build is missing. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Add vpath default for .rst files. | |
| * config/avr/avr-devices.cc: For port RST. | |
| * config/avr/avr-mcus.def: Update path. | |
| * config/avr/gen-avr-mmcu-texi.cc: Moved to... | |
| * config/avr/gen-avr-mmcu-rst.cc: ...here. | |
| * config/avr/t-avr: Update to rst. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * opts.cc (get_option_html_page): Port to sphinx URLs. | |
| (get_option_url): Likewise. | |
| (test_get_option_html_page): Likewise. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/cpp/character-sets.rst: | |
| Add trailing newline. | |
| * doc/cpp/conditional-syntax.rst: | |
| Add trailing newline. | |
| * doc/cpp/conditional-uses.rst: | |
| Add trailing newline. | |
| * doc/cpp/conditionals.rst: | |
| Add trailing newline. | |
| * doc/cpp/copyright.rst: | |
| Add trailing newline. | |
| * doc/cpp/deleted-code.rst: | |
| Add trailing newline. | |
| * doc/cpp/diagnostics.rst: | |
| Add trailing newline. | |
| * doc/cpp/environment-variables.rst: | |
| Add trailing newline. | |
| * doc/cpp/gnu-free-documentation-license.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/computed-includes.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/include-operation.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/include-syntax.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/once-only-headers.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/search-path.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/system-headers.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/wrapper-headers.rst: | |
| Add trailing newline. | |
| * doc/cpp/implementation-defined-behavior.rst: | |
| Add trailing newline. | |
| * doc/cpp/implementation-details.rst: | |
| Add trailing newline. | |
| * doc/cpp/implementation-limits.rst: | |
| Add trailing newline. | |
| * doc/cpp/index.rst: | |
| Add trailing newline. | |
| * doc/cpp/indices-and-tables.rst: | |
| Add trailing newline. | |
| * doc/cpp/initial-processing.rst: | |
| Add trailing newline. | |
| * doc/cpp/invocation.rst: | |
| Add trailing newline. | |
| * doc/cpp/line-control.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/concatenation.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/directives-within-macro-arguments.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/function-like-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/macro-arguments.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/macro-pitfalls.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/object-like-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/predefined-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/stringizing.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/undefining-and-redefining-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/variadic-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/obsolete-features.rst: | |
| Add trailing newline. | |
| * doc/cpp/other-directives.rst: | |
| Add trailing newline. | |
| * doc/cpp/overview.rst: | |
| Add trailing newline. | |
| * doc/cpp/pragmas.rst: | |
| Add trailing newline. | |
| * doc/cpp/preprocessor-output.rst: | |
| Add trailing newline. | |
| * doc/cpp/the-preprocessing-language.rst: | |
| Add trailing newline. | |
| * doc/cpp/tokenization.rst: | |
| Add trailing newline. | |
| * doc/cpp/traditional-lexical-analysis.rst: | |
| Add trailing newline. | |
| * doc/cpp/traditional-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/traditional-miscellany.rst: | |
| Add trailing newline. | |
| * doc/cpp/traditional-mode.rst: | |
| Add trailing newline. | |
| * doc/cpp/traditional-warnings.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/copyright.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/cppinternals.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/cpplib.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/files.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/index.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/indices-and-tables.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/internal-representation-of-macros.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/just-which-line-number-anyway.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/lexing-a-line.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/lexing-a-token.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/macro-expansion-overview.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/multiple-include-optimization.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/overview.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/representation-of-line-numbers.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: | |
| Add trailing newline. | |
| * doc/gcc/binary-compatibility.rst: | |
| Add trailing newline. | |
| * doc/gcc/c++-implementation-defined-behavior.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/architecture.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/characters.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/declarators.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/environment.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/floating-point.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/hints.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/identifiers.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/integers.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/library-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/statements.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/translation.rst: | |
| Add trailing newline. | |
| * doc/gcc/conditionally-supported-behavior.rst: | |
| Add trailing newline. | |
| * doc/gcc/contributing-to-gcc-development.rst: | |
| Add trailing newline. | |
| * doc/gcc/contributors-to-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/copyright.rst: | |
| Add trailing newline. | |
| * doc/gcc/exception-handling.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/type-traits.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: | |
| Add trailing newline. | |
| * doc/gcc/funding.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/compiling-c++-programs.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/description.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/gcc-developer-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-for-directory-search.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-for-linking.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-that-control-optimization.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/program-instrumentation-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/using-precompiled-headers.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov-dump.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov-tool.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/introduction-to-gcov.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/invoking-gcov.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: | |
| Add trailing newline. | |
| * doc/gcc/general-public-license-3.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-free-documentation-license.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/exceptions.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/garbage-collection.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/synchronization.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/type-encoding.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu.rst: | |
| Add trailing newline. | |
| * doc/gcc/have-you-found-a-bug.rst: | |
| Add trailing newline. | |
| * doc/gcc/how-and-where-to-report-bugs.rst: | |
| Add trailing newline. | |
| * doc/gcc/how-to-get-help-with-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/index.rst: | |
| Add trailing newline. | |
| * doc/gcc/indices-and-tables.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc/c-language.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc/d-language.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc/go-language.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: | |
| Add trailing newline. | |
| * doc/gcc/lto-dump.rst: | |
| Add trailing newline. | |
| * doc/gcc/programming-languages-supported-by-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/reporting-bugs.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: | |
| Add trailing newline. | |
| * doc/gccint/analyzer-internals.rst: | |
| Add trailing newline. | |
| * doc/gccint/collect2.rst: | |
| Add trailing newline. | |
| * doc/gccint/contributing-to-gcc-development.rst: | |
| Add trailing newline. | |
| * doc/gccint/contributors-to-gcc.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph/basic-blocks.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph/edges.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph/liveness-information.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph/profile-information.rst: | |
| Add trailing newline. | |
| * doc/gccint/copyright.rst: | |
| Add trailing newline. | |
| * doc/gccint/debugging-the-analyzer.rst: | |
| Add trailing newline. | |
| * doc/gccint/funding.rst: | |
| Add trailing newline. | |
| * doc/gccint/gcc-and-portability.rst: | |
| Add trailing newline. | |
| * doc/gccint/general-public-license-3.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/attributes-in-trees.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/c-and-c++-trees.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/declarations.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/deficiencies.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/expressions.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/functions.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/language-dependent-trees.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/overview.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/statements.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/types.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple-api.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/exception-handling.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/gimple-instruction-set.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/gimple-sequences.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/manipulating-gimple-statements.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/operands.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/sequence-iterators.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/statement-and-operand-traversals.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/temporaries.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-representation.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: | |
| Add trailing newline. | |
| * doc/gccint/gnu-free-documentation-license.rst: | |
| Add trailing newline. | |
| * doc/gccint/guidelines-for-diagnostics.rst: | |
| Add trailing newline. | |
| * doc/gccint/guidelines-for-options.rst: | |
| Add trailing newline. | |
| * doc/gccint/host-common.rst: | |
| Add trailing newline. | |
| * doc/gccint/host-configuration.rst: | |
| Add trailing newline. | |
| * doc/gccint/host-filesystem.rst: | |
| Add trailing newline. | |
| * doc/gccint/host-makefile-fragments.rst: | |
| Add trailing newline. | |
| * doc/gccint/host-misc.rst: | |
| Add trailing newline. | |
| * doc/gccint/index.rst: | |
| Add trailing newline. | |
| * doc/gccint/indices-and-tables.rst: | |
| Add trailing newline. | |
| * doc/gccint/interfacing-to-gcc-output.rst: | |
| Add trailing newline. | |
| * doc/gccint/introduction.rst: | |
| Add trailing newline. | |
| * doc/gccint/language-front-ends-in-gcc.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization/design-overview.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization/lto-file-sections.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/conditional-execution.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/constant-definitions.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/example-of-defineinsn.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/instruction-attributes.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/iterators.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/operand-constraints.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/predicates.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/rtl-template.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: | |
| Add trailing newline. | |
| * doc/gccint/makefile-fragments.rst: | |
| Add trailing newline. | |
| * doc/gccint/match-and-simplify.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: | |
| Add trailing newline. | |
| * doc/gccint/option-file-format.rst: | |
| Add trailing newline. | |
| * doc/gccint/option-properties.rst: | |
| Add trailing newline. | |
| * doc/gccint/option-specification-files.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/building-gcc-plugins.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/giving-information-about-a-plugin.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/interacting-with-the-pass-manager.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/keeping-track-of-available-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/loading-plugins.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/plugin-api.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/recording-information-about-pass-execution.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/access-to-operands.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/access-to-special-operands.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/bit-fields.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/comparison-operations.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/constant-expression-types.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/conversions.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/declarations.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/insns.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/machine-modes.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/reading-rtl.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/registers-and-memory.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/rtl-object-types.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/side-effect-expressions.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/vector-operations.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: | |
| Add trailing newline. | |
| * doc/gccint/standard-header-file-directories.rst: | |
| Add trailing newline. | |
| * doc/gccint/static-analyzer.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/controlling-debugging-information-format.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/layout-of-source-language-data-types.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/position-independent-code.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/register-usage.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/support-for-nested-functions.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/the-global-targetm-variable.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-makefile-fragments.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/ada-language-testsuites.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/c-language-testsuites.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-gcov.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-language.rst: | |
| Add trailing newline. | |
| * doc/gccint/user-experience-guidelines.rst: | |
| Add trailing newline. | |
| * doc/install/binaries.rst: | |
| Add trailing newline. | |
| * doc/install/building.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-a-cross-compiler.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-a-native-compiler.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-in-parallel.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-the-ada-compiler.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-the-d-compiler.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-with-profile-feedback.rst: | |
| Add trailing newline. | |
| * doc/install/configuration.rst: | |
| Add trailing newline. | |
| * doc/install/copyright.rst: | |
| Add trailing newline. | |
| * doc/install/downloading-gcc.rst: | |
| Add trailing newline. | |
| * doc/install/final-installation.rst: | |
| Add trailing newline. | |
| * doc/install/gnu-free-documentation-license.rst: | |
| Add trailing newline. | |
| * doc/install/host-target-specific-installation-notes-for-gcc.rst: | |
| Add trailing newline. | |
| * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: | |
| Add trailing newline. | |
| * doc/install/how-to-interpret-test-results.rst: | |
| Add trailing newline. | |
| * doc/install/index.rst: | |
| Add trailing newline. | |
| * doc/install/indices-and-tables.rst: | |
| Add trailing newline. | |
| * doc/install/installing-gcc.rst: | |
| Add trailing newline. | |
| * doc/install/passing-options-and-running-multiple-testsuites.rst: | |
| Add trailing newline. | |
| * doc/install/prerequisites.rst: | |
| Add trailing newline. | |
| * doc/install/submitting-test-results.rst: | |
| Add trailing newline. | |
| * doc/install/testing.rst: | |
| Add trailing newline. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Use new install URL. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: | |
| Use intersphinx link. | |
| * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: | |
| Use new URL. | |
| * doc/gccint/source-tree-structure-and-build-system.rst: Use | |
| intersphinx link. | |
| * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise. | |
| * doc/install/installing-gcc.rst: Likewise. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| Sinan <sinan.lin@linux.alibaba.com> | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: | |
| Add missing variable name. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/cpp/conf.py: Add newline at last line. | |
| * doc/cppinternals/conf.py: Add newline at last line. | |
| * doc/gcc/conf.py: Add newline at last line. | |
| * doc/gccint/conf.py: Add newline at last line. | |
| * doc/install/conf.py: Add newline at last line. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: | |
| Revert. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/cpp/pragmas.rst: Revert. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert. | |
| * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: Revert. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/install/testing.rst: Remove anachronism about separate | |
| source tarballs. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| Revert: | |
| 2022-11-13 Martin Liska <mliska@suse.cz> | |
| PR other/107620 | |
| * configure: Regenerate. | |
| * configure.ac: Always set sphinx-build. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/gcc/gcc-command-options/option-summary.rst: Revert. | |
| * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert. | |
| 2022-11-14 Haochen Jiang <haochen.jiang@intel.com> | |
| * common/config/i386/i386-common.cc | |
| (OPTION_MASK_ISA2_AMX_INT8_SET): Add AMX-TILE dependency. | |
| (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto. | |
| (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto. | |
| (OPTION_MASK_ISA2_AMX_TILE_UNSET): Disable AMX_{INT8, | |
| BF16, FP16} when disable AMX_TILE. | |
| 2022-11-14 Martin Liska <mliska@suse.cz> | |
| * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: | |
| Revert. | |
| * doc/gcc/gcc-command-options/option-summary.rst: | |
| Revert. | |
| 2022-11-14 Hongyu Wang <hongyu.wang@intel.com> | |
| * common/config/i386/i386-common.cc (ix86_optimization_table): | |
| Enable small loop unroll at O2 by default. | |
| * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll | |
| factor if -munroll-only-small-loops enabled and -funroll-loops/ | |
| -funroll-all-loops are disabled. | |
| * config/i386/i386.h (struct processor_costs): Add 2 field | |
| small_unroll_ninsns and small_unroll_factor. | |
| * config/i386/i386.opt: Add -munroll-only-small-loops. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: | |
| Document -munroll-only-small-loops. | |
| * doc/gcc/gcc-command-options/option-summary.rst: Likewise. | |
| * loop-init.cc (pass_rtl_unroll_loops::gate): Enable rtl | |
| loop unrolling for -O2-speed and above if target hook | |
| loop_unroll_adjust exists. | |
| (pass_rtl_unroll_loops::execute): Set UAP_UNROLL flag | |
| when target hook loop_unroll_adjust exists. | |
| * config/i386/x86-tune-costs.h: Update all processor costs | |
| with small_unroll_ninsns = 4 and small_unroll_factor = 2. | |
| 2022-11-13 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/106235 | |
| * doc/gcc/gcc-command-options/option-summary.rst: Add | |
| -Wno-analyzer-tainted-assertion. | |
| * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: | |
| Add -Wno-analyzer-tainted-assertion. | |
| 2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/bitmanip.md: New define_split. | |
| 2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/riscv.cc (riscv_rtx_costs): Recognize shNadd, | |
| if expressed as a plus and multiplication with a power-of-2. | |
| Split costing for MINUS from PLUS. | |
| 2022-11-13 Martin Liska <mliska@suse.cz> | |
| PR other/107620 | |
| * configure: Regenerate. | |
| * configure.ac: Always set sphinx-build. | |
| 2022-11-13 Joseph Myers <joseph@codesourcery.com> | |
| * ginclude/float.h [__STDC_VERSION__ > 201710L] | |
| (__STDC_VERSION_FLOAT_H__): New macro. | |
| * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] | |
| (__STDC_VERSION_STDARG_H__): New macro. | |
| * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L] | |
| (__STDC_VERSION_STDATOMIC_H__): New macro. | |
| * ginclude/stddef.h [__STDC_VERSION__ > 201710L] | |
| (__STDC_VERSION_STDDEF_H__): New macro. | |
| * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L] | |
| (__STDC_VERSION_STDINT_H__): New macro. | |
| * glimits.h [__STDC_VERSION__ > 201710L] | |
| (__STDC_VERSION_LIMITS_H__): New macro. | |
| 2022-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/install/testing.rst: Remove anachronism about separate | |
| source tarballs. | |
| 2022-11-12 Joseph Myers <joseph@codesourcery.com> | |
| * dfp.cc (decimal_from_binary): Convert a canonical NaN to a | |
| canonical NaN. | |
| 2022-11-12 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (range_tests_signbit): Move to set from here... | |
| (range_tests_signed_zeros): ...to here. | |
| 2022-11-12 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (build_lt): Adjust with frange_nextafter | |
| instead of default to a closed range. | |
| (build_gt): Same. | |
| 2022-11-12 Aldy Hernandez <aldyh@redhat.com> | |
| Jakub Jelinek <jakub@redhat.com> | |
| * range-op-float.cc (float_binary_op_range_finish): New function. | |
| (foperator_plus::op1_range): New. | |
| (foperator_plus::op2_range): New. | |
| (foperator_minus::op1_range): New. | |
| (foperator_minus::op2_range): New. | |
| (foperator_mult::op1_range): New. | |
| (foperator_mult::op2_range): New. | |
| (foperator_div::op1_range): New. | |
| (foperator_div::op2_range): New. | |
| 2022-11-12 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107569 | |
| * range-op-float.cc (zero_p, contains_p, singleton_inf_p, | |
| signbit_known_p, zero_range, inf_range, zero_to_inf_range): New | |
| functions. | |
| (foperator_mult_div_base): New class. | |
| (foperator_mult, foperator_div): Derive from that and use | |
| protected static method from it as well as above new functions | |
| to simplify the code. | |
| 2022-11-12 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107569 | |
| * range-op-float.cc (foperator_div): New class. | |
| (floating_op_table::floating_op_table): Use foperator_div | |
| for RDIV_EXPR. | |
| 2022-11-12 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107569 | |
| PR tree-optimization/107591 | |
| * range-op.h (range_operator_float::rv_fold): Add relation_kind | |
| argument. | |
| * range-op-float.cc (range_operator_float::fold_range): Name | |
| last argument trio and pass trio.op1_op2 () as last argument to | |
| rv_fold. | |
| (range_operator_float::rv_fold): Add relation_kind argument. | |
| (foperator_plus::rv_fold, foperator_minus::rv_fold): Likewise. | |
| (foperator_mult): New class. | |
| (floating_op_table::floating_op_table): Use foperator_mult for | |
| MULT_EXPR. | |
| 2022-11-12 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec. | |
| (type): Add flogb. | |
| (logb_non_negative<mode>2): New instruction template. | |
| (logb<mode>2): New define_expand. | |
| 2022-11-12 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/loongarch.md (UNSPEC_FSCALEB): New unspec. | |
| (type): Add fscaleb. | |
| (IMODE): New mode attr. | |
| (ldexp<mode>3): New instruction template. | |
| 2022-11-12 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/loongarch.md (UNSPEC_FTINT): New unspec. | |
| (UNSPEC_FTINTRM): Likewise. | |
| (UNSPEC_FTINTRP): Likewise. | |
| (LRINT): New define_int_iterator. | |
| (lrint_pattern): New define_int_attr. | |
| (lrint_submenmonic): Likewise. | |
| (lrint_allow_inexact): Likewise. | |
| (ANYFI): New define_mode_iterator. | |
| (lrint<ANYF><ANYFI>): New instruction template. | |
| 2022-11-12 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/loongarch.md (frint_<fmt>): Rename to .. | |
| (rint<mode>2): .. this. | |
| 2022-11-11 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/106147 | |
| * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: | |
| Add -Wanalyzer-infinite-recursion. | |
| * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst | |
| (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion. | |
| 2022-11-11 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/106147 | |
| * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o. | |
| 2022-11-11 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/107523 | |
| * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt | |
| rather than fur_depend. | |
| 2022-11-11 Andrew MacLeod <amacleod@redhat.com> | |
| * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt. | |
| (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt. | |
| (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges. | |
| (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead. | |
| 2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com> | |
| * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C | |
| CPU. | |
| * config/aarch64/aarch64-tune.md: Regenerate. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: | |
| Document Cortex-X1C CPU. | |
| 2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com> | |
| * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715 | |
| CPU. | |
| * config/aarch64/aarch64-tune.md: Regenerate. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: | |
| Document Cortex-A715 CPU. | |
| 2022-11-11 Richard Biener <rguenther@suse.de> | |
| Nikita Voronov <nik_1357@mail.ru> | |
| PR tree-optimization/107554 | |
| * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes): | |
| Use unsigned HOST_WIDE_INT type for the strlen. | |
| 2022-11-11 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/105142 | |
| * gimple-fold.cc (fosa_unwind): New global. | |
| (follow_outer_ssa_edges): When the SSA definition to follow | |
| is does not dominate fosa_bb, temporarily clear flow-sensitive | |
| info. Make sure to not expand stmts with not defined overflow. | |
| (maybe_fold_comparisons_from_match_pd): Set up unwind stack | |
| for follow_outer_ssa_edges and unwind flow-sensitive info | |
| clearing after matching. | |
| 2022-11-11 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op.cc (operator_mult::fold_range): Remove. | |
| (operator_div::fold_range): Remove. | |
| (operator_bitwise_and): Remove. | |
| 2022-11-11 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op.cc (update_known_bitmask): Avoid unnecessary intersection. | |
| 2022-11-11 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op.cc (range_operator::fold_range): Call | |
| update_known_bitmask. | |
| (operator_bitwise_and::fold_range): Avoid setting nonzero bits | |
| when range is undefined. | |
| 2022-11-11 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op.cc (class operator_div): Remove tree code. | |
| (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as | |
| TRUNC_DIV_EXPR. | |
| 2022-11-11 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op.cc: (range_op_table::set): Set m_code. | |
| (integral_table::integral_table): Handle shared entries. | |
| (pointer_table::pointer_table): Same. | |
| * range-op.h (class range_operator): Add m_code. | |
| 2022-11-11 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107618 | |
| * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all | |
| assignments with a single SSA use. | |
| (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1 | |
| to perform simple constant folding. | |
| (copy_prop::visit_stmt): Visit all assignments. | |
| 2022-11-11 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/84646 | |
| * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param | |
| wheter to run update-address-taken. | |
| (pass_dce::execute): Honor it. | |
| * passes.def: Exchange last DCE and CD-DCE invocations. | |
| Swap pass_tail_calls and the last DCE. | |
| 2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| Monk Chiang <monk.chiang@sifive.com> | |
| * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling. | |
| (legitimize_move): Ditto. | |
| * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function. | |
| (riscv_first_stack_step): Adjust for scalable register spilling. | |
| (riscv_expand_prologue): Ditto. | |
| (riscv_expand_epilogue): Ditto. | |
| (riscv_dwarf_poly_indeterminate_value): New function. | |
| (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling. | |
| * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro. | |
| (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto. | |
| (RISCV_PROLOGUE_TEMP2): Ditto. | |
| * config/riscv/vector-iterators.md: New iterators. | |
| * config/riscv/vector.md (*mov<mode>): Fix it for register spilling. | |
| (*mov<mode>_whole): New pattern. | |
| (*mov<mode>_fract): New pattern. | |
| (@pred_mov<mode>): Fix it for register spilling. | |
| 2022-11-11 Jonathan Wakely <jwakely@redhat.com> | |
| PR c/85487 | |
| * doc/cpp/pragmas.rst (Pragmas): Document region pragmas. | |
| 2022-11-11 Haochen Jiang <haochen.jiang@intel.com> | |
| * config/i386/i386-builtin.def (BDESC): Add | |
| OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin. | |
| * config/i386/i386-expand.cc (ix86_expand_builtin): | |
| Add ISA check before emit_insn. | |
| * config/i386/prfchiintrin.h: Add target for intrin. | |
| 2022-11-10 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/99671 | |
| * tristate.h (tristate::is_unknown): New. | |
| 2022-11-10 David Malcolm <dmalcolm@redhat.com> | |
| * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: | |
| Add -Wanalyzer-deref-before-check. | |
| 2022-11-10 Marek Polacek <polacek@redhat.com> | |
| * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: | |
| Extend the description of -Wdangling-reference. | |
| 2022-11-10 Andrew Pinski <apinski@marvell.com> | |
| * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete. | |
| * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete. | |
| * system.h: Poison SLOW_SHORT_ACCESS | |
| 2022-11-10 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set_nonnegative): Remove NAN sign handling. | |
| (range_tests_signed_zeros): Adjust test. | |
| 2022-11-10 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/84646 | |
| * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve | |
| copy propagation across PHIs. | |
| 2022-11-10 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/riscv-cores.def (RISCV_TUNE): Update | |
| sifive-7-series to point to the sifive_7 pipeline description. | |
| 2022-11-10 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/84646 | |
| * tree-ssa-ccp.cc (set_lattice_value): Make sure we | |
| allow a const -> copy transition and avoid using meet | |
| in that case. | |
| 2022-11-10 Martin Liska <mliska@suse.cz> | |
| * doc/cpp/conf.py: Add newline at last line. | |
| * doc/cppinternals/conf.py: Add newline at last line. | |
| * doc/gcc/conf.py: Add newline at last line. | |
| * doc/gccint/conf.py: Add newline at last line. | |
| * doc/install/conf.py: Add newline at last line. | |
| 2022-11-10 Richard Biener <rguenther@suse.de> | |
| * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect | |
| candidates and determine the outermost loop to unswitch. | |
| (tree_ssa_unswitch_loops): First perform all guard hoisting, | |
| then perform unswitching on innermost loop predicates. | |
| (find_unswitching_predicates_for_bb): Keep track of the | |
| outermost loop to unswitch. | |
| (evaluate_bbs): Adjust exit test. | |
| (tree_unswitch_single_loop): Dump whether we unswitched an outer | |
| loop. | |
| (tree_unswitch_loop): Remove assert we unswitch only innermost | |
| loops. | |
| 2022-11-10 Jakub Jelinek <jakub@redhat.com> | |
| PR target/107585 | |
| PR target/107546 | |
| * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use | |
| gen_int_mode rather than GEN_INT. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| Sinan <sinan.lin@linux.alibaba.com> | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: | |
| Add missing variable name. | |
| 2022-11-09 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range-storage.cc (frange_storage_slot::get_frange): Clear | |
| NAN if appropriate. | |
| * value-range.cc (range_tests_floats): New test. | |
| 2022-11-09 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (class foperator_plus): Remove op[12]_range. | |
| (class foperator_minus): Same. | |
| 2022-11-09 Qing Zhao <qing.zhao@oracle.com> | |
| * gimple-array-bounds.cc (trailing_array): Replace | |
| array_at_struct_end_p with new name and update comments. | |
| * gimple-fold.cc (get_range_strlen_tree): Likewise. | |
| * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref): | |
| Likewise. | |
| * graphite-sese-to-poly.cc (bounds_are_valid): Likewise. | |
| * tree-if-conv.cc (idx_within_array_bound): Likewise. | |
| * tree-object-size.cc (addr_object_size): Likewise. | |
| * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p): | |
| Likewise. | |
| (stmt_kills_ref_p): Likewise. | |
| * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise. | |
| * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise. | |
| * tree.cc (array_at_struct_end_p): Rename to ... | |
| (array_ref_flexible_size_p): ... this. | |
| (component_ref_size): Replace array_at_struct_end_p with new name. | |
| * tree.h (array_at_struct_end_p): Rename to ... | |
| (array_ref_flexible_size_p): ... this. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Use new install URL. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: | |
| Use intersphinx link. | |
| * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: | |
| Use new URL. | |
| * doc/gccint/source-tree-structure-and-build-system.rst: Use | |
| intersphinx link. | |
| * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise. | |
| * doc/install/installing-gcc.rst: Likewise. | |
| 2022-11-09 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/84646 | |
| * tree-ssa-threadbackward.cc (back_threader::maybe_register_path): | |
| Remove premature cycle rejection. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/cpp/character-sets.rst: | |
| Add trailing newline. | |
| * doc/cpp/conditional-syntax.rst: | |
| Add trailing newline. | |
| * doc/cpp/conditional-uses.rst: | |
| Add trailing newline. | |
| * doc/cpp/conditionals.rst: | |
| Add trailing newline. | |
| * doc/cpp/copyright.rst: | |
| Add trailing newline. | |
| * doc/cpp/deleted-code.rst: | |
| Add trailing newline. | |
| * doc/cpp/diagnostics.rst: | |
| Add trailing newline. | |
| * doc/cpp/environment-variables.rst: | |
| Add trailing newline. | |
| * doc/cpp/gnu-free-documentation-license.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/computed-includes.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/include-operation.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/include-syntax.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/once-only-headers.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/search-path.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/system-headers.rst: | |
| Add trailing newline. | |
| * doc/cpp/header-files/wrapper-headers.rst: | |
| Add trailing newline. | |
| * doc/cpp/implementation-defined-behavior.rst: | |
| Add trailing newline. | |
| * doc/cpp/implementation-details.rst: | |
| Add trailing newline. | |
| * doc/cpp/implementation-limits.rst: | |
| Add trailing newline. | |
| * doc/cpp/index.rst: | |
| Add trailing newline. | |
| * doc/cpp/indices-and-tables.rst: | |
| Add trailing newline. | |
| * doc/cpp/initial-processing.rst: | |
| Add trailing newline. | |
| * doc/cpp/invocation.rst: | |
| Add trailing newline. | |
| * doc/cpp/line-control.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/concatenation.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/directives-within-macro-arguments.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/function-like-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/macro-arguments.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/macro-pitfalls.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/object-like-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/predefined-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/stringizing.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/undefining-and-redefining-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/macros/variadic-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/obsolete-features.rst: | |
| Add trailing newline. | |
| * doc/cpp/other-directives.rst: | |
| Add trailing newline. | |
| * doc/cpp/overview.rst: | |
| Add trailing newline. | |
| * doc/cpp/pragmas.rst: | |
| Add trailing newline. | |
| * doc/cpp/preprocessor-output.rst: | |
| Add trailing newline. | |
| * doc/cpp/the-preprocessing-language.rst: | |
| Add trailing newline. | |
| * doc/cpp/tokenization.rst: | |
| Add trailing newline. | |
| * doc/cpp/traditional-lexical-analysis.rst: | |
| Add trailing newline. | |
| * doc/cpp/traditional-macros.rst: | |
| Add trailing newline. | |
| * doc/cpp/traditional-miscellany.rst: | |
| Add trailing newline. | |
| * doc/cpp/traditional-mode.rst: | |
| Add trailing newline. | |
| * doc/cpp/traditional-warnings.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/copyright.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/cppinternals.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/cpplib.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/files.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/index.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/indices-and-tables.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/internal-representation-of-macros.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/just-which-line-number-anyway.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/lexing-a-line.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/lexing-a-token.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/macro-expansion-overview.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/multiple-include-optimization.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/overview.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/representation-of-line-numbers.rst: | |
| Add trailing newline. | |
| * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: | |
| Add trailing newline. | |
| * doc/gcc/binary-compatibility.rst: | |
| Add trailing newline. | |
| * doc/gcc/c++-implementation-defined-behavior.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/architecture.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/characters.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/declarators.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/environment.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/floating-point.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/hints.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/identifiers.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/integers.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/library-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/statements.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: | |
| Add trailing newline. | |
| * doc/gcc/c-implementation-defined-behavior/translation.rst: | |
| Add trailing newline. | |
| * doc/gcc/conditionally-supported-behavior.rst: | |
| Add trailing newline. | |
| * doc/gcc/contributing-to-gcc-development.rst: | |
| Add trailing newline. | |
| * doc/gcc/contributors-to-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/copyright.rst: | |
| Add trailing newline. | |
| * doc/gcc/exception-handling.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/type-traits.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: | |
| Add trailing newline. | |
| * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: | |
| Add trailing newline. | |
| * doc/gcc/funding.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/compiling-c++-programs.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/description.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/gcc-developer-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-for-directory-search.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-for-linking.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-that-control-optimization.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/program-instrumentation-options.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc-command-options/using-precompiled-headers.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov-dump.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov-tool.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/introduction-to-gcov.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/invoking-gcov.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: | |
| Add trailing newline. | |
| * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: | |
| Add trailing newline. | |
| * doc/gcc/general-public-license-3.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-free-documentation-license.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/exceptions.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/garbage-collection.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/synchronization.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu-objective-c-features/type-encoding.rst: | |
| Add trailing newline. | |
| * doc/gcc/gnu.rst: | |
| Add trailing newline. | |
| * doc/gcc/have-you-found-a-bug.rst: | |
| Add trailing newline. | |
| * doc/gcc/how-and-where-to-report-bugs.rst: | |
| Add trailing newline. | |
| * doc/gcc/how-to-get-help-with-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/index.rst: | |
| Add trailing newline. | |
| * doc/gcc/indices-and-tables.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: | |
| Add trailing newline. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc/c-language.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc/d-language.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc/go-language.rst: | |
| Add trailing newline. | |
| * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: | |
| Add trailing newline. | |
| * doc/gcc/lto-dump.rst: | |
| Add trailing newline. | |
| * doc/gcc/programming-languages-supported-by-gcc.rst: | |
| Add trailing newline. | |
| * doc/gcc/reporting-bugs.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: | |
| Add trailing newline. | |
| * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: | |
| Add trailing newline. | |
| * doc/gccint/analyzer-internals.rst: | |
| Add trailing newline. | |
| * doc/gccint/collect2.rst: | |
| Add trailing newline. | |
| * doc/gccint/contributing-to-gcc-development.rst: | |
| Add trailing newline. | |
| * doc/gccint/contributors-to-gcc.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph/basic-blocks.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph/edges.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph/liveness-information.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: | |
| Add trailing newline. | |
| * doc/gccint/control-flow-graph/profile-information.rst: | |
| Add trailing newline. | |
| * doc/gccint/copyright.rst: | |
| Add trailing newline. | |
| * doc/gccint/debugging-the-analyzer.rst: | |
| Add trailing newline. | |
| * doc/gccint/funding.rst: | |
| Add trailing newline. | |
| * doc/gccint/gcc-and-portability.rst: | |
| Add trailing newline. | |
| * doc/gccint/general-public-license-3.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/attributes-in-trees.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/c-and-c++-trees.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/declarations.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/deficiencies.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/expressions.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/functions.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/language-dependent-trees.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/overview.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/statements.rst: | |
| Add trailing newline. | |
| * doc/gccint/generic/types.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple-api.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/exception-handling.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/gimple-instruction-set.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/gimple-sequences.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/manipulating-gimple-statements.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/operands.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/sequence-iterators.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/statement-and-operand-traversals.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/temporaries.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-representation.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: | |
| Add trailing newline. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: | |
| Add trailing newline. | |
| * doc/gccint/gnu-free-documentation-license.rst: | |
| Add trailing newline. | |
| * doc/gccint/guidelines-for-diagnostics.rst: | |
| Add trailing newline. | |
| * doc/gccint/guidelines-for-options.rst: | |
| Add trailing newline. | |
| * doc/gccint/host-common.rst: | |
| Add trailing newline. | |
| * doc/gccint/host-configuration.rst: | |
| Add trailing newline. | |
| * doc/gccint/host-filesystem.rst: | |
| Add trailing newline. | |
| * doc/gccint/host-makefile-fragments.rst: | |
| Add trailing newline. | |
| * doc/gccint/host-misc.rst: | |
| Add trailing newline. | |
| * doc/gccint/index.rst: | |
| Add trailing newline. | |
| * doc/gccint/indices-and-tables.rst: | |
| Add trailing newline. | |
| * doc/gccint/interfacing-to-gcc-output.rst: | |
| Add trailing newline. | |
| * doc/gccint/introduction.rst: | |
| Add trailing newline. | |
| * doc/gccint/language-front-ends-in-gcc.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization/design-overview.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization/lto-file-sections.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/conditional-execution.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/constant-definitions.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/example-of-defineinsn.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/instruction-attributes.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/iterators.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/operand-constraints.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/predicates.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/rtl-template.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: | |
| Add trailing newline. | |
| * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: | |
| Add trailing newline. | |
| * doc/gccint/makefile-fragments.rst: | |
| Add trailing newline. | |
| * doc/gccint/match-and-simplify.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: | |
| Add trailing newline. | |
| * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: | |
| Add trailing newline. | |
| * doc/gccint/option-file-format.rst: | |
| Add trailing newline. | |
| * doc/gccint/option-properties.rst: | |
| Add trailing newline. | |
| * doc/gccint/option-specification-files.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/building-gcc-plugins.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/giving-information-about-a-plugin.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/interacting-with-the-pass-manager.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/keeping-track-of-available-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/loading-plugins.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/plugin-api.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/recording-information-about-pass-execution.rst: | |
| Add trailing newline. | |
| * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/access-to-operands.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/access-to-special-operands.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/bit-fields.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/comparison-operations.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/constant-expression-types.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/conversions.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/declarations.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/insns.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/machine-modes.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/reading-rtl.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/registers-and-memory.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/rtl-object-types.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/side-effect-expressions.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: | |
| Add trailing newline. | |
| * doc/gccint/rtl-representation/vector-operations.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: | |
| Add trailing newline. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: | |
| Add trailing newline. | |
| * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: | |
| Add trailing newline. | |
| * doc/gccint/standard-header-file-directories.rst: | |
| Add trailing newline. | |
| * doc/gccint/static-analyzer.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/controlling-debugging-information-format.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/layout-of-source-language-data-types.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/position-independent-code.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/register-usage.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/support-for-nested-functions.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-macros/the-global-targetm-variable.rst: | |
| Add trailing newline. | |
| * doc/gccint/target-makefile-fragments.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/ada-language-testsuites.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/c-language-testsuites.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-gcov.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: | |
| Add trailing newline. | |
| * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: | |
| Add trailing newline. | |
| * doc/gccint/the-language.rst: | |
| Add trailing newline. | |
| * doc/gccint/user-experience-guidelines.rst: | |
| Add trailing newline. | |
| * doc/install/binaries.rst: | |
| Add trailing newline. | |
| * doc/install/building.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-a-cross-compiler.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-a-native-compiler.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-in-parallel.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-the-ada-compiler.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-the-d-compiler.rst: | |
| Add trailing newline. | |
| * doc/install/building/building-with-profile-feedback.rst: | |
| Add trailing newline. | |
| * doc/install/configuration.rst: | |
| Add trailing newline. | |
| * doc/install/copyright.rst: | |
| Add trailing newline. | |
| * doc/install/downloading-gcc.rst: | |
| Add trailing newline. | |
| * doc/install/final-installation.rst: | |
| Add trailing newline. | |
| * doc/install/gnu-free-documentation-license.rst: | |
| Add trailing newline. | |
| * doc/install/host-target-specific-installation-notes-for-gcc.rst: | |
| Add trailing newline. | |
| * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: | |
| Add trailing newline. | |
| * doc/install/how-to-interpret-test-results.rst: | |
| Add trailing newline. | |
| * doc/install/index.rst: | |
| Add trailing newline. | |
| * doc/install/indices-and-tables.rst: | |
| Add trailing newline. | |
| * doc/install/installing-gcc.rst: | |
| Add trailing newline. | |
| * doc/install/passing-options-and-running-multiple-testsuites.rst: | |
| Add trailing newline. | |
| * doc/install/prerequisites.rst: | |
| Add trailing newline. | |
| * doc/install/submitting-test-results.rst: | |
| Add trailing newline. | |
| * doc/install/testing.rst: | |
| Add trailing newline. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * opts.cc (get_option_html_page): Port to sphinx URLs. | |
| (get_option_url): Likewise. | |
| (test_get_option_html_page): Likewise. | |
| 2022-11-09 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107569 | |
| * range-op-float.cc (foperator_abs::op1_range): Clear NaNs | |
| from the negatives frange before unioning it into r. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Add vpath default for .rst files. | |
| * config/avr/avr-devices.cc: For port RST. | |
| * config/avr/avr-mcus.def: Update path. | |
| * config/avr/gen-avr-mmcu-texi.cc: Moved to... | |
| * config/avr/gen-avr-mmcu-rst.cc: ...here. | |
| * config/avr/t-avr: Update to rst. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate. | |
| 2022-11-09 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP. | |
| 2022-11-09 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/loongarch.cc (loongarch_emit_int_compare): | |
| Avoid signed overflow. | |
| 2022-11-09 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_plus::op1_range): New. | |
| (foperator_plus::op2_range): New. | |
| (foperator_minus::op1_range): New. | |
| (foperator_minus::op2_range): New. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Support installation if sphinx-build is missing. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: | |
| Port to RST. | |
| * doc/gccint/target-macros/storage-layout.rst: Likewise. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master. | |
| * doc/gcc/gcc-command-options/option-summary.rst: Likewise. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: | |
| Do not include tm.rst.in. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/run-time-target-specification.rst: | |
| Likewise. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: | |
| Fix cross manual refs. | |
| * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: | |
| Likewise. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Support --with-sphinx-build. | |
| * configure.ac: | |
| * configure: Regenerate. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * target.def: Use proper lexers for target macros. | |
| * doc/gccint/target-macros/tm.rst.in: Re-generate. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/analyzer.texi: Removed. | |
| * doc/avr-mmcu.texi: Removed. | |
| * doc/bugreport.texi: Removed. | |
| * doc/cfg.texi: Removed. | |
| * doc/collect2.texi: Removed. | |
| * doc/compat.texi: Removed. | |
| * doc/configfiles.texi: Removed. | |
| * doc/configterms.texi: Removed. | |
| * doc/contrib.texi: Removed. | |
| * doc/contribute.texi: Removed. | |
| * doc/cpp.texi: Removed. | |
| * doc/cppdiropts.texi: Removed. | |
| * doc/cppenv.texi: Removed. | |
| * doc/cppinternals.texi: Removed. | |
| * doc/cppopts.texi: Removed. | |
| * doc/cppwarnopts.texi: Removed. | |
| * doc/extend.texi: Removed. | |
| * doc/fragments.texi: Removed. | |
| * doc/frontends.texi: Removed. | |
| * doc/gcc.texi: Removed. | |
| * doc/gccint.texi: Removed. | |
| * doc/gcov-dump.texi: Removed. | |
| * doc/gcov-tool.texi: Removed. | |
| * doc/gcov.texi: Removed. | |
| * doc/generic.texi: Removed. | |
| * doc/gimple.texi: Removed. | |
| * doc/gnu.texi: Removed. | |
| * doc/gty.texi: Removed. | |
| * doc/headerdirs.texi: Removed. | |
| * doc/hostconfig.texi: Removed. | |
| * doc/implement-c.texi: Removed. | |
| * doc/implement-cxx.texi: Removed. | |
| * doc/include/fdl.texi: Removed. | |
| * doc/include/funding.texi: Removed. | |
| * doc/include/gcc-common.texi: Removed. | |
| * doc/include/gpl_v3.texi: Removed. | |
| * doc/install.texi: Removed. | |
| * doc/interface.texi: Removed. | |
| * doc/invoke.texi: Removed. | |
| * doc/languages.texi: Removed. | |
| * doc/libgcc.texi: Removed. | |
| * doc/loop.texi: Removed. | |
| * doc/lto-dump.texi: Removed. | |
| * doc/lto.texi: Removed. | |
| * doc/makefile.texi: Removed. | |
| * doc/match-and-simplify.texi: Removed. | |
| * doc/md.texi: Removed. | |
| * doc/objc.texi: Removed. | |
| * doc/optinfo.texi: Removed. | |
| * doc/options.texi: Removed. | |
| * doc/passes.texi: Removed. | |
| * doc/plugins.texi: Removed. | |
| * doc/poly-int.texi: Removed. | |
| * doc/portability.texi: Removed. | |
| * doc/rtl.texi: Removed. | |
| * doc/service.texi: Removed. | |
| * doc/sourcebuild.texi: Removed. | |
| * doc/standards.texi: Removed. | |
| * doc/tm.texi: Removed. | |
| * doc/tree-ssa.texi: Removed. | |
| * doc/trouble.texi: Removed. | |
| * doc/ux.texi: Removed. | |
| * doc/tm.texi.in: Removed. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/gccint/target-macros/tm.rst.in: New file. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Support Sphinx based documentation. | |
| * configure: Regenerate. | |
| * configure.ac: Support Sphinx based documentation. | |
| * genhooks.cc (struct s_hook): Emit tm.rst.in file. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file. | |
| * doc/gccint/target-macros/addressing-modes.rst: Likewise. | |
| * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise. | |
| * doc/gccint/target-macros/anchored-addresses.rst: Likewise. | |
| * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise. | |
| * doc/gccint/target-macros/condition-code-status.rst: Likewise. | |
| * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise. | |
| * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise. | |
| * doc/gccint/target-macros/d-abi-parameters.rst: Likewise. | |
| * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise. | |
| * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise. | |
| * doc/gccint/target-macros/emulating-tls.rst: Likewise. | |
| * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise. | |
| * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise. | |
| * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise. | |
| * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise. | |
| * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise. | |
| * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/register-classes.rst: Likewise. | |
| * doc/gccint/target-macros/register-usage.rst: Likewise. | |
| * doc/gccint/target-macros/run-time-target-specification.rst: Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: | |
| Likewise. | |
| * doc/gccint/target-macros/storage-layout.rst: Likewise. | |
| * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * common/common-target.def: Port to RST. | |
| * target.def: Port to RST. | |
| 2022-11-09 Martin Liska <mliska@suse.cz> | |
| * doc/cpp/character-sets.rst: New file. | |
| * doc/cpp/conditional-syntax.rst: New file. | |
| * doc/cpp/conditional-uses.rst: New file. | |
| * doc/cpp/conditionals.rst: New file. | |
| * doc/cpp/conf.py: New file. | |
| * doc/cpp/copyright.rst: New file. | |
| * doc/cpp/deleted-code.rst: New file. | |
| * doc/cpp/diagnostics.rst: New file. | |
| * doc/cpp/environment-variables.rst: New file. | |
| * doc/cpp/gnu-free-documentation-license.rst: New file. | |
| * doc/cpp/header-files.rst: New file. | |
| * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file. | |
| * doc/cpp/header-files/computed-includes.rst: New file. | |
| * doc/cpp/header-files/include-operation.rst: New file. | |
| * doc/cpp/header-files/include-syntax.rst: New file. | |
| * doc/cpp/header-files/once-only-headers.rst: New file. | |
| * doc/cpp/header-files/search-path.rst: New file. | |
| * doc/cpp/header-files/system-headers.rst: New file. | |
| * doc/cpp/header-files/wrapper-headers.rst: New file. | |
| * doc/cpp/implementation-defined-behavior.rst: New file. | |
| * doc/cpp/implementation-details.rst: New file. | |
| * doc/cpp/implementation-limits.rst: New file. | |
| * doc/cpp/index.rst: New file. | |
| * doc/cpp/indices-and-tables.rst: New file. | |
| * doc/cpp/initial-processing.rst: New file. | |
| * doc/cpp/invocation.rst: New file. | |
| * doc/cpp/line-control.rst: New file. | |
| * doc/cpp/macros.rst: New file. | |
| * doc/cpp/macros/concatenation.rst: New file. | |
| * doc/cpp/macros/directives-within-macro-arguments.rst: New file. | |
| * doc/cpp/macros/function-like-macros.rst: New file. | |
| * doc/cpp/macros/macro-arguments.rst: New file. | |
| * doc/cpp/macros/macro-pitfalls.rst: New file. | |
| * doc/cpp/macros/object-like-macros.rst: New file. | |
| * doc/cpp/macros/predefined-macros.rst: New file. | |
| * doc/cpp/macros/stringizing.rst: New file. | |
| * doc/cpp/macros/undefining-and-redefining-macros.rst: New file. | |
| * doc/cpp/macros/variadic-macros.rst: New file. | |
| * doc/cpp/obsolete-features.rst: New file. | |
| * doc/cpp/other-directives.rst: New file. | |
| * doc/cpp/overview.rst: New file. | |
| * doc/cpp/pragmas.rst: New file. | |
| * doc/cpp/preprocessor-output.rst: New file. | |
| * doc/cpp/the-preprocessing-language.rst: New file. | |
| * doc/cpp/tokenization.rst: New file. | |
| * doc/cpp/traditional-lexical-analysis.rst: New file. | |
| * doc/cpp/traditional-macros.rst: New file. | |
| * doc/cpp/traditional-miscellany.rst: New file. | |
| * doc/cpp/traditional-mode.rst: New file. | |
| * doc/cpp/traditional-warnings.rst: New file. | |
| * doc/cppinternals/conf.py: New file. | |
| * doc/cppinternals/copyright.rst: New file. | |
| * doc/cppinternals/cppinternals.rst: New file. | |
| * doc/cppinternals/cpplib.rst: New file. | |
| * doc/cppinternals/files.rst: New file. | |
| * doc/cppinternals/index.rst: New file. | |
| * doc/cppinternals/indices-and-tables.rst: New file. | |
| * doc/cppinternals/internal-representation-of-macros.rst: New file. | |
| * doc/cppinternals/just-which-line-number-anyway.rst: New file. | |
| * doc/cppinternals/lexing-a-line.rst: New file. | |
| * doc/cppinternals/lexing-a-token.rst: New file. | |
| * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file. | |
| * doc/cppinternals/macro-expansion-overview.rst: New file. | |
| * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file. | |
| * doc/cppinternals/multiple-include-optimization.rst: New file. | |
| * doc/cppinternals/overview.rst: New file. | |
| * doc/cppinternals/representation-of-line-numbers.rst: New file. | |
| * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file. | |
| * doc/gcc/binary-compatibility.rst: New file. | |
| * doc/gcc/c++-implementation-defined-behavior.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/characters.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/environment.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/hints.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/integers.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/statements.rst: New file. | |
| * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst: | |
| New file. | |
| * doc/gcc/c-implementation-defined-behavior/translation.rst: New file. | |
| * doc/gcc/conditionally-supported-behavior.rst: New file. | |
| * doc/gcc/conf.py: New file. | |
| * doc/gcc/contributing-to-gcc-development.rst: New file. | |
| * doc/gcc/contributors-to-gcc.rst: New file. | |
| * doc/gcc/copyright.rst: New file. | |
| * doc/gcc/exception-handling.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file. | |
| * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file. | |
| * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst: | |
| New file. | |
| * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst: | |
| New file. | |
| * doc/gcc/funding.rst: New file. | |
| * doc/gcc/gcc-command-options.rst: New file. | |
| * doc/gcc/gcc-command-options/c++-modules.rst: New file. | |
| * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file. | |
| * doc/gcc/gcc-command-options/description.rst: New file. | |
| * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file. | |
| * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file. | |
| * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file. | |
| * doc/gcc/gcc-command-options/option-summary.rst: New file. | |
| * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file. | |
| * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file. | |
| * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file. | |
| * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file. | |
| * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file. | |
| * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file. | |
| * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file. | |
| * doc/gcc/gcc-command-options/options-for-linking.rst: New file. | |
| * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file. | |
| * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file. | |
| * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file. | |
| * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file. | |
| * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file. | |
| * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst: | |
| New file. | |
| * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file. | |
| * doc/gcc/gcc.rst: New file. | |
| * doc/gcc/gcov-dump.rst: New file. | |
| * doc/gcc/gcov-tool.rst: New file. | |
| * doc/gcc/gcov.rst: New file. | |
| * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file. | |
| * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file. | |
| * doc/gcc/gcov/introduction-to-gcov.rst: New file. | |
| * doc/gcc/gcov/invoking-gcov.rst: New file. | |
| * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file. | |
| * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file. | |
| * doc/gcc/general-public-license-3.rst: New file. | |
| * doc/gcc/gnu-free-documentation-license.rst: New file. | |
| * doc/gcc/gnu-objective-c-features.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/exceptions.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/synchronization.rst: New file. | |
| * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file. | |
| * doc/gcc/gnu.rst: New file. | |
| * doc/gcc/have-you-found-a-bug.rst: New file. | |
| * doc/gcc/how-and-where-to-report-bugs.rst: New file. | |
| * doc/gcc/how-to-get-help-with-gcc.rst: New file. | |
| * doc/gcc/index.rst: New file. | |
| * doc/gcc/indices-and-tables.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst: | |
| New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst: | |
| New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst: | |
| New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file. | |
| * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst: | |
| New file. | |
| * doc/gcc/language-standards-supported-by-gcc.rst: New file. | |
| * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file. | |
| * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file. | |
| * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file. | |
| * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file. | |
| * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst: | |
| New file. | |
| * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file. | |
| * doc/gcc/lto-dump.rst: New file. | |
| * doc/gcc/programming-languages-supported-by-gcc.rst: New file. | |
| * doc/gcc/reporting-bugs.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file. | |
| * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst: | |
| New file. | |
| * doc/gccint/analysis-and-representation-of-loops.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file. | |
| * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst: | |
| New file. | |
| * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file. | |
| * doc/gccint/analyzer-internals.rst: New file. | |
| * doc/gccint/collect2.rst: New file. | |
| * doc/gccint/conf.py: New file. | |
| * doc/gccint/contributing-to-gcc-development.rst: New file. | |
| * doc/gccint/contributors-to-gcc.rst: New file. | |
| * doc/gccint/control-flow-graph.rst: New file. | |
| * doc/gccint/control-flow-graph/basic-blocks.rst: New file. | |
| * doc/gccint/control-flow-graph/edges.rst: New file. | |
| * doc/gccint/control-flow-graph/liveness-information.rst: New file. | |
| * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file. | |
| * doc/gccint/control-flow-graph/profile-information.rst: New file. | |
| * doc/gccint/copyright.rst: New file. | |
| * doc/gccint/debugging-the-analyzer.rst: New file. | |
| * doc/gccint/funding.rst: New file. | |
| * doc/gccint/gcc-and-portability.rst: New file. | |
| * doc/gccint/general-public-license-3.rst: New file. | |
| * doc/gccint/generic.rst: New file. | |
| * doc/gccint/generic/attributes-in-trees.rst: New file. | |
| * doc/gccint/generic/c-and-c++-trees.rst: New file. | |
| * doc/gccint/generic/declarations.rst: New file. | |
| * doc/gccint/generic/deficiencies.rst: New file. | |
| * doc/gccint/generic/expressions.rst: New file. | |
| * doc/gccint/generic/functions.rst: New file. | |
| * doc/gccint/generic/language-dependent-trees.rst: New file. | |
| * doc/gccint/generic/overview.rst: New file. | |
| * doc/gccint/generic/statements.rst: New file. | |
| * doc/gccint/generic/types.rst: New file. | |
| * doc/gccint/gimple-api.rst: New file. | |
| * doc/gccint/gimple.rst: New file. | |
| * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file. | |
| * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file. | |
| * doc/gccint/gimple/exception-handling.rst: New file. | |
| * doc/gccint/gimple/gimple-instruction-set.rst: New file. | |
| * doc/gccint/gimple/gimple-sequences.rst: New file. | |
| * doc/gccint/gimple/manipulating-gimple-statements.rst: New file. | |
| * doc/gccint/gimple/operands.rst: New file. | |
| * doc/gccint/gimple/sequence-iterators.rst: New file. | |
| * doc/gccint/gimple/statement-and-operand-traversals.rst: New file. | |
| * doc/gccint/gimple/temporaries.rst: New file. | |
| * doc/gccint/gimple/tuple-representation.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file. | |
| * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file. | |
| * doc/gccint/gnu-free-documentation-license.rst: New file. | |
| * doc/gccint/guidelines-for-diagnostics.rst: New file. | |
| * doc/gccint/guidelines-for-options.rst: New file. | |
| * doc/gccint/host-common.rst: New file. | |
| * doc/gccint/host-configuration.rst: New file. | |
| * doc/gccint/host-filesystem.rst: New file. | |
| * doc/gccint/host-makefile-fragments.rst: New file. | |
| * doc/gccint/host-misc.rst: New file. | |
| * doc/gccint/index.rst: New file. | |
| * doc/gccint/indices-and-tables.rst: New file. | |
| * doc/gccint/interfacing-to-gcc-output.rst: New file. | |
| * doc/gccint/introduction.rst: New file. | |
| * doc/gccint/language-front-ends-in-gcc.rst: New file. | |
| * doc/gccint/link-time-optimization.rst: New file. | |
| * doc/gccint/link-time-optimization/design-overview.rst: New file. | |
| * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file. | |
| * doc/gccint/link-time-optimization/lto-file-sections.rst: New file. | |
| * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file. | |
| * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst: | |
| New file. | |
| * doc/gccint/machine-descriptions.rst: New file. | |
| * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file. | |
| * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file. | |
| * doc/gccint/machine-descriptions/conditional-execution.rst: New file. | |
| * doc/gccint/machine-descriptions/constant-definitions.rst: New file. | |
| * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file. | |
| * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file. | |
| * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file. | |
| * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file. | |
| * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file. | |
| * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file. | |
| * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file. | |
| * doc/gccint/machine-descriptions/instruction-attributes.rst: New file. | |
| * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file. | |
| * doc/gccint/machine-descriptions/iterators.rst: New file. | |
| * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file. | |
| * doc/gccint/machine-descriptions/operand-constraints.rst: New file. | |
| * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file. | |
| * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst: | |
| New file. | |
| * doc/gccint/machine-descriptions/predicates.rst: New file. | |
| * doc/gccint/machine-descriptions/rtl-template.rst: New file. | |
| * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file. | |
| * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file. | |
| * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file. | |
| * doc/gccint/makefile-fragments.rst: New file. | |
| * doc/gccint/match-and-simplify.rst: New file. | |
| * doc/gccint/memory-management-and-type-information.rst: New file. | |
| * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst: | |
| New file. | |
| * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst: | |
| New file. | |
| * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst: | |
| New file. | |
| * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file. | |
| * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst: | |
| New file. | |
| * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file. | |
| * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst: | |
| New file. | |
| * doc/gccint/option-file-format.rst: New file. | |
| * doc/gccint/option-properties.rst: New file. | |
| * doc/gccint/option-specification-files.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst: | |
| New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file. | |
| * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file. | |
| * doc/gccint/plugins.rst: New file. | |
| * doc/gccint/plugins/building-gcc-plugins.rst: New file. | |
| * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file. | |
| * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file. | |
| * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file. | |
| * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file. | |
| * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file. | |
| * doc/gccint/plugins/loading-plugins.rst: New file. | |
| * doc/gccint/plugins/plugin-api.rst: New file. | |
| * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file. | |
| * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file. | |
| * doc/gccint/rtl-representation.rst: New file. | |
| * doc/gccint/rtl-representation/access-to-operands.rst: New file. | |
| * doc/gccint/rtl-representation/access-to-special-operands.rst: New file. | |
| * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file. | |
| * doc/gccint/rtl-representation/bit-fields.rst: New file. | |
| * doc/gccint/rtl-representation/comparison-operations.rst: New file. | |
| * doc/gccint/rtl-representation/constant-expression-types.rst: New file. | |
| * doc/gccint/rtl-representation/conversions.rst: New file. | |
| * doc/gccint/rtl-representation/declarations.rst: New file. | |
| * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file. | |
| * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file. | |
| * doc/gccint/rtl-representation/insns.rst: New file. | |
| * doc/gccint/rtl-representation/machine-modes.rst: New file. | |
| * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file. | |
| * doc/gccint/rtl-representation/reading-rtl.rst: New file. | |
| * doc/gccint/rtl-representation/registers-and-memory.rst: New file. | |
| * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file. | |
| * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file. | |
| * doc/gccint/rtl-representation/rtl-object-types.rst: New file. | |
| * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file. | |
| * doc/gccint/rtl-representation/side-effect-expressions.rst: New file. | |
| * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file. | |
| * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file. | |
| * doc/gccint/rtl-representation/vector-operations.rst: New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst: | |
| New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst: | |
| New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst: | |
| New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst: | |
| New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst: | |
| New file. | |
| * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file. | |
| * doc/gccint/source-tree-structure-and-build-system.rst: New file. | |
| * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst: | |
| New file. | |
| * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst: | |
| New file. | |
| * doc/gccint/standard-header-file-directories.rst: New file. | |
| * doc/gccint/static-analyzer.rst: New file. | |
| * doc/gccint/target-macros.rst: New file. | |
| * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file. | |
| * doc/gccint/target-macros/addressing-modes.rst: New file. | |
| * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file. | |
| * doc/gccint/target-macros/anchored-addresses.rst: New file. | |
| * doc/gccint/target-macros/c++-abi-parameters.rst: New file. | |
| * doc/gccint/target-macros/condition-code-status.rst: New file. | |
| * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file. | |
| * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file. | |
| * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file. | |
| * doc/gccint/target-macros/d-abi-parameters.rst: New file. | |
| * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file. | |
| * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst: | |
| New file. | |
| * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst: | |
| New file. | |
| * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file. | |
| * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file. | |
| * doc/gccint/target-macros/emulating-tls.rst: New file. | |
| * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file. | |
| * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file. | |
| * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file. | |
| * doc/gccint/target-macros/miscellaneous-parameters.rst: New file. | |
| * doc/gccint/target-macros/mode-switching-instructions.rst: New file. | |
| * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst: | |
| New file. | |
| * doc/gccint/target-macros/position-independent-code.rst: New file. | |
| * doc/gccint/target-macros/register-classes.rst: New file. | |
| * doc/gccint/target-macros/register-usage.rst: New file. | |
| * doc/gccint/target-macros/run-time-target-specification.rst: New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst: | |
| New file. | |
| * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst: | |
| New file. | |
| * doc/gccint/target-macros/storage-layout.rst: New file. | |
| * doc/gccint/target-macros/support-for-nested-functions.rst: New file. | |
| * doc/gccint/target-macros/the-global-targetm-variable.rst: New file. | |
| * doc/gccint/target-makefile-fragments.rst: New file. | |
| * doc/gccint/testsuites.rst: New test. | |
| * doc/gccint/testsuites/ada-language-testsuites.rst: New test. | |
| * doc/gccint/testsuites/c-language-testsuites.rst: New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst: | |
| New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst: | |
| New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst: | |
| New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst: | |
| New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst: | |
| New test. | |
| * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst: | |
| New test. | |
| * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-gcov.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test. | |
| * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test. | |
| * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test. | |
| * doc/gccint/the-gcc-low-level-runtime-library.rst: New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst: | |
| New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst: | |
| New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst: | |
| New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst: | |
| New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst: | |
| New file. | |
| * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst: | |
| New file. | |
| * doc/gccint/the-language.rst: New file. | |
| * doc/gccint/user-experience-guidelines.rst: New file. | |
| * doc/install/binaries.rst: New file. | |
| * doc/install/building.rst: New file. | |
| * doc/install/building/building-a-cross-compiler.rst: New file. | |
| * doc/install/building/building-a-native-compiler.rst: New file. | |
| * doc/install/building/building-in-parallel.rst: New file. | |
| * doc/install/building/building-the-ada-compiler.rst: New file. | |
| * doc/install/building/building-the-d-compiler.rst: New file. | |
| * doc/install/building/building-with-profile-feedback.rst: New file. | |
| * doc/install/conf.py: New file. | |
| * doc/install/configuration.rst: New file. | |
| * doc/install/copyright.rst: New file. | |
| * doc/install/downloading-gcc.rst: New file. | |
| * doc/install/final-installation.rst: New file. | |
| * doc/install/gnu-free-documentation-license.rst: New file. | |
| * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file. | |
| * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test. | |
| * doc/install/how-to-interpret-test-results.rst: New file. | |
| * doc/install/index.rst: New file. | |
| * doc/install/indices-and-tables.rst: New file. | |
| * doc/install/installing-gcc.rst: New file. | |
| * doc/install/passing-options-and-running-multiple-testsuites.rst: New test. | |
| * doc/install/prerequisites.rst: New file. | |
| * doc/install/submitting-test-results.rst: New file. | |
| * doc/install/testing.rst: New file. | |
| 2022-11-09 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (class foperator_minus): New. | |
| (floating_op_table::floating_op_table): Add MINUS_EXPR entry. | |
| 2022-11-09 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (range_operator_float::fold_range): Abstract | |
| out from foperator_plus. | |
| (range_operator_float::rv_fold): New. | |
| (foperator_plus::fold_range): Remove. | |
| (foperator_plus::rv_fold): New. | |
| (propagate_nans): Remove. | |
| * range-op.h (class range_operator_float): Add rv_fold. | |
| 2022-11-09 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_plus::fold_range): Set NAN for | |
| addition of different signed infinities. | |
| (range_op_float_tests): New test. | |
| 2022-11-09 liuhongt <hongtao.liu@intel.com> | |
| PR target/107540 | |
| * config/i386/sse.md (avx512f_movddup512<mask_name>): Change | |
| type from sselog to sselog1. | |
| (avx_movddup256<mask_name>): Ditto. | |
| 2022-11-08 David Faust <david.faust@oracle.com> | |
| * config/bpf/bpf.cc (struct core_walk_data): Add field `which'... | |
| (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum | |
| bpf_builtins for error checks. | |
| (bpf_core_walk): Use values of enum bpf_builtins. | |
| (bpf_core_newdecl): Likewise. | |
| (bpf_expand_builtin): Likewise. | |
| 2022-11-08 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/24021 | |
| * range-op-float.cc (propagate_nans): New. | |
| (frange_nextafter): New. | |
| (frange_arithmetic): New. | |
| (class foperator_plus): New. | |
| (floating_op_table::floating_op_table): Add PLUS_EXPR entry. | |
| 2022-11-08 Aldy Hernandez <aldyh@redhat.com> | |
| * real.cc (real_isdenormal): New. | |
| (encode_ieee_single): Call real_isdenormal. | |
| (encode_ieee_double): Same. | |
| (encode_ieee_extended): Same. | |
| (encode_ieee_quad): Same. | |
| (encode_ieee_half): Same. | |
| (encode_arm_bfloat_half): Same. | |
| * real.h (real_isdenormal): Add mode argument. Rewrite for | |
| normalized values. | |
| * value-range.cc (frange::flush_denormals_to_zero): Pass mode to | |
| real_isdenormal. | |
| 2022-11-08 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107389 | |
| * gimple-low.cc (lower_builtin_assume_aligned): New. | |
| (lower_stmt): Call it. | |
| 2022-11-08 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op.cc (operator_div::fold_range): Call | |
| update_known_bitmask. | |
| * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of | |
| 2 as a right shift. | |
| 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com> | |
| * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument | |
| of GCN_BUILTIN_LDEXPV to V64DFmode. | |
| 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com> | |
| * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins. | |
| * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV, | |
| GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV. | |
| 2022-11-08 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op.cc (irange_to_masked_value): New. | |
| (update_known_bitmask): New. | |
| (operator_mult::fold_range): Call update_known_bitmask. | |
| 2022-11-08 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107547 | |
| * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX | |
| of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}. Handle | |
| BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}. | |
| 2022-11-08 Jakub Jelinek <jakub@redhat.com> | |
| PR target/107546 | |
| * config/i386/predicates.md (vector_or_const_vector_operand): New | |
| predicate. | |
| * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>, | |
| vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>, | |
| vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand | |
| predicate instead of nonimmediate_operand and | |
| vector_or_const_vector_operand instead of vector_operand. | |
| * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For | |
| LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those | |
| into LE/LEU or GT/GTU with larger or smaller by one cop1 if | |
| there is no wrap-around. Force CONST_VECTOR cop0 or cop1 into | |
| REG. Formatting fix. | |
| 2022-11-08 Max Filippov <jcmvbkbc@gmail.com> | |
| PR rtl-optimization/107482 | |
| * ira-color.cc (assign_hard_reg): Only call | |
| update_costs_from_copies when retry_p is false. | |
| 2022-11-08 konglin1 <lingling.kong@intel.com> | |
| Revert: | |
| 2022-11-07 konglin1 <lingling.kong@intel.com> | |
| * config/i386/i386.opt:Add -mprefer-remote-atomic. | |
| * config/i386/sync.md (atomic_<plus_logic><mode>): | |
| New define_expand. | |
| (atomic_add<mode>): Rename to below one. | |
| (atomic_add<mode>_1): To this. | |
| (atomic_<logic><mode>): Ditto. | |
| (atomic_<logic><mode>_1): Ditto. | |
| * doc/invoke.texi: Add -mprefer-remote-atomic. | |
| 2022-11-08 Haochen Jiang <haochen.jiang@intel.com> | |
| * config/i386/i386-options.cc (m_CORE_ATOM): New. | |
| * config/i386/x86-tune.def | |
| (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM. | |
| (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_DEST_FALSE_DEP_FOR_GLC): Ditto. | |
| (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto. | |
| (X86_TUNE_USE_LEAVE): Ditto. | |
| (X86_TUNE_PUSH_MEMORY): Ditto. | |
| (X86_TUNE_USE_INCDEC): Ditto. | |
| (X86_TUNE_INTEGER_DFMODE_MOVES): 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_USE_SIMODE_FIOP): 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. | |
| (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto. | |
| (X86_TUNE_USE_GATHER_2PARTS): Ditto. | |
| (X86_TUNE_USE_GATHER_4PARTS): Ditto. | |
| (X86_TUNE_USE_GATHER): Ditto. | |
| 2022-11-08 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/104530 | |
| * gimple-range-cache.cc (ranger_cache::register_inferred_value): | |
| New. Split from: | |
| (ranger_cache::apply_inferred_ranges): Move setting cache to | |
| separate function. | |
| * gimple-range-cache.h (register_inferred_value): New prototype. | |
| * gimple-range-infer.cc (infer_range_manager::has_range_p): New. | |
| * gimple-range-infer.h (has_range_p): New prototype. | |
| * gimple-range.cc (register_transitive_inferred_ranges): New. | |
| * gimple-range.h (register_transitive_inferred_ranges): New proto. | |
| * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred | |
| ranges at the end of the block before folding final stmt. | |
| 2022-11-07 David Faust <david.faust@oracle.com> | |
| * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo(). | |
| 2022-11-07 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/55157 | |
| * range-op.cc (operator_mult::wi_fold): Optimize multiplications | |
| by powers of 2. | |
| 2022-11-07 H.J. Lu <hjl.tools@gmail.com> | |
| PR middle-end/102566 | |
| * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle | |
| if (_5 < 0) and if (_5 >= 0). | |
| 2022-11-07 Richard Purdie <richard.purdie@linuxfoundation.org> | |
| * file-prefix-map.cc (remap_filename): Handle NULL filenames. | |
| 2022-11-07 Alexander Monakov <amonakov@ispras.ru> | |
| PR tree-optimization/107505 | |
| * tree-ssa-sink.cc (statement_sink_location): Additionally | |
| reject ECF_RETURNS_TWICE calls. | |
| 2022-11-07 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107541 | |
| * range-op.cc (operator_div::fold_range): Restrict power of 2 | |
| optimization to positive numbers. | |
| 2022-11-07 Richard Biener <rguenther@suse.de> | |
| * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New. | |
| (unswitch_predicate::unswitch_predicate): Initialize count. | |
| (init_loop_unswitch_info): First collect candidates and | |
| determine the outermost loop to unswitch. | |
| (tree_ssa_unswitch_loops): First perform all guard hoisting, | |
| then perform unswitching on innermost loop predicates. | |
| (find_unswitching_predicates_for_bb): Keep track of the | |
| most profitable predicate to unswitch on. | |
| (tree_unswitch_single_loop): Unswitch given predicate if | |
| not NULL. | |
| 2022-11-07 Martin Liska <mliska@suse.cz> | |
| Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/invoke.texi: Improve wording. | |
| 2022-11-07 Martin Liska <mliska@suse.cz> | |
| * range-op.cc: Add final override keywords. | |
| 2022-11-07 Kewen Lin <linkw@linux.ibm.com> | |
| PR tree-optimization/107412 | |
| * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ... | |
| (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter | |
| mask_p indicating it's for mask or length, and add some handlings for | |
| IFN LEN_{LOAD,STORE}. | |
| (gimple_fold_mask_load): Rename to ... | |
| (gimple_fold_partial_load): ... this, add one parameter mask_p. | |
| (gimple_fold_mask_store): Rename to ... | |
| (gimple_fold_partial_store): ... this, add one parameter mask_p. | |
| (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE}, | |
| and adjust calls on gimple_fold_mask_load_store_mem_ref to | |
| gimple_fold_partial_load_store_mem_ref. | |
| 2022-11-07 Hu, Lin1 <lin1.hu@intel.com> | |
| * common/config/i386/cpuinfo.h | |
| (get_intel_cpu): Handle Grand Ridge. | |
| * common/config/i386/i386-common.cc | |
| (processor_names): Add grandridge. | |
| (processor_alias_table): Ditto. | |
| * common/config/i386/i386-cpuinfo.h: | |
| (enum processor_types): Add INTEL_GRANDRIDGE. | |
| * config.gcc: Add -march=grandridge. | |
| * config/i386/driver-i386.cc (host_detect_local_cpu): | |
| Handle grandridge. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): | |
| Ditto. | |
| * config/i386/i386-options.cc (m_GRANDRIDGE): New define. | |
| (processor_cost_table): Add grandridge. | |
| * config/i386/i386.h (enum processor_type): | |
| Add PROCESSOR_GRANDRIDGE. | |
| (PTA_GRANDRIDGE): Ditto. | |
| * doc/extend.texi: Add grandridge. | |
| * doc/invoke.texi: Ditto. | |
| 2022-11-07 konglin1 <lingling.kong@intel.com> | |
| * config/i386/i386.opt:Add -mprefer-remote-atomic. | |
| * config/i386/sync.md (atomic_<plus_logic><mode>): | |
| New define_expand. | |
| (atomic_add<mode>): Rename to below one. | |
| (atomic_add<mode>_1): To this. | |
| (atomic_<logic><mode>): Ditto. | |
| (atomic_<logic><mode>_1): Ditto. | |
| * doc/invoke.texi: Add -mprefer-remote-atomic. | |
| 2022-11-07 konglin1 <lingling.kong@intel.com> | |
| * common/config/i386/cpuinfo.h (get_available_features): | |
| Detect raoint. | |
| * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET, | |
| OPTION_MASK_ISA2_RAOINT_UNSET): New. | |
| (ix86_handle_option): Handle -mraoint. | |
| * common/config/i386/i386-cpuinfo.h (enum processor_features): | |
| Add FEATURE_RAOINT. | |
| * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for | |
| raoint. | |
| * config.gcc: Add raointintrin.h | |
| * config/i386/cpuid.h (bit_RAOINT): New. | |
| * config/i386/i386-builtin.def (BDESC): Add new builtins. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): Define | |
| __RAOINT__. | |
| * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT). | |
| * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): | |
| Add -mraoint. | |
| * config/i386/sync.md (rao_a<raointop><mode>): New define insn. | |
| * config/i386/i386.opt: Add option -mraoint. | |
| * config/i386/x86gprintrin.h: Include raointintrin.h. | |
| * doc/extend.texi: Document raoint. | |
| * doc/invoke.texi: Document -mraoint. | |
| * doc/sourcebuild.texi: Document target raoint. | |
| * config/i386/raointintrin.h: New file. | |
| 2022-11-07 Haochen Jiang <haochen.jiang@intel.com> | |
| * common/config/i386/cpuinfo.h | |
| (get_intel_cpu): Handle Granite Rapids. | |
| * common/config/i386/i386-common.cc: | |
| (processor_names): Add graniterapids. | |
| (processor_alias_table): Ditto. | |
| * common/config/i386/i386-cpuinfo.h | |
| (enum processor_subtypes): Add INTEL_GRANTIERAPIDS. | |
| * config.gcc: Add -march=graniterapids. | |
| * config/i386/driver-i386.cc (host_detect_local_cpu): | |
| Handle graniterapids. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): | |
| Ditto. | |
| * config/i386/i386-options.cc (m_GRANITERAPIDS): New. | |
| (processor_cost_table): Add graniterapids. | |
| * config/i386/i386.h (enum processor_type): | |
| Add PROCESSOR_GRANITERAPIDS. | |
| (PTA_GRANITERAPIDS): Ditto. | |
| * doc/extend.texi: Add graniterapids. | |
| * doc/invoke.texi: Ditto. | |
| 2022-11-07 Haochen Jiang <haochen.jiang@intel.com> | |
| Hongtao Liu <hongtao.liu@intel.com> | |
| * common/config/i386/cpuinfo.h (get_available_features): | |
| Detect PREFETCHI. | |
| * common/config/i386/i386-common.cc | |
| (OPTION_MASK_ISA2_PREFETCHI_SET, | |
| OPTION_MASK_ISA2_PREFETCHI_UNSET): New. | |
| (ix86_handle_option): Handle -mprefetchi. | |
| * common/config/i386/i386-cpuinfo.h | |
| (enum processor_features): Add FEATURE_PREFETCHI. | |
| * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY | |
| for prefetchi. | |
| * config.gcc: Add prfchiintrin.h. | |
| * config/i386/cpuid.h (bit_PREFETCHI): New. | |
| * config/i386/i386-builtin-types.def: | |
| Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT) | |
| and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT). | |
| * config/i386/i386-builtin.def (BDESC): Add new builtins. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): | |
| Define __PREFETCHI__. | |
| * config/i386/i386-expand.cc: Handle new builtins. | |
| * config/i386/i386-isa.def (PREFETCHI): | |
| Add DEF_PTA(PREFETCHI). | |
| * config/i386/i386-options.cc | |
| (ix86_valid_target_attribute_inner_p): Handle prefetchi. | |
| * config/i386/i386.md (prefetchi): New define_insn. | |
| * config/i386/i386.opt: Add option -mprefetchi. | |
| * config/i386/predicates.md (local_func_symbolic_operand): | |
| New predicates. | |
| * config/i386/x86gprintrin.h: Include prfchiintrin.h. | |
| * config/i386/xmmintrin.h (enum _mm_hint): New enum for | |
| prefetchi. | |
| (_mm_prefetch): Handle the highest bit of enum. | |
| * doc/extend.texi: Document prefetchi. | |
| * doc/invoke.texi: Document -mprefetchi. | |
| * doc/sourcebuild.texi: Document target prefetchi. | |
| * config/i386/prfchiintrin.h: New file. | |
| 2022-11-06 Uroš Bizjak <ubizjak@gmail.com> | |
| * optabs.cc (can_vec_set_var_idx_p): Use operand[2] | |
| mode when checking vec_set_optab. | |
| 2022-11-06 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec. | |
| (type): Add fcopysign. | |
| (copysign<mode>3): New instruction template. | |
| 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| * multiple_target.cc (expand_target_clones): Free memory. | |
| 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| * cgraph.cc (cgraph_node::make_local): Remove redundant set_section. | |
| * multiple_target.cc (create_dispatcher_calls): Likewise. | |
| 2022-11-05 Jonathan Wakely <jwakely@redhat.com> | |
| PR c/41041 | |
| * doc/cppopts.texi: Document -fwide-exec-charset defaults | |
| correctly. | |
| 2022-11-05 Alexandre Oliva <oliva@adacore.com> | |
| * common.opt (fmultiflags): New. | |
| * doc/invoke.texi: Document it. | |
| * gcc.cc (driver_self_specs): Discard it. | |
| * opts.cc (common_handle_option): Ignore it in the driver. | |
| 2022-11-04 Jeff Chapman II <jchapman@lock3software.com> | |
| Jason Merrill <jason@redhat.com> | |
| * input.cc (get_source_text_between): New fn. | |
| * input.h (get_source_text_between): Declare. | |
| 2022-11-04 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107342 | |
| * range-op.cc (operator_mult::fold_range): New. | |
| (operator_div::fold_range): New. | |
| 2022-11-04 Eric Botcazou <ebotcazou@adacore.com> | |
| * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>: | |
| Do not take into account operand 2. | |
| (operand_compare::hash_operand) <COMPONENT_REF>: Likewise. | |
| 2022-11-04 Eric Botcazou <ebotcazou@adacore.com> | |
| * expr.cc (emit_group_store): Do not use subword paradoxical subregs | |
| 2022-11-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic | |
| extensions comment. | |
| 2022-11-04 Thomas Schwinge <thomas@codesourcery.com> | |
| * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove. | |
| * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa) | |
| [ACCEL_COMPILER]: Remove. | |
| * config/i386/intelmic-mkoffload.cc: Remove. | |
| * config/i386/intelmic-offload.h: Likewise. | |
| * config/i386/t-intelmic: Likewise. | |
| * config/i386/t-omp-device: Likewise. | |
| * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove. | |
| * configure: Regenerate. | |
| * doc/install.texi (--enable-offload-targets=[...]): Update. | |
| * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation. | |
| 2022-11-04 Thomas Schwinge <thomas@codesourcery.com> | |
| * Makefile.in (OBJS): Remove 'dbxout.o'. | |
| * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'. | |
| * dbxout.cc: Remove. | |
| * dbxout.h: Likewise. | |
| * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): | |
| Default to 'default_asm_out_constructor', | |
| 'default_asm_out_destructor'. | |
| * targhooks.cc (default_asm_out_constructor) | |
| (default_asm_out_destructor): New. | |
| * targhooks.h (default_asm_out_constructor) | |
| (default_asm_out_destructor): Declare. | |
| 2022-11-04 Thomas Schwinge <thomas@codesourcery.com> | |
| * Makefile.in (OBJS): Add 'dbxout.o'. | |
| * config/nvptx/nvptx.cc: '#include "dbxout.h"'. | |
| * dbxout.cc: New. | |
| * dbxout.h: Likewise. | |
| * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): | |
| Default to 'default_stabs_asm_out_constructor', | |
| 'default_stabs_asm_out_destructor'. | |
| 2022-11-04 Hongyu Wang <hongyu.wang@intel.com> | |
| Haochen Jiang <haochen.jiang@intel.com> | |
| * common/config/i386/cpuinfo.h (get_available_features): Detect | |
| amx-fp16. | |
| * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET, | |
| OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros. | |
| (ix86_handle_option): Handle -mamx-fp16. | |
| * common/config/i386/i386-cpuinfo.h (enum processor_features): | |
| Add FEATURE_AMX_FP16. | |
| * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for | |
| amx-fp16. | |
| * config.gcc: Add amxfp16intrin.h. | |
| * config/i386/cpuid.h (bit_AMX_FP16): New. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): Define | |
| __AMX_FP16__. | |
| * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16. | |
| * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16. | |
| (ix86_valid_target_attribute_inner_p): Add new ATTR. | |
| (ix86_option_override_internal): Handle AMX-FP16. | |
| * config/i386/i386.opt: Add -mamx-fp16. | |
| * config/i386/immintrin.h: Include amxfp16intrin.h. | |
| * doc/extend.texi: Document -mamx-fp16. | |
| * doc/invoke.texi: Document amx-fp16. | |
| * doc/sourcebuild.texi: Document amx_fp16. | |
| * config/i386/amxfp16intrin.h: New file. | |
| 2022-11-04 Haochen Jiang <haochen.jiang@intel.com> | |
| * common/config/i386/cpuinfo.h (get_intel_cpu): | |
| Add Sierra Forest. | |
| * common/config/i386/i386-common.cc | |
| (processor_names): Add Sierra Forest. | |
| (processor_alias_table): Ditto. | |
| * common/config/i386/i386-cpuinfo.h | |
| (enum processor_types): Add INTEL_SIERRAFOREST. | |
| * config.gcc: Add -march=sierraforest. | |
| * config/i386/driver-i386.cc (host_detect_local_cpu): | |
| Handle Sierra Forest. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): | |
| Ditto. | |
| * config/i386/i386-options.cc (m_SIERRAFOREST): New define. | |
| (processor_cost_table): Add sierra forest. | |
| * config/i386/i386.h (enum processor_type): | |
| Add PROCESSOR_SIERRA_FOREST. | |
| (PTA_SIERRAFOREST): Ditto. | |
| * doc/extend.texi: Add sierra forest. | |
| * doc/invoke.texi: Ditto. | |
| 2022-11-04 Haochen Jiang <haochen.jiang@intel.com> | |
| * common/config/i386/cpuinfo.h (get_available_features): | |
| Detect cmpccxadd. | |
| * common/config/i386/i386-common.cc | |
| (OPTION_MASK_ISA2_CMPCCXADD_SET, | |
| OPTION_MASK_ISA2_CMPCCXADD_UNSET): New. | |
| (ix86_handle_option): Handle -mcmpccxadd. | |
| * common/config/i386/i386-cpuinfo.h (enum processor_features): | |
| Add FEATURE_CMPCCXADD. | |
| * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for | |
| cmpccxadd. | |
| * config.gcc: Add cmpccxaddintrin.h. | |
| * config/i386/cpuid.h (bit_CMPCCXADD): New. | |
| * config/i386/i386-builtin-types.def: | |
| Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT) | |
| and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT). | |
| * config/i386/i386-builtin.def (BDESC): Add new builtins. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): Define | |
| __CMPCCXADD__. | |
| * config/i386/i386-expand.cc (ix86_expand_special_args_builtin): | |
| Add new parameter to indicate constant position. | |
| Handle INT_FTYPE_PINT_INT_INT_INT | |
| and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT. | |
| * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD). | |
| * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd. | |
| (ix86_valid_target_attribute_inner_p): Handle cmpccxadd. | |
| * config/i386/i386.opt: Add option -mcmpccxadd. | |
| * config/i386/sync.md (cmpccxadd_<mode>): New define insn. | |
| * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h. | |
| * doc/extend.texi: Document cmpccxadd. | |
| * doc/invoke.texi: Document -mcmpccxadd. | |
| * doc/sourcebuild.texi: Document target cmpccxadd. | |
| * config/i386/cmpccxaddintrin.h: New file. | |
| 2022-11-03 Jason Merrill <jason@redhat.com> | |
| * doc/invoke.texi: -fconcepts no longer implies | |
| -fconcepts-ts before C++20. | |
| 2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com> | |
| * config/gcn/gcn-valu.md (math_unop_insn): New attribute. | |
| (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2, | |
| <math_unop><mode>2<exec>, *<math_unop><mode>2_insn, | |
| *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate | |
| assembler output. | |
| 2022-11-03 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range.cc (gimple_ranger::update_stmt): New. | |
| * gimple-range.h (gimple_ranger::update_stmt): New prototype. | |
| * tree-ssa-operands.cc (update_stmt_operands): Notify range | |
| query that stmt has changed. | |
| * value-query.h (range_query::update_stmt): New. | |
| 2022-11-03 David Malcolm <dmalcolm@redhat.com> | |
| * make-unique.h: New file. | |
| 2022-11-03 Uroš Bizjak <ubizjak@gmail.com> | |
| PR target/107404 | |
| * config/i386/i386.md (eliminate reg-reg move by inverting the | |
| condition of a cmove #2 peephole2): Check if eliminated move | |
| initialized a register, used in the moved instruction. | |
| 2022-11-03 Andrew Stubbs <ams@codesourcery.com> | |
| PR target/107510 | |
| * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate | |
| UNSPEC_SMIN_DPP_SHR conditionals. | |
| 2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu> | |
| * common/config/riscv/riscv-common.cc: Add zawrs extension. | |
| * config/riscv/riscv-opts.h (MASK_ZAWRS): New. | |
| (TARGET_ZAWRS): New. | |
| * config/riscv/riscv.opt: New. | |
| 2022-11-02 Rasmus Villemoes <rv@rasmusvillemoes.dk> | |
| PR driver/93371 | |
| * gcc.cc (ASM_MAP): Honour -ffile-prefix-map. | |
| 2022-11-02 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::contains_p): Fix signed zero handling. | |
| (range_tests_signed_zeros): New test. | |
| 2022-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN. | |
| 2022-11-02 Xionghu Luo <xionghuluo@tencent.com> | |
| PR target/100866 | |
| * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to... | |
| (altivec_vrl<VI_char>): ...this. | |
| * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when | |
| target is Power8 and mode is V8HI. | |
| 2022-11-01 David Seifert <soap@gentoo.org> | |
| * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h). | |
| * configure: Regenerate. | |
| 2022-11-01 Richard Purdie <richard.purdie@linuxfoundation.org> | |
| * file-prefix-map.cc (remap_filename): Allow remapping of relative paths. | |
| 2022-11-01 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107490 | |
| * range-op-float.cc (foperator_unordered_lt::op1_range): Handle | |
| NANs. | |
| (foperator_unordered_lt::op2_range): Same. | |
| (foperator_unordered_le::op1_range): Same. | |
| (foperator_unordered_le::op2_range): Same. | |
| (foperator_unordered_gt::op1_range): Same. | |
| (foperator_unordered_gt::op2_range): Same. | |
| (foperator_unordered_ge::op1_range): Same. | |
| (foperator_unordered_ge::op2_range): Same. | |
| 2022-11-01 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/107497 | |
| * tree-vrp.cc (remove_unreachable::remove_and_update_globals): | |
| Check that ssa-name still exists before accessing it. | |
| 2022-11-01 Andrew MacLeod <amacleod@redhat.com> | |
| * params.opt (param_vrp1_mode): Make ranger default. | |
| 2022-11-01 Andrew MacLeod <amacleod@redhat.com> | |
| * tree-vrp.cc (class remove_unreachable): New. | |
| (remove_unreachable::maybe_register_block): New. | |
| (remove_unreachable::remove_and_update_globals): New. | |
| (rvrp_folder::rvrp_folder): Initialize m_unreachable. | |
| (rvrp_folder::post_fold_bb): Maybe register unreachable block. | |
| (rvrp_folder::m_unreachable): New member. | |
| (execute_ranger_vrp): Add final_pass flag, remove unreachables. | |
| 2022-11-01 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow | |
| exit block to be specified. | |
| (ranger_cache::range_from_dom): If exit block is specified, use | |
| the immediate predecessor instead of the dominator to start. | |
| * gimple-range.cc (gimple_ranger::range_on_exit): Allow query | |
| for exit block. | |
| 2022-11-01 Andrew MacLeod <amacleod@redhat.com> | |
| * value-range.cc (irange::intersect_nonzero_bits): If new | |
| non-zero mask is the same as original, flag no change. | |
| 2022-11-01 Alexander Monakov <amonakov@ispras.ru> | |
| PR target/87832 | |
| * config/i386/znver.md (znver1_idiv): New automaton. | |
| (znver1-idiv): New unit. | |
| (znver1_idiv_DI): Correct unit and cycles in the reservation. | |
| (znver1_idiv_SI): Ditto. | |
| (znver1_idiv_HI): Ditto. | |
| (znver1_idiv_QI): Ditto. | |
| (znver1_idiv_mem_DI): Ditto. | |
| (znver1_idiv_mem_SI): Ditto. | |
| (znver1_idiv_mem_HI): Ditto. | |
| (znver1_idiv_mem_QI): Ditto. | |
| (znver3_idiv_DI): Ditto. | |
| (znver3_idiv_SI): Ditto. | |
| (znver3_idiv_HI): Ditto. | |
| (znver3_idiv_QI): Ditto. | |
| (znver3_idiv_mem_DI): Ditto. | |
| (znver3_idiv_mem_SI): Ditto. | |
| (znver3_idiv_mem_HI): Ditto. | |
| (znver3_idiv_mem_QI): Ditto. | |
| 2022-11-01 liuhongt <hongtao.liu@intel.com> | |
| PR target/107057 | |
| * config/i386/sse.md (*vec_interleave_highv2df): Remove | |
| constraint 1. | |
| (*vec_interleave_lowv2df): Ditto. | |
| (vec_concatv2df): Ditto. | |
| (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to .. | |
| (avx512f_unpcklpd512<mask_name>): .. this. | |
| (avx512f_movddup512<mask_name>): Change to define_insn. | |
| (avx_movddup256<mask_name>): Ditto. | |
| (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed | |
| to .. | |
| (avx_unpcklpd256<mask_name>): .. this. | |
| * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok): | |
| Disallow MEM_P (op1) && MEM_P (op2). | |
| 2022-11-01 liuhongt <hongtao.liu@intel.com> | |
| PR target/55583 | |
| * config/i386/i386.md (*x86_64_shld_1): Rename to .. | |
| (x86_64_shld_1): .. this. | |
| (*x86_shld_1): Rename to .. | |
| (x86_shld_1): .. this. | |
| (*x86_64_shrd_1): Rename to .. | |
| (x86_64_shrd_1): .. this. | |
| (*x86_shrd_1): Rename to .. | |
| (x86_shrd_1): .. this. | |
| (*x86_64_shld_shrd_1_nozext): New pre_reload splitter. | |
| (*x86_shld_shrd_1_nozext): Ditto. | |
| (*x86_64_shrd_shld_1_nozext): Ditto. | |
| (*x86_shrd_shld_1_nozext): Ditto. | |
| 2022-11-01 Cui,Lili <lili.cui@intel.com> | |
| * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute | |
| judgement for INLINE_HINT_known_hot hint. | |
| 2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com> | |
| * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of | |
| enumerator type btf_enum{,64}. | |
| (btf_asm_type): Update btf_kflag according to enumeration type sign | |
| using dtd_enum_unsigned field for both: BTF_KIND_ENUM{,64}. | |
| (btf_asm_enum_const): New argument to represent the size of | |
| the BTF enum type, writing the enumerator constant value for | |
| 32 bits, if it's 64 bits then explicitly writes lower 32-bits | |
| value and higher 32-bits value. | |
| (output_asm_btf_enum_list): Add enumeration size argument. | |
| * ctfc.cc (ctf_add_enum): New argument to represent CTF enum | |
| basic information. | |
| (ctf_add_generic): Use of ei_{name. size, unsigned} to build the | |
| dtd structure containing enumeration information. | |
| (ctf_add_enumerator): Update comment mention support for BTF | |
| enumeration in 64-bits. | |
| * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness | |
| for enumeration type and use it in ctf_add_enum. | |
| * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow | |
| use 32/64 bits enumerators. | |
| information. | |
| (ctf_dtdef): New field to describe enum signedness. | |
| 2022-10-31 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR. | |
| * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto. | |
| * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto. | |
| * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto. | |
| 2022-10-31 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn-valu.md (fminmaxop): New iterator. | |
| (<fexpander><mode>3): New define_expand. | |
| (<fexpander><mode>3<exec>): Likewise. | |
| (reduc_<fexpander>_scal_<mode>): Likewise. | |
| * config/gcn/gcn.md (fexpander): New attribute. | |
| 2022-10-31 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn-valu.md (V64_SI): Delete iterator. | |
| (V64_DI): Likewise. | |
| (V64_1REG): Likewise. | |
| (V64_INT_1REG): Likewise. | |
| (V64_2REG): Likewise. | |
| (V64_ALL): Likewise. | |
| (V64_FP): Likewise. | |
| (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract. | |
| (fold_left_plus_<mode>): Use V_FP. | |
| (*<reduc_op>_dpp_shr_<mode>): Use V_1REG. | |
| (*<reduc_op>_dpp_shr_<mode>): Use V_DI. | |
| (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG. | |
| (*plus_carry_in_dpp_shr_<mode>): Use V_SI. | |
| (*plus_carry_dpp_shr_<mode>): Use V_DI. | |
| (mov_from_lane63_<mode>): Delete. | |
| (mov_from_lane63_<mode>): Delete. | |
| * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors. | |
| * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63. | |
| 2022-10-31 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): | |
| Set base_type as ARG_UNUSED. | |
| 2022-10-31 Jakub Jelinek <jakub@redhat.com> | |
| * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32, | |
| BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X, | |
| BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X, | |
| BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16, | |
| BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32, | |
| BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64, | |
| BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128, | |
| BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X, | |
| BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X, | |
| BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X, | |
| BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32, | |
| BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128, | |
| BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X, | |
| BT_FN_FLOAT128X_COMPLEX_FLOAT128X, | |
| BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16, | |
| BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32, | |
| BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64, | |
| BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128, | |
| BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X, | |
| BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X, | |
| BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New. | |
| * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE, | |
| CPOW_TYPE, CPROJ_TYPE): Define and undefine later. | |
| (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG, | |
| BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN, | |
| BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG, | |
| BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN, | |
| BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add | |
| DEF_EXT_LIB_FLOATN_NX_BUILTINS. | |
| * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc, | |
| fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when | |
| CASE_CFN_* is present. | |
| * gimple-ssa-backprop.cc (backprop::process_builtin_call_use): | |
| Likewise. | |
| * builtins.cc (expand_builtin, fold_builtin_1): Likewise. | |
| * fold-const.cc (negate_mathfn_p, tree_expr_finite_p, | |
| tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p, | |
| tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p): | |
| Likewise. | |
| 2022-10-31 Jakub Jelinek <jakub@redhat.com> | |
| * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New. | |
| * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin. | |
| * fold-const-call.cc (fold_const_call_sss): Handle | |
| CFN_BUILT_IN_NEXTAFTERF16B. | |
| 2022-10-31 Jakub Jelinek <jakub@redhat.com> | |
| * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR, | |
| BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR): | |
| New DEF_PRIMITIVE_TYPE. | |
| (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64, | |
| BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X, | |
| BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32, | |
| BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X, | |
| BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16, | |
| BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64, | |
| BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X, | |
| BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New | |
| DEF_FUNCTION_TYPE_1. | |
| (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR, | |
| BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR, | |
| BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR, | |
| BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR, | |
| BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT, | |
| BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT, | |
| BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT, | |
| BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT, | |
| BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR, | |
| BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR, | |
| BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR, | |
| BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG, | |
| BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG, | |
| BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG, | |
| BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New | |
| DEF_FUNCTION_TYPE_2. | |
| (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR, | |
| BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR, | |
| BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR, | |
| BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR, | |
| BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR, | |
| BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR, | |
| BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3. | |
| * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE, | |
| FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE, | |
| LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE, | |
| NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE): | |
| Define and undefine later. | |
| (FMIN_TYPE, SQRT_TYPE): Undefine at a later line. | |
| (INF_TYPE): Define at a later line. | |
| (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN, | |
| BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT, | |
| BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF, | |
| BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM, | |
| BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB, | |
| BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND, | |
| BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB, | |
| BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF, | |
| BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO, | |
| BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN, | |
| BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add | |
| DEF_EXT_LIB_FLOATN_NX_BUILTINS. | |
| (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in | |
| DEF_GCC_FLOATN_NX_BUILTINS. | |
| * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN: | |
| cases when CASE_CFN_* is present. | |
| (fold_const_call_sss): Likewise. | |
| * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of | |
| CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro. | |
| (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various | |
| builtins next to CASE_FLT_FN. | |
| * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN: | |
| next to CASE_CFN_*: for various builtins. | |
| * tree-call-cdce.cc (can_test_argument_range): Add | |
| CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins. | |
| (edom_only_function): Likewise. | |
| 2022-10-31 konglin1 <lingling.kong@intel.com> | |
| * common/config/i386/i386-common.cc | |
| (OPTION_MASK_ISA2_AVXNECONVERT_SET, | |
| OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New. | |
| (ix86_handle_option): Handle -mavxneconvert, unset | |
| avxneconvert when avx2 is disabled. | |
| * common/config/i386/i386-cpuinfo.h (processor_types): Add | |
| FEATURE_AVXNECONVERT. | |
| * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for | |
| avxneconvert. | |
| * common/config/i386/cpuinfo.h (get_available_features): | |
| Detect avxneconvert. | |
| * config.gcc: Add avxneconvertintrin.h | |
| * config/i386/avxneconvertintrin.h: New. | |
| * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh): | |
| Unified builtin with avxneconvert. | |
| (_mm_cvtneps_pbh): Ditto. | |
| * config/i386/cpuid.h (bit_AVXNECONVERT): New. | |
| * config/i386/i386-builtin-types.def: Add | |
| DEF_POINTER_TYPE (PCV8HF, V8HF, CONST), | |
| DEF_POINTER_TYPE (PCV8BF, V8BF, CONST), | |
| DEF_POINTER_TYPE (PCV16HF, V16HF, CONST), | |
| DEF_POINTER_TYPE (PCV16BF, V16BF, CONST), | |
| DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16), | |
| DEF_FUNCTION_TYPE (V4SF, PCFLOAT16), | |
| DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16), | |
| DEF_FUNCTION_TYPE (V8SF, PCFLOAT16), | |
| DEF_FUNCTION_TYPE (V4SF, PCV8BF), | |
| DEF_FUNCTION_TYPE (V4SF, PCV8HF), | |
| DEF_FUNCTION_TYPE (V8SF, PCV16HF), | |
| DEF_FUNCTION_TYPE (V8SF, PCV16BF), | |
| * config/i386/i386-builtin.def: Add new builtins. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): Define | |
| __AVXNECONVERT__. | |
| * config/i386/i386-expand.cc (ix86_expand_special_args_builtin): | |
| Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16, | |
| V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF, | |
| V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF. | |
| * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New. | |
| * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert. | |
| (ix86_valid_target_attribute_inner_p): Handle avxneconvert. | |
| * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert. | |
| * config/i386/i386.opt: Add option -mavxneconvert. | |
| * config/i386/immintrin.h: Inculde avxneconvertintrin.h. | |
| * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn. | |
| (vbcstnesh2ps_<mode>): Ditto. | |
| (vcvtnee<bf16_ph>2ps_<mode>):Ditto. | |
| (vcvtneo<bf16_ph>2ps_<mode>):Ditto. | |
| (vcvtneps2bf16_v4sf): Ditto. | |
| (*vcvtneps2bf16_v4sf): Ditto. | |
| (vcvtneps2bf16_v8sf): Ditto. | |
| * doc/invoke.texi: Document -mavxneconvert. | |
| * doc/extend.texi: Document avxneconvert. | |
| * doc/sourcebuild.texi: Document target avxneconvert. | |
| 2022-10-31 konglin1 <lingling.kong@intel.com> | |
| * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16. | |
| (_mm_cvtsbh_ss): Ditto. | |
| (_mm512_cvtne2ps_pbh): Ditto. | |
| (_mm512_mask_cvtne2ps_pbh): Ditto. | |
| (_mm512_maskz_cvtne2ps_pbh): Ditto. | |
| * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto. | |
| (_mm256_cvtne2ps_pbh): Ditto. | |
| (_mm256_mask_cvtne2ps_pbh): Ditto. | |
| (_mm256_maskz_cvtne2ps_pbh): Ditto. | |
| (_mm_cvtne2ps_pbh): Ditto. | |
| (_mm_mask_cvtne2ps_pbh): Ditto. | |
| (_mm_maskz_cvtne2ps_pbh): Ditto. | |
| (_mm_cvtness_sbh): Ditto. | |
| * config/i386/i386-builtin-types.def (V8BF): Add new | |
| DEF_VECTOR_TYPE for BFmode. | |
| (V16BF): Ditto. | |
| (V32BF): Ditto. | |
| * config/i386/i386-builtin.def (BDESC): Fixed builtins. | |
| * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed | |
| avx512bf16 ix86_builtin_func_type included HI to BF. | |
| * config/i386/immintrin.h: Add SSE2 depend for avx512bf16. | |
| * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF | |
| vector. | |
| (avx512f_cvtneps2bf16_v4sf): New define_expand. | |
| (*avx512f_cvtneps2bf16_v4sf): New define_insn. | |
| (avx512f_cvtneps2bf16_v4sf_maskz):Ditto. | |
| (avx512f_cvtneps2bf16_v4sf_mask): Ditto. | |
| (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto. | |
| 2022-10-31 liuhongt <hongtao.liu@intel.com> | |
| PR target/107261 | |
| * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode. | |
| * config/i386/i386.cc (classify_argument): Handle V4BFmode and | |
| V2BFmode. | |
| (ix86_convert_const_vector_to_integer): Ditto. | |
| * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove | |
| V2BFmode. | |
| (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode. | |
| (VALID_MMX_REG_MODE): Add V4BFmode. | |
| * config/i386/i386.md (mode): Add V4BF and V2BF. | |
| (MODE_SIZE): Ditto. | |
| * config/i386/mmx.md (MMXMODE) Add V4BF. | |
| (V_32): Add V2BF. | |
| (V_16_32_64): Add V4BF and V2BF. | |
| (mmxinsnmode): Add V4BF and V2BF. | |
| (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode. | |
| 2022-10-29 Eric Botcazou <ebotcazou@adacore.com> | |
| * configure.ac (sjlj-exceptions): Restore dropped line. | |
| * configure: Regenerate. | |
| 2022-10-29 Eric Botcazou <ebotcazou@adacore.com> | |
| * alias.cc (init_alias_analysis): Do not record sets to the hard | |
| frame pointer if the frame pointer has not been eliminated. | |
| 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ... | |
| (TARGET_D_MINFO_SECTION_START): ...this. | |
| (TARGET_D_MINFO_END_NAME): Rename to ... | |
| (TARGET_D_MINFO_SECTION_END): ... this. | |
| * config/elfos.h (TARGET_D_MINFO_SECTION): Remove. | |
| (TARGET_D_MINFO_START_NAME): Remove. | |
| (TARGET_D_MINFO_END_NAME): Remove. | |
| * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove. | |
| (TARGET_D_MINFO_START_NAME): Remove. | |
| (TARGET_D_MINFO_END_NAME): Remove. | |
| * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove. | |
| (TARGET_D_MINFO_START_NAME): Remove. | |
| (TARGET_D_MINFO_END_NAME): Remove. | |
| * doc/tm.texi: Regenerate. | |
| * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ... | |
| (TARGET_D_MINFO_SECTION_START): ...this. | |
| (TARGET_D_MINFO_END_NAME): Rename to ... | |
| (TARGET_D_MINFO_SECTION_END): ...this. | |
| 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o, | |
| kopensolaris-d.o, and gnu-d.o. Split out cygwin-d.o from winnt-d.o. | |
| * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. | |
| * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. | |
| * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. | |
| * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. | |
| * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. | |
| * config/i386/t-cygming: Add cygwin-d.o. | |
| * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add | |
| MinGW-specific version condition. | |
| * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. | |
| * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. | |
| * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove. | |
| * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove. | |
| * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove. | |
| * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o, | |
| kopensolaris-d.o. | |
| * config/t-linux: Add linux-d.o. | |
| * config/glibc-d.cc: Remove file. | |
| * config/gnu-d.cc: New file. | |
| * config/i386/cygwin-d.cc: New file. | |
| * config/kfreebsd-d.cc: New file. | |
| * config/kopensolaris-d.cc: New file. | |
| * config/linux-d.cc: New file. | |
| 2022-10-29 Jeff Law <jeffreyalaw@gmail.com> | |
| * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument | |
| an unsigned int | |
| * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype. | |
| 2022-10-28 Joseph Myers <joseph@codesourcery.com> | |
| * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs): | |
| Check TYPE_NO_NAMED_ARGS_STDARG_P. | |
| * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise. | |
| * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise. | |
| * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise. | |
| * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise. | |
| * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs): | |
| Likewise. | |
| * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise. | |
| * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise. | |
| * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise. | |
| * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise. | |
| * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise. | |
| * config/loongarch/loongarch.cc | |
| (loongarch_setup_incoming_varargs): Likewise. | |
| * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise. | |
| * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise. | |
| * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise. | |
| * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise. | |
| * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise. | |
| * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise. | |
| * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise. | |
| * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise. | |
| * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise. | |
| * config/visium/visium.cc (visium_setup_incoming_varargs): | |
| Likewise. | |
| * config/vms/vms-c.cc (vms_c_common_override_options): Do not set | |
| flag_allow_parameterless_variadic_functions. | |
| * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do | |
| not document option. | |
| * function.cc (assign_parms): Call assign_parms_setup_varargs for | |
| TYPE_NO_NAMED_ARGS_STDARG_P case. | |
| * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make | |
| variadic macro. Pass second argument of 0 to __builtin_va_start. | |
| * target.def (setup_incoming_varargs): Update documentation. | |
| * doc/tm.texi: Regenerate. | |
| * tree-core.h (struct tree_type_common): Add | |
| no_named_args_stdarg_p. | |
| * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack | |
| TYPE_NO_NAMED_ARGS_STDARG_P. | |
| * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack | |
| TYPE_NO_NAMED_ARGS_STDARG_P. | |
| * tree.cc (type_cache_hasher::equal): Compare | |
| TYPE_NO_NAMED_ARGS_STDARG_P. | |
| (build_function_type): Add argument no_named_args_stdarg_p. | |
| (build_function_type_list_1, build_function_type_array_1) | |
| (reconstruct_complex_type): Update calls to build_function_type. | |
| (stdarg_p, prototype_p): Return true for (...) functions. | |
| (gimple_canonical_types_compatible_p): Compare | |
| TYPE_NO_NAMED_ARGS_STDARG_P. | |
| * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New. | |
| (build_function_type): Update prototype. | |
| 2022-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
| PR tree-optimization/107346 | |
| * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets | |
| that aren't multiples of BITS_PER_UNIT. | |
| 2022-10-28 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107407 | |
| * tree-ssa-dse.cc (dse_classify_store): Perform backedge | |
| varying index check when collecting PHI uses rather than | |
| after optimizing processing of the candidate defs. | |
| 2022-10-28 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107447 | |
| * tree-ssa-loop-im.cc (determine_max_movement): Do not | |
| hoist returns-twice calls. | |
| 2022-10-28 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107435 | |
| * tree-vect-loop.cc (vectorizable_recurr): Convert initial | |
| value to vector component type. | |
| 2022-10-28 Julian Brown <julian@codesourcery.com> | |
| Thomas Schwinge <thomas@codesourcery.com> | |
| PR middle-end/90115 | |
| * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not | |
| privatization candidates. | |
| 2022-10-28 Martin Liska <mliska@suse.cz> | |
| PR sanitizer/107298 | |
| * doc/invoke.texi: Document sanitizers can trigger warnings. | |
| 2022-10-28 Thomas Schwinge <thomas@codesourcery.com> | |
| * doc/makefile.texi (Makefile Targets): Document | |
| 'distclean-stage[N]'. | |
| 2022-10-28 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (range_tests_floats): Use HONOR_INFINITIES. | |
| 2022-10-27 Eric Botcazou <ebotcazou@adacore.com> | |
| * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete. | |
| 2022-10-27 H.J. Lu <hjl.tools@gmail.com> | |
| PR target/107172 | |
| * config/i386/i386.md (UNSPEC_CC_NE): New. | |
| Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns. | |
| 2022-10-27 Andrew Pinski <apinski@marvell.com> | |
| * tree-ssa-phiopt.cc: Include tree-ssa-dce.h | |
| (replace_phi_edge_with_variable): | |
| New argument, dce_ssa_names. Call simple_dce_from_worklist. | |
| (match_simplify_replacement): If we inserted a sequence, | |
| mark the lhs of the new sequence to be possible dce. | |
| Always move the statement and mark the lhs (if it is a name) | |
| as possible to remove. | |
| 2022-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-protos.h: Replace constexpr with | |
| CONSTEXPR. | |
| * config/aarch64/aarch64-sve-builtins-base.cc: Likewise. | |
| * config/aarch64/aarch64-sve-builtins-functions.h: Likewise. | |
| * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise. | |
| * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. | |
| * config/aarch64/aarch64-sve-builtins.cc: Likewise. | |
| * config/aarch64/aarch64.cc: Likewise. | |
| * config/aarch64/driver-aarch64.cc: Likewise | |
| 2022-10-27 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107394 | |
| * value-range-storage.cc (frange_storage_slot::get_frange): Use | |
| frange constructor. | |
| 2022-10-27 Thomas Schwinge <thomas@codesourcery.com> | |
| * optc-save-gen.awk: Clarify 'Init' option property usage for | |
| streaming optimization. | |
| 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> | |
| Yvan ROUX <yvan.roux@foss.st.com> | |
| * ira.cc: Resize array after reg number increased. | |
| 2022-10-27 Jiawei <jiawei@iscas.ac.cn> | |
| Sinan Lin <sinan@isrc.iscas.ac.cn> | |
| * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS | |
| use while Zfinx is enable. | |
| * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd | |
| registers use when Zdinx enable in RV32 cases. | |
| (riscv_option_override): New target enable MASK_FDIV. | |
| (riscv_libgcc_floating_mode_supported_p): New error info when | |
| use incompatible arch&abi. | |
| (riscv_excess_precision): New target enable FLOAT16. | |
| 2022-10-27 Jiawei <jiawei@iscas.ac.cn> | |
| * config/riscv/iterators.md (TARGET_ZFINX):New target. | |
| (TARGET_ZDINX): Ditto. | |
| (TARGET_ZHINX): Ditto. | |
| * config/riscv/riscv-builtins.cc (AVAIL): Ditto. | |
| (riscv_atomic_assign_expand_fenv): Ditto. | |
| * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto. | |
| * config/riscv/riscv.md: Ditto. | |
| 2022-10-27 Jiawei <jiawei@iscas.ac.cn> | |
| Sinan Lin <sinan@isrc.iscas.ac.cn> | |
| * common/config/riscv/riscv-common.cc: New extensions. | |
| * config/riscv/arch-canonicalize: New imply relations. | |
| * config/riscv/riscv-opts.h (MASK_ZFINX): New mask. | |
| (MASK_ZDINX): Ditto. | |
| (MASK_ZHINX): Ditto. | |
| (MASK_ZHINXMIN): Ditto. | |
| (TARGET_ZFINX): New target. | |
| (TARGET_ZDINX): Ditto. | |
| (TARGET_ZHINX): Ditto. | |
| (TARGET_ZHINXMIN): Ditto. | |
| * config/riscv/riscv.opt: New target variable. | |
| 2022-10-26 David Faust <david.faust@oracle.com> | |
| * config/bpf/bpf.cc: Support __builtin_preserve_field_info. | |
| (enum bpf_builtins): Add new builtin. | |
| (bpf_init_builtins): Likewise. | |
| (bpf_core_field_info): New function. | |
| (bpf_expand_builtin): Accomodate new builtin. Refactor adding new | |
| relocation to... | |
| (maybe_make_core_relo): ... here. New function. | |
| (bpf_resolve_overloaded_builtin): Accomodate new builtin. | |
| (bpf_core_newdecl): Likewise. | |
| (bpf_core_walk): Likewise. | |
| (bpf_core_is_maybe_aggregate_access): Improve logic. | |
| (struct core_walk_data): New. | |
| * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different | |
| relocation kinds. | |
| * config/bpf/coreout.h: Analogous change. | |
| * doc/extend.texi: Document BPF __builtin_preserve_field_info. | |
| 2022-10-26 Marek Polacek <polacek@redhat.com> | |
| PR c++/106393 | |
| * doc/invoke.texi: Document -Wdangling-reference. | |
| 2022-10-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.md (movdi): | |
| Copy operands[0...1] to ops[0...3] and then use the latter before | |
| calling xtensa_split_DI_reg_imm() and emitting insns. | |
| 2022-10-26 Alexander Monakov <amonakov@ispras.ru> | |
| PR other/107353 | |
| * ipa-visibility.cc (function_and_variable_visibility): | |
| Conditionally upgrade TLS model instead of asserting. | |
| 2022-10-26 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if | |
| stmt is non-negative and adjust the range. | |
| 2022-10-26 Martin Liska <mliska@suse.cz> | |
| * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment. | |
| (reset_cpu_feature): New. | |
| (get_zhaoxin_cpu): Use reset_cpu_feature. | |
| 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement. | |
| 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| PR target/107357 | |
| * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size. | |
| (ADJUST_NUNITS): Adjust according to -march. | |
| (ADJUST_BYTESIZE): Ditto. | |
| * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): | |
| Remove. | |
| (riscv_v_ext_vector_mode_p): Change function implementation. | |
| * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher): | |
| Change to riscv_v_ext_vector_mode_p. | |
| (register_builtin_type): Ditto. | |
| * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled | |
| modes. | |
| (ENTRY): Ditto. | |
| (riscv_v_ext_enabled_vector_mode_p): Remove. | |
| (riscv_v_adjust_nunits): New function. | |
| (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead. | |
| * config/riscv/riscv.h (riscv_v_adjust_nunits): New function. | |
| 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config.gcc (riscv*): Add riscv-v.o to extra_objs. | |
| * config/riscv/constraints.md (vu): New constraint. | |
| (vi): Ditto. | |
| (Wc0): Ditto. | |
| (Wc1): Ditto. | |
| * config/riscv/predicates.md (vector_length_operand): New. | |
| (reg_or_mem_operand): Ditto. | |
| (vector_move_operand): Ditto. | |
| (vector_mask_operand): Ditto. | |
| (vector_merge_operand): Ditto. | |
| * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New. | |
| (riscv_vector::const_vec_all_same_in_range_p): Ditto. | |
| (riscv_vector::legitimize_move): Ditto. | |
| (tail_policy): Ditto. | |
| (mask_policy): Ditto. | |
| * config/riscv/riscv-v.cc: New. | |
| * config/riscv/riscv-vector-builtins-bases.cc | |
| (vsetvl::expand): Refactor how LMUL encoding. | |
| * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL | |
| print and mask operand print. | |
| (riscv_regmode_natural_size): New. | |
| * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New. | |
| * config/riscv/riscv.md (mode): Add vector modes. | |
| * config/riscv/t-riscv (riscv-v.o) New. | |
| * config/riscv/vector-iterators.md: New. | |
| * config/riscv/vector.md (vundefined<mode>): New. | |
| (mov<mode>): New. | |
| (*mov<mode>): New. | |
| (@vsetvl<mode>_no_side_effects): New. | |
| (@pred_mov<mode>): New. | |
| 2022-10-26 Monk Chiang <monk.chiang@sifive.com> | |
| * common/config/riscv/riscv-common.cc (riscv_ext_version_table): | |
| Add svinval and svnapot extension. | |
| (riscv_ext_flag_table): Ditto. | |
| * config/riscv/riscv-opts.h (MASK_SVINVAL): New. | |
| (MASK_SVNAPOT): Ditto. | |
| (TARGET_SVINVAL): Ditto. | |
| (TARGET_SVNAPOT): Ditto. | |
| * config/riscv/riscv.opt (riscv_sv_subext): New. | |
| 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-modes.def: Adjust table indentation in commnet. | |
| 2022-10-26 Martin Liska <mliska@suse.cz> | |
| * configure: Regenerate. | |
| 2022-10-26 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set): Use HONOR_*. | |
| (frange::verify_range): Same. | |
| * value-range.h (frange_val_min): Same. | |
| (frange_val_max): Same. | |
| 2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com> | |
| PR target/106460 | |
| * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true | |
| for HIGH code rtx. | |
| 2022-10-26 Kito Cheng <kito.cheng@sifive.com> | |
| * common/config/riscv/riscv-common.cc (riscv_ext_version_table): | |
| Add `h`. | |
| (riscv_supported_std_ext): Ditto. | |
| (multi_letter_subset_rank): Remove `h`. | |
| (riscv_subset_list::parse_std_ext): Handle `h` as single letter | |
| extension. | |
| (riscv_subset_list::parse): Ditto. | |
| 2022-10-25 Eugene Rozenfeld <erozen@microsoft.com> | |
| * auto-profile.cc (get_combined_location): Include discriminator in the | |
| returned combined location. | |
| (read_function_instance): Read discriminators from profiles. | |
| 2022-10-25 H.J. Lu <hjl.tools@gmail.com> | |
| PR target/107304 | |
| * expr.cc (get_inner_reference): Always use TYPE_MODE for vector | |
| field with vector raw mode. | |
| 2022-10-25 Segher Boessenkool <segher@kernel.crashing.org> | |
| * config/rs6000/rs6000.md (CCEITHER): Delete. | |
| (CCANY): New. | |
| (un): Delete. | |
| (isel_<un>signed_<GPR:mode>): Rename to... | |
| (isel_<CCANY:mode>_<GPR:mode>): ... this. Adjust. | |
| (*isel_reversed_<un>signed_<GPR:mode>): Rename to... | |
| (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this. Adjust. | |
| (setbc_<un>signed_<GPR:mode>): Rename to... | |
| (setbc_<CCANY:mode>_<GPR:mode>C): ... this. Adjust." | |
| (*setbcr_<un>signed_<GPR:mode>): Rename to ... | |
| (*setbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust. | |
| (*setnbc_<un>signed_<GPR:mode>): Rename to ... | |
| (*setnbc_<CCANY:mode>_<GPR:mode>): ... this. Adjust. | |
| (*setnbcr_<un>signed_<GPR:mode>): Rename to ... | |
| (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust. | |
| (eq<mode>3 for GPR): Adjust. | |
| (ne<mode>3 for GPR): Adjust. | |
| * config/rs6000/rs6000-string.cc (do_isel): Adjust. | |
| * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust. | |
| 2022-10-25 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107176 | |
| PR tree-optimization/66375 | |
| PR tree-optimization/42512 | |
| * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert | |
| the PR66375 fix, do not not associate PLUS_EXPR to be able | |
| to use tail-recursion. | |
| (follow_ssa_edge_binary): Likewise. | |
| (interpret_loop_phi): Revert PR42512 fix, do not throw | |
| away analyze_evolution_in_loop result after the fact. | |
| (follow_ssa_edge_expr): When reaching halting_phi initalize | |
| the evolution to the symbolic value of the PHI result. | |
| (add_to_evolution_1): When adding the first evolution verify | |
| we can handle the expression wrapping the symbolic evolution | |
| and replace that in full using the initial condition. | |
| (class scev_dfs): New, contains ... | |
| (follow_ssa_edge_expr, follow_ssa_edge_binary, | |
| follow_ssa_edge_in_condition_phi_branch, | |
| follow_ssa_edge_in_condition_phi, | |
| follow_ssa_edge_inner_loop_phi, | |
| add_to_evolution, add_to_evolution_1): ... these with | |
| loop and halting_phi arguments in class data. | |
| (scev_dfs::get_ev): New toplevel DFS entry, start with | |
| a chrec_dont_know evolution. | |
| (analyze_evolution_in_loop): Use scev_dfs. | |
| 2022-10-25 Eric Botcazou <ebotcazou@adacore.com> | |
| * profile.cc (branch_prob): Be prepared for ignored functions with | |
| DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION. | |
| 2022-10-25 Richard Biener <rguenther@suse.de> | |
| * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move | |
| STRIP_USELESS_TYPE_CONVERSIONS to where it matters. | |
| 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com> | |
| * common/config/i386/i386-common.cc (processor_alias_table): Use | |
| CPU_ZNVER3 for znver4. | |
| * config/i386/znver.md: Remove znver4 reservations. | |
| 2022-10-25 Jakub Jelinek <jakub@redhat.com> | |
| * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce | |
| and There -> These. | |
| 2022-10-25 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107368 | |
| * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME | |
| conditions call gimple_boolify on the condition. | |
| 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> | |
| * config.gcc: add -with-compact-branches=policy build option. | |
| * doc/install.texi: Likewise. | |
| * config/mips/mips.h: Likewise. | |
| 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> | |
| * config/mips/mips.cc (mips_option_override): not trigger error | |
| for compact-branches=always for pre-R6. | |
| * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for | |
| compact-branches=always for pre-R6. | |
| (TARGET_CB_NEVER): Likewise. | |
| (TARGET_CB_ALWAYS): Likewise. | |
| (struct mips_cpu_info): define macros for compact branch policy. | |
| * doc/invoke.texi: Document "always" with pre-R6. | |
| 2022-10-25 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107369 | |
| * gimplify.cc (gimplify_call_expr): If seen_error, handle complex | |
| IFN_ASSUME the same as for -O0. | |
| 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com> | |
| * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1) | |
| * configure: Regenerated. | |
| * config.in: Regenerated. | |
| * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1 | |
| if ENABLE_MULTIARCH is defined. | |
| * config/mips/t-linux64: define correct multiarch path when | |
| multiarch is enabled. | |
| 2022-10-25 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/100756 | |
| * tree-ssa-loop-niter.cc (expand_simple_operations): Also | |
| expand multiplications by invariants. | |
| 2022-10-25 Kewen Lin <linkw@linux.ibm.com> | |
| PR tree-optimization/107338 | |
| * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move | |
| shfit_n calculation before the adjustments for widening loads. | |
| 2022-10-25 Martin Liska <mliska@suse.cz> | |
| * common/config/riscv/riscv-common.cc | |
| (riscv_get_valid_option_values): Get out of ifdef. | |
| 2022-10-25 Martin Liska <mliska@suse.cz> | |
| PR target/107364 | |
| * common/config/i386/i386-cpuinfo.h (enum processor_vendor): | |
| Fix pedantic warning. | |
| 2022-10-24 Martin Liska <mliska@suse.cz> | |
| PR analyzer/107366 | |
| * diagnostic-format-sarif.cc | |
| (sarif_builder::maybe_make_physical_location_object): Gracefully | |
| reject locations with NULL filename. | |
| 2022-10-24 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/106300 | |
| * doc/invoke.texi (Static Analyzer Options): Add "pipe" and | |
| "pipe2" to the list of functions the analyzer has hardcoded | |
| knowledge of. | |
| 2022-10-24 Jason Merrill <jason@redhat.com> | |
| * tree.h (build_string_literal): New one-argument overloads that | |
| take tree (identifier) and const char *. | |
| * builtins.cc (fold_builtin_FILE) | |
| (fold_builtin_FUNCTION) | |
| * gimplify.cc (gimple_add_init_for_auto_var) | |
| * vtable-verify.cc (verify_bb_vtables): Simplify calls. | |
| 2022-10-24 Martin Liska <mliska@suse.cz> | |
| PR target/107364 | |
| * common/config/i386/i386-cpuinfo.h (enum processor_vendor): | |
| Reorder enum values as BUILTIN_VENDOR_MAX should not point | |
| in the middle of the valid enum values. | |
| 2022-10-24 Marek Polacek <polacek@redhat.com> | |
| PR c++/107276 | |
| * tree.cc (maybe_wrap_with_location): Don't create a location wrapper | |
| when the type is erroneous. | |
| 2022-10-24 Wilco Dijkstra <wdijkstr@arm.com> | |
| PR target/106583 | |
| * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate) | |
| Add support for a bitmask immediate with 2 MOVKs. | |
| (aarch64_check_bitmask): New function after refactorization. | |
| (aarch64_bitmask_imm): Simplify replication of small modes. | |
| Split function into 64-bit only version for efficiency. | |
| (aarch64_move_imm): Move near other immediate functions. | |
| (aarch64_uimm12_shift): Likewise. | |
| (aarch64_clamp_to_uimm12_shift): Likewise. | |
| (aarch64_movk_shift): Likewise. | |
| (aarch64_replicate_bitmask_imm): Likewise. | |
| (aarch64_and_split_imm1): Likewise. | |
| (aarch64_and_split_imm2): Likewise. | |
| (aarch64_and_bitmask_imm): Likewise. | |
| (aarch64_movw_imm): Likewise. | |
| 2022-10-24 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107355 | |
| * range-op-float.cc (foperator_abs::op1_range): Handle NAN. | |
| 2022-10-24 Tobias Burnus <tobias@codesourcery.com> | |
| PR middle-end/107236 | |
| * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt | |
| in DECL_CONTEXT and not to cfun->decl. | |
| * cgraphclones.cc (cgraph_node::create_clone): Copy also the | |
| node's calls_declare_variant_alt value. | |
| 2022-10-24 Kito Cheng <kito.cheng@sifive.com> | |
| * common/config/riscv/riscv-common.cc (riscv_tunes): New. | |
| (riscv_get_valid_option_values): New. | |
| (TARGET_GET_VALID_OPTION_VALUES): New. | |
| * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options | |
| for tune here. | |
| (RISCV_CORE): Fix comment. | |
| * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to | |
| riscv-cores.def. | |
| 2022-10-24 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107365 | |
| * value-range.cc (frange::verify_range): Predicate NAN check in | |
| VARYING range on HONOR_NANS instead of flag_finite_math_only. | |
| (range_tests_floats): Same. | |
| (range_tests_floats_various): New. | |
| (range_tests): Call range_tests_floats_various. | |
| 2022-10-24 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> | |
| Yvan ROUX <yvan.roux@foss.st.com> | |
| * lto-wrapper.cc: Quote paths in makefile. | |
| 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)). | |
| 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR | |
| with constexpr throughout. | |
| * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise. | |
| * config/riscv/riscv-vector-builtins.cc | |
| (struct registered_function_hasher): Likewise. | |
| * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): | |
| Likewise. | |
| 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes. | |
| 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS. | |
| 2022-10-22 Michael Eager <eager@eagercon.com> | |
| * config/microblaze/microblaze.cc | |
| (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL. | |
| (microblaze_address_insns): Replace abort() with gcc_unreachable(). | |
| (print_operand_address): Same. | |
| (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL. | |
| (get_branch_target): Replace abort() with gcc_unreachable(). | |
| 2022-10-22 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test | |
| with !flag_finite_math_only. | |
| 2022-10-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.cc (xtensa_conditional_register_usage): | |
| Remove register A0 from FIXED_REGS if the CALL0 ABI. | |
| (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))' | |
| unconditionally after restoring callee-saved registers for | |
| sibling-call functions, in order to prevent misleading that | |
| register A0 is free to use. | |
| 2022-10-21 Jakub Jelinek <jakub@redhat.com> | |
| PR target/107322 | |
| * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For | |
| BFmode comparisons promote arguments to SFmode and recurse. | |
| (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early | |
| if comparison operands are BFmode and operands[1] is not | |
| ix86_fp_comparison_operator. | |
| 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com> | |
| * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4. | |
| * common/config/i386/i386-common.cc (processor_names): Add znver4. | |
| (processor_alias_table): Add znver4 and modularize old znvers. | |
| * common/config/i386/i386-cpuinfo.h (processor_subtypes): | |
| AMDFAM19H_ZNVER4. | |
| * config.gcc (x86_64-*-* |...): Likewise. | |
| * config/i386/driver-i386.cc (host_detect_local_cpu): Let | |
| -march=native recognize znver4 cpus. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4. | |
| * config/i386/i386-options.cc (m_ZNVER4): New definition. | |
| (m_ZNVER): Include m_ZNVER4. | |
| (processor_cost_table): Add znver4. | |
| * config/i386/i386.cc (ix86_reassociation_width): Likewise. | |
| * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4. | |
| (PTA_ZNVER1): New definition. | |
| (PTA_ZNVER2): Likewise. | |
| (PTA_ZNVER3): Likewise. | |
| (PTA_ZNVER4): Likewise. | |
| * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename | |
| md file. | |
| * config/i386/x86-tune-costs.h (znver4_cost): New definition. | |
| * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4. | |
| (ix86_adjust_cost): Likewise. | |
| * config/i386/znver1.md: Rename to znver.md. | |
| * config/i386/znver.md: Add new reservations for znver4. | |
| * doc/extend.texi: Add details about znver4. | |
| * doc/invoke.texi: Likewise. | |
| 2022-10-21 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107323 | |
| * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs): | |
| New function. | |
| (loop_distribution::break_alias_scc_partitions): Revert | |
| postorder save/restore from the PR94125 fix. Instead | |
| make sure to not ignore edges from SCCs we are going to | |
| merge. | |
| 2022-10-21 Monk Chiang <monk.chiang@sifive.com> | |
| * config/riscv/riscv.md: Add atomic type attribute. | |
| * config/riscv/sync.md: Add atomic type for atomic instructions. | |
| 2022-10-21 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/54346 | |
| * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)): | |
| Optimize nested VEC_PERM_EXPRs even if target can't handle the | |
| new one provided we don't increase number of VEC_PERM_EXPRs the | |
| target can't handle. | |
| 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o | |
| * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro. | |
| (DEF_RVV_FUNCTION): Ditto. | |
| (handle_pragma_vector): Add intrinsic framework. | |
| * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax. | |
| * config/riscv/riscv.md: include vector.md. | |
| * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o | |
| * config/riscv/riscv-vector-builtins-bases.cc: New file. | |
| * config/riscv/riscv-vector-builtins-bases.h: New file. | |
| * config/riscv/riscv-vector-builtins-functions.def: New file. | |
| * config/riscv/riscv-vector-builtins-shapes.cc: New file. | |
| * config/riscv/riscv-vector-builtins-shapes.h: New file. | |
| * config/riscv/riscv-vector-builtins-types.def: New file. | |
| * config/riscv/vector.md: New file. | |
| 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config.gcc: Add gt files since function_instance is GTY ((user)). | |
| * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework. | |
| (riscv_builtin_decl): Ditto. | |
| (riscv_expand_builtin): Ditto. | |
| * config/riscv/riscv-protos.h (builtin_decl): New function. | |
| (expand_builtin): Ditto. | |
| (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in. | |
| * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration. | |
| (struct registered_function_hasher): New struct. | |
| (DEF_RVV_OP_TYPE): New macro. | |
| (DEF_RVV_TYPE): Ditto. | |
| (DEF_RVV_PRED_TYPE): Ditto. | |
| (GTY): New declaration. | |
| (add_attribute): New function. | |
| (check_required_extensions): Ditto. | |
| (rvv_arg_type_info::get_tree_type): Ditto. | |
| (function_instance::function_instance): Ditto. | |
| (function_instance::operator==): Ditto. | |
| (function_instance::any_type_float_p): Ditto. | |
| (function_instance::get_return_type): Ditto. | |
| (function_instance::get_arg_type): Ditto. | |
| (function_instance::hash): Ditto. | |
| (function_instance::call_properties): Ditto. | |
| (function_instance::reads_global_state_p): Ditto. | |
| (function_instance::modifies_global_state_p): Ditto. | |
| (function_instance::could_trap_p): Ditto. | |
| (function_builder::function_builder): Ditto. | |
| (function_builder::~function_builder): Ditto. | |
| (function_builder::allocate_argument_types): Ditto. | |
| (function_builder::register_function_group): Ditto. | |
| (function_builder::append_name): Ditto. | |
| (function_builder::finish_name): Ditto. | |
| (function_builder::get_attributes): Ditto. | |
| (function_builder::add_function): Ditto. | |
| (function_builder::add_unique_function): Ditto. | |
| (function_call_info::function_call_info): Ditto. | |
| (function_expander::function_expander): Ditto. | |
| (function_expander::add_input_operand): Ditto. | |
| (function_expander::generate_insn): Ditto. | |
| (registered_function_hasher::hash): Ditto. | |
| (registered_function_hasher::equal): Ditto. | |
| (builtin_decl): Ditto. | |
| (expand_builtin): Ditto. | |
| (gt_ggc_mx): Define for using GCC garbage collect. | |
| (gt_pch_nx): Define for using GCC garbage collect. | |
| * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro. | |
| (DEF_RVV_PRED_TYPE): Ditto. | |
| (vbool64_t): Add suffix. | |
| (vbool32_t): Ditto. | |
| (vbool16_t): Ditto. | |
| (vbool8_t): Ditto. | |
| (vbool4_t): Ditto. | |
| (vbool2_t): Ditto. | |
| (vbool1_t): Ditto. | |
| (vint8mf8_t): Ditto. | |
| (vuint8mf8_t): Ditto. | |
| (vint8mf4_t): Ditto. | |
| (vuint8mf4_t): Ditto. | |
| (vint8mf2_t): Ditto. | |
| (vuint8mf2_t): Ditto. | |
| (vint8m1_t): Ditto. | |
| (vuint8m1_t): Ditto. | |
| (vint8m2_t): Ditto. | |
| (vuint8m2_t): Ditto. | |
| (vint8m4_t): Ditto. | |
| (vuint8m4_t): Ditto. | |
| (vint8m8_t): Ditto. | |
| (vuint8m8_t): Ditto. | |
| (vint16mf4_t): Ditto. | |
| (vuint16mf4_t): Ditto. | |
| (vint16mf2_t): Ditto. | |
| (vuint16mf2_t): Ditto. | |
| (vint16m1_t): Ditto. | |
| (vuint16m1_t): Ditto. | |
| (vint16m2_t): Ditto. | |
| (vuint16m2_t): Ditto. | |
| (vint16m4_t): Ditto. | |
| (vuint16m4_t): Ditto. | |
| (vint16m8_t): Ditto. | |
| (vuint16m8_t): Ditto. | |
| (vint32mf2_t): Ditto. | |
| (vuint32mf2_t): Ditto. | |
| (vint32m1_t): Ditto. | |
| (vuint32m1_t): Ditto. | |
| (vint32m2_t): Ditto. | |
| (vuint32m2_t): Ditto. | |
| (vint32m4_t): Ditto. | |
| (vuint32m4_t): Ditto. | |
| (vint32m8_t): Ditto. | |
| (vuint32m8_t): Ditto. | |
| (vint64m1_t): Ditto. | |
| (vuint64m1_t): Ditto. | |
| (vint64m2_t): Ditto. | |
| (vuint64m2_t): Ditto. | |
| (vint64m4_t): Ditto. | |
| (vuint64m4_t): Ditto. | |
| (vint64m8_t): Ditto. | |
| (vuint64m8_t): Ditto. | |
| (vfloat32mf2_t): Ditto. | |
| (vfloat32m1_t): Ditto. | |
| (vfloat32m2_t): Ditto. | |
| (vfloat32m4_t): Ditto. | |
| (vfloat32m8_t): Ditto. | |
| (vfloat64m1_t): Ditto. | |
| (vfloat64m2_t): Ditto. | |
| (vfloat64m4_t): Ditto. | |
| (vfloat64m8_t): Ditto. | |
| (vv): Ditto. | |
| (vx): Ditto. | |
| (v): Ditto. | |
| (wv): Ditto. | |
| (wx): Ditto. | |
| (x_x_v): Ditto. | |
| (vf2): Ditto. | |
| (vf4): Ditto. | |
| (vf8): Ditto. | |
| (vvm): Ditto. | |
| (vxm): Ditto. | |
| (x_x_w): Ditto. | |
| (v_v): Ditto. | |
| (v_x): Ditto. | |
| (vs): Ditto. | |
| (mm): Ditto. | |
| (m): Ditto. | |
| (vf): Ditto. | |
| (vm): Ditto. | |
| (wf): Ditto. | |
| (vfm): Ditto. | |
| (v_f): Ditto. | |
| (ta): Ditto. | |
| (tu): Ditto. | |
| (ma): Ditto. | |
| (mu): Ditto. | |
| (tama): Ditto. | |
| (tamu): Ditto. | |
| (tuma): Ditto. | |
| (tumu): Ditto. | |
| (tam): Ditto. | |
| (tum): Ditto. | |
| * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro. | |
| (RVV_REQUIRE_RV64BIT): Ditto. | |
| (RVV_REQUIRE_ZVE64): Ditto. | |
| (RVV_REQUIRE_ELEN_FP_32): Ditto. | |
| (RVV_REQUIRE_ELEN_FP_64): Ditto. | |
| (enum operand_type_index): New enum. | |
| (DEF_RVV_OP_TYPE): New macro. | |
| (enum predication_type_index): New enum. | |
| (DEF_RVV_PRED_TYPE): New macro. | |
| (enum rvv_base_type): New enum. | |
| (struct rvv_builtin_suffixes): New struct. | |
| (struct rvv_arg_type_info): Ditto. | |
| (struct rvv_type_info): Ditto. | |
| (struct rvv_op_info): Ditto. | |
| (class registered_function): New class. | |
| (class function_base): Ditto. | |
| (class function_shape): Ditto. | |
| (struct function_group_info): New struct. | |
| (class GTY): New class. | |
| (class function_builder): Ditto. | |
| (class function_call_info): Ditto. | |
| (function_call_info::function_returns_void_p): New function. | |
| (class function_expander): New class. | |
| (function_instance::operator!=): New function. | |
| (function_expander::expand): Ditto. | |
| (function_expander::add_input_operand): Ditto. | |
| (function_base::call_properties): Ditto. | |
| 2022-10-21 Haochen Jiang <haochen.jiang@intel.com> | |
| * config/i386/sse.md (ssedvecmode): Rename from VI1SI. | |
| (ssedvecmodelower): Rename from vi1si. | |
| (sdot_prod<mode>): New define_expand. | |
| (udot_prod<mode>): Ditto. | |
| 2022-10-21 Kong Lingling <lingling.kong@intel.com> | |
| Hongyu Wang <hongyu.wang@intel.com> | |
| Haochen Jiang <haochen.jiang@intel.com> | |
| * common/config/i386/cpuinfo.h (get_available_features): Detect | |
| avxvnniint8. | |
| * common/config/i386/i386-common.cc | |
| (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New. | |
| (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto. | |
| (ix86_handle_option): Handle -mavxvnniint8. | |
| * common/config/i386/i386-cpuinfo.h (enum processor_features): | |
| Add FEATURE_AVXVNNIINT8. | |
| * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for | |
| avxvnniint8. | |
| * config.gcc: Add avxvnniint8intrin.h. | |
| * config/i386/avxvnniint8intrin.h: New file. | |
| * config/i386/cpuid.h (bit_AVXVNNIINT8): New. | |
| * config/i386/i386-builtin.def: Add new builtins. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): Define | |
| __AVXVNNIINT8__. | |
| * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8. | |
| (ix86_valid_target_attribute_inner_p): Handle avxvnniint8. | |
| * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New.. | |
| * config/i386/i386.opt: Add option -mavxvnniint8. | |
| * config/i386/immintrin.h: Include avxvnniint8intrin.h. | |
| * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD | |
| UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD, | |
| UNSPEC_VPMADDWDACCSSD): Rename according to new style. | |
| (vpdp<vpdotprodtype>_<mode>): New define_insn. | |
| * doc/extend.texi: Document avxvnniint8. | |
| * doc/invoke.texi: Document -mavxvnniint8. | |
| * doc/sourcebuild.texi: Document target avxvnniint8. | |
| 2022-10-21 Hongyu Wang <hongyu.wang@intel.com> | |
| * common/config/i386/i386-common.cc | |
| (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET, | |
| OPTION_MASK_ISA2_AVX2_UNSET): New macro. | |
| (ix86_handle_option): Handle -mavxifma. | |
| * common/config/i386/i386-cpuinfo.h (processor_types): Add | |
| FEATURE_AVXIFMA. | |
| * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for | |
| avxifma. | |
| * common/config/i386/cpuinfo.h (get_available_features): | |
| Detect avxifma. | |
| * config.gcc: Add avxifmaintrin.h | |
| * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change | |
| to macro. | |
| (_mm_madd52hi_epu64): Likewise. | |
| (_mm256_madd52lo_epu64): Likewise. | |
| (_mm256_madd52hi_epu64): Likewise. | |
| * config/i386/avxifmaintrin.h: New header. | |
| * config/i386/cpuid.h (bit_AVXIFMA): New. | |
| * config/i386/i386-builtin.def: Add new builtins, and correct | |
| pattern names for AVX512IFMA. | |
| * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA | |
| builtins like AVX-VNNI. | |
| * config/i386/i386-c.cc (ix86_target_macros_internal): Define | |
| __AVXIFMA__. | |
| * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): | |
| Relax ISA masks for AVXIFMA. | |
| * config/i386/i386-isa.def: Add AVXIFMA. | |
| * config/i386/i386-options.cc (isa2_opts): Add -mavxifma. | |
| (ix86_valid_target_attribute_inner_p): Handle avxifma. | |
| * config/i386/i386.md (isa): Add attr avxifma and avxifmavl. | |
| * config/i386/i386.opt: Add option -mavxifma. | |
| * config/i386/immintrin.h: Inculde avxifmaintrin.h. | |
| * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>): | |
| Remove. | |
| (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove. | |
| (vpamdd52huq<mode>_maskz): Rename to ... | |
| (vpmadd52huq<mode>_maskz): ... this. | |
| (vpamdd52luq<mode>_maskz): Rename to ... | |
| (vpmadd52luq<mode>_maskz): ... this. | |
| (vpmadd52<vpmadd52type><mode>): New define_insn. | |
| (vpmadd52<vpmadd52type>v8di): Likewise. | |
| (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise. | |
| (vpamdd52<vpmadd52type><mode>_mask): Rename to ... | |
| (vpmadd52<vpmadd52type><mode>_mask): ... this. | |
| * doc/invoke.texi: Document -mavxifma. | |
| * doc/extend.texi: Document avxifma. | |
| * doc/sourcebuild.texi: Document target avxifma. | |
| 2022-10-20 Aldy Hernandez <aldyh@redhat.com> | |
| PR c++/106654 | |
| * value-query.cc (get_range_global): Handle non integer ranges for | |
| default def SSA names. | |
| 2022-10-20 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_unordered_lt::op1_range): New. | |
| (foperator_unordered_lt::op2_range): New. | |
| 2022-10-20 Artem Klimov <jakmobius@gmail.com> | |
| Alexander Monakov <amonakov@gcc.gnu.org> | |
| PR middle-end/99619 | |
| * ipa-visibility.cc (function_and_variable_visibility): Promote | |
| TLS access model afer visibility optimizations. | |
| * varasm.cc (have_optimized_refs): New helper. | |
| (optimize_dyn_tls_for_decl_p): New helper. Use it ... | |
| (decl_default_tls_model): ... here in place of 'optimize' check. | |
| 2022-10-20 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_unordered_le::op1_range): Adjust | |
| false side with a NAN operand. | |
| (foperator_unordered_le::op2_range): Same. | |
| (foperator_unordered_gt::op1_range): Same. | |
| (foperator_unordered_gt::op2_range): Same. | |
| (foperator_unordered_ge::op1_range): Same. | |
| (foperator_unordered_ge::op2_range): Same. | |
| (foperator_unordered_equal::op1_range): Same. | |
| 2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
| PR tree-optimization/107326 | |
| * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change | |
| vectype when widening container. | |
| 2022-10-20 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.h (frange::set_varying): Do not set NAN flags for | |
| !HONOR_NANS. | |
| * value-range.cc (frange::normalize_kind): Adjust for no NAN when | |
| !HONOR_NANS. | |
| (frange::verify_range): Same. | |
| * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check. | |
| 2022-10-20 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (finite_operand_p): Remove. | |
| (finite_operands_p): Rename to... | |
| (maybe_isnan): ...this. | |
| (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p. | |
| (foperator_equal::fold_range): Same. | |
| (foperator_equal::op1_range): Same. | |
| (foperator_not_equal::fold_range): Same. | |
| (foperator_lt::fold_range): Same. | |
| (foperator_le::fold_range): Same. | |
| (foperator_gt::fold_range): Same. | |
| (foperator_ge::fold_range): Same. | |
| 2022-10-20 Jakub Jelinek <jakub@redhat.com> | |
| * passes.cc (pass_manager::register_pass): Fix a comment | |
| typo - copmilation -> compilation. | |
| 2022-10-20 Richard Biener <rguenther@suse.de> | |
| * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): | |
| Disallow latch PHI defs. | |
| (vectorizable_recurr): Revert previous change. | |
| 2022-10-20 Julian Brown <julian@codesourcery.com> | |
| PR target/105421 | |
| * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer | |
| argument forces FLAT addressing mode, not just | |
| pointer-to-non-aggregate. | |
| 2022-10-20 Thomas Schwinge <thomas@codesourcery.com> | |
| * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate. | |
| * configure: Regenerate. | |
| 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-sve-builtins.h | |
| (gimple_folder::fold_to_cstu): New member function. | |
| * config/aarch64/aarch64-sve-builtins.cc | |
| (gimple_folder::fold_to_cstu): Define. | |
| * config/aarch64/aarch64-sve-builtins-base.cc | |
| (svcnt_bhwd_impl::fold): Use it. | |
| 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-sve-builtins-functions.h (quiet) | |
| (rtx_code_function, rtx_code_function_rotated, unspec_based_function) | |
| (unspec_based_function_rotated, unspec_based_function_exact_insn) | |
| (unspec_based_fused_function, unspec_based_fused_lane_function): | |
| Replace constructors with using directives. | |
| * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl) | |
| (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl) | |
| (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend) | |
| (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl) | |
| (svst234_impl, svundef_impl): Likewise. | |
| * config/aarch64/aarch64-sve-builtins-sve2.cc | |
| (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise. | |
| (svstnt1_scatter_truncate_impl): Likewise. | |
| 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR | |
| with constexpr throughout. | |
| * config/aarch64/aarch64-sve-builtins-functions.h: Likewise. | |
| * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise. | |
| * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. | |
| * config/aarch64/aarch64-sve-builtins.cc: Likewise. | |
| 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove | |
| merging alternative. | |
| (*aarch64_brk<brk_op>_ptest): Likewise. | |
| 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/iterators.md (SVE_BRKP): New iterator. | |
| * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern. | |
| (*aarch64_brkn_ptest): Likewise. | |
| (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP. | |
| (*aarch64_brk<brk_op>_ptest): Likewise. | |
| 2022-10-20 Richard Biener <rguenther@suse.de> | |
| PR c/107305 | |
| PR c/107306 | |
| * tree-cfg.h (verify_gimple_in_seq): Add parameter to | |
| indicate whether to emit an ICE. Add return value. | |
| (verify_gimple_in_cfg): Likewise. | |
| * tree-cfg.cc (verify_gimple_in_seq): Likewise. | |
| (verify_gimple_in_cfg): Likewise. | |
| 2022-10-20 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107240 | |
| * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to | |
| simplify shifted value first. | |
| 2022-10-20 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-gori.h (compute_operand_range): Make public. | |
| * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New. | |
| (gimple_infer_range::gimple_infer_range): Check for assume calls. | |
| * gimple-range-infer.h (check_assume_func): Add prototype. | |
| * gimple-range.cc (assume_query::assume_range_p): New. | |
| (assume_query::range_of_expr): New. | |
| (assume_query::assume_query): New. | |
| (assume_query::calculate_op): New. | |
| (assume_query::calculate_phi): New. | |
| (assume_query::check_taken_edge): New. | |
| (assume_query::calculate_stmt): New. | |
| (assume_query::dump): New. | |
| * gimple-range.h (class assume_query): New. | |
| * tree-vrp.cc (pass_assumptions::execute): Add processing. | |
| 2022-10-19 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (build_le): Document result. | |
| (build_lt): Same. | |
| (build_ge): Same. | |
| (foperator_ge::op2_range): Check result of build_*. | |
| (foperator_unordered_le::op1_range): Same. | |
| (foperator_unordered_le::op2_range): Same. | |
| (foperator_unordered_gt::op1_range): Same. | |
| (foperator_unordered_gt::op2_range): Same. | |
| (foperator_unordered_ge::op1_range): Same. | |
| (foperator_unordered_ge::op2_range): Same. | |
| 2022-10-19 Marek Polacek <polacek@redhat.com> | |
| PR c++/85043 | |
| * doc/invoke.texi: Update documentation of -Wuseless-cast. | |
| 2022-10-19 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-cache.cc (ranger_cache::range_from_dom): Use | |
| Value_Range not int_range_max. | |
| 2022-10-19 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107312 | |
| * range.h (range_true_and_false): Special case 1-bit signed types. | |
| * value-range.cc (range_tests_misc): New test. | |
| 2022-10-19 LIU Hao <lh_mouse@126.com> | |
| * config/i386/mingw-mcfgthread.h: New file | |
| * config/i386/mingw32.h: Add builtin macro and default libraries | |
| for mcfgthread when thread model is `mcf` | |
| * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model | |
| is `mcf` | |
| * configure.ac: Recognize `mcf` as a valid thread model | |
| * config.in: Regenerate | |
| * configure: Regenerate | |
| 2022-10-19 Lewis Hyatt <lhyatt@gmail.com> | |
| * gengtype.cc (output_escaped_param): Add missing const. | |
| (get_string_option): Add missing check for option type. | |
| (walk_type): Support new "string_length" GTY option. | |
| (write_types_process_field): Likewise. | |
| * ggc-common.cc (gt_pch_note_object): Add optional length argument. | |
| * ggc.h (gt_pch_note_object): Adjust prototype for new argument. | |
| (gt_pch_n_S2): Declare... | |
| * stringpool.cc (gt_pch_n_S2): ...new function. | |
| * doc/gty.texi: Document new GTY((string_length)) option. | |
| 2022-10-19 Martin Liska <mliska@suse.cz> | |
| * doc/extend.texi: Remove useless @tie{} directives. | |
| 2022-10-19 Martin Jambor <mjambor@suse.cz> | |
| PR tree-optimization/107206 | |
| * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs. | |
| (analyze_access_subtree): Do not create replacements for accesses with | |
| this flag when not toally scalarizing. | |
| (propagate_subaccesses_from_lhs): Set the new flag. | |
| 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> | |
| PR target/106355 | |
| * config/s390/s390.cc (s390_call_saved_register_used): For a | |
| parameter with BLKmode fix determining number of consecutive | |
| registers. | |
| 2022-10-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa-protos.h | |
| (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes. | |
| * config/xtensa/xtensa.cc | |
| (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p): | |
| New functions. | |
| (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p. | |
| (xt_true_regnum): Rework. | |
| * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS): | |
| Switch from CALL_USED_REGISTERS, and revise the comment. | |
| * config/xtensa/constraints.md (Y): | |
| Use !xtensa_split1_finished_p() instead of can_create_pseudo_p(). | |
| * config/xtensa/predicates.md (move_operand): Ditto. | |
| * config/xtensa/xtensa.md: Add two new split patterns: | |
| - splits DImode immediate load into two SImode ones | |
| - puts out-of-constraint SImode constants into the constant pool | |
| * config/xtensa/xtensa.opt (-mlra): New target-specific option | |
| for testing purpose. | |
| 2022-10-19 Robin Dapp <rdapp@linux.ibm.com> | |
| * config/s390/s390.md: Move reload_completed and check operands for REG_P. | |
| 2022-10-19 Jakub Jelinek <jakub@redhat.com> | |
| PR middle-end/107262 | |
| * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions | |
| of constants, use simplify_unary_operation if fromi has VOIDmode | |
| instead of recursive convert_mode_scalar. | |
| 2022-10-19 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/106990 | |
| * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with | |
| !TYPE_OVERFLOW_SANITIZED (type). | |
| 2022-10-19 Jakub Jelinek <jakub@redhat.com> | |
| * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove. | |
| (ix86_bf16_type_node): New variable. | |
| (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL | |
| from generic code, set only ix86_bf16_type_node to a new REAL_TYPE | |
| rather than bfloat16_type_node, otherwise set ix86_bf16_type_node | |
| to bfloat16_type_node. Register __bf16 on ix86_bf16_type_node | |
| rather than bfloat16_type_node. Don't initialize unused | |
| ix86_bf16_ptr_type_node. | |
| * config/i386/i386-builtin-types.def (BFLOAT16): Use | |
| ix86_bf16_type_node rather than bfloat16_type_node. | |
| 2022-10-19 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106781 | |
| * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy | |
| LHS removal from fixup_noreturn_call. | |
| 2022-10-19 liuhongt <hongtao.liu@intel.com> | |
| PR target/107271 | |
| * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New. | |
| (expand_vec_perm_shufps_shufps): Call | |
| ix86_vec_perm_index_canon | |
| 2022-10-18 Martin Jambor <mjambor@suse.cz> | |
| * ipa-prop.h (ipa_agg_value): Remove type. | |
| (ipa_agg_value_set): Likewise. | |
| (ipa_copy_agg_values): Remove function. | |
| (ipa_release_agg_values): Likewise. | |
| (ipa_auto_call_arg_values) Add a forward declaration. | |
| (ipa_call_arg_values): Likewise. | |
| (class ipa_argagg_value_list): New constructors, added member function | |
| value_for_index_p. | |
| (class ipa_auto_call_arg_values): Removed the destructor and member | |
| function safe_aggval_at. Use ipa_argagg_values for m_known_aggs. | |
| (class ipa_call_arg_values): Removed member function safe_aggval_at. | |
| Use ipa_argagg_values for m_known_aggs. | |
| (ipa_get_indirect_edge_target): Removed declaration. | |
| (ipa_find_agg_cst_for_param): Likewise. | |
| (ipa_find_agg_cst_from_init): New declaration. | |
| (ipa_agg_value_from_jfunc): Likewise. | |
| (ipa_agg_value_set_from_jfunc): Removed declaration. | |
| (ipa_push_agg_values_from_jfunc): New declaration. | |
| * ipa-cp.cc (ipa_agg_value_from_node): Renamed to | |
| ipa_agg_value_from_jfunc, made public. | |
| (ipa_agg_value_set_from_jfunc): Removed. | |
| (ipa_push_agg_values_from_jfunc): New function. | |
| (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use | |
| avs for this purpose too. | |
| (ipa_get_indirect_edge_target): Removed the overload working on | |
| ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining | |
| one. | |
| (devirtualization_time_bonus): Use ipa_argagg_value_list and | |
| ipa_get_indirect_edge_target_1 instead of | |
| ipa_get_indirect_edge_target. | |
| (context_independent_aggregate_values): Removed function. | |
| (gather_context_independent_values): Work on ipa_argagg_value_list. | |
| (estimate_local_effects): Likewise, define some iterator variables | |
| only in the construct where necessary. | |
| (ipcp_discover_new_direct_edges): Adjust the call to | |
| ipa_get_indirect_edge_target_1. | |
| (push_agg_values_for_index_from_edge): Adjust the call | |
| ipa_agg_value_from_node which has been renamed to | |
| ipa_agg_value_from_jfunc. | |
| * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on | |
| ipa_argagg_value_list. | |
| (evaluate_properties_for_edge): Replace manual filling in aggregate | |
| values with call to ipa_push_agg_values_from_jfunc. | |
| (estimate_calls_size_and_time): Work on ipa_argagg_value_list. | |
| (ipa_cached_call_context::duplicate_from): Likewise. | |
| (ipa_cached_call_context::release): Likewise. | |
| (ipa_call_context::equal_to): Likewise. | |
| * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public. | |
| (ipa_find_agg_cst_for_param): Removed function. | |
| (ipa_find_agg_cst_from_jfunc_items): New function. | |
| (try_make_edge_direct_simple_call): Replace calls to | |
| ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with | |
| ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items. | |
| (try_make_edge_direct_virtual_call): Replace calls to | |
| ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with | |
| simple query of constant jump function and a call to | |
| ipa_find_agg_cst_from_jfunc_items. | |
| (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed. | |
| 2022-10-18 Martin Jambor <mjambor@suse.cz> | |
| * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New. | |
| (ipcp_transformation): Added forward declaration. | |
| (ipa_argagg_value): New type. | |
| (ipa_argagg_value_list): New type. | |
| (ipa_agg_replacement_value): Removed type. | |
| (ipcp_transformation): Switch from using ipa_agg_replacement_value | |
| to ipa_argagg_value_list. | |
| (ipa_get_agg_replacements_for_node): Removed. | |
| (ipa_dump_agg_replacement_values): Removed declaration. | |
| * ipa-cp.cc: Define INCLUDE_ALGORITHM. | |
| (values_equal_for_ipcp_p): Moved up in the file. | |
| (ipa_argagg_value_list::dump): New function. | |
| (ipa_argagg_value_list::debug): Likewise. | |
| (ipa_argagg_value_list::get_elt): Likewise. | |
| (ipa_argagg_value_list::get_elt_for_index): Likewise. | |
| (ipa_argagg_value_list::get_value): New overloaded functions. | |
| (ipa_argagg_value_list::superset_of_p): New function. | |
| (new ipa_argagg_value_list::push_adjusted_values): Likewise. | |
| (push_agg_values_from_plats): Likewise. | |
| (intersect_argaggs_with): Likewise. | |
| (get_clone_agg_value): Removed. | |
| (ipa_agg_value_from_node): Make last parameter const, use | |
| ipa_argagg_value_list to search values coming from clones. | |
| (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search | |
| values coming from clones. | |
| (ipcp_discover_new_direct_edges): Pass around a vector of | |
| ipa_argagg_values rather than a link list of replacement values. | |
| (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search | |
| values coming from clones. | |
| (create_specialized_node): Work with a vector of ipa_argagg_values | |
| rather than a link list of replacement values. | |
| (self_recursive_agg_pass_through_p): Make the pointer parameters | |
| const. | |
| (copy_plats_to_inter): Removed. | |
| (intersect_with_plats): Likewise. | |
| (agg_replacements_to_vector): Likewise. | |
| (intersect_with_agg_replacements): Likewise. | |
| (intersect_aggregates_with_edge): Likewise. | |
| (push_agg_values_for_index_from_edge): Likewise. | |
| (push_agg_values_from_edge): Likewise. | |
| (find_aggregate_values_for_callers_subset): Rewrite. | |
| (cgraph_edge_brings_all_agg_vals_for_node): Likewise. | |
| (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search | |
| aggregate values. | |
| (decide_about_value): Work with a vector of ipa_argagg_values rather | |
| than a link list of replacement values. | |
| (decide_whether_version_node): Likewise. | |
| (ipa_analyze_node): Check number of parameters, assert that there | |
| are no descriptors when bailing out. | |
| * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of | |
| ipa_argagg_value. | |
| (ipa_node_params_t::duplicate): Removed superfluous handling of | |
| ipa_agg_replacement_values. Name of src parameter removed because | |
| it is no longer used. | |
| (ipcp_transformation_t::duplicate): Replaced duplication of | |
| ipa_agg_replacement_values with copying vector m_agg_values. | |
| (ipa_dump_agg_replacement_values): Removed. | |
| (write_ipcp_transformation_info): Stream the new data-structure | |
| instead of the old. | |
| (read_ipcp_transformation_info): Likewise. | |
| (adjust_agg_replacement_values): Work with ipa_argagg_values instead | |
| of linked lists of ipa_agg_replacement_values, copy the items and | |
| truncate the vector as necessary to keep it sorted instead of marking | |
| items as invalid. Return one bool if CFG should be updated. | |
| (ipcp_modif_dom_walker): Store ipcp_transformation instead of | |
| linked list of ipa_agg_replacement_values. | |
| (ipcp_modif_dom_walker::before_dom_children): Use | |
| ipa_argagg_value_list instead of walking a list of | |
| ipa_agg_replacement_values. | |
| (ipcp_transform_function): Switch to the new data structure, adjust | |
| dumping. | |
| 2022-10-18 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107302 | |
| * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm | |
| placement for a PHI latch def. | |
| 2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
| PR tree-optimization/107275 | |
| * tree-if-conv.cc (if_convertible_loop_p_1): Move | |
| find_data_references_in_loop call from here... | |
| (if_convertible_loop_p): And move data-reference vector initialization | |
| from here... | |
| (tree_if_conversion):... to here. | |
| 2022-10-18 Jakub Jelinek <jakub@redhat.com> | |
| PR c++/106654 | |
| * gimple.def (GIMPLE_ASSUME): New statement kind. | |
| * gimple.h (struct gimple_statement_assume): New type. | |
| (is_a_helper <gimple_statement_assume *>::test, | |
| is_a_helper <const gimple_statement_assume *>::test): New. | |
| (gimple_build_assume): Declare. | |
| (gimple_has_substatements): Return true for GIMPLE_ASSUME. | |
| (gimple_assume_guard, gimple_assume_set_guard, | |
| gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body): | |
| New inline functions. | |
| * gsstruct.def (GSS_ASSUME): New. | |
| * gimple.cc (gimple_build_assume): New function. | |
| (gimple_copy): Handle GIMPLE_ASSUME. | |
| * gimple-pretty-print.cc (dump_gimple_assume): New function. | |
| (pp_gimple_stmt_1): Handle GIMPLE_ASSUME. | |
| * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME. | |
| * omp-low.cc (WALK_SUBSTMTS): Likewise. | |
| (lower_omp_1): Likewise. | |
| * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn): | |
| Likewise. | |
| * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise. | |
| * function.h (struct function): Add assume_function bitfield. | |
| * gimplify.cc (gimplify_call_expr): If the assumption isn't | |
| simple enough, expand it into GIMPLE_ASSUME wrapped block or | |
| for -O0 drop it. | |
| * gimple-low.cc: Include attribs.h. | |
| (create_assumption_fn): New function. | |
| (struct lower_assumption_data): New type. | |
| (find_assumption_locals_r, assumption_copy_decl, | |
| adjust_assumption_stmt_r, adjust_assumption_stmt_op, | |
| lower_assumption): New functions. | |
| (lower_stmt): Handle GIMPLE_ASSUME. | |
| * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove | |
| IFN_ASSUME calls. | |
| * lto-streamer-out.cc (output_struct_function_base): Pack | |
| assume_function bit. | |
| * lto-streamer-in.cc (input_struct_function_base): And unpack it. | |
| * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function | |
| has TREE_ASM_WRITTEN set and don't release its body. | |
| (symbol_table::compile): Allow assume functions not to have released | |
| body. | |
| * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable. | |
| * passes.cc (execute_one_pass): For TODO_discard_function don't | |
| release body of assume functions. | |
| * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes | |
| of PROP_assumptions_done functions. | |
| * tree-pass.h (PROP_assumptions_done): Define. | |
| (TODO_discard_function): Adjust comment. | |
| (make_pass_assumptions): Declare. | |
| * passes.def (pass_assumptions): Add. | |
| * timevar.def (TV_TREE_ASSUMPTIONS): New. | |
| * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME. | |
| * tree-vrp.cc (pass_data_assumptions): New variable. | |
| (pass_assumptions): New class. | |
| (make_pass_assumptions): New function. | |
| 2022-10-18 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107301 | |
| * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg): | |
| Check whether we can duplicate the block. | |
| (find_implicit_erroneous_behavior): Likewise. | |
| 2022-10-18 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/107273 | |
| * value-relation.cc (equiv_oracle::add_partial_equiv): Merge | |
| instead of copying precison of each member. | |
| 2022-10-17 Jeff Law <jeffreyalaw@gmail.com> | |
| PR target/101697 | |
| * config/h8300/combiner.md: Replace '<' preincment constraint with | |
| ZA/Z1..ZH/Z7 combinations. | |
| * config/h8300/movepush.md: Similarly | |
| 2022-10-17 Jeff Law <jeffreyalaw@gmail.com> | |
| * config/h8300/constraints.md (Za..Zh): New constraints for | |
| autoinc addresses using a specific register. | |
| * config/h8300/h8300.cc (pre_incdec_with_reg): New function. | |
| * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype. | |
| 2022-10-17 Jeff Law <jlaw@ventanamicro.com> | |
| * config/i386/cet.c: Remove accidental commit. | |
| * config/i386/driver-mingw32.c: Likewise. | |
| * config/i386/i386-builtins.c: Likewise. | |
| * config/i386/i386-d.c: Likewise. | |
| * config/i386/i386-expand.c: Likewise. | |
| * config/i386/i386-features.c: Likewise. | |
| * config/i386/i386-options.c: Likewise. | |
| * config/i386/t-cet: Likewise. | |
| * config/i386/x86-tune-sched-atom.c: Likewise. | |
| * config/i386/x86-tune-sched-bd.c: Likewise. | |
| * config/i386/x86-tune-sched-core.c: Likewise. | |
| * config/i386/x86-tune-sched.c: Likewise. | |
| 2022-10-17 Jeff Law <jeffreyalaw@gmail.com> | |
| * common/config/h8300/h8300-common.cc (h8300_option_optimization_table): | |
| Enable redundant extension elimination at -O2 and above. | |
| * config/i386/cet.c: New file. | |
| * config/i386/driver-mingw32.c: New file. | |
| * config/i386/i386-builtins.c: New file. | |
| * config/i386/i386-d.c: New file. | |
| * config/i386/i386-expand.c: New file. | |
| * config/i386/i386-features.c: New file. | |
| * config/i386/i386-options.c: New file. | |
| * config/i386/t-cet: New file. | |
| * config/i386/x86-tune-sched-atom.c: New file. | |
| * config/i386/x86-tune-sched-bd.c: New file. | |
| * config/i386/x86-tune-sched-core.c: New file. | |
| * config/i386/x86-tune-sched.c: New file. | |
| 2022-10-17 Jeff Law <jeffreyalaw@gmail.com> | |
| * config/h8300/extensions.md (CCZN setting zero extended load): Add | |
| missing splitter. | |
| 2022-10-17 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107293 | |
| * tree-ssa-dom.cc | |
| (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): | |
| Check that condition post-dominates the definition point. | |
| 2022-10-17 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107286 | |
| * value-range.cc (range_tests_floats): Do not test for -Inf when | |
| flag_finite_math_only. | |
| 2022-10-17 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (fold_using_range::range_of_range_op): | |
| Provide relation_trio class. | |
| * gimple-range-gori.cc (gori_compute::refine_using_relation): | |
| Provide relation_trio class. | |
| (gori_compute::refine_using_relation): Ditto. | |
| (gori_compute::compute_operand1_range): Provide lhs_op2 and | |
| op1_op2 relations via relation_trio class. | |
| (gori_compute::compute_operand2_range): Ditto. | |
| * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use | |
| relation_trio instead of relation_kind. | |
| (gimple_range_op_handler::calc_op2): Ditto. | |
| (*::fold_range): Ditto. | |
| * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes. | |
| (gimple_range_op::calc_op2): Adjust prototypes. | |
| * range-op-float.cc (*::fold_range): Use relation_trio instead of | |
| relation_kind. | |
| (*::op1_range): Ditto. | |
| (*::op2_range): Ditto. | |
| * range-op.cc (*::fold_range): Use relation_trio instead of | |
| relation_kind. | |
| (*::op1_range): Ditto. | |
| (*::op2_range): Ditto. | |
| * range-op.h (class range_operator): Adjust prototypes. | |
| (class range_operator_float): Ditto. | |
| (class range_op_handler): Adjust prototypes. | |
| (relop_early_resolve): Pickup op1_op2 relation from relation_trio. | |
| * value-relation.cc (VREL_LAST): Adjust use to be one past the end of | |
| the enum. | |
| (relation_oracle::validate_relation): Use relation_trio in call | |
| to fold_range. | |
| * value-relation.h (enum relation_kind_t): Add VREL_LAST as | |
| final element. | |
| (class relation_trio): New. | |
| (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New. | |
| 2022-10-17 Andrew MacLeod <amacleod@redhat.com> | |
| * range-op-float.cc (foperator_not_equal::op1_range): Check for | |
| VREL_EQ after singleton. | |
| (foperator_unordered::op1_range): Set VARYING before calling | |
| clear_nan(). | |
| (foperator_ordered::op1_range): Set rather than clear NAN if both | |
| operands are the same. | |
| 2022-10-17 Andrew MacLeod <amacleod@redhat.com> | |
| * value-relation.cc (value_relation::dump): Change message. | |
| * value-relation.h (value_relation::set_relation): If op1 is the | |
| same as op2 do not create a relation. | |
| 2022-10-17 Thomas Schwinge <thomas@codesourcery.com> | |
| * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of | |
| 'case QImode:', etc. | |
| 2022-10-17 Thomas Schwinge <thomas@codesourcery.com> | |
| * gimple-expr.cc (mark_addressable_2): Tag as 'static'. | |
| 2022-10-17 Richard Biener <rguenther@suse.de> | |
| Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| PR tree-optimization/99409 | |
| PR tree-optimization/99394 | |
| * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add. | |
| (stmt_vec_info_type::recurr_info_type): Likewise. | |
| (vectorizable_recurr): New function. | |
| * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New | |
| function. | |
| (vect_analyze_scalar_cycles_1): Look for first order | |
| recurrences. | |
| (vect_analyze_loop_operations): Handle them. | |
| (vect_transform_loop): Likewise. | |
| (vectorizable_recurr): New function. | |
| (maybe_set_vectorized_backedge_value): Handle the backedge value | |
| setting in the first order recurrence PHI and the permutes. | |
| * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order | |
| recurrences. | |
| (vect_transform_stmt): Likewise. | |
| (vect_is_simple_use): Likewise. | |
| (vect_is_simple_use): Likewise. | |
| * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise. | |
| (vect_build_slp_tree_2): Likewise. | |
| (vect_schedule_scc): Handle the backedge value setting in the | |
| first order recurrence PHI and the permutes. | |
| 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/t-riscv: Change Tab into 2 space. | |
| 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function. | |
| 2022-10-17 Arsen Arsenovic <arsen@aarsen.me> | |
| * config.gcc: --target=*-elf --without-{newlib,headers} should | |
| provide stdint.h. | |
| 2022-10-17 Hu, Lin1 <lin1.hu@intel.com> | |
| * common/config/i386/cpuinfo.h: | |
| (get_intel_cpu): Handle Meteorlake. | |
| * common/config/i386/i386-common.cc: | |
| (processor_alias_table): Add Meteorlake. | |
| 2022-10-17 Haochen Jiang <haochen.jiang@intel.com> | |
| * common/config/i386/cpuinfo.h: | |
| (get_intel_cpu): Handle Raptorlake. | |
| * common/config/i386/i386-common.cc: | |
| (processor_alias_table): Add Raptorlake. | |
| 2022-10-16 Jeff Law <jeffreyalaw@gmail.com> | |
| * config/h8300/constraints.md (Z0..Z7): New register | |
| constraints. | |
| * config/h8300/h8300.h (reg_class): Add new classes. | |
| (REG_CLASS_NAMES): Similarly. | |
| (REG_CLASS_CONTENTS): Similarly. | |
| 2022-10-16 Jeff Law <jeffreyalaw@gmail.com> | |
| * config/h8300/constraints.md (Zz constraint): Renamed | |
| from "z". | |
| * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust | |
| constraint to use Zz instead of Z. | |
| 2022-10-16 Jeff Law <jeffreyalaw@gmail.com> | |
| * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo. | |
| 2022-10-14 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set): Implement distinction between | |
| HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS. | |
| 2022-10-14 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-op.cc (class cfn_copysign): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Add | |
| CFN_BUILT_IN_COPYSIGN*. | |
| 2022-10-14 Aldy Hernandez <aldyh@redhat.com> | |
| * real.h (real_isdenormal): Check rvc_normal. | |
| * value-range.cc (range_tests_floats): New test. | |
| 2022-10-14 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-op.cc | |
| (gimple_range_op_handler::maybe_builtin_call): Replace | |
| CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN. | |
| 2022-10-14 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set): Normalize ranges for both bounds. | |
| 2022-10-14 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS. | |
| 2022-10-14 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-op.cc | |
| (gimple_range_op_handler::maybe_builtin_call): Add | |
| CFN_BUILT_IN_SIGNBIT[FL]* entries. | |
| 2022-10-14 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107254 | |
| * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): | |
| For permutes also analyze live lanes. | |
| (vect_schedule_slp_node): For permutes also code generate | |
| live lane extracts. | |
| 2022-10-14 Eric Botcazou <ebotcazou@adacore.com> | |
| PR target/107248 | |
| * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame | |
| blockage for leaf functions. | |
| (sparc_flat_expand_prologue): Emit frame instead of full blockage. | |
| (sparc_expand_epilogue): Emit a frame blockage for leaf functions. | |
| (sparc_flat_expand_epilogue): Emit frame instead of full blockage. | |
| 2022-10-14 Jakub Jelinek <jakub@redhat.com> | |
| * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE. | |
| * tree.h (bfloat16_type_node): Define. | |
| * tree.cc (excess_precision_type): Promote bfloat16_type_mode | |
| like float16_type_mode. | |
| (build_common_tree_nodes): Initialize bfloat16_type_node if | |
| BFmode is supported. | |
| * expmed.h (maybe_expand_shift): Declare. | |
| * expmed.cc (maybe_expand_shift): No longer static. | |
| * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF | |
| conversions. If there is no optab, handle BF -> {DF,XF,TF,HF} | |
| conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add | |
| -ffast-math generic implementation for BF -> SF and SF -> BF | |
| conversions. | |
| * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New. | |
| * builtins.def (BUILT_IN_NANSF16B): New builtin. | |
| * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B. | |
| * config/i386/i386.cc (classify_argument): Handle E_BCmode. | |
| (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode | |
| for -msse2. | |
| (ix86_mangle_type): Mangle BFmode as DF16b. | |
| (ix86_invalid_conversion, ix86_invalid_unary_op, | |
| ix86_invalid_binary_op): Remove. | |
| (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, | |
| TARGET_INVALID_BINARY_OP): Don't redefine. | |
| * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove. | |
| (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than | |
| ix86_bf16_type_node, only create it if still NULL. | |
| * config/i386/i386-builtin-types.def (BFLOAT16): Likewise. | |
| * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders. | |
| 2022-10-14 Jakub Jelinek <jakub@redhat.com> | |
| PR middle-end/323 | |
| PR c++/107097 | |
| * doc/invoke.texi (-fexcess-precision=standard): Mention that the | |
| option now also works in C++. | |
| 2022-10-13 Eric Botcazou <ebotcazou@adacore.com> | |
| * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return | |
| early for calls made from thunks. | |
| 2022-10-13 Eric Botcazou <ebotcazou@adacore.com> | |
| * expr.cc (emit_group_stote): Fix handling of modes of different | |
| sizes for big-endian targets in latest change and add commentary. | |
| 2022-10-13 Martin Liska <mliska@suse.cz> | |
| * output.h (assemble_vtv_preinit_initializer): Remove. | |
| * varasm.cc (assemble_vtv_preinit_initializer): Remove. | |
| 2022-10-13 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/102540 | |
| PR tree-optimization/102872 | |
| * gimple-range-cache.cc (ranger_cache::fill_block_cache): | |
| Handle partial equivs. | |
| (ranger_cache::range_from_dom): Cleanup dump output. | |
| 2022-10-13 Andrew MacLeod <amacleod@redhat.com> | |
| * range-op.cc (operator_cast::lhs_op1_relation): New. | |
| (operator_bitwise_and::lhs_op1_relation): New. | |
| 2022-10-13 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use | |
| iterator. | |
| * value-relation.cc | |
| (equiv_relation_iterator::equiv_relation_iterator): New. | |
| (equiv_relation_iterator::next): New. | |
| (equiv_relation_iterator::get_name): New. | |
| * value-relation.h (class relation_oracle): Privatize some methods. | |
| (class equiv_relation_iterator): New. | |
| (FOR_EACH_EQUIVALENCE): New. | |
| (FOR_EACH_PARTIAL_EQUIV): New. | |
| (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New. | |
| 2022-10-13 Andrew MacLeod <amacleod@redhat.com> | |
| * value-relation.cc (equiv_chain::dump): Don't print empty | |
| equivalences. | |
| (equiv_oracle::equiv_oracle): Allocate a partial equiv table. | |
| (equiv_oracle::~equiv_oracle): Release the partial equiv table. | |
| (equiv_oracle::add_partial_equiv): New. | |
| (equiv_oracle::partial_equiv_set): New. | |
| (equiv_oracle::partial_equiv): New. | |
| (equiv_oracle::query_relation): Check for partial equivs too. | |
| (equiv_oracle::dump): Also dump partial equivs. | |
| (dom_oracle::register_relation): Handle partial equivs. | |
| (dom_oracle::query_relation): Check for partial equivs. | |
| * value-relation.h (enum relation_kind_t): Add partial equivs. | |
| (relation_partial_equiv_p): New. | |
| (relation_equiv_p): New. | |
| (class pe_slice): New. | |
| (class equiv_oracle): Add prototypes. | |
| (pe_to_bits): New. | |
| (bits_to_pe): New. | |
| (pe_min): New. | |
| 2022-10-13 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107247 | |
| * tree-vect-loop.cc (vect_create_epilog_for_reduction): | |
| Reduce multi vector SLP reduction accumulators. Check | |
| the adjusted number of accumulator vectors against | |
| one for the re-use in the epilogue. | |
| 2022-10-13 Jakub Jelinek <jakub@redhat.com> | |
| * genmodes.cc (emit_mode_wider): Emit previous content of | |
| mode_wider array into mode_next array and for mode_wider | |
| emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes, | |
| otherwise skip through modes with the same precision. | |
| * machmode.h (mode_next): Declare. | |
| (GET_MODE_NEXT_MODE): New inline function. | |
| (mode_iterator::get_next, mode_iterator::get_known_next): New | |
| function templates. | |
| (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider. | |
| (FOR_EACH_MODE): Use get_known_next instead of get_known_wider. | |
| (FOR_EACH_MODE_FROM): Use get_next instead of get_wider. | |
| (FOR_EACH_WIDER_MODE_FROM): Define. | |
| (FOR_EACH_NEXT_MODE): Define. | |
| * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM | |
| instead of FOR_EACH_MODE_FROM. | |
| * optabs.cc (prepare_cmp_insn): Likewise. Remove redundant | |
| !CLASS_HAS_WIDER_MODES_P check. | |
| (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of | |
| FOR_EACH_MODE_FROM. | |
| * config/i386/i386-expand.cc (get_mode_wider_vector): Use | |
| GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE. | |
| 2022-10-13 Wilco Dijkstra <wdijkstr@arm.com> | |
| PR target/105773 | |
| * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow | |
| GT/LE for merging compare with zero into AND. | |
| (aarch64_get_condition_code_1): Add CC_NZVmode support. | |
| * config/aarch64/aarch64-modes.def: Add CC_NZV. | |
| * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns. | |
| 2022-10-13 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107160 | |
| * tree-vect-loop.cc (vect_create_epilog_for_reduction): | |
| Do not register accumulator if we failed to reduce it | |
| to a single vector. | |
| 2022-10-13 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (range_operator_float::op1_op2_relation): New. | |
| (class foperator_equal): Add using. | |
| (class foperator_not_equal): Same. | |
| (class foperator_lt): Same. | |
| (class foperator_le): Same. | |
| (class foperator_gt): Same. | |
| (class foperator_ge): Same. | |
| * range-op.cc (range_op_handler::op1_op2_relation): New. | |
| * range-op.h (range_operator_float::op1_op2_relation): New. | |
| 2022-10-13 Richard Biener <rguenther@suse.de> | |
| * genmatch.cc (parser::parse_c_expr): Diagnose 'return'. | |
| * match.pd: Replace 'return' statements in with expressions | |
| with appropriate variants. | |
| 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
| PR tree-optimization/107229 | |
| * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation. | |
| 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
| PR tree-optimization/107226 | |
| * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject | |
| BITFIELD_REF's with non integral typed first operands. | |
| 2022-10-13 Joseph Myers <joseph@codesourcery.com> | |
| * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559) | |
| (LDBL_IS_IEC_60559): Update comment. | |
| 2022-10-12 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (class foperator_negate): New. | |
| (floating_op_table::floating_op_table): Add NEGATE_EXPR | |
| (range_op_float_tests): Add negate tests. | |
| 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins.h: Remove unused macro. | |
| 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply | |
| clang-format. | |
| (add_vector_type_attribute): Ditto. | |
| * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply | |
| clang-format. | |
| * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply | |
| clang-format. | |
| 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine | |
| vector types. | |
| (build_const_pointer): New function. | |
| (register_builtin_type): Ditto. | |
| (DEF_RVV_TYPE): Simplify macro. | |
| (register_vector_type): Refine implementation. | |
| * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New. | |
| 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to | |
| this to .... | |
| * config/riscv/riscv-vector-builtins.cc (class rvv_switcher): | |
| here. | |
| 2022-10-12 Cui,Lili <lili.cui@intel.com> | |
| * config/i386/driver-i386.cc (host_detect_local_cpu): | |
| Move sapphirerapids out of AVX512_VP2INTERSECT. | |
| * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS | |
| * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS | |
| 2022-10-12 Martin Liska <mliska@suse.cz> | |
| * gcov-io.cc (gcov_write_summary): Rename to ... | |
| (gcov_write_object_summary): ... this. | |
| * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ... | |
| (GCOV_TAG_SUMMARY_LENGTH): ... this. | |
| 2022-10-12 Martin Liska <mliska@suse.cz> | |
| * configure: Regenerate. | |
| 2022-10-12 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (frange_float): New. | |
| (range_op_float_tests): New. | |
| * range-op.cc (range_op_tests): Call range_op_float_tests. | |
| 2022-10-12 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.h (frange::nan_signbit_p): New. | |
| 2022-10-12 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set_nonnegative): Pass bool to | |
| update_nan. | |
| * value-range.h: Disallow conversion to bool in update_nan(). | |
| 2022-10-12 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.h (frange::frange): Add constructor taking type. | |
| 2022-10-12 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc: Add relation_kind = VREL_VARYING to all | |
| methods. | |
| 2022-10-11 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-gori.cc (gori_compute::logical_combine): Avoid | |
| calling tracer.trailer(). | |
| 2022-10-11 Jakub Jelinek <jakub@redhat.com> | |
| PR target/107185 | |
| * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of | |
| MASK_REGNO_P (REGNO (x)). | |
| 2022-10-11 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (class foperator_abs): New. | |
| (floating_op_table::floating_op_table): Add ABS_EXPR entry. | |
| 2022-10-11 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_unordered_le::op1_range): New. | |
| (foperator_unordered_le::op2_range): New. | |
| (foperator_unordered_gt::op1_range): New. | |
| (foperator_unordered_gt::op2_range): New. | |
| (foperator_unordered_ge::op1_range): New. | |
| (foperator_unordered_ge::op2_range): New. | |
| (foperator_unordered_equal::op1_range): New. | |
| 2022-10-11 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (class foperator_unordered_lt): New. | |
| (class foperator_relop_unknown): Remove | |
| (class foperator_unordered_le): New. | |
| (class foperator_unordered_gt): New. | |
| (class foperator_unordered_ge): New. | |
| (class foperator_unordered_equal): New. | |
| (floating_op_table::floating_op_table): Replace all UN_EXPR | |
| entries with their appropriate fop_unordered_* counterpart. | |
| 2022-10-11 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up. | |
| (operator_lt::op2_range): Same. | |
| (operator_le::op2_range): Same. | |
| (operator_gt::op2_range): Same. | |
| (operator_ge::op2_range): Same. | |
| 2022-10-11 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107212 | |
| * tree-vect-loop.cc (vectorizable_reduction): Make sure to | |
| set STMT_VINFO_REDUC_DEF for all live lanes in a SLP | |
| reduction. | |
| (vectorizable_live_operation): Do not pun to the SLP | |
| node representative for reduction epilogue generation. | |
| 2022-10-11 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn-valu.md (neg<mode>2): New define_expand. | |
| 2022-10-11 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New. | |
| * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3. | |
| (GEN_VNM): Add gathervNm_expr. | |
| (GEN_VN_NOEXEC): Add vec_seriesvNsi. | |
| (gcn_expand_vector_init): Add initialization of vectors from smaller | |
| vectors. | |
| 2022-10-11 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants. | |
| * config/gcn/gcn-valu.md | |
| (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand. | |
| * config/gcn/gcn.cc (get_exec): Export the existing function. Add a | |
| new overload variant. | |
| 2022-10-11 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn-valu.md | |
| (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF. | |
| (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise. | |
| * config/gcn/gcn.h (MODE_VF): New macro. | |
| 2022-10-11 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes | |
| V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF, | |
| V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF, | |
| V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF, | |
| V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF, | |
| V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF. | |
| (ADJUST_ALIGNMENT): Likewise. | |
| * config/gcn/gcn-protos.h (gcn_full_exec): Delete. | |
| (gcn_full_exec_reg): Delete. | |
| (gcn_scalar_exec): Delete. | |
| (gcn_scalar_exec_reg): Delete. | |
| (vgpr_1reg_mode_p): Use inner mode to identify vector registers. | |
| (vgpr_2reg_mode_p): Likewise. | |
| (vgpr_vector_mode_p): Use VECTOR_MODE_P. | |
| * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF, | |
| V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI, | |
| V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP): | |
| Add additional vector modes. | |
| (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators. | |
| (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa): | |
| Add additional vector mode mappings. | |
| (mov<mode>): Implement vector length conversions. | |
| (ldexp<mode>3<exec>): Use VnSI. | |
| (frexp<mode>_exp2<exec>): Likewise. | |
| (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes. | |
| (reduc_<reduc_op>_scal_<mode>): Use V64_ALL. | |
| (fold_left_plus_<mode>): Use V64_FP. | |
| (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG. | |
| (*<reduc_op>_dpp_shr_<mode>): Use V64_DI. | |
| (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG. | |
| (*plus_carry_in_dpp_shr_<mode>): Use V64_SI. | |
| (*plus_carry_dpp_shr_<mode>): Use V64_DI. | |
| (mov_from_lane63_<mode>): Use V64_2REG. | |
| * config/gcn/gcn.cc (VnMODE): New function. | |
| (gcn_can_change_mode_class): Support multiple vector sizes. | |
| (gcn_modes_tieable_p): Likewise. | |
| (gcn_operand_part): Likewise. | |
| (gcn_scalar_exec): Delete function. | |
| (gcn_scalar_exec_reg): Delete function. | |
| (gcn_full_exec): Delete function. | |
| (gcn_full_exec_reg): Delete function. | |
| (gcn_inline_fp_constant_p): Support multiple vector sizes. | |
| (gcn_fp_constant_p): Likewise. | |
| (A): New macro. | |
| (GEN_VN_NOEXEC): New macro. | |
| (GEN_VNM_NOEXEC): New macro. | |
| (GEN_VN): New macro. | |
| (GEN_VNM): New macro. | |
| (GET_VN_FN): New macro. | |
| (CODE_FOR): New macro. | |
| (CODE_FOR_OP): New macro. | |
| (gen_mov_with_exec): Delete function. | |
| (gen_duplicate_load): Delete function. | |
| (gcn_expand_vector_init): Support multiple vector sizes. | |
| (strided_constant): Likewise. | |
| (gcn_addr_space_legitimize_address): Likewise. | |
| (gcn_expand_scalar_to_vector_address): Likewise. | |
| (gcn_expand_scaled_offsets): Likewise. | |
| (gcn_secondary_reload): Likewise. | |
| (gcn_valid_cvt_p): Likewise. | |
| (gcn_expand_builtin_1): Likewise. | |
| (gcn_make_vec_perm_address): Likewise. | |
| (gcn_vectorize_vec_perm_const): Likewise. | |
| (gcn_vector_mode_supported_p): Likewise. | |
| (gcn_autovectorize_vector_modes): New hook. | |
| (gcn_related_vector_mode): Support multiple vector sizes. | |
| (gcn_expand_dpp_shr_insn): Add FIXME comment. | |
| (gcn_md_reorg): Support multiple vector sizes. | |
| (print_reg): Likewise. | |
| (print_operand): Likewise. | |
| (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook. | |
| 2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
| * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from | |
| here... | |
| (tree_if_conversion): ... to here. Also call bitfield lowering when | |
| appropriate. | |
| (version_loop_for_if_conversion): Adapt to enable loop versioning when we only | |
| need to lower bitfields. | |
| (ifcvt_split_critical_edges): Relax condition of expected loop form as this is | |
| checked earlier. | |
| (get_bitfield_rep): New function. | |
| (lower_bitfield): Likewise. | |
| (bitfields_to_lower_p): Likewise. | |
| (need_to_lower_bitfields): New global boolean. | |
| (need_to_ifcvt): Likewise. | |
| * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic | |
| message. | |
| * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last | |
| parameter. | |
| (vect_recog_bitfield_ref_pattern): New. | |
| (vect_recog_bit_insert_pattern): New. | |
| 2022-10-11 liuhongt <hongtao.liu@intel.com> | |
| PR target/107093 | |
| * config/i386/i386.md (*notxor<mode>_1): New post_reload | |
| define_insn_and_split. | |
| (*notxorqi_1): Ditto. | |
| 2022-10-11 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107195 | |
| * value-range.cc (irange::set_range_from_nonzero_bits): Set range | |
| to [0,0] when nonzero mask is 0. | |
| 2022-10-11 Olivier Hainque <hainque@adacore.com> | |
| * configure: Regenerate. | |
| 2022-10-11 Olivier Hainque <hainque@adacore.com> | |
| * config.gcc (*vxworks*): Add t-slibgcc fragment | |
| if enable_shared. | |
| 2022-10-11 Olivier Hainque <hainque@adacore.com> | |
| * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New | |
| internal macros. | |
| (VXWORKS_LIBGCC_SPEC): Use them and document. | |
| 2022-10-11 Martin Liska <mliska@suse.cz> | |
| * gimple-range-op.cc: Add override keyword. | |
| 2022-10-11 Eugene Rozenfeld <erozen@microsoft.com> | |
| PR debug/107193 | |
| * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e | |
| out of the loop. | |
| 2022-10-11 Liwei Xu <liwei.xu@intel.com> | |
| liuhongt <hongtao.liu@intel.com> | |
| PR tree-optimization/54346 | |
| * match.pd: Merge the index of VCST then generates the new vec_perm. | |
| 2022-10-11 Jeff Law <jeffreyalaw@gmail.com> | |
| PR rtl-optimization/107182 | |
| * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a | |
| return, clear EDGE_CROSSING on the appropriate edge. | |
| 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move | |
| from config/riscv/riscv-vector-builtins.h. | |
| (DEF_RVV_TYPE): Change USER_NAME to NAME. | |
| (register_vector_type): Change user_name to name. | |
| * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change | |
| USER_NAME to NAME. | |
| * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move | |
| to riscv-vector-builtins.cc. | |
| (DEF_RVV_TYPE): Change USER_NAME to NAME. | |
| 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv.md: Add vsetvl instruction type. | |
| 2022-10-10 Nathan Sidwell <nathan@acm.org> | |
| * common.opt (-fabi-version=): Document 18. | |
| * doc/invoke.texi (-fabi-version): Document 18. | |
| 2022-10-10 Andrea Corallo <andrea.corallo@arm.com> | |
| PR other/99723 | |
| * toplev.cc (toplev::main): Don't run self tests in case of | |
| previous error. | |
| 2022-10-10 Kito Cheng <kito.cheng@sifive.com> | |
| * config/riscv/riscv-c.cc: Add newline to the end of file. | |
| 2022-10-10 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (class foperator_identity): Make members public. | |
| (class foperator_equal): Same. | |
| (class foperator_not_equal): Same. | |
| (class foperator_lt): Same. | |
| (class foperator_le): Same. | |
| (class foperator_gt): Same. | |
| (class foperator_ge): Same. | |
| (class foperator_unordered): Same. | |
| (class foperator_ordered): Same. | |
| 2022-10-10 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.h (frange::maybe_isnan): New. | |
| 2022-10-10 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on | |
| TRUE side for x != x. | |
| 2022-10-10 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_unordered::op1_range): Set NAN when | |
| operands are equal and result is TRUE. | |
| 2022-10-10 Aldy Hernandez <aldyh@redhat.com> | |
| * range.h (range_true): Return int_range<2>. | |
| (range_false): Same. | |
| (range_true_and_false): Same. | |
| 2022-10-10 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-op.cc: Add op1_range entry for __builtin_signbit. | |
| 2022-10-10 liuhongt <hongtao.liu@intel.com> | |
| PR target/107185 | |
| * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap | |
| predicate of operands[0] and operands[1]. | |
| 2022-10-10 Claudiu Zissulescu <claziss@gmail.com> | |
| * common/config/arc/arc-common.cc (arc_option_optimization_table): | |
| Remove Rcq and Rcw options. | |
| * config/arc/arc.opt (mRcq): Ignore option, preserve it for | |
| backwards compatibility. | |
| (mRcw): Likewise. | |
| * doc/invoke.texi (mRcw, mRcq): Update document. | |
| 2022-10-10 Claudiu Zissulescu <claziss@gmail.com> | |
| * config/arc/arc.cc (arc_check_short_reg_p): New function. | |
| (arc_address_cost): Replace satisfies_constraint_Rcq with the | |
| above new function. | |
| (arc_output_addsi): Likewise. | |
| (split_addsi): Likewise. | |
| (split_subsi): Likewise. | |
| * config/arc/arc.md (movqi_insn): Remove Rcq constraint. | |
| (movhi_insn): Likewise. | |
| (movsi_insn): Likewise. | |
| (tst_movb): Likewise. | |
| (tst): Likewise. | |
| (tst_bitfield): Likewise. | |
| (abssi2): Likewise. | |
| (addsi3_mixed): Likewise. | |
| (mulhisi3_reg): Likewise. | |
| (umulhisi3_reg): Likewise. | |
| (mulsi_600): Likewise. | |
| (mul64): Likewise. | |
| (subsi3_insn): Likewise. | |
| (bicsi3_insn): Likewise. | |
| (xorsi3): Likewise. | |
| (negsi2): Likewise. | |
| (one_cmplsi2): Likewise. | |
| (lshrsi3_insn): Likewise. | |
| (cmpsi_cc_insn_mixed): Likewise. | |
| (cmpsi_cc_zn_insn): Likewise. | |
| (btst): Likewise. | |
| (cmpsi_cc_z_insn): Likewise. | |
| (cmpsi_cc_c_insn): Likewise. | |
| (indirect_jump): Likewise. | |
| (casesi_jump): Likewise. | |
| (call_i): Likewise. | |
| (call_value_i): Likewise. | |
| (bbit): Likewise. | |
| (abssf2): Likewise. | |
| (ashlsi2_cnt1): Likewise. | |
| (lshrsi3_cnt1): Likewise. | |
| (ashrsi3_cnt1): Likewise. | |
| * config/arc/constraints.md (Rcq): Remove. | |
| 2022-10-10 Claudiu Zissulescu <claziss@gmail.com> | |
| * config/arc/arc.md (smaxsi3): Remove Rcw. | |
| (sminsi3): Likewise. | |
| (addsi3_mixed): Likewise. | |
| (add_f_2): Likewise. | |
| (subsi3_insn): Likewise. | |
| (sub_f): Likewise. | |
| (sub_n): Likewise. | |
| (bset): Likewise. | |
| (bxor): Likewise. | |
| (bclr): Likewise. | |
| (bset_insn): Likewise. | |
| (bxor_insn): Likewise. | |
| (bclr_insn): Likewise. | |
| (bmsk_insn): Likewise. | |
| (bicsi3_insn): Likewise. | |
| (xorsi3): Likewise. | |
| (negsi2): Likewise. | |
| (lshrsi3_insn): Likewise. | |
| (abssf2): Likewise. | |
| (negsf2): Likewise. | |
| * config/arc/constraints.md(Rcw): Remove it. | |
| 2022-10-10 Claudiu Zissulescu <claziss@gmail.com> | |
| * config/arc/arc.md(mulsi3_700): Remove Rcr. | |
| (mulsi3_highpart): Likewise. | |
| (umulsi3_highpart_i): Likewise. | |
| (umulsi3_highpart_int): Likewise. | |
| (macd): Likewise. | |
| (macdu): Likewise. | |
| * config/arc/constraints.md (Rcr): Remove it. | |
| 2022-10-10 Claudiu Zissulescu <claziss@gmail.com> | |
| * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets. | |
| 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu> | |
| PR target/106562 | |
| * config/pru/pru-protos.h (pru_noteq_condition): New | |
| function declaration. | |
| * config/pru/pru.cc (pru_noteq_condition): New function. | |
| * config/pru/pru.md (cbranchdi4): Define new pattern. | |
| 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu> | |
| * config/pru/pru.md (lshrdi3): New expand pattern. | |
| (ashldi3): Ditto. | |
| 2022-10-09 YunQiang Su <yunqiang.su@cipunited.com> | |
| * config.gcc: set with_arch to default_mips_arch if no defined. | |
| * config/mips/driver-native.cc (host_detect_local_cpu): | |
| try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too. | |
| pass -mnan=2008 if __mips_nan2008__ is defined. | |
| * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL. | |
| * configure.ac: detect sys/auxv.h and getauxval. | |
| * configure: regenerated. | |
| 2022-10-07 Eugene Rozenfeld <erozen@microsoft.com> | |
| * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts | |
| on the same line within the same basic block. | |
| 2022-10-07 Qing Zhao <qing.zhao@oracle.com> | |
| PR tree-optimization/101836 | |
| * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p | |
| to determine a flexible array member reference. | |
| 2022-10-07 Qing Zhao <qing.zhao@oracle.com> | |
| * doc/extend.texi: Document strict_flex_array attribute. | |
| * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option. | |
| * print-tree.cc (print_node): Print new bit decl_not_flexarray. | |
| * tree-core.h (struct tree_decl_common): New bit field | |
| decl_not_flexarray. | |
| * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream | |
| in new bit decl_not_flexarray. | |
| * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream | |
| out new bit decl_not_flexarray. | |
| * tree.cc (array_at_struct_end_p): Update it with the new bit field | |
| decl_not_flexarray. | |
| * tree.h (DECL_NOT_FLEXARRAY): New flag. | |
| 2022-10-07 Olivier Hainque <hainque@adacore.com> | |
| * config/vxworks/_vxworks-versions.h: Use OS specific | |
| paths in #include of version.h. | |
| 2022-10-07 Martin Liska <mliska@suse.cz> | |
| * opts.cc (finish_options): Print sorry message only | |
| for -flive-patching=inline-only-static. | |
| 2022-10-07 Jason Merrill <jason@redhat.com> | |
| * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize | |
| x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type. | |
| 2022-10-07 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107153 | |
| * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update | |
| SSA form here. | |
| * tree-parloops.cc (gen_parallel_loop): Update SSA form | |
| after to-exit-first transform, no PHI insertion is necessary. | |
| (pass_parallelize_loops::execute): Force re-write of the | |
| virtual operand SSA web. | |
| 2022-10-07 Jonathan Wakely <jwakely@redhat.com> | |
| * value-range.cc (irange::irange_contains_p): Fix comment typo. | |
| 2022-10-07 Eric Botcazou <ebotcazou@adacore.com> | |
| * function.cc (thread_prologue_and_epilogue_insns): Update only | |
| entry and exit blocks when not optimizing. Remove dead statement. | |
| 2022-10-07 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (irange::irange_set): Convert nonzero mask to | |
| tree. | |
| (irange::irange_set_anti_range): Same. | |
| (irange::set): Same. | |
| (irange::verify_range): Same. | |
| (irange::contains_p): Same. | |
| (irange::invert): Same. | |
| (irange::set_range_from_nonzero_bits): Same. | |
| (irange::set_nonzero_bits): Same. | |
| (mask_to_wi): Same. | |
| (irange::intersect_nonzero_bits): Same. | |
| (irange::union_nonzero_bits): Same. | |
| * value-range.h (irange::varying_compatible_p): Same. | |
| (gt_ggc_mx): Same. | |
| (gt_pch_nx): Same. | |
| (irange::set_undefined): Same. | |
| (irange::set_varying): Same. | |
| 2022-10-07 Martin Liska <mliska@suse.cz> | |
| * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array | |
| size to function parameter. | |
| (ix86_unary_operator_ok): Likewise. | |
| 2022-10-07 Martin Liska <mliska@suse.cz> | |
| * auto-profile.cc (get_inline_stack): Remove unused variable. | |
| 2022-10-07 Jakub Jelinek <jakub@redhat.com> | |
| * ipa-prop.h (ipa_constant_data): Fix comment typo. | |
| * value-range.cc (irange::irange_contains_p): Likewise. | |
| * value-relation.cc (dom_oracle::set_one_relation): Likewise. | |
| * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise. | |
| * tree-inline.cc (remap_ssa_name): Likewise. | |
| 2022-10-07 Jakub Jelinek <jakub@redhat.com> | |
| * attribs.h (is_attribute_namespace_p): New inline function. | |
| (lookup_attribute): Document meaning of ATTR_NS equal to "". | |
| * attribs.cc (remove_attribute): Use is_attribute_namespace_p. | |
| (private_lookup_attribute): For ATTR_NS "" match either standard | |
| attribute or "gnu" namespace one. | |
| 2022-10-07 Olivier Hainque <hainque@adacore.com> | |
| * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from | |
| 4 to 3 for VxWorks >= 7. | |
| 2022-10-07 Olivier Hainque <hainque@adacore.com> | |
| * defaults.h (DWARF_DEFAULT_VERSION): Define if not | |
| defined already. | |
| * common.opt (gdwarf-): Use it. | |
| * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document. | |
| * doc/tm.texi: Update accordingly. | |
| * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine. | |
| * config/vxworks.cc: Remove code setting dwarf_version, now | |
| handled by the DWARF_DEFAULT_VERSION redefinition. | |
| 2022-10-07 Olivier Hainque <hainque@adacore.com> | |
| * ginclude/stddef.h: #undef offsetof before #define. | |
| 2022-10-06 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107170 | |
| * vr-values.cc (vr_values::range_of_expr): Do not die on | |
| unsupported types. | |
| 2022-10-06 Joseph Myers <joseph@codesourcery.com> | |
| * doc/invoke.texi (-fno-asm): Update description of effects on | |
| typeof keyword. | |
| 2022-10-06 Eric Botcazou <ebotcazou@adacore.com> | |
| * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self | |
| dependency that is a write-after-write if the access function is not | |
| affine or constant. | |
| 2022-10-06 Eric Botcazou <ebotcazou@adacore.com> | |
| * df-scan.cc (df_ref_create_structure): Minor cleanup. | |
| 2022-10-06 Richard Biener <rguenther@suse.de> | |
| PR middle-end/107115 | |
| * expr.cc (store_expr): Check mems_same_for_tbaa_p before | |
| eliding a seemingly redundant store. | |
| 2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>): | |
| New pattern. | |
| 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update | |
| Ampere-1 core entry. | |
| 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> | |
| * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one. | |
| 2022-10-06 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107107 | |
| * tree-ssa-sccvn.cc (visit_reference_op_store): Do not | |
| affect value-numbering when doing the tail merging | |
| MODIFY_EXPR lookup. | |
| 2022-10-06 Claudiu Zissulescu <claziss@synopsys.com> | |
| * config/arc/linux.h (LINK_SPEC): Remove max-page-size and | |
| common-pave-size. | |
| 2022-10-06 Jakub Jelinek <jakub@redhat.com> | |
| PR c++/106654 | |
| * internal-fn.def (ASSUME): New internal function. | |
| * internal-fn.h (expand_ASSUME): Declare. | |
| * internal-fn.cc (expand_ASSUME): Define. | |
| * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME. | |
| * fold-const.h (simple_condition_p): Declare. | |
| * fold-const.cc (simple_operand_p_2): Rename to ... | |
| (simple_condition_p): ... this. Remove forward declaration. | |
| No longer static. Adjust function comment and fix a typo in it. | |
| Adjust recursive call. | |
| (simple_operand_p): Adjust function comment. | |
| (fold_truth_andor): Adjust simple_operand_p_2 callers to call | |
| simple_condition_p. | |
| * doc/extend.texi: Document assume attribute. Move fallthrough | |
| attribute example to its section. | |
| 2022-10-06 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> | |
| PR rtl-optimization/107088 | |
| * cselib.cc (new_cselib_val): Skip BImode while keeping track of | |
| subvalue relations. | |
| 2022-10-06 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set): Call set_nan unconditionally. | |
| (range_tests_nan): Adjust tests. | |
| (range_tests_signed_zeros): Same. | |
| (range_tests_floats): Same. | |
| * value-range.h (frange::update_nan): Guard with HONOR_NANS. | |
| (frange::set_nan): Set undefined if !HONOR_NANS. | |
| 2022-10-06 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_lt::fold_range): Remove extra check | |
| to finite_operands_p. | |
| (foperator_le::fold_range): Same. | |
| (foperator_gt::fold_range): Same. | |
| (foperator_ge::fold_range): Same. | |
| 2022-10-06 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range-pretty-print.cc (vrange_printer::print_real_value): | |
| Avoid printing INF and NAN twice. | |
| 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org> | |
| * config/rs6000/constraints.md (wD): Delete. | |
| * doc/md.texi (Machine Constraints): Adjust. | |
| 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org> | |
| * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a | |
| define_expand. Split the contents to... | |
| (*vsx_extract_<mode>_0): ... this. Rewrite. | |
| (*vsx_extract_<mode>_1): ... and this. Rewrite. | |
| 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org> | |
| * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of | |
| "wD" constraint. | |
| 2022-10-05 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/107060 | |
| * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document. | |
| 2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config.gcc: Add riscv_vector.h. | |
| * config/riscv/riscv-builtins.cc: Add RVV builtin types support. | |
| * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function. | |
| (riscv_register_pragmas): Ditto. | |
| * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto. | |
| (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h. | |
| (mangle_builtin_type): Ditto. | |
| (verify_type_context): Ditto. | |
| (handle_pragma_vector): New function. | |
| * config/riscv/riscv-vector-builtins.cc (GTY): New variable. | |
| (register_vector_type): New function. | |
| (init_builtins): Add RVV builtin types support. | |
| (handle_pragma_vector): New function. | |
| * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change | |
| name according to file name. | |
| (GCC_RISCV_VECTOR_BUILTINS_H): Ditto. | |
| (init_builtins): Remove declaration in riscv-vector-builtins.h. | |
| (mangle_builtin_type): Ditto. | |
| (verify_type_context): Ditto. | |
| * config/riscv/riscv.cc: Adjust for RVV builtin types support. | |
| * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro. | |
| * config/riscv/t-riscv: Remove redundant file including. | |
| * config/riscv/riscv_vector.h: New file. | |
| 2022-10-05 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op.cc (operator_cast::fold_range): Handle truncating casts | |
| for nonzero masks. | |
| 2022-10-05 Martin Liska <mliska@suse.cz> | |
| PR c/107156 | |
| * attribs.h (lookup_attribute_by_prefix): Support the attribute | |
| starting with underscore (_Noreturn). | |
| 2022-10-05 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107052 | |
| * gimple-range-op.cc (cfn_popcount::fold_range): Take into account | |
| nonzero bit mask. | |
| 2022-10-05 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107052 | |
| * range-op.cc (operator_cast::fold_range): Set nonzero mask. | |
| 2022-10-05 Eric Botcazou <ebotcazou@adacore.com> | |
| PR tree-optimization/106698 | |
| * pointer-query.cc (handle_array_ref): Fix handling of low bound. | |
| 2022-10-05 Vineet Gupta <vineetg@rivosinc.com> | |
| * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): | |
| Remove __riscv_cmodel_pic, that deprecated in last version. | |
| 2022-10-05 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/107072 | |
| * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o. | |
| 2022-10-04 Jakub Jelinek <jakub@redhat.com> | |
| * attribs.h (remove_attribute): Declare overload with additional | |
| attr_ns argument. | |
| (private_lookup_attribute): Declare overload with additional | |
| attr_ns and attr_ns_len arguments. | |
| (lookup_attribute): New overload with additional attr_ns argument. | |
| * attribs.cc (remove_attribute): New overload with additional | |
| attr_ns argument. | |
| (private_lookup_attribute): New overload with additional | |
| attr_ns and attr_ns_len arguments. | |
| 2022-10-04 Jakub Jelinek <jakub@redhat.com> | |
| * attribs.cc (handle_ignored_attributes_option, decl_attributes, | |
| common_function_versions): Use auto_diagnostic_group. | |
| 2022-10-04 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (irange::set_nonzero_bits): Remove assert. | |
| 2022-10-04 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro. | |
| * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC. | |
| * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1) | |
| (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores. | |
| * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define | |
| __ARM_FEATURE_RCPC when appropriate. | |
| 2022-10-04 Tobias Burnus <tobias@codesourcery.com> | |
| * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax. | |
| (-fopenmp-simd): Likewise; update permitted directives. | |
| 2022-10-04 Tobias Burnus <tobias@codesourcery.com> | |
| * doc/install.texi (Specific): Add missing items to bullet list. | |
| (amdgcn): Update LLVM requirements, use version not date for newlib. | |
| (nvptx): Use version not git hash for newlib. | |
| 2022-10-04 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range-storage.cc (irange_storage_slot::set_irange): Remove | |
| special case. | |
| * value-range.cc (irange::irange_set): Adjust for nonzero mask | |
| being a wide int. | |
| (irange::irange_set_anti_range): Same. | |
| (irange::set): Same. | |
| (irange::verify_range): Same. | |
| (irange::legacy_equal_p): Same. | |
| (irange::operator==): Same. | |
| (irange::contains_p): Same. | |
| (irange::legacy_intersect): Same. | |
| (irange::legacy_union): Same. | |
| (irange::irange_single_pair_union): Call union_nonzero_bits. | |
| (irange::irange_union): Same. | |
| (irange::irange_intersect): Call intersect_nonzero_bits. | |
| (irange::intersect): Adjust for nonzero mask being a wide int. | |
| (irange::invert): Same. | |
| (irange::set_nonzero_bits): Same. | |
| (irange::get_nonzero_bits_from_range): New. | |
| (irange::set_range_from_nonzero_bits): New. | |
| (irange::get_nonzero_bits): Adjust for nonzero mask being a wide | |
| int. | |
| (irange::intersect_nonzero_bits): Same. | |
| (irange::union_nonzero_bits): Same. | |
| (range_tests_nonzero_bits): Remove test. | |
| * value-range.h (irange::varying_compatible_p): Adjust for nonzero | |
| mask being a wide int. | |
| (gt_ggc_mx): Same. | |
| (gt_pch_nx): Same. | |
| (irange::set_undefined): Same. | |
| (irange::set_varying): Same. | |
| (irange::normalize_kind): Same. | |
| 2022-10-04 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107130 | |
| * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs. | |
| (class cfn_ffs): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Separate out | |
| CASE_CFN_FFS into its own case. | |
| 2022-10-03 Sergei Trofimovich <siarheit@google.com> | |
| * config/i386/t-i386: Add build-time dependencies against | |
| i386-builtin-types.inc to i386-builtins.o, i386-expand.o, | |
| i386-features.o. | |
| 2022-10-03 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using | |
| operand 3. | |
| * doc/md.texi (while_ult): Document new operand 3 usage. | |
| * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type | |
| maps to a non-vector mode. | |
| 2022-10-03 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/107109 | |
| * range-op.cc (adjust_op1_for_overflow): Don't process undefined. | |
| 2022-10-03 Christophe Lyon <christophe.lyon@arm.com> | |
| * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early | |
| clobber. | |
| (mve_vrev64q_m_f<mode>): Likewise. | |
| 2022-10-03 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (irange::set_nonzero_bits): Do not pessimize range. | |
| (range_tests_nonzero_bits): New test. | |
| 2022-10-03 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (irange::operator==): Early bail on m_num_ranges | |
| equal to 0. | |
| 2022-10-03 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (irange::legacy_equal_p): Remove nonozero mask | |
| check when comparing VR_VARYING ranges. | |
| 2022-10-03 Aldy Hernandez <aldyh@redhat.com> | |
| * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare | |
| incompatible ranges in ipa-prop. | |
| 2022-10-02 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107121 | |
| * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics, | |
| DEFFERED_INIT -> DEFERRED_INIT. | |
| 2022-10-02 Marc Poulhiès <poulhies@adacore.com> | |
| * config/vxworks-driver.cc: New. | |
| * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs. | |
| * config/t-vxworks: Add vxworks-driver.o. | |
| * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New. | |
| 2022-10-02 Olivier Hainque <hainque@adacore.com> | |
| * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If | |
| HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless | |
| of ENABLE_SHARED_LIBGCC. | |
| 2022-10-01 Stafford Horne <shorne@gmail.com> | |
| * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if | |
| HAVE_AS_TLS is defined. | |
| 2022-10-01 Julian Brown <julian@codesourcery.com> | |
| * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create) | |
| handling. | |
| 2022-10-01 Jeff Law <jeffreyalaw@gmail.com> | |
| * config/h8300/h8300.md (HSI2): New iterator. | |
| (eqne_invert): Similarly. | |
| * config/h8300/testcompare.md (testhi_upper_z): New pattern. | |
| (cmpqi_z, cmphi_z, cmpsi_z): Likewise. | |
| (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New | |
| define_insn_and_splits and/or define_insns. | |
| (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise. | |
| (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise. | |
| 2022-10-01 Jeff Law <jeffreyalaw@gmail.com> | |
| * tree-ssa-dom.cc (record_edge_info): Install correct version of | |
| patch. | |
| 2022-10-01 Eugene Rozenfeld <erozen@microsoft.com> | |
| * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites. | |
| 2022-09-30 Jeff Law <jeffreyalaw@gmail.com> | |
| * tree-ssa-dom.cc (single_block_loop_p): New function. | |
| (record_edge_info): Also record equivalences for the outgoing | |
| edge of a single block loop where the condition is an invariant. | |
| 2022-09-30 Jeff Law <jeffreyalaw@gmail.com> | |
| * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too. | |
| (free_all_edge_infos): Do not clear e->aux here. | |
| 2022-09-30 H.J. Lu <hjl.tools@gmail.com> | |
| * target.def (TARGET_C_EXCESS_PRECISION): Document | |
| -fexcess-precision=16. | |
| 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com> | |
| * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16. | |
| 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com> | |
| PR target/106815 | |
| * config/riscv/riscv.cc (riscv_excess_precision): Add support | |
| for EXCESS_PRECISION_TYPE_FLOAT16. | |
| 2022-09-30 Jakub Jelinek <jakub@redhat.com> | |
| PR c++/107080 | |
| * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh | |
| and _Float16 as DF16_. | |
| * config/csky/csky.cc (csky_init_builtins): Fix a comment typo. | |
| (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_ | |
| rather than mangling __fp16 as __fp16. | |
| 2022-09-30 Lewis Hyatt <lhyatt@gmail.com> | |
| PR preprocessor/69543 | |
| * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking | |
| information away from the diagnostic location. | |
| (maybe_warn_read_write_only): Likewise. | |
| (maybe_warn_operand): Likewise. | |
| 2022-09-30 Jakub Jelinek <jakub@redhat.com> | |
| PR c++/107080 | |
| * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16 | |
| as Dh and _Float16 as DF16_. | |
| 2022-09-30 Jakub Jelinek <jakub@redhat.com> | |
| PR c++/107080 | |
| * config/i386/i386.cc (ix86_mangle_type): Always return NULL | |
| for float128_type_node or float64x_type_node, don't check | |
| float128t_type_node later on. | |
| * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL | |
| for float128_type_node or float64x_type_node. | |
| * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise. | |
| Don't check float128_type_node later on. | |
| * config/s390/s390.cc (s390_mangle_type): Don't use | |
| TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT | |
| a few lines earlier. | |
| 2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> | |
| Yvan ROUX <yvan.roux@foss.st.com> | |
| * doc/sourcebuild.texi: Document new vma_equals_lma effective | |
| target check. | |
| 2022-09-30 Jiawei <jiawei@iscas.ac.cn> | |
| * config/riscv/riscv.cc (riscv_file_start): New .option. | |
| * config/riscv/riscv.opt: New options. | |
| * doc/invoke.texi: New definations. | |
| 2022-09-30 Kewen Lin <linkw@linux.ibm.com> | |
| PR target/99888 | |
| PR target/105649 | |
| * doc/invoke.texi (option -fpatchable-function-entry): Adjust the | |
| documentation for PowerPC ELFv2 ABI dual entry points. | |
| * config/rs6000/rs6000-internal.h | |
| (rs6000_print_patchable_function_entry): New function declaration. | |
| * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue): | |
| Support patchable-function-entry by emitting nops before and after | |
| local entry for the function that needs global entry. | |
| * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip | |
| the function that needs global entry till global entry has been | |
| emitted. | |
| * config/rs6000/rs6000.h (struct machine_function): New bool member | |
| global_entry_emitted. | |
| 2022-09-30 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/107095 | |
| * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg | |
| for .MASK_STORE size. | |
| 2022-09-29 Andrew MacLeod <amacleod@redhat.com> | |
| * range-op.cc (plus_minus_ranges): New. | |
| (adjust_op1_for_overflow): New. | |
| (operator_plus::op1_range): Use new adjustment. | |
| (operator_plus::op2_range): Ditto. | |
| (operator_minus::op1_range): Ditto. | |
| * value-relation.h (relation_lt_le_gt_ge_p): New. | |
| 2022-09-29 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-gori.cc (gori_compute::refine_using_relation): New. | |
| (gori_compute::compute_operand1_range): Invoke | |
| refine_using_relation when applicable. | |
| (gori_compute::compute_operand2_range): Ditto. | |
| * gimple-range-gori.h (class gori_compute): Adjust prototypes. | |
| 2022-09-29 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-gori.cc (ori_compute::compute_operand_range): | |
| Create a relation record and pass it along when possible. | |
| (gori_compute::compute_operand1_range): Pass relation along. | |
| (gori_compute::compute_operand2_range): Ditto. | |
| (gori_compute::compute_operand1_and_operand2_range): Ditto. | |
| * gimple-range-gori.h (class gori_compute): Adjust prototypes. | |
| * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass | |
| relation to op1_range call. | |
| (gimple_range_op_handler::calc_op2): Pass relation to op2_range call. | |
| * gimple-range-op.h (class gimple_range_op_handler): Adjust | |
| prototypes. | |
| 2022-09-29 Andrew MacLeod <amacleod@redhat.com> | |
| * value-relation.cc (class value_relation): Move to .h file. | |
| (value_relation::set_relation): Ditto. | |
| (value_relation::value_relation): ditto. | |
| * value-relation.h (class value_relation): Move from .cc file. | |
| (value_relation::set_relation): Ditto | |
| (value_relation::value_relation): Ditto. | |
| 2022-09-29 Andrew MacLeod <amacleod@redhat.com> | |
| * range-op.cc (operator_minus::op2_range): Check for undefined. | |
| (operator_mult::op1_range): Ditto. | |
| (operator_exact_divide::op1_range): Ditto. | |
| (operator_lshift::op1_range): Ditto. | |
| (operator_rshift::op1_range): Ditto. | |
| (operator_cast::op1_range): Ditto. | |
| (operator_bitwise_and::op1_range): Ditto. | |
| (operator_bitwise_or::op1_range): Ditto. | |
| (operator_trunc_mod::op1_range): Ditto. | |
| (operator_trunc_mod::op2_range): Ditto. | |
| (operator_bitwise_not::op1_range): Ditto. | |
| (pointer_or_operator::op1_range): Ditto. | |
| (range_op_handler::op1_range): Ditto. | |
| (range_op_handler::op2_range): Ditto. | |
| 2022-09-29 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): | |
| Remove unused elt_bits variable. | |
| 2022-09-29 Olivier Hainque <hainque@adacore.com> | |
| * config/vxworks.h: Add comment on our use of | |
| HAVE_INITFINI_ARRAY_SUPPORT. | |
| 2022-09-29 Olivier Hainque <hainque@adacore.com> | |
| * config/aarch64/t-aarch64-vxworks: Request multilib | |
| variants for mcmodel=large. | |
| 2022-09-29 Olivier Hainque <hainque@adacore.com> | |
| * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove | |
| resetting to 0. | |
| 2022-09-29 Olivier Hainque <hainque@adacore.com> | |
| * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0 | |
| when ARM_UNWIND_INFO is set. | |
| 2022-09-29 Julian Brown <julian@codesourcery.com> | |
| PR middle-end/107028 | |
| * gimplify.cc (omp_check_mapping_compatibility, | |
| oacc_resolve_clause_dependencies): New functions. | |
| (omp_accumulate_sibling_list): Remove redundant duplicate clause | |
| detection for OpenACC. | |
| (build_struct_sibling_lists): Skip deleted groups. Don't build sibling | |
| list for struct variables that are fully mapped on the same directive | |
| for OpenACC. | |
| (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies. | |
| 2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com> | |
| PR middle-end/25521 | |
| * varasm.cc (categorize_decl_for_section): Place `const volatile' | |
| objects in read-only sections. | |
| (default_select_section): Likewise. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead | |
| of to_widest. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4) | |
| (TARGET_DOTPROD): Don't depend on TARGET_SIMD. | |
| (TARGET_AES, TARGET_SHA2): Likewise. Remove TARGET_CRYPTO test. | |
| (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT. | |
| (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend | |
| on TARGET_SVE. | |
| (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3) | |
| (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2. | |
| (TARGET_F32MM, TARGET_F64MM): Delete. | |
| * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard | |
| float macros with just TARGET_FLOAT rather than TARGET_FLOAT | |
| || TARGET_SIMD. | |
| * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend | |
| only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD. | |
| (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES, | |
| rather than TARGET_SIMD && TARGET_AES. | |
| (aarch64_crypto_aes<aesmc_op>v16qi): Likewise. | |
| (*aarch64_crypto_aese_fused): Likewise. | |
| (*aarch64_crypto_aesd_fused): Likewise. | |
| (aarch64_crypto_pmulldi): Likewise. | |
| (aarch64_crypto_pmullv2di): Likewise. | |
| (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2. | |
| (aarch64_crypto_sha1hv4si): Likewise. | |
| (aarch64_be_crypto_sha1hv4si): Likewise. | |
| (aarch64_crypto_sha1su1v4si): Likewise. | |
| (aarch64_crypto_sha1<sha1_op>v4si): Likewise. | |
| (aarch64_crypto_sha1su0v4si): Likewise. | |
| (aarch64_crypto_sha256h<sha256_op>v4si): Likewise. | |
| (aarch64_crypto_sha256su0v4si): Likewise. | |
| (aarch64_crypto_sha256su1v4si): Likewise. | |
| (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3. | |
| (aarch64_crypto_sha512su0qv2di): Likewise. | |
| (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise. | |
| (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise. | |
| (aarch64_sm3ss1qv4si): Likewise TARGET_SM4. | |
| (aarch64_sm3tt<sm3tt_op>qv4si): Likewise. | |
| (aarch64_sm3partw<sm3part_op>qv4si): Likewise. | |
| (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise. | |
| * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2) | |
| (copysign<GPF:mode>3, copysign<GPF:mode>3_insn) | |
| (xorsign<mode>3): Remove redundant TARGET_FLOAT condition. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable. | |
| * config/aarch64/aarch64.h (aarch64_asm_isa_flags) | |
| (aarch64_isa_flags): Redefine as read-only macros. | |
| (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on | |
| !TARGET_GENERAL_REGS_ONLY. | |
| * common/config/aarch64/aarch64-common.cc | |
| (aarch64_set_asm_isa_flags): New function. | |
| (aarch64_handle_option): Call it when updating -mgeneral-regs. | |
| * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace | |
| m_old_isa_flags with m_old_asm_isa_flags. | |
| (aarch64_set_asm_isa_flags): Declare. | |
| * config/aarch64/aarch64-builtins.cc | |
| (aarch64_simd_switcher::aarch64_simd_switcher) | |
| (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore | |
| aarch64_asm_isa_flags instead of aarch64_isa_flags. | |
| * config/aarch64/aarch64-sve-builtins.cc | |
| (check_required_extensions): Use aarch64_asm_isa_flags instead | |
| of aarch64_isa_flags. | |
| * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function. | |
| (aarch64_override_options, aarch64_handle_attr_arch) | |
| (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use | |
| aarch64_set_asm_isa_flags to set the ISA flags. | |
| (aarch64_option_print, aarch64_declare_function_name) | |
| (aarch64_start_file): Use aarch64_asm_isa_flags instead | |
| of aarch64_isa_flags. | |
| (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as | |
| aarch64_isa_flags. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * common/config/aarch64/aarch64-common.cc (all_extensions): | |
| Include the feature flag in flags_on and flags_off. | |
| (aarch64_parse_extension): Update accordingly. | |
| (aarch64_get_extension_string_for_isa_flags): Likewise. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags | |
| for feature flags throughout. | |
| * config/aarch64/aarch64-protos.h: Likewise. | |
| * config/aarch64/aarch64-sve-builtins.h: Likewise. | |
| * config/aarch64/aarch64-sve-builtins.cc: Likewise. | |
| * config/aarch64/aarch64.cc: Likewise. | |
| * config/aarch64/aarch64.opt: Likewise. | |
| * config/aarch64/driver-aarch64.cc: Likewise. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * common/config/aarch64/aarch64-common.cc (aarch64_option_extension) | |
| (processor_name_to_arch, arch_to_arch_name): Remove const from | |
| member variables. | |
| (all_extensions, all_cores, all_architectures): Make a constexpr. | |
| * config/aarch64/aarch64.cc (processor): Remove const from | |
| member variables. | |
| (all_architectures): Make a constexpr. | |
| * config/aarch64/driver-aarch64.cc (aarch64_core_data) | |
| (aarch64_arch_driver_info): Remove const from member variables. | |
| (aarch64_cpu_data, aarch64_arches): Make a constexpr. | |
| (get_arch_from_id): Return a pointer to const. | |
| (host_detect_local_cpu): Update accordingly. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * common/config/aarch64/aarch64-common.cc (processor_name_to_arch) | |
| (arch_to_arch_name): Use const char * instead of std::string. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * common/config/aarch64/aarch64-common.cc | |
| (TARGET_OPTION_INIT_STRUCT): Delete. | |
| (aarch64_option_extension): Remove is_synthetic_flag. | |
| (all_extensions): Update accordingly. | |
| (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete. | |
| (aarch64_option_init_struct, aarch64_contains_opt): Delete. | |
| (aarch64_get_extension_string_for_isa_flags): Rewrite to use | |
| all_extensions instead of all_extensions_on. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-option-extensions.def: Switch to a new format. | |
| * config/aarch64/aarch64-cores.def: Use the same format to specify | |
| lists of features. | |
| * config/aarch64/aarch64-arches.def: Likewise, moving that information | |
| from aarch64.h. | |
| * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef. | |
| * config/aarch64/aarch64.h (aarch64_feature): New class enum. | |
| Turn AARCH64_FL_* macros into constexprs, getting the definitions | |
| from aarch64-option-extensions.def. Remove AARCH64_FL_FOR_* macros. | |
| * common/config/aarch64/aarch64-common.cc: Include | |
| aarch64-feature-deps.h. | |
| (all_extensions): Update for new .def format. | |
| (all_extensions_by_on, all_cores, all_architectures): Likewise. | |
| * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h. | |
| (aarch64_extensions): Update for new .def format. | |
| (aarch64_cpu_data, aarch64_arches): Likewise. | |
| * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h. | |
| (all_architectures, all_cores): Update for new .def format. | |
| * config/aarch64/aarch64-sve-builtins.cc | |
| (check_required_extensions): Likewise. | |
| * config/aarch64/aarch64-feature-deps.h: New file. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-option-extensions.def: Move crypto | |
| after sha2. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-option-extensions.def (dotprod): Depend | |
| on fp as well as simd. | |
| (sha3): Likewise. | |
| (aes): Likewise. Make +noaes disable crypto. | |
| (sha2): Likewise +nosha2. Also make +nosha2 disable sha3 and | |
| sve2-sha3. | |
| (sve2-sha3): Depend on sha2 as well as sha3. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| PR target/107025 | |
| * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete. | |
| (AARCH64_FL_FOR_V8_4A): Update accordingly. | |
| (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly. | |
| * config/aarch64/aarch64-cores.def (thunderx3t110): Remove | |
| AARCH64_FL_RCPC8_4. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH> | |
| from the flags field. | |
| * common/config/aarch64/aarch64-common.cc (all_cores): Add it | |
| here instead. | |
| * config/aarch64/aarch64.cc (all_cores): Likewise. | |
| * config/aarch64/driver-aarch64.cc (all_cores): Likewise. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config.gcc: Remove dead aarch64-option-extensions.def code. | |
| * config/aarch64/aarch64-arches.def: Update comment. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-arches.def: Add a leading "V" to the | |
| ARCH_IDENT fields. | |
| * config/aarch64/aarch64-cores.def: Update accordingly. | |
| * common/config/aarch64/aarch64-common.cc (all_cores): Likewise. | |
| * config/aarch64/aarch64.cc (all_cores): Likewise. | |
| * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the | |
| leading "V". | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to... | |
| (AARCH64_FL_FOR_V8A): ...this. | |
| (AARCH64_FL_FOR_ARCH8_1): Rename to... | |
| (AARCH64_FL_FOR_V8_1A): ...this. | |
| (AARCH64_FL_FOR_ARCH8_2): Rename to... | |
| (AARCH64_FL_FOR_V8_2A): ...this. | |
| (AARCH64_FL_FOR_ARCH8_3): Rename to... | |
| (AARCH64_FL_FOR_V8_3A): ...this. | |
| (AARCH64_FL_FOR_ARCH8_4): Rename to... | |
| (AARCH64_FL_FOR_V8_4A): ...this. | |
| (AARCH64_FL_FOR_ARCH8_5): Rename to... | |
| (AARCH64_FL_FOR_V8_5A): ...this. | |
| (AARCH64_FL_FOR_ARCH8_6): Rename to... | |
| (AARCH64_FL_FOR_V8_6A): ...this. | |
| (AARCH64_FL_FOR_ARCH8_7): Rename to... | |
| (AARCH64_FL_FOR_V8_7A): ...this. | |
| (AARCH64_FL_FOR_ARCH8_8): Rename to... | |
| (AARCH64_FL_FOR_V8_8A): ...this. | |
| (AARCH64_FL_FOR_ARCH8_R): Rename to... | |
| (AARCH64_FL_FOR_V8R): ...this. | |
| (AARCH64_FL_FOR_ARCH9): Rename to... | |
| (AARCH64_FL_FOR_V9A): ...this. | |
| (AARCH64_FL_FOR_ARCH9_1): Rename to... | |
| (AARCH64_FL_FOR_V9_1A): ...this. | |
| (AARCH64_FL_FOR_ARCH9_2): Rename to... | |
| (AARCH64_FL_FOR_V9_2A): ...this. | |
| (AARCH64_FL_FOR_ARCH9_3): Rename to... | |
| (AARCH64_FL_FOR_V9_3A): ...this. | |
| * common/config/aarch64/aarch64-common.cc (all_cores): Update | |
| accordingly. | |
| * config/aarch64/aarch64-arches.def: Likewise. | |
| * config/aarch64/aarch64-cores.def: Likewise. | |
| * config/aarch64/aarch64.cc (all_cores): Likewise. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2) | |
| (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6) | |
| (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1) | |
| (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name. | |
| (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R. | |
| (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly. | |
| (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise. | |
| (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise. | |
| (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise. | |
| (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise. | |
| (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise. | |
| (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A) | |
| (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise. | |
| (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise. | |
| (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3) | |
| (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6) | |
| (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2) | |
| (AARCH64_ISA_V9_3): Add "A" to the end of the name. | |
| (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R. | |
| (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update | |
| accordingly. | |
| * common/config/aarch64/aarch64-common.cc | |
| (aarch64_get_extension_string_for_isa_flags): Likewise. | |
| * config/aarch64/aarch64-c.cc | |
| (aarch64_define_unconditional_macros): Likewise. | |
| 2022-09-29 Richard Sandiford <richard.sandiford@arm.com> | |
| * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA. | |
| 2022-09-29 Jakub Jelinek <jakub@redhat.com> | |
| PR bootstrap/107059 | |
| * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC | |
| isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2 | |
| before FIXED_INCLUDE_DIR entry with multilib flag 0. | |
| * gcc.cc (do_spec_1): If multiarch_dir, add | |
| include-fixed/multiarch_dir paths before include-fixed paths. | |
| 2022-09-29 Martin Liska <mliska@suse.cz> | |
| PR driver/106897 | |
| * common.opt: Add -gz=zstd value. | |
| * configure.ac: Detect --compress-debug-sections=zstd | |
| for both linker and assembler. | |
| * configure: Regenerate. | |
| * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd. | |
| (ASM_COMPRESS_DEBUG_SPEC): Likewise. | |
| 2022-09-29 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/105646 | |
| * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute | |
| the set of fallthru reachable blocks from function entry | |
| and use that to determine wlims.always_executed. | |
| 2022-09-29 liuhongt <hongtao.liu@intel.com> | |
| PR tree-optimization/107055 | |
| * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for | |
| nonlinear induction variables. | |
| * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New | |
| functions. | |
| (vectorizable_nonlinear_induction): Put part codes into | |
| vect_can_peel_nonlinear_iv_p. | |
| * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare. | |
| 2022-09-28 Eugene Rozenfeld <erozen@microsoft.com> | |
| * basic-block.h: Remove discriminator from basic blocks. | |
| * cfghooks.cc (split_block_1): Remove discriminator from basic blocks. | |
| * final.cc (final_start_function_1): Switch from per-bb to per statement | |
| discriminator. | |
| (final_scan_insn_1): Don't keep track of basic block discriminators. | |
| (compute_discriminator): Switch from basic block discriminators to | |
| instruction discriminators. | |
| (insn_discriminator): New function to return instruction discriminator. | |
| (notice_source_line): Use insn_discriminator. | |
| * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of | |
| basic block discriminators. | |
| * gimple-streamer-in.cc (input_bb): Remove reading of basic block | |
| discriminators. | |
| * gimple-streamer-out.cc (output_bb): Remove writing of basic block | |
| discriminators. | |
| * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA. | |
| (location_with_discriminator): New function to combine locus with | |
| a discriminator. | |
| (has_discriminator): New function to check if a location has a discriminator. | |
| (get_discriminator_from_loc): New function to get the discriminator | |
| from a location. | |
| * input.h: Declarations of new functions. | |
| * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison. | |
| (apply_location_cache): Keep track of current discriminator. | |
| (input_location_and_block): Read discriminator from stream. | |
| * lto-streamer-out.cc (clear_line_info): Set current discriminator to | |
| UINT_MAX. | |
| (lto_output_location_1): Write discriminator to stream. | |
| * lto-streamer.h: Add discriminator to cached_location. | |
| Add current_discr to lto_location_cache. | |
| Add current_discr to output_block. | |
| * print-rtl.cc (print_rtx_operand_code_i): Print discriminator. | |
| * rtl.h: Add extern declaration of insn_discriminator. | |
| * tree-cfg.cc (assign_discriminator): New function to assign a unique | |
| discriminator value to all statements in a basic block that have the given | |
| line number. | |
| (assign_discriminators): Assign discriminators to statement locations. | |
| * tree-pretty-print.cc (dump_location): Dump discriminators. | |
| * tree.cc (set_block): Preserve discriminator when setting block. | |
| (set_source_range): Preserve discriminator when setting source range. | |
| 2022-09-28 H.J. Lu <hjl.tools@gmail.com> | |
| PR target/107061 | |
| * config/i386/predicates.md (encodekey128_operation): Check | |
| XMM4-XMM6 as clobbered. | |
| (encodekey256_operation): Likewise. | |
| * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6. | |
| (encodekey256u32): Likewise. | |
| 2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | |
| * config.gcc: Add riscv-vector-builtins.o. | |
| * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function. | |
| * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function. | |
| * config/riscv/riscv.cc (ENTRY): New macro. | |
| (riscv_v_ext_enabled_vector_mode_p): New function. | |
| (riscv_mangle_type): Add RVV mangle. | |
| (riscv_vector_mode_supported_p): Adjust RVV machine mode. | |
| (riscv_verify_type_context): Add context check for RVV. | |
| (riscv_vector_alignment): Add RVV alignment target hook support. | |
| (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support. | |
| (TARGET_VERIFY_TYPE_CONTEXT): Ditto. | |
| (TARGET_VECTOR_ALIGNMENT): Ditto. | |
| * config/riscv/t-riscv: Add riscv-vector-builtins.o | |
| * config/riscv/riscv-vector-builtins.cc: New file. | |
| * config/riscv/riscv-vector-builtins.def: New file. | |
| * config/riscv/riscv-vector-builtins.h: New file. | |
| * config/riscv/riscv-vector-switch.def: New file. | |
| 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> | |
| * var-tracking.cc (vt_add_function_parameter): Add entry values | |
| up to maximal register mode. | |
| 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> | |
| * cselib.cc (new_cselib_val): Keep track of further subvalue | |
| relations. | |
| 2022-09-28 Andrea Corallo <andrea.corallo@arm.com> | |
| * config/arm/arm-c.cc (arm_cpu_builtins): Define | |
| __ARM_FEATURE_AES and __ARM_FEATURE_SHA2. | |
| 2022-09-28 Xi Ruoyao <xry111@xry111.site> | |
| PR tree-optimization/105414 | |
| * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec. | |
| (UNSPEC_FMIN): Likewise. | |
| (fmax<mode>3): Use UNSPEC_FMAX instead of smax. | |
| (fmin<mode>3): Use UNSPEC_FMIN instead of smin. | |
| 2022-09-28 Lulu Cheng <chenglulu@loongson.cn> | |
| * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): | |
| Fixed typo in "asan_mapping.h". | |
| 2022-09-28 H.J. Lu <hjl.tools@gmail.com> | |
| PR middle-end/58245 | |
| * calls.cc: Include "tree-eh.h". | |
| (expand_call): Check stack canary before throwing exception. | |
| 2022-09-27 Eugene Rozenfeld <erozen@microsoft.com> | |
| * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison. | |
| 2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com> | |
| * doc/invoke.texi: Update ABI version info. | |
| 2022-09-27 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a | |
| singleton. | |
| 2022-09-27 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (irange::set_nonzero_bits): Set range when known. | |
| 2022-09-27 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.h (irange::set): New version taking wide_int_ref. | |
| 2022-09-27 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/107029 | |
| * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat | |
| OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be | |
| signed and so can trigger even the (b % 4) == 3 case. | |
| 2022-09-27 Jeff Law <jeffreyalaw@gmail.com> | |
| * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return | |
| and return are available before trying to use them. | |
| 2022-09-27 Jakub Jelinek <jakub@redhat.com> | |
| PR c++/106652 | |
| PR c++/85518 | |
| * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE | |
| enumerator. | |
| * tree.h (float128t_type_node): Define. | |
| * tree.cc (build_common_tree_nodes): Initialize float128t_type_node. | |
| * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that | |
| _Float<N> is supported in C++ too. | |
| * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g" | |
| float128t_type_node. | |
| * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use | |
| float128t_type_node for __float128 instead of float128_type_node | |
| and create it if NULL. | |
| * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph, | |
| _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of | |
| 0.0f. | |
| * config/ia64/ia64.cc (ia64_init_builtins): Use | |
| float128t_type_node for __float128 instead of float128_type_node | |
| and create it if NULL. | |
| * config/rs6000/rs6000-c.cc (is_float128_p): Also return true | |
| for float128t_type_node if non-NULL. | |
| * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle | |
| float128_type_node as "u9__ieee128". | |
| * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use | |
| float128t_type_node for __float128 instead of float128_type_node | |
| and create it if NULL. | |
| 2022-09-26 Martin Liska <mliska@suse.cz> | |
| * doc/invoke.texi: Add missing dash for | |
| Wanalyzer-exposure-through-uninit-copy. | |
| 2022-09-26 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107009 | |
| * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK. | |
| (range_op_bitwise_and_tests): New test. | |
| 2022-09-26 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/107009 | |
| * tree-ssa-dom.cc | |
| (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): | |
| Iterate over exports. | |
| 2022-09-26 Thomas Schwinge <thomas@codesourcery.com> | |
| * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override | |
| the default. | |
| * config/nvptx/gen-multilib-matches.sh: New. | |
| * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES) | |
| (MULTILIB_EXCEPTIONS): Handle this. | |
| * doc/install.texi (Specific) <nvptx-*-none>: Document this. | |
| * doc/invoke.texi (Nvidia PTX Options): Likewise. | |
| 2022-09-26 Thomas Schwinge <thomas@codesourcery.com> | |
| * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'. | |
| * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES) | |
| (MULTILIB_EXCEPTIONS): Handle it. | |
| 2022-09-26 Thomas Schwinge <thomas@codesourcery.com> | |
| * config.gcc (with_arch) [nvptx]: Set to 'sm_30'. | |
| * config/nvptx/nvptx.cc (nvptx_option_override): Assert that | |
| '-misa' appeared. | |
| * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define. | |
| * config/nvptx/nvptx.opt (misa=): Remove 'Init'. | |
| 2022-09-26 Thomas Schwinge <thomas@codesourcery.com> | |
| * config/nvptx/nvptx.h (ASM_SPEC): Define. | |
| 2022-09-26 Jeff Law <jeffreyalaw@gmail.com> | |
| * cfgcleanup.cc (bb_is_just_return): No longer static. | |
| * cfgcleanup.h (bb_is_just_return): Add prototype. | |
| * cfgrtl.cc (fixup_reorder_chain): Do not create an | |
| unconditional jump to a return block. Conditionally | |
| remove unreachable blocks. | |
| 2022-09-26 Tobias Burnus <tobias@codesourcery.com> | |
| PR middle-end/106982 | |
| * omp-low.cc (lower_oacc_reductions): Add some unshare_expr. | |
| 2022-09-26 Martin Liska <mliska@suse.cz> | |
| * config/s390/s390.cc (s390_rtx_costs): Remove dest variable | |
| and use only dst. | |
| 2022-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/aarch64-arches.def (armv9.1-a): Define. | |
| (armv9.2-a): Likewise. | |
| (armv9.3-a): Likewise. | |
| * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise. | |
| (AARCH64_FL_V9_2): Likewise. | |
| (AARCH64_FL_V9_3): Likewise. | |
| (AARCH64_FL_FOR_ARCH9_1): Likewise. | |
| (AARCH64_FL_FOR_ARCH9_2): Likewise. | |
| (AARCH64_FL_FOR_ARCH9_3): Likewise. | |
| (AARCH64_ISA_V9_1): Likewise. | |
| (AARCH64_ISA_V9_2): Likewise. | |
| (AARCH64_ISA_V9_3): Likewise. | |
| * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a, | |
| armv9.3-a values to -march. | |
| 2022-09-26 Martin Liska <mliska@suse.cz> | |
| * value-range.cc (tree_compare): Remove unused function. | |
| 2022-09-26 Kewen Lin <linkw@linux.ibm.com> | |
| PR target/96072 | |
| * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the | |
| condition for adding REG_CFA_DEF_CFA reg note with | |
| frame_pointer_needed_indeed. | |
| 2022-09-26 Kewen Lin <linkw@linux.ibm.com> | |
| PR target/100645 | |
| * config/rs6000/vector.md (vec_shr_<mode>): Replace condition | |
| TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P. | |
| 2022-09-26 Hongtao Liu <hongtao.liu@intel.com> | |
| Liwei Xu <liwei.xu@intel.com> | |
| PR target/53346 | |
| * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps): | |
| New function. | |
| (ix86_expand_vec_perm_const_1): Insert | |
| expand_vec_perm_shufps_shufps at the end of 2-instruction | |
| expand sequence. | |
| 2022-09-25 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> | |
| * doc/sourcebuild.texi: Fix chapter level. | |
| 2022-09-24 Jakub Jelinek <jakub@redhat.com> | |
| PR c/107001 | |
| * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement | |
| at the end. | |
| * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA | |
| is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't | |
| update parent. | |
| (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset | |
| cur_region back after new_omp_region. | |
| 2022-09-23 Vineet Gupta <vineetg@rivosinc.com> | |
| * config/riscv/riscv.h (LOCAL_SYM_P): New. | |
| (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P. | |
| 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes. | |
| (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks. | |
| (ADJUST_ALIGNMENT): Adjust alignment. | |
| (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks. | |
| (RVV_MODES): New macro. | |
| (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes. | |
| (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes. | |
| 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * common/config/riscv/riscv-common.cc: Change "static void" to "void". | |
| * config.gcc: Add riscv-selftests.o | |
| * config/riscv/predicates.md: Allow const_poly_int. | |
| * config/riscv/riscv-protos.h (riscv_reinit): New function. | |
| (riscv_parse_arch_string): change as exten function. | |
| (riscv_run_selftests): New function. | |
| * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly | |
| into const pool. | |
| (riscv_report_v_required): New function. | |
| (riscv_expand_op): New function. | |
| (riscv_expand_mult_with_const_int): New function. | |
| (riscv_legitimize_poly_move): Ditto. | |
| (riscv_legitimize_move): New function. | |
| (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix | |
| vector RA. | |
| (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for | |
| -marh no 'v'. | |
| (riscv_reinit): New function. | |
| (TARGET_RUN_TARGET_SELFTESTS): New target hook support. | |
| * config/riscv/t-riscv: Add riscv-selftests.o. | |
| * config/riscv/riscv-selftests.cc: New file. | |
| 2022-09-23 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106922 | |
| * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow | |
| an arbitrary number of same valued skipped stores. | |
| 2022-09-23 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set): Swap setters such that the one | |
| accepting REAL_VALUE_TYPE does all the work. | |
| 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/aarch64-cores.def (neoverse-v2): New entry. | |
| (demeter): Update tunings to neoversev2. | |
| * config/aarch64/aarch64-tune.md: Regenerate. | |
| * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to | |
| neoversev2_addrcost_table. | |
| (demeter_regmove_cost): Rename to neoversev2_addrcost_table. | |
| (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost. | |
| (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost. | |
| (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info. | |
| (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info. | |
| (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info. | |
| (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info. | |
| Update references to above. | |
| (demeter_vector_cost): Rename to neoversev2_vector_cost. | |
| (demeter_tunings): Rename to neoversev2_tunings. | |
| (aarch64_vec_op_count::rename_cycles_per_iter): Use | |
| neoversev2_sve_issue_info instead of demeter_sve_issue_info. | |
| * doc/invoke.texi (AArch64 Options): Document neoverse-v2. | |
| 2022-09-23 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (build_le): Use vrp_val_*. | |
| (build_lt): Same. | |
| (build_ge): Same. | |
| (build_gt): Same. | |
| * value-range.cc (frange::set): Chop ranges outside of the | |
| representable numbers for -ffinite-math-only. | |
| (frange::normalize_kind): Use vrp_val*. | |
| (frange::verify_range): Same. | |
| (frange::set_nonnegative): Same. | |
| (range_tests_floats): Remove tests that depend on -INF and +INF. | |
| * value-range.h (real_max_representable): Add prototype. | |
| (real_min_representable): Same. | |
| (vrp_val_max): Set max representable number for | |
| -ffinite-math-only. | |
| (vrp_val_min): Same but for min. | |
| (frange::set_varying): Use vrp_val*. | |
| 2022-09-23 Aldy Hernandez <aldyh@redhat.com> | |
| * real.cc (debug): New. | |
| 2022-09-23 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range-pretty-print.cc (vrange_printer::print_real_value): New. | |
| (vrange_printer::visit): Call print_real_value. | |
| * value-range-pretty-print.h: New print_real_value. | |
| 2022-09-23 Martin Liska <mliska@suse.cz> | |
| * common.opt: Update -flto-compression-level documentation. | |
| * opts.cc (print_filtered_help): Do not append range to an | |
| option that uses \t syntax. | |
| 2022-09-23 Jakub Jelinek <jakub@redhat.com> | |
| * attribs.cc (decl_attributes): Improve diagnostics, instead of | |
| saying expected between 1 and 1, found 2 just say expected 1, found 2. | |
| 2022-09-23 Hu, Lin1 <lin1.hu@intel.com> | |
| PR target/94962 | |
| * config/i386/constraints.md (BH): New define_constraint. | |
| * config/i386/i386.cc (standard_sse_constant_p): Add return | |
| 3/4 when operand matches new predicate. | |
| (standard_sse_constant_opcode): Add new alternative branch to | |
| return "vpcmpeqd". | |
| * config/i386/predicates.md | |
| (vector_all_ones_zero_extend_half_operand): New define_predicate. | |
| (vector_all_ones_zero_extend_quarter_operand): Ditto. | |
| * config/i386/sse.md: Add constraint to insn "mov<mode>_internal". | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (range_of_range_op): Handle no operands. | |
| (range_of_call): Do not check for builtins. | |
| (fold_using_range::range_of_builtin_call): Delete. | |
| (fold_using_range::range_of_builtin_int_call): Delete. | |
| * gimple-range-fold.h: Adjust prototypes. | |
| * gimple-range-op.cc (class cfn_parity): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (range_of_builtin_int_call): Remove case | |
| for CFN_GOACC_DIM_*. | |
| * gimple-range-op.cc (class cfn_goacc_dim): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (range_of_builtin_int_call): Remove case | |
| for CFN_BUILT_IN_STRLEN. | |
| * gimple-range-op.cc (class cfn_strlen): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete. | |
| (range_of_builtin_int_call): Remove cases for | |
| CFN_BUILT_IN_UBSAN_CHECK. | |
| * gimple-range-op.cc (class cfn_ubsan): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (range_of_builtin_int_call): Remove case | |
| for CFN_BUILT_IN_CLRSB. | |
| * gimple-range-op.cc (class cfn_clrsb): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (range_of_builtin_int_call): Remove case | |
| for CFN_CTZ. | |
| * gimple-range-op.cc (class cfn_ctz): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (range_of_builtin_int_call): Remove case | |
| for CFN_CLZ. | |
| * gimple-range-op.cc (class cfn_clz): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (range_of_builtin_int_call): Remove case | |
| for CFN_FFS and CFN_POPCOUNT. | |
| * gimple-range-op.cc (class cfn_pocount): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (get_letter_range): Move to new class. | |
| (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER | |
| and CFN_BUILT_IN_TOLOWER. | |
| * gimple-range-op.cc (class cfn_toupper_tolower): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (range_of_builtin_int_call): Remove case | |
| for CFN_BUILT_IN_SIGNBIT. | |
| * gimple-range-op.cc (class cfn_signbit): New. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc | |
| (fold_using_range::range_of_builtin_int_call): Remove case for | |
| CFN_BUILT_IN_CONSTANT_P. | |
| * gimple-range-op.cc (gimple_range_op_handler::supported_p): | |
| Check if a call also creates a range-op object. | |
| (gimple_range_op_handler): Also check builtin calls. | |
| (class cfn_constant_float_p): New. Float CFN_BUILT_IN_CONSTANT_P. | |
| (class cfn_constant_p): New. Integral CFN_BUILT_IN_CONSTANT_P. | |
| (gimple_range_op_handler::maybe_builtin_call): Set arguments and | |
| handler for supported built-in calls. | |
| * gimple-range-op.h (maybe_builtin_call): New prototype. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (range_of_range_op): Set result to | |
| VARYING if the call to fold_range fails. | |
| * tree-data-ref.cc (compute_distributive_range): Ditto. | |
| * tree-vrp.cc (range_fold_binary_expr): Ditto. | |
| (range_fold_unary_expr): Ditto. | |
| * value-query.cc (range_query::get_tree_range): Ditto. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * range-op-float.cc (range_operator_float::fold_range): New base | |
| method for "int = float op int". | |
| * range-op.cc (range_op_handler::fold_range): New case. | |
| * range-op.h: Update prototypes. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use | |
| operand 1 for second range if there is no operand 2. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * Makefile.in (OBJS): Add gimple-range-op.o. | |
| * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use | |
| gimple_range_op_handler. | |
| * gimple-range-fold.cc (gimple_range_base_of_assignment): Move | |
| to a method in gimple_range_op_handler. | |
| (gimple_range_operand1): Ditto. | |
| (gimple_range_operand2): Ditto. | |
| (fold_using_range::fold_stmt): Use gimple_range_op_handler. | |
| (fold_using_range::range_of_range_op): Ditto. | |
| (fold_using_range::relation_fold_and_or): Ditto. | |
| (fur_source::register_outgoing_edges): Ditto. | |
| (gimple_range_ssa_names): Relocate to gimple-range-op.cc. | |
| * gimple-range-fold.h: Adjust prototypes. | |
| * gimple-range-gori.cc (gimple_range_calc_op1): Move | |
| to a method in gimple_range_op_handler. | |
| (gimple_range_calc_op2): Ditto. | |
| (gori_compute::compute_operand_range): Use | |
| gimple_range_op_handler. | |
| (gori_compute::compute_logical_operands): Ditto. | |
| (compute_operand1_range): Ditto. | |
| (gori_compute::compute_operand2_range): Ditto. | |
| (gori_compute::compute_operand1_and_operand2_range): Ditto. | |
| * gimple-range-gori.h: Adjust protoypes. | |
| * gimple-range-op.cc: New. Supply gimple_range_op_handler methods. | |
| * gimple-range-op.h: New. Supply gimple_range_op_handler class. | |
| * gimple-range.cc (gimple_ranger::prefill_name): Use | |
| gimple_range_op_handler. | |
| (gimple_ranger::prefill_stmt_dependencies): Ditto. | |
| * gimple-range.h: Include gimple-range-op.h. | |
| * range-op.cc (range_op_handler::range_op_handler): Adjust and | |
| remove gimple * parameter option. | |
| * range-op.h: Adjust prototypes. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * range-op.cc (range_op_handler::set_op_handler): Set new fields. | |
| (ange_op_handler::range_op_handler): Likewise. | |
| (range_op_handler::operator bool): Remove. | |
| (range_op_handler::fold_range): Use appropriate handler. | |
| (range_op_handler::op1_range): Likewise. | |
| (range_op_handler::op2_range): Likewise. | |
| (range_op_handler::lhs_op1_relation): Likewise. | |
| (range_op_handler::lhs_op2_relation): Likewise. | |
| (range_op_handler::op1_op2_relation): Likewise. | |
| * range-op.h (class range_op_handler): Store handler pointers. | |
| (range_op_handler:: operator bool): Inline. | |
| 2022-09-22 Andrew MacLeod <amacleod@redhat.com> | |
| * tree-ssa-threadbackward.cc | |
| (back_threader::find_paths_to_names): Replace sequence with | |
| a call to gimple_range_ssa_names. | |
| 2022-09-22 Martin Liska <mliska@suse.cz> | |
| Fangrui Song <i@maskray.me> | |
| * configure: Regenerate. | |
| * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1} | |
| and gcc_cv_as_compress_debug={0,1}. | |
| * doc/invoke.texi: Document the removal. | |
| * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore | |
| zlib-gnu. | |
| (ASM_COMPRESS_DEBUG_SPEC): Likewise. | |
| 2022-09-22 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106922 | |
| * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member. | |
| (vn_walk_cb_data::finish): Perform delayed verification of | |
| a skipped may-alias. | |
| (vn_reference_lookup_pieces): Likewise. | |
| (vn_reference_lookup): Likewise. | |
| (vn_reference_lookup_3): When skipping stores of the same | |
| value also handle constant stores that are more than a | |
| single VDEF away by delaying the verification. | |
| 2022-09-22 Max Filippov <jcmvbkbc@gmail.com> | |
| * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New | |
| definition. | |
| 2022-09-22 Max Filippov <jcmvbkbc@gmail.com> | |
| * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk) | |
| (xtensa_output_mi_thunk): New functions. | |
| (TARGET_ASM_CAN_OUTPUT_MI_THUNK) | |
| (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions. | |
| (xtensa_prepare_expand_call): Use fixed register a8 as temporary | |
| when called with reload_completed set to 1. | |
| 2022-09-22 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/99407 | |
| * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global. | |
| (dse_classify_store): Use data-ref analysis to disambiguate more uses. | |
| (pass_dse::use_dr_analysis_p): New pass parameter. | |
| (pass_dse::set_pass_param): Implement. | |
| (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map. | |
| * passes.def: Allow DR analysis for the DSE pass before loop. | |
| 2022-09-22 Richard Biener <rguenther@suse.de> | |
| * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New | |
| function split out from ... | |
| (vn_nary_op_insert_pieces_predicated): ... here. | |
| 2022-09-22 liuhongt <hongtao.liu@intel.com> | |
| PR target/106994 | |
| * config/i386/mmx.md (floorv2sf2): Fix typo, use | |
| register_operand instead of vector_operand for operands[1]. | |
| 2022-09-21 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/106967 | |
| * value-range.cc (frange::set): Set known NANs to undefined for | |
| flag_finite_math_only. | |
| 2022-09-21 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::combine_zeros): Call set_undefined. | |
| (frange::intersect_nans): Same. | |
| (frange::intersect): Same. | |
| (frange::verify_range): Undefined ranges do not have a type. | |
| * value-range.h (frange::set_undefined): Clear NAN flags and type. | |
| 2022-09-21 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106984 | |
| * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in | |
| a separate statement. | |
| 2022-09-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT, | |
| EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before | |
| OPTION_DEFAULT_SPECS. | |
| (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to | |
| local_cpu_detect when rewriting -march=native and no -mcpu or -mtune | |
| is given. | |
| (CONFIG_TUNE_SPEC): Define. | |
| (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune". | |
| 2022-09-21 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/106967 | |
| * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN. | |
| (foperator_equal::op1_range): Same. | |
| (foperator_not_equal::fold_range): Same. | |
| (foperator_not_equal::op1_range): Same. | |
| (foperator_lt::fold_range): Same. | |
| (foperator_lt::op1_range): Same. | |
| (foperator_lt::op2_range): Same. | |
| (foperator_le::fold_range): Same. | |
| (foperator_le::op1_range): Same. | |
| (foperator_le::op2_range): Same. | |
| (foperator_gt::fold_range): Same. | |
| (foperator_gt::op1_range): Same. | |
| (foperator_gt::op2_range): Same. | |
| (foperator_ge::fold_range): Same. | |
| (foperator_ge::op1_range): Same. | |
| (foperator_ge::op2_range): Same. | |
| (foperator_unordered::op1_range): Same. | |
| (foperator_ordered::fold_range): Same. | |
| (foperator_ordered::op1_range): Same. | |
| (build_le): Assert that we don't have a NAN. | |
| (build_lt): Same. | |
| (build_gt): Same. | |
| (build_ge): Same. | |
| 2022-09-21 liuhongt <hongtao.liu@intel.com> | |
| PR tree-optimization/106963 | |
| * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use | |
| vec_gen_perm_mask_any instead of vec_gen_perm_mask_check. | |
| 2022-09-20 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.h (frange::maybe_isnan): Return false for | |
| undefined ranges. | |
| 2022-09-20 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set_nonnegative): Set +NAN. | |
| (range_tests_signed_zeros): New test. | |
| * value-range.h (frange::update_nan): New overload to set NAN sign. | |
| 2022-09-20 Richard Sandiford <richard.sandiford@arm.com> | |
| PR target/106491 | |
| * config/aarch64/aarch64-sve-builtins.cc (scalar_types) | |
| (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY | |
| markup to (new) extern declarations instead of to the main | |
| definition. | |
| 2022-09-20 Richard Sandiford <richard.sandiford@arm.com> | |
| PR tree-optimization/106794 | |
| PR tree-optimization/106914 | |
| * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost): | |
| Only consider loads that already have a permutation. | |
| (vect_optimize_slp_pass::start_choosing_layouts): Assert that | |
| loads with permutations are leaf nodes. Prevent any kind of grouped | |
| access from changing layout if it doesn't have a load permutation. | |
| 2022-09-20 Richard Sandiford <richard.sandiford@arm.com> | |
| * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict | |
| early-out optimisation to SSA_NAMEs. | |
| 2022-09-20 Martin Liska <mliska@suse.cz> | |
| * ctfc.cc (ctf_add_string): Replace "the the" with "the". | |
| * doc/md.texi: Likewise. | |
| * gimple-range-infer.cc (non_null_loadstore): Likewise. | |
| 2022-09-20 liuhongt <hongtao.liu@intel.com> | |
| PR target/106910 | |
| * config/i386/mmx.md (nearbyintv2sf2): New expander. | |
| (rintv2sf2): Ditto. | |
| (ceilv2sf2): Ditto. | |
| (lceilv2sfv2si2): Ditto. | |
| (floorv2sf2): Ditto. | |
| (lfloorv2sfv2si2): Ditto. | |
| (btruncv2sf2): Ditto. | |
| (lrintv2sfv2si2): Ditto. | |
| (roundv2sf2): Ditto. | |
| (lroundv2sfv2si2): Ditto. | |
| (*mmx_roundv2sf2): New define_insn. | |
| 2022-09-20 konglin1 <lingling.kong@intel.com> | |
| PR middle-end/105735 | |
| * tree-scalar-evolution.cc | |
| (analyze_and_compute_bitop_with_inv_effect): New function. | |
| (final_value_replacement_loop): Enhanced to handle bitop | |
| with inv induction. | |
| 2022-09-20 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For | |
| -static-pie, pass -static -pie --no-dynamic-linker -z text to | |
| the linker, and do not pass --dynamic-linker. | |
| 2022-09-20 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::flush_denormals_to_zero): New. | |
| (frange::set): Call flush_denormals_to_zero. | |
| * value-range.h (class frange): Add flush_denormals_to_zero. | |
| 2022-09-20 liuhongt <hongtao.liu@intel.com> | |
| * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for | |
| latest Intel processors. | |
| 2022-09-20 konglin1 <lingling.kong@intel.com> | |
| PR target/106887 | |
| * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): | |
| Fixed V16BF mode case. | |
| 2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> | |
| * targhooks.cc (default_zero_call_used_regs): Improve sorry | |
| message. | |
| 2022-09-18 Julian Brown <julian@codesourcery.com> | |
| * gimplify.cc (omp_segregate_mapping_groups): Update comment. | |
| (gimplify_adjust_omp_clauses): Move ATTACH and | |
| ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list | |
| for offloaded OpenMP regions. | |
| 2022-09-18 Jakub Jelinek <jakub@redhat.com> | |
| PR middle-end/106831 | |
| * value-range.cc (frange::singleton_p): Avoid propagating long | |
| doubles that may have multiple representations. | |
| 2022-09-18 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (frange_add_zeros): Replace set_signbit with | |
| union of zero. | |
| * value-query.cc (range_query::get_tree_range): Remove set_signbit | |
| use. | |
| * value-range-pretty-print.cc (vrange_printer::print_frange_prop): | |
| Remove. | |
| (vrange_printer::print_frange_nan): New. | |
| * value-range-pretty-print.h (print_frange_prop): Remove. | |
| (print_frange_nan): New. | |
| * value-range-storage.cc (frange_storage_slot::set_frange): Set | |
| kind and NAN fields. | |
| (frange_storage_slot::get_frange): Restore kind and NAN fields. | |
| * value-range-storage.h (class frange_storage_slot): Add kind and | |
| NAN fields. | |
| * value-range.cc (frange::update_nan): Remove. | |
| (frange::set_signbit): Remove. | |
| (frange::set): Adjust for NAN fields. | |
| (frange::normalize_kind): Remove m_props. | |
| (frange::combine_zeros): New. | |
| (frange::union_nans): New. | |
| (frange::union_): Handle new NAN fields. | |
| (frange::intersect_nans): New. | |
| (frange::intersect): Handle new NAN fields. | |
| (frange::operator=): Same. | |
| (frange::operator==): Same. | |
| (frange::contains_p): Same. | |
| (frange::singleton_p): Remove special case for signed zeros. | |
| (frange::verify_range): Adjust for new NAN fields. | |
| (frange::set_zero): Handle signed zeros. | |
| (frange::set_nonnegative): Same. | |
| (range_tests_nan): Adjust tests. | |
| (range_tests_signed_zeros): Same. | |
| (range_tests_signbit): Same. | |
| (range_tests_floats): Same. | |
| * value-range.h (class fp_prop): Remove. | |
| (FP_PROP_ACCESSOR): Remove. | |
| (class frange_props): Remove | |
| (frange::lower_bound): NANs don't have endpoints. | |
| (frange::upper_bound): Same. | |
| (frange_props::operator==): Remove. | |
| (frange_props::union_): Remove. | |
| (frange_props::intersect): Remove. | |
| (frange::update_nan): New. | |
| (frange::clear_nan): New. | |
| (frange::undefined_p): New. | |
| (frange::set_nan): New. | |
| (frange::known_finite): Adjust for new NAN representation. | |
| (frange::maybe_isnan): Same. | |
| (frange::known_isnan): Same. | |
| (frange::signbit_p): Same. | |
| * gimple-range-fold.cc (range_of_builtin_int_call): Rename | |
| known_signbit_p into signbit_p. | |
| 2022-09-17 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
| * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int) | |
| to prevent warning. | |
| 2022-09-17 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/106958 | |
| * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If | |
| id >= l, cast op to type1, otherwise to pointer_sized_int_node. | |
| If type has pointer type, cast exp to pointer_sized_int_node | |
| even when id < l. | |
| 2022-09-16 liuhongt <hongtao.liu@intel.com> | |
| PR target/106910 | |
| * config/i386/i386-builtins.cc | |
| (ix86_builtin_vectorized_function): Modernized with | |
| corresponding expanders. | |
| * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New | |
| expander. | |
| (floor<mode>2): Ditto. | |
| (lfloor<mode><sseintvecmodelower>2): Ditto. | |
| (ceil<mode>2): Ditto. | |
| (lceil<mode><sseintvecmodelower>2): Ditto. | |
| (btrunc<mode>2): Ditto. | |
| (lround<mode><sseintvecmodelower>2): Ditto. | |
| (exp2<mode>2): Ditto. | |
| 2022-09-15 Joseph Myers <joseph@codesourcery.com> | |
| * ginclude/float.h (INFINITY): Define only if | |
| [__FLT_HAS_INFINITY__]. | |
| 2022-09-15 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106922 | |
| * tree-ssa-pre.cc (translate_vuse_through_block): Only | |
| keep the VUSE if its def dominates PHIBLOCK. | |
| (prune_clobbered_mems): Rewrite logic so we check whether | |
| a value dies in a block when the VUSE def doesn't dominate it. | |
| 2022-09-15 Richard Biener <rguenther@suse.de> | |
| * tree.cc (build_common_tree_nodes): Initialize void_list_node | |
| here. | |
| 2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com> | |
| PR target/106550 | |
| * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli. | |
| 2022-09-14 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (frange_add_zeros): New. | |
| (build_le): Call frange_add_zeros. | |
| (build_ge): Same. | |
| (foperator_equal::op1_range): Same. | |
| (foperator_not_equal::op1_range): Same. | |
| 2022-09-14 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (build_le): Accept frange instead of number. | |
| (build_lt): Same. | |
| (build_ge): Same. | |
| (build_gt): Same. | |
| (foperator_lt::op1_range): Pass full range to build_*. | |
| (foperator_lt::op2_range): Same. | |
| (foperator_le::op1_range): Same. | |
| (foperator_le::op2_range): Same. | |
| (foperator_gt::op1_range): Same. | |
| (foperator_gt::op2_range): Same. | |
| (foperator_ge::op1_range): Same. | |
| (foperator_ge::op2_range): Same. | |
| 2022-09-14 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set): Use set_nan. | |
| * value-range.h (frange::set_nan): Inline code originally in | |
| set(). | |
| 2022-09-14 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (frange_set_nan): Remove. | |
| (build_lt): Use set_nan, update_nan, clear_nan. | |
| (build_gt): Same. | |
| (foperator_equal::op1_range): Same. | |
| (foperator_not_equal::op1_range): Same. | |
| (foperator_lt::op1_range): Same. | |
| (foperator_lt::op2_range): Same. | |
| (foperator_le::op1_range): Same. | |
| (foperator_le::op2_range): Same. | |
| (foperator_gt::op1_range): Same. | |
| (foperator_gt::op2_range): Same. | |
| (foperator_ge::op1_range): Same. | |
| (foperator_ge::op2_range): Same. | |
| (foperator_unordered::op1_range): Same. | |
| (foperator_ordered::op1_range): Same. | |
| * value-query.cc (range_query::get_tree_range): Same. | |
| * value-range.cc (frange::set_nan): Same. | |
| (frange::update_nan): Same. | |
| (frange::union_): Same. | |
| (frange::intersect): Same. | |
| (range_tests_nan): Same. | |
| (range_tests_signed_zeros): Same. | |
| (range_tests_signbit): Same. | |
| (range_tests_floats): Same. | |
| * value-range.h (class frange): Add update_nan and clear_nan. | |
| (frange::set_nan): New. | |
| 2022-09-14 Aldy Hernandez <aldyh@redhat.com> | |
| * value-query.cc (range_query::get_tree_range): Remove check for overflow. | |
| * value-range-pretty-print.cc (vrange_printer::visit): Move read | |
| of type until after undefined_p is checked. | |
| * value-range.cc (frange::set): Remove asserts for REAL_CST. | |
| (frange::contains_p): Tidy up. | |
| (range_tests_nan): Add comment. | |
| * value-range.h (frange::type): Check for undefined_p. | |
| (frange::set_undefined): Remove set of endpoints. | |
| 2022-09-14 Julian Brown <julian@codesourcery.com> | |
| * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after | |
| GOMP_MAP_STRUCT (for reindexing). | |
| (omp_gather_mapping_groups): Reimplement using... | |
| (omp_gather_mapping_groups_1): This new function. Stop processing at | |
| GATHER_SENTINEL. | |
| (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node. | |
| (omp_index_mapping_groups): Reimplement using... | |
| (omp_index_mapping_groups_1): This new function. Handle | |
| REINDEX_SENTINEL. | |
| (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New | |
| functions. | |
| (omp_tsort_mapping_groups_1): Adjust handling of base group being the | |
| same as current group. Use omp_mapped_by_containing_struct. | |
| (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct | |
| and omp_reindex_mapping_groups. Robustify group deletion for reordered | |
| lists. | |
| (gimplify_scan_omp_clauses): Update calls to | |
| omp_build_struct_sibling_lists. | |
| 2022-09-14 Julian Brown <julian@codesourcery.com> | |
| * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS. | |
| (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber. | |
| (insert_struct_comp_map): Refactor function into... | |
| (build_omp_struct_comp_nodes): This new function. Remove list handling | |
| and improve self-documentation. | |
| (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters. Move | |
| code to strip outer parts of address out of function, but strip no-op | |
| conversions. | |
| (omp_mapping_group): Add DELETED field for use during reindexing. | |
| (omp_strip_components_and_deref, omp_strip_indirections): New functions. | |
| (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling. | |
| (omp_gather_mapping_groups): Initialise DELETED field for new groups. | |
| (omp_index_mapping_groups): Notice DELETED groups when (re)indexing. | |
| (omp_siblist_insert_node_after, omp_siblist_move_node_after, | |
| omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New | |
| helper functions. | |
| (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT | |
| node groups for sibling lists. Outlined from gimplify_scan_omp_clauses. | |
| (omp_build_struct_sibling_lists): New function. | |
| (gimplify_scan_omp_clauses): Remove struct_map_to_clause, | |
| struct_seen_clause, struct_deref_set. Call | |
| omp_build_struct_sibling_lists as pre-pass instead of handling sibling | |
| lists in the function's main processing loop. | |
| (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS | |
| handling, unused now. | |
| * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect | |
| struct references, and references to pointers to structs also. | |
| 2022-09-14 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106938 | |
| * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal | |
| edges for all last stmts in a block. Do EH cleanup | |
| only on the last stmt in a block. | |
| 2022-09-14 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/106936 | |
| * value-query.cc (range_query::get_value_range): Remove assert. | |
| 2022-09-14 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
| * config/mips/mips.cc (mips_option_override): Drop unused variable. | |
| 2022-09-14 Julian Brown <julian@codesourcery.com> | |
| * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete | |
| functions. | |
| (omp_tsort_mark): Add enum. | |
| (omp_mapping_group): Add struct. | |
| (debug_mapping_group, omp_get_base_pointer, omp_get_attachment, | |
| omp_group_last, omp_gather_mapping_groups, omp_group_base, | |
| omp_index_mapping_groups, omp_containing_struct, | |
| omp_tsort_mapping_groups_1, omp_tsort_mapping_groups, | |
| omp_segregate_mapping_groups, omp_reorder_mapping_groups): New | |
| functions. | |
| (gimplify_scan_omp_clauses): Call above functions instead of | |
| omp_target_reorder_clauses, unless we've seen an error. | |
| * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't | |
| sorted mapping groups. | |
| 2022-09-14 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/106878 | |
| * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer, | |
| reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless | |
| the second argument is INTEGER_CST, BIT_AND_EXPR. | |
| * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)), | |
| (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for | |
| POINTER_TYPE_P or OFFSET_TYPE. | |
| * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For | |
| pointers cast them to pointer sized integers first. | |
| 2022-09-14 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106934 | |
| * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs | |
| of bitfields. | |
| (maybe_rewrite_mem_ref_base): Likewise. | |
| 2022-09-14 liuhongt <hongtao.liu@intel.com> | |
| PR tree-optimization/106905 | |
| * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return | |
| false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) && | |
| LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0. | |
| 2022-09-13 Roger Sayle <roger@nextmovesoftware.com> | |
| PR target/106877 | |
| * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm | |
| in gcc_assert. | |
| 2022-09-13 Max Filippov <jcmvbkbc@gmail.com> | |
| Revert: | |
| 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P): | |
| New macro definition. | |
| (xtensa_constant_ok_for_cprop_p): | |
| Implement the hook as mentioned above. | |
| 2022-09-13 Kewen Lin <linkw@linux.ibm.com> | |
| PR target/104482 | |
| * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix | |
| the equality check for argument number, and move this hunk ahead. | |
| 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org> | |
| PR target/105485 | |
| * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add | |
| the handling for unresolved overloaded builtin function. | |
| (rs6000_expand_builtin): Likewise. | |
| 2022-09-13 Kewen Lin <linkw@linux.ibm.com> | |
| * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members | |
| m_nstores, m_reduc_factor, m_gather_load and member function | |
| determine_suggested_unroll_factor. | |
| (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores, | |
| m_reduc_factor and m_gather_load. | |
| (rs6000_cost_data::determine_suggested_unroll_factor): New function. | |
| (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor. | |
| * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter. | |
| (rs6000-vect-unroll-issue): Likewise. | |
| (rs6000-vect-unroll-reduc-threshold): Likewise. | |
| * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter. | |
| 2022-09-13 Richard Biener <rguenther@suse.de> | |
| PR middle-end/106909 | |
| * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering | |
| flag of a unreachable call. | |
| 2022-09-13 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106913 | |
| * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set | |
| ft_reachable on EXIT_BLOCK. | |
| 2022-09-13 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use | |
| TARGET_FLOAT instead of TARGET_SIMD. | |
| (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to | |
| TARGET_SIMD. | |
| (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors | |
| in GPRs. | |
| (aarch64_classify_address): Treat little-endian structure moves | |
| like big-endian for TARGET_FLOAT && !TARGET_SIMD. | |
| (aarch64_secondary_memory_needed): New function. | |
| (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors | |
| in the same way as TF, TI and TD. | |
| (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD. | |
| (aarch64_rtx_costs): Likewise. | |
| (aarch64_register_move_cost): Treat a pair of 64-bit vectors | |
| separately from a single 128-bit vector. Handle the cost implied | |
| by aarch64_secondary_memory_needed. | |
| (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to | |
| TARGET_SIMD. | |
| (aarch64_expand_vec_perm_const_1): Likewise. | |
| (TARGET_SECONDARY_MEMORY_NEEDED): New macro. | |
| * config/aarch64/iterators.md (VTX): New iterator. | |
| * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd. | |
| (arch_enabled): Adjust accordingly. | |
| (@aarch64_reload_mov<TX:mode>): Extend to... | |
| (@aarch64_reload_mov<VTX:mode>): ...this. | |
| * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT | |
| rather than TARGET_SIMD. | |
| (movmisalign<mode>): Likewise. | |
| (load_pair<DREG:mode><DREG2:mode>): Likewise. | |
| (vec_store_pair<DREG:mode><DREG2:mode>): Likewise. | |
| (load_pair<VQ:mode><VQ2:mode>): Likewise. | |
| (vec_store_pair<VQ:mode><VQ2:mode>): Likewise. | |
| (@aarch64_split_simd_mov<mode>): Likewise. | |
| (aarch64_get_low<mode>): Likewise. | |
| (aarch64_get_high<mode>): Likewise. | |
| (aarch64_get_half<mode>): Likewise. Canonicalize to a move for | |
| lowpart extracts. | |
| (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than | |
| TARGET_SIMD. Use different w<-w and r<-w instructions for | |
| !TARGET_SIMD. Disable immediate moves for !TARGET_SIMD but | |
| add an alternative specifically for w<-Z. | |
| (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than | |
| TARGET_SIMD. Likewise for the associated define_splits. Disable | |
| FPR moves and immediate moves for !TARGET_SIMD but add an alternative | |
| specifically for w<-Z. | |
| (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than | |
| TARGET_SIMD. Restrict the existing alternatives to TARGET_SIMD | |
| but add a new r<-w one for !TARGET_SIMD. | |
| (*aarch64_get_high<mode>): New pattern. | |
| (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD. | |
| (store_pair_lanes<mode>): Likewise. | |
| (*aarch64_combine_internal<mode>): Likewise. Restrict existing | |
| w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r | |
| alternative for !TARGET_SIMD. | |
| (*aarch64_combine_internal_be<mode>): Likewise. | |
| (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD. | |
| Remove bogus arch attribute. | |
| (*aarch64_combinez_be<mode>): Likewise. | |
| (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than | |
| TARGET_SIMD. | |
| (aarch64_combine<mode>): Likewise. | |
| (aarch64_rev_reglist<mode>): Likewise. | |
| (mov<mode>): Likewise. | |
| (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT && | |
| !TARGET_SIMD, regardless of endianness. Extend associated | |
| define_splits in the same way, both for this pattern and the | |
| ones below. | |
| (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise. Restrict w<-w | |
| alternative to TARGET_SIMD. | |
| (*aarch64_be_movoi): Likewise. | |
| (*aarch64_be_movci): Likewise. | |
| (*aarch64_be_movxi): Likewise. | |
| (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT | |
| && !TARGET_SIMD, regardless of endianness. Restrict w<-w alternative | |
| to TARGET_SIMD for tuples of 128-bit vectors. | |
| (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise. | |
| * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition | |
| from DREG STP peephole. Change TARGET_SIMD to TARGET_FLOAT in | |
| the VQ and VP_2E LDP and STP peepholes. | |
| 2022-09-13 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD | |
| condition. Likewise for the related define_split. Tweak formatting. | |
| 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P): | |
| New macro definition. | |
| (xtensa_constant_ok_for_cprop_p): | |
| Implement the hook as mentioned above. | |
| 2022-09-12 Joseph Myers <joseph@codesourcery.com> | |
| * ginclude/stdatomic.h [defined __STDC_VERSION__ && | |
| __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define. | |
| 2022-09-12 Tobias Burnus <tobias@codesourcery.com> | |
| * config/nvptx/mkoffload.cc (process): Replace a fatal_error by | |
| a warning + not enabling offloading if -misa=sm_30 prevents | |
| reverse offload. | |
| (main): Use tool_name as progname for diagnostic. | |
| * config/gcn/mkoffload.cc (main): Likewise. | |
| 2022-09-12 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set_signbit): Avoid changing sign when | |
| already in the correct sign. | |
| 2022-09-12 Max Filippov <jcmvbkbc@gmail.com> | |
| * config/xtensa/xtensa.cc (xtensa_function_value_regno_p): | |
| Recognize all 4 return registers. | |
| * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition. | |
| * config/xtensa/xtensa.md (untyped_call): New pattern. | |
| 2022-09-12 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/extend.texi (Floating Types): Fix "_float128" typo. | |
| 2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.cc (xtensa_constantsynth): | |
| Add new pattern for the abovementioned case. | |
| 2022-09-10 Akari Takahashi <akaritakahashioss@gmail.com> | |
| Segher Boessenkool <segher@kernel.crashing.org> | |
| * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code. | |
| 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.md: Rewrite the split pattern that performs | |
| the abovementioned process so that insns that overwrite clobbered | |
| register no longer need to be contiguous. | |
| (DSC): Remove as no longer needed. | |
| 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.cc (machine_function): New boolean member as | |
| a flag that controls whether to emit the insns for stack pointer | |
| adjustment inside of the pro/epilogue. | |
| (xtensa_emit_adjust_stack_ptr): New function to share the common | |
| codes and to emit insns if not inhibited. | |
| (xtensa_expand_epilogue): Change to use the function mentioned | |
| above when using the CALL0 ABI. | |
| (xtensa_expand_prologue): Ditto. | |
| And also change to set the inhibit flag used by | |
| xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only | |
| used for its own adjustment. | |
| 2022-09-09 David Malcolm <dmalcolm@redhat.com> | |
| * doc/invoke.texi (Static Analyzer Options): Add | |
| -Wanalyzer-exposure-through-uninit-copy. | |
| 2022-09-09 David Malcolm <dmalcolm@redhat.com> | |
| * Makefile.in (ANALYZER_OBJS): Add | |
| analyzer/known-function-manager.o. | |
| 2022-09-09 Tobias Burnus <tobias@codesourcery.com> | |
| * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member. | |
| (record_id): Store func name without quotes, store dim separately. | |
| (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is | |
| at least sm_35, create '$offload_func_table' global array and init | |
| with reverse-offload function addresses. | |
| * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New | |
| force_public attribute to force .visible. | |
| (nvptx_declare_function_name): For "omp target | |
| device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC. | |
| 2022-09-09 Tobias Burnus <tobias@codesourcery.com> | |
| * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table, | |
| similar to pre-existing .offload_var_table. | |
| 2022-09-09 Joseph Myers <joseph@codesourcery.com> | |
| * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable): | |
| New macro. | |
| 2022-09-09 Kewen Lin <linkw@linux.ibm.com> | |
| PR middle-end/106833 | |
| * tree.cc (verify_opaque_type): New function. | |
| (verify_type): Call verify_opaque_type for OPAQUE_TYPE. | |
| 2022-09-09 Kwok Cheung Yeung <kcy@codesourcery.com> | |
| * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP, | |
| FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins. | |
| * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype. | |
| * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG, | |
| MATH_UNOP_TRIG): New iterators. | |
| (math_unop): New attributes. | |
| (<math_unop><mode>2, <math_unop><mode>2<exec>, | |
| <math_unop><mode>2, <math_unop><mode>2<exec>, | |
| *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn, | |
| ldexp<mode>3, ldexp<mode>3<exec>, | |
| frexp<mode>_exp2, frexp<mode>_mant2, | |
| frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions. | |
| (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders. | |
| * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of | |
| dconst1over2pi. | |
| (gcn_dconst1over2pi): New. | |
| (gcn_builtin_type_index): Add entry for v64df type. | |
| (v64df_type_node): New. | |
| (gcn_init_builtin_types): Initialize v64df_type_node. | |
| (gcn_expand_builtin_1): Expand new builtins to instructions. | |
| (print_operand): Fix assembler output for 1/(2*PI) constant. | |
| * config/gcn/gcn.md (unspec): Add new entries. | |
| 2022-09-09 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106722 | |
| * tree-predcom.cc (ref_at_iteration): Do not associate the | |
| constant part of the offset into the MEM_REF offset | |
| operand, across a non-zero offset. | |
| 2022-09-09 Kito Cheng <kito.cheng@sifive.com> | |
| * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB): | |
| Move forward for cover all all necessary functions for suppress | |
| unused function warnings. | |
| (riscv_multi_lib_check): Move forward, and tweak message to suppress | |
| -Werror=format-diag warning. | |
| 2022-09-09 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106881 | |
| * gimple-predicate-analysis.cc (simple_control_dep_chain): | |
| Add only non-fallthru edges and avoid the same set of edges | |
| as compute_control_dep_chain_pdom does. | |
| 2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
| * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement | |
| of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well. | |
| * doc/tm.texi: Regenerate. | |
| 2022-09-09 Martin Liska <mliska@suse.cz> | |
| * optc-save-gen.awk: Always compare array option values with memcmp. | |
| 2022-09-08 Jonathan Wakely <jwakely@redhat.com> | |
| PR c++/106838 | |
| * doc/extend.texi (Type Traits): Fix requirements. Document | |
| __is_aggregate and __is_final. | |
| 2022-09-08 Tim Lange <mail@tim-lange.me> | |
| PR analyzer/106625 | |
| * doc/invoke.texi: | |
| State that the checker also reasons about symbolic values. | |
| 2022-09-08 Richard Sandiford <richard.sandiford@arm.com> | |
| PR tree-optimization/106886 | |
| * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout): | |
| Fix copying of scalar stmts. | |
| 2022-09-08 Chung-Lin Tang <cltang@codesourcery.com> | |
| * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define. | |
| 2022-09-08 Richard Biener <rguenther@suse.de> | |
| PR middle-end/106870 | |
| * gimple-harden-conditionals.cc (insert_check_and_trap): | |
| Set the control-altering flag on the built IFN_TRAP. | |
| * gimple.cc (gimple_build_builtin_unreachable): Likewise. | |
| * tree-cfg.cc (handle_abnormal_edges): Set the control-altering | |
| flag on the .ABNORMAL_DISPATCHER call. | |
| * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid | |
| resetting the control altering flag for ECF_NORETURN calls. | |
| (cleanup_control_flow_bb): Set the control altering flag on | |
| discovered noreturn calls. | |
| * symtab-thunks.cc (expand_thunk): Set the control altering | |
| flag for the noreturn tailcall case. | |
| * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume | |
| calls. | |
| 2022-09-08 Jakub Jelinek <jakub@redhat.com> | |
| * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument. | |
| Add doacross(sink:omp_cur_iteration-1) support. | |
| (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1]. | |
| Adjust expand_omp_ordered_sink caller. | |
| (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is | |
| non-NULL, set that variable to true at the start of outermost | |
| non-collapsed loop and set it to false at the end of innermost | |
| ordered loop. | |
| (expand_omp_for_generic): If fd->ordered, allocate | |
| 1 + (fd->ordered - fd->collapse) further elements in counts array. | |
| Copy to counts + 2 + fd->ordered the counts of fd->collapse .. | |
| fd->ordered - 1 loop if any. | |
| 2022-09-08 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106881 | |
| * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom): | |
| Add only non-fallthru edges and avoid the same set of edges | |
| as the caller does. | |
| 2022-09-08 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-fold.cc | |
| (fold_using_range::range_of_builtin_int_call): Use fpclassify like API. | |
| * range-op-float.cc (finite_operand_p): Same. | |
| (finite_operands_p): Same. | |
| (foperator_lt::fold_range): Same. | |
| (foperator_le::fold_range): Same. | |
| (foperator_gt::fold_range): Same. | |
| (foperator_ge::fold_range): Same. | |
| (foperator_unordered::fold_range): Same. | |
| (foperator_unordered::op1_range): Same. | |
| (foperator_ordered::fold_range): Same. | |
| * value-range.cc (frange::set_nan): Same. | |
| (frange::set_signbit): Same. | |
| (frange::union_): Same. | |
| (frange::intersect): Same. | |
| (frange::operator==): Same. | |
| (frange::singleton_p): Same. | |
| (frange::verify_range): Same. | |
| (range_tests_nan): Same. | |
| (range_tests_floats): Same. | |
| * value-range.h(frange::known_finite): New. | |
| (frange::maybe_inf): New. | |
| (frange::known_inf): New. | |
| (frange::maybe_nan): New. | |
| (frange::known_nan): New. | |
| (frange::known_signbit): New. | |
| 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * config/darwin-d.cc: Include tm.h. | |
| * config/dragonfly-d.cc: Likewise. | |
| * config/freebsd-d.cc: Remove memmodel.h. | |
| * config/glibc-d.cc: Likewise. | |
| * config/netbsd-d.cc: Include tm.h. | |
| * config/openbsd-d.cc: Likewise. | |
| * config/sol2-d.cc: Likewise. | |
| 2022-09-08 Christophe Lyon <christophe.lyon@arm.com> | |
| * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use | |
| MVE_pred/MVE_constraint instead of mve_imm_7/Ra. | |
| (mve_vqshluq_m_n_s<mode>): Likewise. | |
| (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3 | |
| instead of mve_imm_8/Rb. | |
| (mve_vqrshrunbq_n_s<mode>): Likewise. | |
| (mve_vqrshrntq_n_<supf><mode>): Likewise. | |
| (mve_vqrshruntq_n_s<mode>): Likewise. | |
| (mve_vrshrnbq_n_<supf><mode>): Likewise. | |
| (mve_vrshrntq_n_<supf><mode>): Likewise. | |
| (mve_vqrshrnbq_m_n_<supf><mode>): Likewise. | |
| (mve_vqrshrntq_m_n_<supf><mode>): Likewise. | |
| (mve_vrshrnbq_m_n_<supf><mode>): Likewise. | |
| (mve_vrshrntq_m_n_<supf><mode>): Likewise. | |
| (mve_vqrshrunbq_m_n_s<mode>): Likewise. | |
| (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead | |
| of mve_imm_selective_upto_8/Rg. | |
| (mve_vsriq_m_n_<supf><mode>): Likewise. | |
| 2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com> | |
| * config/rs6000/rs6000.md (splitter for set to and_mask constants): | |
| Use int_reg_operand (instead of int_reg_operand_not_pseudo). | |
| (splitter for multi-insn constant loads): Ditto. | |
| 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de> | |
| * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if | |
| -mvrsave is present. | |
| * config/rs6000/t-rtems: Add -mvrsave multilib variants for | |
| -mcpu=e6500. | |
| 2022-09-07 Martin Liska <mliska@suse.cz> | |
| * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS. | |
| * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it. | |
| * configure: Regenerate. | |
| * config.in: Regenerate. | |
| 2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com> | |
| PR rtl-optimization/105586 | |
| * sched-rgn.cc (save_state_for_fallthru_edge): New function. | |
| (schedule_region): Use it for all blocks. | |
| 2022-09-07 Joseph Myers <joseph@codesourcery.com> | |
| * ginclude/stdalign.h [defined __STDC_VERSION__ && | |
| __STDC_VERSION__ > 201710L]: Disable all content. | |
| * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__ | |
| > 201710L] (bool, true, false): Do not define. | |
| 2022-09-07 Martin Liska <mliska@suse.cz> | |
| PR bootstrap/106855 | |
| * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO. | |
| * config/rs6000/rs6000.cc (rs6000_option_override_internal): | |
| Restore usage of XCOFF_DEBUGGING_INFO. | |
| * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore. | |
| * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for | |
| XCOFF_DEBUGGING_INFO. | |
| (dw2_asm_output_nstring): Likewise. | |
| (USE_LINKONCE_INDIRECT): Likewise. | |
| * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise. | |
| (HAVE_XCOFF_DWARF_EXTRAS): Likewise. | |
| (output_fde): Likewise. | |
| (output_call_frame_info): Likewise. | |
| (have_macinfo): Likewise. | |
| (add_AT_loc_list): Likewise. | |
| (add_AT_view_list): Likewise. | |
| (output_compilation_unit_header): Likewise. | |
| (output_pubnames): Likewise. | |
| (output_aranges): Likewise. | |
| (output_line_info): Likewise. | |
| (output_macinfo): Likewise. | |
| (dwarf2out_finish): Likewise. | |
| (dwarf2out_early_finish): Likewise. | |
| 2022-09-07 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106866 | |
| * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When | |
| we changed cfun->calls_setjmp make sure to purge all | |
| abnormal call edges. | |
| 2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com> | |
| * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of | |
| float LE comparing with zero for fpuv3. | |
| * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2 | |
| features are enabled. | |
| 2022-09-07 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106860 | |
| * tree-ssa-loop-split.cc (split_loop): Find the exit to | |
| latch edge from the loop exit edge instead of from the | |
| latch. Verify we're going to find it. | |
| 2022-09-07 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (dfs_mark_dominating_region): | |
| Adjust to take the region exit source as argument. | |
| (uninit_analysis::init_from_phi_def): Adjust. | |
| (uninit_analysis::init_use_preds): Mark the dominating region | |
| before computing control dependences. | |
| 2022-09-07 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend | |
| w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves | |
| in that case. Extend w<-r to w<-Z. | |
| (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z. | |
| (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not | |
| available. | |
| (define_split): Do not apply the floating-point immediate-to-register | |
| split to zeros, even if MOVI is not available. | |
| 2022-09-07 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64.cc (aarch64_conditional_register_usage): | |
| Disallow use of FPRs in register asms for !TARGET_FLOAT. | |
| 2022-09-07 Lulu Cheng <chenglulu@loongson.cn> | |
| PR target/106828 | |
| * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New. | |
| (TARGET_ASAN_SHADOW_OFFSET): New. | |
| 2022-09-07 Jakub Jelinek <jakub@redhat.com> | |
| * doc/invoke.texi (-Wno-unicode): Document. | |
| 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com> | |
| * config/rs6000/rs6000.md (const_scalar_int splitter): Remove. | |
| 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com> | |
| * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the | |
| replacements. | |
| 2022-09-07 liuhongt <hongtao.liu@intel.com> | |
| PR tree-optimization/103144 | |
| * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function. | |
| (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function. | |
| (vect_create_nonlinear_iv_init): New function. | |
| (vect_peel_nonlinear_iv_init): Ditto. | |
| (vect_create_nonlinear_iv_step): Ditto | |
| (vect_create_nonlinear_iv_vec_step): Ditto | |
| (vect_update_nonlinear_iv): Ditto | |
| (vectorizable_nonlinear_induction): Ditto. | |
| (vectorizable_induction): Call | |
| vectorizable_nonlinear_induction when induction_type is not | |
| vect_step_op_add. | |
| * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): | |
| Update nonlinear iv for epilogue loop. | |
| * tree-vectorizer.h (enum vect_induction_op_type): New enum. | |
| (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro. | |
| 2022-09-06 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106754 | |
| * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom): | |
| New function, split out from compute_control_dep_chain. Handle | |
| loop-exit like conditions here by pushing to the control vector. | |
| (compute_control_dep_chain): Adjust and streamline dumping. | |
| In the wrapper perform a post-dominator walk as well. | |
| (uninit_analysis::init_use_preds): Remove premature early exit. | |
| 2022-09-06 Max Filippov <jcmvbkbc@gmail.com> | |
| * config/xtensa/linux.h (LINK_SPEC): Add static-pie. | |
| 2022-09-06 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (build_le): Handle NANs and going past infinity. | |
| (build_lt): Same. | |
| (build_ge): Same. | |
| (build_gt): Same. | |
| (foperator_lt::op1_range): Avoid adjustments to range if build_* | |
| returned false. | |
| (foperator_lt::op2_range): Same. | |
| (foperator_le::op1_range): Same. | |
| (foperator_le::op2_range): Same. | |
| (foperator_gt::op1_range): Same. | |
| (foperator_gt::op2_range): Same. | |
| 2022-09-06 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (compute_control_dep_chain): | |
| Add output flag to indicate whether we possibly have dropped | |
| any chains. Return whether the info is complete from the | |
| wrapping overload. | |
| (uninit_analysis::init_use_preds): Adjust accordingly, with | |
| a workaround for PR106754. | |
| (uninit_analysis::init_from_phi_def): Properly guard the | |
| case where we complete an empty chain. | |
| 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
| * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument. | |
| 2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
| * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector | |
| type with same element type as arg0, and length as op2. | |
| 2022-09-06 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106844 | |
| * gimple-predicate-analysis.cc (compute_control_dep_chain): | |
| Return whether we found a chain. | |
| 2022-09-06 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106841 | |
| * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process | |
| scatter/gather offset. | |
| 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
| * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void). | |
| 2022-09-06 Jakub Jelinek <jakub@redhat.com> | |
| * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator. | |
| (gimple_omp_subcode): Use GIMPLE_OMP_ORDERED instead of | |
| GIMPLE_OMP_TEAMS as upper bound. | |
| (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New | |
| inline functions. | |
| * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with | |
| NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause. | |
| (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED | |
| with NULL OMP_ORDERED_BODY. | |
| * omp-low.cc (check_omp_nesting_restrictions): Use | |
| gimple_omp_ordered_standalone_p test instead of | |
| omp_find_clause (..., OMP_CLAUSE_DOACROSS). | |
| (lower_omp_ordered): Likewise. | |
| * omp-expand.cc (expand_omp, build_omp_regions_1, | |
| omp_make_gimple_edges): Likewise. | |
| 2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com> | |
| * config/csky/csky.md (cskyv2_addcc): Fix missing operand. | |
| (cskyv2_addcc_invert): Likewise. | |
| 2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com> | |
| * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic | |
| `insn'. | |
| (bpf_expand_epilogue): Likewise. | |
| 2022-09-06 liuhongt <hongtao.liu@intel.com> | |
| * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512): | |
| Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae. | |
| * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to .. | |
| (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this. | |
| (avx512f_vcvtps2ph512_mask_sae): New expander | |
| 2022-09-05 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-fold.cc | |
| (fold_using_range::range_of_builtin_int_call): Ignore sign bit | |
| when there's the possibility of a NAN. | |
| 2022-09-05 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-fold.cc | |
| (fold_using_range::range_of_builtin_int_call): Fold a set signbit | |
| in __builtin_signbit to nonzero. | |
| 2022-09-05 Alexander Monakov <amonakov@ispras.ru> | |
| PR target/106453 | |
| * config/i386/i386.md (sse4_2_crc32di): Model that only low 32 | |
| bits of operand 0 are consumed, and the result is zero-extended | |
| to 64 bits. | |
| 2022-09-05 Aldy Hernandez <aldyh@redhat.com> | |
| PR middle-end/106831 | |
| * value-range.h (frange::supports_p): Disable decimal floats. | |
| * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P | |
| check. | |
| (frange_drop_ninf): Same. | |
| 2022-09-05 Aldy Hernandez <aldyh@redhat.com> | |
| PR middle-end/106824 | |
| * value-range.cc (frange::set_nan): Set undefined when updating a | |
| NAN to a non-NAN. | |
| 2022-09-05 Kito Cheng <kito.cheng@sifive.com> | |
| * config/riscv/riscv.cc (riscv_option_override): Fix wrong | |
| condition for MASK_DIV and simplify incompatible checking. | |
| * config/riscv/riscv.md (muldi3): Adding parentheses. | |
| 2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch | |
| string is a valid -mcpu string and emit hint. | |
| 2022-09-05 LiaoShihua <shihua@iscas.ac.cn> | |
| * common/config/riscv/riscv-common.cc: Add Zmmul. | |
| * config/riscv/riscv-opts.h (MASK_ZMMUL): New. | |
| (TARGET_ZMMUL): Ditto. | |
| * config/riscv/riscv.cc (riscv_option_override):Ditto. | |
| * config/riscv/riscv.md: Add Zmmul | |
| * config/riscv/riscv.opt: Ditto. | |
| 2022-09-05 Richard Biener <rguenther@suse.de> | |
| * tree-cfg.h (get_cases_for_edge): Declare. | |
| * tree-cfg.cc (get_cases_for_edge): Export. | |
| * tree-ssa-uninit.cc (execute_late_warn_uninitialized): | |
| Start and end recording case labels. | |
| * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove. | |
| (predicate::init_from_control_deps): Use get_cases_for_edge. | |
| 2022-09-05 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove. | |
| (compute_control_dep_chain): Move uninit-control-dep-attempts | |
| checking where it also counts the post-dominator check | |
| invocations. | |
| 2022-09-05 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.h (predicate::debug): New. | |
| (predicate::dump): Add FILE * argument, add base overload. | |
| * gimple-predicate-analysis.cc (debug): New. | |
| (dump_pred_info): Add FILE * argument. | |
| (dump_pred_chain): Likewise. | |
| (predicate::dump): Split out preamble into overload. Add | |
| FILE * argument. | |
| (predicate::debug): New. | |
| (predicate::simplify): Adjust. | |
| (predicate::normalize): Likewise. | |
| (predicate::init_from_control_deps): Likewise. | |
| 2022-09-05 Richard Sandiford <richard.sandiford@arm.com> | |
| * config/aarch64/aarch64-protos.h | |
| (aarch64_init_simd_builtins): Remove prototype. | |
| * config/aarch64/aarch64-builtins.cc | |
| (aarch64_simd_builtins_initialized_p): Delete. | |
| (aarch64_init_simd_builtins): Make static. Remove protection | |
| against multiple calls. | |
| * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove | |
| lazy SIMD builtin initialization. | |
| * config/aarch64/aarch64.cc | |
| (aarch64_option_valid_attribute_p): Likewise. | |
| 2022-09-05 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/genopts/loongarch.opt.in: Add | |
| -mdirect-extern-access option. | |
| * config/loongarch/loongarch.opt: Regenerate. | |
| * config/loongarch/loongarch.cc | |
| (loongarch_symbol_binds_local_p): Return true if | |
| TARGET_DIRECT_EXTERN_ACCESS. | |
| (loongarch_option_override_internal): Complain if | |
| -mdirect-extern-access is used with -fPIC or -fpic. | |
| * doc/invoke.texi: Document -mdirect-extern-access for | |
| LoongArch. | |
| 2022-09-05 Martin Liska <mliska@suse.cz> | |
| * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to | |
| DEBUGGER_REGNO. | |
| * doc/tm.texi: Regenerate. | |
| 2022-09-05 Martin Liska <mliska@suse.cz> | |
| * config/aarch64/aarch64-protos.h (aarch64_dbx_regno): | |
| Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO. | |
| (aarch64_debugger_regno): Likewise. | |
| * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise. | |
| (aarch64_debugger_regno): Likewise. | |
| * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| (DWARF_FRAME_REGNUM): Likewise. | |
| * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise. | |
| * config/arc/arc.cc (arc_init_reg_tables): Likewise. | |
| * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/arm/arm-protos.h (arm_dbx_regno): Likewise. | |
| (arm_debugger_regno): Likewise. | |
| * config/arm/arm.cc (arm_dbx_regno): Likewise. | |
| (arm_debugger_regno): Likewise. | |
| * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/c6x/c6x.cc: Likewise. | |
| * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/cris/cris.h (enum reg_class): Likewise. | |
| (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/csky/csky.cc (enum reg_class): Likewise. | |
| * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise. | |
| (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/gcn/gcn.cc (print_operand): Likewise. | |
| * config/i386/bsd.h (ASM_QUAD): Likewise. | |
| * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| (DWARF_FRAME_REGNUM): Likewise. | |
| * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/gas.h: Likewise. | |
| * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/i386.cc (enum reg_class): Likewise. | |
| * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise. | |
| (ia64_debugger_regno): Likewise. | |
| * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise. | |
| (ia64_dbx_regno): Likewise. | |
| (ia64_debugger_regno): Likewise. | |
| (process_cfa_adjust_cfa): Likewise. | |
| (process_cfa_register): Likewise. | |
| (ia64_asm_unwind_emit): Likewise. | |
| * config/ia64/ia64.h: Likewise. | |
| * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise. | |
| * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| (__transfer_from_trampoline): Likewise. | |
| * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise. | |
| (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/microblaze/microblaze.cc (microblaze_option_override): Likewise. | |
| * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| (GP_DBX_FIRST): Likewise. | |
| (GP_DEBUGGER_FIRST): Likewise. | |
| * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise. | |
| (mmix_debugger_regno): Likewise. | |
| * config/mmix/mmix.cc (mmix_dbx_regno): Likewise. | |
| (mmix_debugger_regno): Likewise. | |
| * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise. | |
| (nds32_debugger_regno): Likewise. | |
| * config/nds32/nds32.cc (nds32_dbx_regno): Likewise. | |
| (nds32_debugger_regno): Likewise. | |
| (nds32_use_blocks_for_constant_p): Likewise. | |
| * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise. | |
| (rs6000_debugger_regno): Likewise. | |
| * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise. | |
| (rs6000_debugger_regno): Likewise. | |
| * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| (DWARF2_FRAME_REG_OUT): Likewise. | |
| * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| (SH_DBX_REGISTER_NUMBER): Likewise. | |
| (SH_DEBUGGER_REGNO): Likewise. | |
| * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise. | |
| (xtensa_debugger_regno): Likewise. | |
| * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise. | |
| (xtensa_debugger_regno): Likewise. | |
| * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| * defaults.h (DBX_REGISTER_NUMBER): Likewise. | |
| (DEBUGGER_REGNO): Likewise. | |
| (DWARF_FRAME_REGNUM): Likewise. | |
| * doc/tm.texi: Likewise. | |
| * doc/tm.texi.in: Likewise. | |
| * dwarf2out.cc (dbx_reg_number): Likewise. | |
| (debugger_reg_number): Likewise. | |
| (reg_loc_descriptor): Likewise. | |
| (multiple_reg_loc_descriptor): Likewise. | |
| (mem_loc_descriptor): Likewise. | |
| * except.cc: Likewise. | |
| 2022-09-05 konglin1 <lingling.kong@intel.com> | |
| PR target/106742 | |
| * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): | |
| Handle V8BF mode. | |
| (expand_vec_perm_broadcast_1): Ditto. | |
| * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode. | |
| (vec_set<mode>_0): Add @ to it. | |
| (@vec_set<mode>_0): Ditto. | |
| (vec_interleave_high<mode><mask_name>): Ditto. | |
| (@vec_interleave_high<mode><mask_name>): Ditto. | |
| (vec_interleave_low<mode><mask_name>): Ditto. | |
| (@vec_interleave_low<mode><mask_name>): Ditto. | |
| * config/i386/subst.md (SUBST_V): Add BF vector mode. | |
| 2022-09-05 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (early_nan_resolve): Remove. | |
| (frange::intersect): Handle NANs. | |
| 2022-09-04 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::union_): Do not drop properties when | |
| unioning a NAN with something else. | |
| (range_tests_signed_zeros): Add tests. | |
| 2022-09-04 Aldy Hernandez <aldyh@redhat.com> | |
| * real.cc (encode_ieee_single): Use real_isdenormal. | |
| (encode_ieee_double): Same. | |
| (encode_ieee_extended): Same. | |
| (encode_ieee_quad): Same. | |
| (encode_ieee_half): Same. | |
| (encode_arm_bfloat_half): Same. | |
| * real.h (real_isdenormal): New. | |
| 2022-09-03 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::singleton_p): Move NAN check to the top. | |
| 2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
| * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments. | |
| 2022-09-03 Jakub Jelinek <jakub@redhat.com> | |
| * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS. | |
| (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE | |
| and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID. | |
| (enum omp_clause_doacross_kind): New type. | |
| (struct tree_omp_clause): Add subcode.doacross_kind member. | |
| * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove. | |
| (OMP_CLAUSE_DOACROSS_KIND): Define. | |
| (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define. | |
| (OMP_CLAUSE_DOACROSS_DEPEND): Define. | |
| (OMP_CLAUSE_ORDERED_DOACROSS): Define. | |
| * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add | |
| OMP_CLAUSE_DOACROSS entries. | |
| * tree-nested.cc (convert_nonlocal_omp_clauses, | |
| convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS. | |
| * tree-pretty-print.cc (dump_omp_clause): Don't handle | |
| OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. Handle | |
| OMP_CLAUSE_DOACROSS. | |
| * gimplify.cc (gimplify_omp_depend): Don't handle | |
| OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. | |
| (gimplify_scan_omp_clauses): Likewise. Handle OMP_CLAUSE_DOACROSS. | |
| (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS. | |
| (find_standalone_omp_ordered): New function. | |
| (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search | |
| body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found, | |
| set OMP_CLAUSE_ORDERED_DOACROSS. | |
| (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or | |
| OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust | |
| diagnostics that presence or absence of ordered clause parameter | |
| is irrelevant. Handle doacross(sink:omp_cur_iteration-1). Use | |
| actual user name of the clause - doacross or depend - in diagnostics. | |
| * omp-general.cc (omp_extract_for_data): Don't set fd->ordered | |
| if !OMP_CLAUSE_ORDERED_DOACROSS (t). If | |
| OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t), | |
| set fd->ordered to -1 and set it after the loop in that case to | |
| fd->collapse. | |
| * omp-low.cc (check_omp_nesting_restrictions): Don't handle | |
| OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check | |
| OMP_CLAUSE_DOACROSS. Use actual user name of the clause - doacross | |
| or depend - in diagnostics. Diagnose mixing of stand-alone and | |
| block associated ordered constructs binding to the same loop. | |
| (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK, | |
| instead handle OMP_CLAUSE_DOACROSS. | |
| (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of | |
| OMP_CLAUSE_DEPEND. | |
| (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and | |
| OMP_CLAUSE_DEPEND_SINK. | |
| * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for | |
| doacross(sink:omp_cur_iteration-1). | |
| (expand_omp_ordered_source_sink): Use | |
| OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of | |
| OMP_CLAUSE_DEPEND_SINK_NEGATIVE. Use actual user name of the clause | |
| - doacross or depend - in diagnostics. | |
| (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of | |
| OMP_CLAUSE_DEPEND. | |
| (build_omp_regions_1): Likewise. | |
| (omp_make_gimple_edges): Likewise. | |
| * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS. | |
| * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise. | |
| * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise. | |
| 2022-09-02 David Malcolm <dmalcolm@redhat.com> | |
| PR c/90885 | |
| * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow. | |
| 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/105659 | |
| * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h. | |
| * config/aarch64/aarch64-d.cc: Include tm_d.h. | |
| * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to | |
| config/aarch64/aarch64-d.h. | |
| (aarch64_d_register_target_info): Likewise. | |
| * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise. | |
| (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. | |
| * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of | |
| tm_p.h. | |
| * config/arm/arm-protos.h (arm_d_target_versions): Move to | |
| config/arm/arm-d.h. | |
| (arm_d_register_target_info): Likewise. | |
| * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise. | |
| (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. | |
| * config/default-d.cc: Remove memmodel.h include. | |
| * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h. | |
| * config/glibc-d.cc: Likewise. | |
| * config/i386/i386-d.cc: Include tm_d.h. | |
| * config/i386/i386-protos.h (ix86_d_target_versions): Move to | |
| config/i386/i386-d.h. | |
| (ix86_d_register_target_info): Likewise. | |
| (ix86_d_has_stdcall_convention): Likewise. | |
| * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise. | |
| (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. | |
| (TARGET_D_HAS_STDCALL_CONVENTION): Likewise. | |
| * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h. | |
| * config/mips/mips-d.cc: Include tm_d.h. | |
| * config/mips/mips-protos.h (mips_d_target_versions): Move to | |
| config/mips/mips-d.h. | |
| (mips_d_register_target_info): Likewise. | |
| * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise. | |
| (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. | |
| * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h. | |
| * config/openbsd-d.cc: Likewise. | |
| * config/pa/pa-d.cc: Include tm_d.h. | |
| * config/pa/pa-protos.h (pa_d_target_versions): Move to | |
| config/pa/pa-d.h. | |
| (pa_d_register_target_info): Likewise. | |
| * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise. | |
| (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. | |
| * config/riscv/riscv-d.cc: Include tm_d.h. | |
| * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to | |
| config/riscv/riscv-d.h. | |
| (riscv_d_register_target_info): Likewise. | |
| * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise. | |
| (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. | |
| * config/rs6000/rs6000-d.cc: Include tm_d.h. | |
| * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to | |
| config/rs6000/rs6000-d.h. | |
| (rs6000_d_register_target_info): Likewise. | |
| * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.: | |
| (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.: | |
| * config/s390/s390-d.cc: Include tm_d.h. | |
| * config/s390/s390-protos.h (s390_d_target_versions): Move to | |
| config/s390/s390-d.h. | |
| (s390_d_register_target_info): Likewise. | |
| * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise. | |
| (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. | |
| * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h. | |
| * config/sparc/sparc-d.cc: Include tm_d.h. | |
| * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to | |
| config/sparc/sparc-d.h. | |
| (sparc_d_register_target_info): Likewise. | |
| * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise. | |
| (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. | |
| * configure: Regenerate. | |
| * configure.ac (tm_d_file): Remove defaults.h. | |
| (tm_d_include_list): Remove options.h and insn-constants.h. | |
| * config/aarch64/aarch64-d.h: New file. | |
| * config/arm/arm-d.h: New file. | |
| * config/i386/i386-d.h: New file. | |
| * config/mips/mips-d.h: New file. | |
| * config/pa/pa-d.h: New file. | |
| * config/riscv/riscv-d.h: New file. | |
| * config/rs6000/rs6000-d.h: New file. | |
| * config/s390/s390-d.h: New file. | |
| * config/sparc/sparc-d.h: New file. | |
| 2022-09-02 Aldy Hernandez <aldyh@redhat.com> | |
| * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf. | |
| (fold_builtin_fpclassify): Same. | |
| * fold-const-call.cc (fold_const_call_cc): Same. | |
| * match.pd: Same. | |
| * omp-low.cc (omp_reduction_init_op): Same. | |
| * realmpfr.cc (real_from_mpfr): Same. | |
| * tree.cc (build_complex_inf): Same. | |
| 2022-09-02 Peter Bergner <bergner@linux.ibm.com> | |
| * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use | |
| NOP_EXPR for MMA pointer casting. | |
| 2022-09-02 Richard Sandiford <richard.sandiford@arm.com> | |
| * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost): | |
| Reduce the fallback cost to 1. Only use it if the number of | |
| input lanes is equal to the number of output lanes. | |
| 2022-09-02 Richard Sandiford <richard.sandiford@arm.com> | |
| PR tree-optimization/106787 | |
| * tree-vect-slp.cc (vect_map_to_instance): New function, split out | |
| from... | |
| (vect_bb_partition_graph_r): ...here. Replace the visited set | |
| with a map from nodes to instances. Ensure that a node only | |
| appears in one partition. | |
| (vect_bb_partition_graph): Update accordingly. | |
| 2022-09-02 Richard Biener <rguenther@suse.de> | |
| * timevar.def (TV_TREE_RPO_VN): New. | |
| * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload. | |
| * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker. | |
| (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN. | |
| (pass_fre::execute): Adjust. | |
| * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust. | |
| 2022-09-02 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106809 | |
| * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have | |
| more than one successor before doing extra work. | |
| 2022-09-02 Kito Cheng <kito.cheng@sifive.com> | |
| * common/config/riscv/riscv-common.cc: Include <vector>. | |
| (struct riscv_multi_lib_info_t): New. | |
| (riscv_subset_list::match_score): Ditto. | |
| (find_last_appear_switch): Ditto. | |
| (prefixed_with): Ditto. | |
| (struct multi_lib_info_t): Ditto. | |
| (riscv_current_arch_str): Ditto. | |
| (riscv_current_abi_str): Ditto. | |
| (riscv_multi_lib_info_t::parse): Ditto. | |
| (riscv_check_cond): Ditto. | |
| (riscv_check_conds): Ditto. | |
| (riscv_compute_multilib): Ditto. | |
| (TARGET_COMPUTE_MULTILIB): Defined. | |
| * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if | |
| doing link. | |
| (RISCV_USE_CUSTOMISED_MULTI_LIB): New. | |
| * config/riscv/riscv.h (riscv_multi_lib_check): New. | |
| (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check. | |
| * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New. | |
| 2022-09-02 Kito Cheng <kito.cheng@sifive.com> | |
| * common/common-target.def (compute_multilib): New. | |
| * common/common-targhooks.h (default_compute_multilib): New. | |
| * common/common-targhooks.cc (default_compute_multilib): New. | |
| * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New. | |
| * doc/tm.texi: Regen. | |
| * gcc.cc: Include common/common-target.h. | |
| (set_multilib_dir) Call targetm_common.compute_multilib. | |
| (SWITCH_LIVE): Move to opts.h. | |
| (SWITCH_FALSE): Ditto. | |
| (SWITCH_IGNORE): Ditto. | |
| (SWITCH_IGNORE_PERMANENTLY): Ditto. | |
| (SWITCH_KEEP_FOR_GCC): Ditto. | |
| (struct switchstr): Ditto. | |
| * opts.h (SWITCH_LIVE): Move from gcc.c. | |
| (SWITCH_FALSE): Ditto. | |
| (SWITCH_IGNORE): Ditto. | |
| (SWITCH_IGNORE_PERMANENTLY): Ditto. | |
| (SWITCH_KEEP_FOR_GCC): Ditto. | |
| (struct switchstr): Ditto. | |
| 2022-09-02 Martin Liska <mliska@suse.cz> | |
| * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable | |
| debugging format. | |
| 2022-09-02 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Remove -gstabs option support, DBX-related | |
| macros and DBX debugging info support. | |
| * collect2.cc (scan_prog_file): Likewise. | |
| * common.opt: Likewise. | |
| * config.gcc: Likewise. | |
| * config.in: Likewise. | |
| * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise. | |
| * config/alpha/alpha.cc: Likewise. | |
| * config/alpha/elf.h (ASM_SPEC): Likewise. | |
| * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise. | |
| * config/darwin.h (DSYMUTIL_SPEC): Likewise. | |
| (ASM_DEBUG_SPEC): Likewise. | |
| (DBX_DEBUGGING_INFO): Likewise. | |
| (DBX_USE_BINCL): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise. | |
| * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| * config/i386/bsd.h (DBX_NO_XREFS): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| * config/i386/gas.h (DBX_NO_XREFS): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| * config/ia64/ia64.h: Likewise. | |
| * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise. | |
| * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise. | |
| * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| (DBX_CONTIN_CHAR): Likewise. | |
| * config/mips/mips.cc (mips_output_filename): Likewise. | |
| (mips_option_override): Likewise. | |
| * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise. | |
| (DBX_DEBUGGING_INFO): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| (DBX_REGISTER_NUMBER): Likewise. | |
| (GP_DBX_FIRST): Likewise. | |
| (FP_DBX_FIRST): Likewise. | |
| (MD_DBX_FIRST): Likewise. | |
| * config/nvptx/nvptx.cc: Likewise. | |
| * config/openbsd.h (DBX_NO_XREFS): Likewise. | |
| * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise. | |
| * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise. | |
| (DBX_USE_BINCL): Likewise. | |
| (DBX_LINES_FUNCTION_RELATIVE): Likewise. | |
| (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise. | |
| * config/pdp11/pdp11.cc: Likewise. | |
| * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise. | |
| (PREFERRED_DEBUGGING_TYPE): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| * config/rs6000/rs6000-builtin.cc: Likewise. | |
| * config/rs6000/rs6000-call.cc: Likewise. | |
| * config/rs6000/rs6000-logue.cc (defined): Likewise. | |
| * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise. | |
| (HAVE_XCOFF_DWARF_EXTRAS): Likewise. | |
| (rs6000_xcoff_declare_function_name): Likewise. | |
| * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise. | |
| (DBX_FUNCTION_FIRST): Likewise. | |
| * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise. | |
| * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise. | |
| * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise. | |
| (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise. | |
| * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise. | |
| * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise. | |
| * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise. | |
| * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise. | |
| * config/vax/vax.cc (vax_file_start): Likewise. | |
| * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise. | |
| (DBX_CONTIN_LENGTH): Likewise. | |
| (DBX_CONTIN_CHAR): Likewise. | |
| (DBX_NO_XREFS): Likewise. | |
| (DBX_STATIC_STAB_DATA_SECTION): Likewise. | |
| * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise. | |
| (XCOFF_DEBUGGING_INFO): Likewise. | |
| * configure: Regenerate. Likewise. | |
| * configure.ac: Likewise. | |
| * debug.h: Likewise. | |
| * doc/install.texi: Likewise. | |
| * doc/invoke.texi: Likewise. | |
| * doc/passes.texi: Likewise. | |
| * doc/tm.texi: Likewise. | |
| * doc/tm.texi.in: Likewise. | |
| * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise. | |
| (dw2_asm_output_nstring): Likewise. | |
| (USE_LINKONCE_INDIRECT): Likewise. | |
| * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise. | |
| (HAVE_XCOFF_DWARF_EXTRAS): Likewise. | |
| (output_fde): Likewise. | |
| (output_call_frame_info): Likewise. | |
| (have_macinfo): Likewise. | |
| (add_AT_loc_list): Likewise. | |
| (add_AT_view_list): Likewise. | |
| (output_compilation_unit_header): Likewise. | |
| (output_pubnames): Likewise. | |
| (output_aranges): Likewise. | |
| (output_line_info): Likewise. | |
| (output_macinfo): Likewise. | |
| (dwarf2out_finish): Likewise. | |
| (dwarf2out_early_finish): Likewise. | |
| * final.cc (final_scan_insn_1): Likewise. | |
| (rest_of_handle_final): Likewise. | |
| * flag-types.h (enum debug_info_type): Likewise. | |
| (DBX_DEBUG): Likewise. | |
| (XCOFF_DEBUG): Likewise. | |
| * function.cc (defined): Likewise. | |
| * gcc.cc (defined): Likewise. | |
| (ASM_DEBUG_SPEC): Likewise. | |
| (ASM_DEBUG_OPTION_SPEC): Likewise. | |
| * opts.cc (common_handle_option): Likewise. | |
| (set_debug_level): Likewise. | |
| * system.h (fancy_abort): Likewise. | |
| * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise. | |
| (TARGET_ASM_DESTRUCTOR): Likewise. | |
| * toplev.cc (defined): Likewise. | |
| * varasm.cc: Likewise. | |
| * config/dbxcoff.h: Removed. | |
| * config/dbxelf.h: Removed. | |
| * dbxout.cc: Removed. | |
| * dbxout.h: Removed. | |
| * gstab.h: Removed. | |
| * stab.def: Removed. | |
| * xcoffout.cc: Removed. | |
| * xcoffout.h: Removed. | |
| 2022-09-02 Simon Rainer <gcc.gnu@vvalter.com> | |
| PR ipa/106627 | |
| * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher): | |
| Set TREE_NOTHROW correctly for dispatcher declaration. | |
| * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher): | |
| Likewise. | |
| 2022-09-01 Tamar Christina <tamar.christina@arm.com> | |
| PR other/106782 | |
| * config/aarch64/aarch64.cc | |
| (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with | |
| HOST_WIDE_INT_PRINT_UNSIGNED. | |
| 2022-09-01 Richard Sandiford <richard.sandiford@arm.com> | |
| * tree-vect-slp.cc (vect_build_slp_tree_2): When building a | |
| VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES | |
| to the number of vector elements, if that's a known constant. | |
| (vect_optimize_slp_pass::is_compatible_layout): Remove associated | |
| comment about zero SLP_TREE_LANES. | |
| (vect_optimize_slp_pass::start_choosing_layouts): Iterate over | |
| all partition members when looking for potential layouts. | |
| Handle existing permutes of fixed-length vectors. | |
| 2022-09-01 Uroš Bizjak <ubizjak@gmail.com> | |
| PR target/106707 | |
| * config/i386/i386.md (moves to/from AX_REG into xchg peephole2): | |
| Do not convert a move pattern where both operands are AX_REG. | |
| 2022-09-01 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (build_le): Convert to dconst*inf. | |
| (build_ge): Same. | |
| * value-range.cc (frange::set_signbit): Same. | |
| (frange::normalize_kind): Same. | |
| (range_tests_floats): Same. | |
| * value-range.h (vrp_val_max): Same. | |
| (vrp_val_min): Same. | |
| (frange::set_varying): Same. | |
| 2022-09-01 Aldy Hernandez <aldyh@redhat.com> | |
| * emit-rtl.cc (init_emit_once): Initialize dconstinf and | |
| dconstninf. | |
| * real.h: Add dconstinf and dconstninf. | |
| 2022-09-01 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (compute_control_dep_chain): | |
| Remove cycle detection, instead avoid walking backedges. | |
| 2022-09-01 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (compute_control_dep_chain): | |
| New wrapping overload. | |
| (uninit_analysis::init_use_preds): Simplify. | |
| (uninit_analysis::init_from_phi_def): Likewise. | |
| 2022-09-01 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-fold.cc | |
| (fold_using_range::range_of_builtin_int_call): Add case for | |
| CFN_BUILT_IN_SIGNBIT. | |
| 2022-09-01 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_equal::op1_range): Do not copy sign | |
| bit. | |
| (foperator_not_equal::op1_range): Same. | |
| * value-query.cc (range_query::get_tree_range): Set sign bit. | |
| * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit. | |
| * value-range.cc (frange::set_signbit): New. | |
| (frange::set): Adjust for sign bit. | |
| (frange::normalize_kind): Same. | |
| (frange::union_): Remove useless comment. | |
| (frange::intersect): Same. | |
| (frange::contains_p): Adjust for sign bit. | |
| (frange::singleton_p): Same. | |
| (frange::verify_range): Same. | |
| (range_tests_signbit): New tests. | |
| (range_tests_floats): Call range_tests_signbit. | |
| * value-range.h (class frange_props): Add signbit | |
| (class frange): Same. | |
| 2022-09-01 Jakub Jelinek <jakub@redhat.com> | |
| PR other/106782 | |
| * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4) | |
| instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0). | |
| * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to | |
| derived types of gimple to gimple * to avoid -Wformat warnings. | |
| * tree-vect-loop-manip.cc (vect_set_loop_condition, | |
| vect_update_ivs_after_vectorizer): Likewise. | |
| * tree-vect-stmts.cc (vectorizable_load): Likewise. | |
| * tree-vect-patterns.cc (vect_split_statement, | |
| vect_recog_mulhs_pattern, vect_recog_average_pattern, | |
| vect_determine_precisions_from_range, | |
| vect_determine_precisions_from_users): Likewise. | |
| * gimple-loop-versioning.cc | |
| (loop_versioning::analyze_term_using_scevs): Likewise. | |
| * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise. | |
| (vect_build_slp_tree): Cast slp_tree to void * to avoid | |
| -Wformat warnings. | |
| (optimize_load_redistribution_1, vect_match_slp_patterns, | |
| vect_build_slp_instance, vect_optimize_slp_pass::materialize, | |
| vect_optimize_slp_pass::dump, vect_slp_convert_to_external, | |
| vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise. | |
| (vect_print_slp_tree): Likewise. Also use | |
| HOST_WIDE_INT_PRINT_UNSIGNED instead of %u. | |
| * tree-vect-loop.cc (vect_determine_vectorization_factor, | |
| vect_analyze_scalar_cycles_1, vect_analyze_loop_operations, | |
| vectorizable_induction, vect_transform_loop): Cast pointers to derived | |
| types of gimple to gimple * to avoid -Wformat warnings. | |
| (vect_analyze_loop_2): Cast slp_tree to void * to avoid | |
| -Wformat warnings. | |
| (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED | |
| instead of %d. | |
| * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G | |
| instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node)) | |
| instead of SLP_TREE_DEF_TYPE (node). | |
| 2022-09-01 Jakub Jelinek <jakub@redhat.com> | |
| PR c++/106655 | |
| * doc/invoke.texi (-Winvalid-utf8): Document it. | |
| 2022-09-01 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/106785 | |
| * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS. | |
| (range_tests_floats): Same. | |
| 2022-09-01 konglin1 <lingling.kong@intel.com> | |
| * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR | |
| recognition. | |
| 2022-09-01 Peter Bergner <bergner@linux.ibm.com> | |
| PR target/101322 | |
| * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): | |
| Enforce the use of a valid MMA pointer type. | |
| 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector | |
| registers. | |
| 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int. | |
| (riscv_output_move): Add csrr vlenb assembly. | |
| * config/riscv/riscv.md (move_type): Add csrr vlenb type. | |
| (ext): New attribute. | |
| (ext_enabled): Ditto. | |
| (enabled): Ditto. | |
| 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add | |
| "vr" constraint. | |
| (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint. | |
| (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint. | |
| (vp): Add poly constraint. | |
| 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv.h (enum reg_class): Change vype to vtype. | |
| 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv.cc (riscv_convert_vector_bits): Change | |
| configuration according to TARGET_MIN_VLEN. | |
| * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment. | |
| 2022-08-31 Martin Liska <mliska@suse.cz> | |
| * config.build: Remove deprecated ports. | |
| * config.gcc: Likewise. | |
| * config.host: Likewise. | |
| * configure.ac: Likewise. | |
| * configure: Regenerate. | |
| * config/pa/pa-hpux10.h: Removed. | |
| * config/pa/pa-hpux10.opt: Removed. | |
| * config/pa/t-dce-thr: Removed. | |
| 2022-08-31 Martin Liska <mliska@suse.cz> | |
| * Makefile.in: Always install limits.h and syslimits.h to | |
| include folder. | |
| * configure.ac: Assign STMP_FIXINC blank if | |
| --disable-fixincludes is used. | |
| * configure: Regenerate. | |
| 2022-08-31 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (predicate::init_from_control_deps): | |
| Assert the guard_bb isn't empty and has more than one successor. | |
| Drop appropriate parts of the predicate when an edge fails to | |
| register a predicate. | |
| (predicate::dump): Dump empty predicate as TRUE. | |
| 2022-08-31 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/90994 | |
| * gimple-predicate-analysis.cc (predicate::init_from_control_deps): | |
| Ignore exceptional control flow and skip the edge for the purpose of | |
| predicate generation also for non-calls. | |
| 2022-08-31 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range-storage.cc (frange_storage_slot::set_frange): Save | |
| endpoints. | |
| (frange_storage_slot::get_frange): Restore endpoints. | |
| * value-range-storage.h (class frange_storage_slot): Add endpoint | |
| fields. | |
| 2022-08-31 Martin Liska <mliska@suse.cz> | |
| PR tree-optimization/106789 | |
| * range-op-float.cc (default_frelop_fold_range): Remove the | |
| function. | |
| 2022-08-31 Martin Liska <mliska@suse.cz> | |
| * value-range.h: Add more override keywords. | |
| 2022-08-31 Martin Liska <mliska@suse.cz> | |
| * value-range.h: Add override. | |
| 2022-08-31 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/65244 | |
| * gimple-predicate-analysis.h (predicate::init_from_control_deps): | |
| Add argument to specify whether the predicate is for the USE. | |
| * gimple-predicate-analysis.cc (predicate::init_from_control_deps): | |
| Also include predicates effective fallthru control edges when | |
| the predicate is for the USE. | |
| 2022-08-31 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/73550 | |
| * gimple-predicate-analysis.cc (predicate::init_from_control_deps): | |
| Sanitize debug dumping. Handle case labels with a CASE_HIGH. | |
| (predicate::dump): Adjust for better readability. | |
| 2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| Jakub Jelinek <jakub@redhat.com> | |
| * omp-simd-clone.cc (simd_clone_adjust_return_type, | |
| simd_clone_adjust_argument_types): Use known_eq (veclen, 0U) | |
| instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings. | |
| 2022-08-31 Richard Sandiford <richard.sandiford@arm.com> | |
| * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus | |
| argument. | |
| 2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply | |
| initialize const_vf to 0. | |
| 2022-08-31 Martin Liska <mliska@suse.cz> | |
| * config.gcc: Remove cr16. | |
| 2022-08-30 Martin Jambor <mjambor@suse.cz> | |
| * vec.h (array_slice): Add constructors for non-const reference to | |
| heap vector and pointers to heap vectors. | |
| 2022-08-30 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (early_nan_resolve): Change comment. | |
| (frange::union_): Handle union when one side is a NAN. | |
| (range_tests_nan): Add tests for NAN union. | |
| 2022-08-30 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New. | |
| (gcn_simd_clone_adjust): New. | |
| (gcn_simd_clone_usable): New. | |
| (TARGET_SIMD_CLONE_ADJUST): New. | |
| (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New. | |
| (TARGET_SIMD_CLONE_USABLE): New. | |
| 2022-08-30 Andrew Stubbs <ams@codesourcery.com> | |
| * doc/tm.texi: Regenerate. | |
| * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero | |
| vecsize. | |
| (simd_clone_adjust_argument_types): Likewise. | |
| * target.def (compute_vecsize_and_simdlen): Document the new | |
| vecsize_int and vecsize_float semantics. | |
| 2022-08-30 Richard Sandiford <richard.sandiford@arm.com> | |
| * expmed.cc (store_bit_field_1): Fix byte offset calculation | |
| for undefined structures. | |
| 2022-08-30 Richard Sandiford <richard.sandiford@arm.com> | |
| * params.opt (-param=vect-max-layout-candidates=): New parameter. | |
| * doc/invoke.texi (vect-max-layout-candidates): Document it. | |
| * tree-vectorizer.h (auto_lane_permutation_t): New typedef. | |
| (auto_load_permutation_t): Likewise. | |
| * tree-vect-slp.cc (vect_slp_node_weight): New function. | |
| (slpg_layout_cost): New class. | |
| (slpg_vertex): Replace perm_in and perm_out with partition, | |
| out_degree, weight and out_weight. | |
| (slpg_partition_info, slpg_partition_layout_costs): New classes. | |
| (vect_optimize_slp_pass): Likewise, cannibalizing some part of | |
| the previous vect_optimize_slp. | |
| (vect_optimize_slp): Use it. | |
| 2022-08-30 Richard Sandiford <richard.sandiford@arm.com> | |
| * hash-traits.h (vec_hash_base): New class. | |
| (vec_free_hash_base): Likewise. | |
| 2022-08-30 Richard Sandiford <richard.sandiford@arm.com> | |
| * hash-traits.h (int_hash_base): New struct, split out from... | |
| (int_hash): ...this class, which now inherits from int_hash_base. | |
| * hash-map-traits.h (unbounded_hashmap_traits): Take a template | |
| parameter for the key that provides hash and equality functions. | |
| (unbounded_int_hashmap_traits): Turn into a type alias of | |
| unbounded_hashmap_traits. | |
| 2022-08-30 Richard Sandiford <richard.sandiford@arm.com> | |
| * graphds.cc (graphds_scc): Add a pass-back parameter for the | |
| final node order. | |
| * graphds.h (graphds_scc): Update prototype accordingly. | |
| 2022-08-30 Richard Sandiford <richard.sandiford@arm.com> | |
| * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from... | |
| (vect_transform_slp_perm_load): ...here. Use SLP_TREE_VECTYPE instead | |
| of STMT_VINFO_VECTYPE. | |
| 2022-08-30 Richard Sandiford <richard.sandiford@arm.com> | |
| * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from... | |
| (vectorizable_slp_permutation): ...here. | |
| 2022-08-30 Richard Sandiford <richard.sandiford@arm.com> | |
| * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check | |
| that the requested number of units is interoperable with the requested | |
| prevailing mode. | |
| 2022-08-30 Martin Liska <mliska@suse.cz> | |
| * config.gcc: Remove the port. | |
| * config/m32c/rtems.h: Removed. | |
| 2022-08-30 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/73550 | |
| * gimple-predicate-analysis.cc (predicate::init_from_control_deps): | |
| Do not apply MAX_NUM_CHAINS again. | |
| 2022-08-30 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (format_edge_vec): Dump | |
| both source and destination. | |
| (dump_dep_chains): Remove. | |
| (uninit_analysis::init_use_preds): Remove redundant | |
| dumping of chains. | |
| 2022-08-30 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range-storage.cc (frange_storage_slot::get_frange): Use | |
| frange_nan. | |
| * value-range.cc (frange::set_nan): New. | |
| (frange_nan): Move to header file. | |
| (range_tests_nan): Adjust frange_nan callers to pass type. | |
| New test. | |
| * value-range.h (FRANGE_PROP_ACCESSOR): Remove. | |
| (frange_nan): New. | |
| 2022-08-30 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/67196 | |
| * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded): | |
| Simplify and normalize use prediates before first use. | |
| 2022-08-30 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (dump_pred_chain): Fix | |
| parentizing and AND prepending. | |
| (predicate::dump): Do not dump the GENERIC expanded | |
| predicate, properly parentize and prepend ORs to the | |
| piecewise predicate dump. | |
| (build_pred_expr): Remove. | |
| 2022-08-30 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (finite_operand_p): New. | |
| (build_le): New. | |
| (build_lt): New. | |
| (build_ge): New. | |
| (build_gt): New. | |
| (foperator_equal::fold_range): New implementation with endpoints. | |
| (foperator_equal::op1_range): Same. | |
| (foperator_not_equal::fold_range): Same. | |
| (foperator_not_equal::op1_range): Same. | |
| (foperator_lt::fold_range): Same. | |
| (foperator_lt::op1_range): Same. | |
| (foperator_lt::op2_range): Same. | |
| (foperator_le::fold_range): Same. | |
| (foperator_le::op1_range): Same. | |
| (foperator_le::op2_range): Same. | |
| (foperator_gt::fold_range): Same. | |
| (foperator_gt::op1_range): Same. | |
| (foperator_gt::op2_range): Same. | |
| (foperator_ge::fold_range): Same. | |
| (foperator_ge::op1_range): Same. | |
| (foperator_ge::op2_range): Same. | |
| 2022-08-30 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (frange_set_nan): New. | |
| (frange_drop_inf): New. | |
| (frange_drop_ninf): New. | |
| (foperator_equal::op1_range): Adjust for endpoints. | |
| (foperator_lt::op1_range): Same. | |
| (foperator_lt::op2_range): Same. | |
| (foperator_gt::op1_range): Same. | |
| (foperator_gt::op2_range): Same. | |
| (foperator_unordered::op1_range): Same. | |
| * value-query.cc (range_query::get_tree_range): Same. | |
| * value-range-pretty-print.cc (vrange_printer::visit): Same. | |
| * value-range-storage.cc (frange_storage_slot::get_frange): Same. | |
| * value-range.cc (frange::set): Same. | |
| (frange::normalize_kind): Same. | |
| (frange::union_): Same. | |
| (frange::intersect): Same. | |
| (frange::operator=): Same. | |
| (early_nan_resolve): New. | |
| (frange::contains_p): New. | |
| (frange::singleton_p): New. | |
| (frange::set_nonzero): New. | |
| (frange::nonzero_p): New. | |
| (frange::set_zero): New. | |
| (frange::zero_p): New. | |
| (frange::set_nonnegative): New. | |
| (frange_float): New. | |
| (frange_nan): New. | |
| (range_tests_nan): New. | |
| (range_tests_signed_zeros): New. | |
| (range_tests_floats): New. | |
| (range_tests): New. | |
| * value-range.h (frange::lower_bound): New. | |
| (frange::upper_bound): New. | |
| (vrp_val_min): Use real_inf with a sign instead of negating inf. | |
| (frange::frange): New. | |
| (frange::set_varying): Adjust for endpoints. | |
| (real_max_representable): New. | |
| (real_min_representable): New. | |
| 2022-08-30 Aldy Hernandez <aldyh@redhat.com> | |
| * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant | |
| for real zero. | |
| 2022-08-30 Martin Liska <mliska@suse.cz> | |
| * config/s390/s390.cc (s390_rtx_costs): Use proper type as | |
| argument. | |
| 2022-08-30 Richard Biener <rguenther@suse.de> | |
| * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute | |
| the set of fallthru reachable blocks from function entry | |
| and use that to determine wlims.always_executed. | |
| 2022-08-30 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/56654 | |
| * tree-ssa-uninit.cc (cand_cmp): New. | |
| (find_uninit_use): First process all PHIs and collect candidate | |
| stmts, then sort those after RPO. | |
| (warn_uninitialized_phi): Pass on bb_to_rpo. | |
| (execute_late_warn_uninitialized): Compute and pass on | |
| reverse lookup of RPO number from basic block index. | |
| 2022-08-30 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.h (uninit_analysis::operator()): | |
| Remove. | |
| * gimple-predicate-analysis.cc | |
| (uninit_analysis::collect_phi_def_edges): Use phi_arg_set, | |
| simplify a bit. | |
| * tree-ssa-uninit.cc (defined_args): New global. | |
| (compute_uninit_opnds_pos): Mask with the recorded set | |
| of guarded maybe-uninitialized uses. | |
| (uninit_undef_val_t::operator()): Remove. | |
| (find_uninit_use): Process all PHI uses, recording the | |
| guarded ones and marking the PHI result as uninitialized | |
| consistently. | |
| (warn_uninitialized_phi): Adjust. | |
| (execute_late_warn_uninitialized): Get rid of the PHI worklist | |
| and instead walk the function in RPO order. | |
| * spellcheck.h (best_match::m_best_candidate_len): Initialize. | |
| 2022-08-30 Tamar Christina <tamar.christina@arm.com> | |
| PR tree-optimization/106744 | |
| * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments. | |
| 2022-08-30 Tamar Christina <tamar.christina@arm.com> | |
| * expmed.cc (store_bit_field_1): Initialize regnum to 0. | |
| 2022-08-29 David Faust <david.faust@oracle.com> | |
| PR target/106745 | |
| * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix | |
| computation of index for anonymous members. | |
| 2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com> | |
| * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a | |
| target macro. | |
| 2022-08-29 H.J. Lu <hjl.tools@gmail.com> | |
| PR target/106748 | |
| * config/i386/i386-expand.cc | |
| (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode. | |
| * config/i386/sse.md (V_256H): Add V16BF. | |
| 2022-08-29 Robin Dapp <rdapp@linux.ibm.com> | |
| * config/s390/s390.cc (s390_address_cost): Declare. | |
| (s390_hard_regno_nregs): Declare. | |
| (s390_rtx_costs): Add handling for REG and MEM in SET. | |
| 2022-08-29 Robin Dapp <rdapp@linux.ibm.com> | |
| * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern. | |
| (is_reverse_perm_mask): New function. | |
| (expand_perm_with_rot): Recognize reverse pattern. | |
| (expand_perm_with_vstbrq): New function. | |
| (expand_perm_with_vster): Use vler/vster for element reversal on z15. | |
| (vectorize_vec_perm_const_1): Use. | |
| (s390_vectorize_vec_perm_const): Add expand functions. | |
| * config/s390/vx-builtins.md: Prefer vster over vler. | |
| 2022-08-29 Robin Dapp <rdapp@linux.ibm.com> | |
| * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT. | |
| * config/s390/vector.md: Rewrite patterns to use vec_select. | |
| * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI): | |
| Likewise. | |
| 2022-08-29 Robin Dapp <rdapp@linux.ibm.com> | |
| PR target/100869 | |
| * config/s390/vector.md (@vpdi4_2<mode>): New pattern. | |
| (rotl<mode>3_di): New pattern. | |
| * config/s390/vx-builtins.md: Use vpdi and verll for reversing | |
| elements. | |
| 2022-08-29 Robin Dapp <rdapp@linux.ibm.com> | |
| * config/s390/s390.cc (s390_issue_rate): Add z15. | |
| 2022-08-29 Robin Dapp <rdapp@linux.ibm.com> | |
| * common/config/s390/s390-common.cc: Enable -funroll-loops and | |
| -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY. | |
| * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll | |
| loops larger than 12 instructions. | |
| (s390_override_options_after_change): Set unroll options. | |
| (s390_option_override_internal): Likewise. | |
| * config/s390/s390.opt: Document munroll-only-small-loops. | |
| 2022-08-29 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (is_loop_exit, | |
| find_control_equiv_block): Inline into single caller ... | |
| (uninit_analysis::init_use_preds): ... here and refactor. | |
| 2022-08-29 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (compute_control_dep_chain): | |
| Inline is_loop_exit and refactor, add comment about | |
| loop exits. | |
| 2022-08-29 Kito Cheng <kito.cheng@sifive.com> | |
| * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`; | |
| (riscv_frame_info::reset(void)): New. | |
| (riscv_compute_frame_info): Use riscv_frame_info::reset instead | |
| of memset when clean frame. | |
| 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function. | |
| (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV. | |
| (riscv_address_insns): Add RVV modes condition. | |
| (riscv_binary_cost): Ditto. | |
| (riscv_rtx_costs): Adjust cost for RVV. | |
| (riscv_secondary_memory_needed): Add RVV modes condition. | |
| (riscv_hard_regno_nregs): Add RVV register allocation. | |
| (riscv_hard_regno_mode_ok): Add RVV register allocation. | |
| (riscv_class_max_nregs): Add RVV register allocation. | |
| * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf. | |
| (UNITS_PER_V_REG): New macro. | |
| (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV. | |
| (V_REG_FIRST): New macro. | |
| (V_REG_LAST): Ditto. | |
| (V_REG_NUM): Ditto. | |
| (V_REG_P): Ditto. | |
| (VL_REG_P): Ditto. | |
| (VTYPE_REG_P): Ditto. | |
| (RISCV_DWARF_VL): Ditto. | |
| (RISCV_DWARF_VTYPE): Ditto. | |
| (enum reg_class): Add RVV register types. | |
| (REG_CLASS_CONTENTS): Add RVV register types. | |
| * config/riscv/riscv.md: Add VL/VTYPE register number constants. | |
| 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * config/riscv/riscv.md: Add new type for vector instructions. | |
| 2022-08-28 Peter Bergner <bergner@linux.ibm.com> | |
| PR target/106017 | |
| * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling | |
| of MMA pointer conversions. | |
| 2022-08-27 Xi Ruoyao <xry111@xry111.site> | |
| * config/i386/gcc-auto-profile: Regenerate. | |
| 2022-08-26 Aldy Hernandez <aldyh@redhat.com> | |
| * real.cc (real_iszero): New. | |
| * real.h (real_iszero): New. | |
| 2022-08-26 Aldy Hernandez <aldyh@redhat.com> | |
| * real.cc (real_isinf): New overload. | |
| (real_inf): Add sign argument. | |
| * real.h (real_isinf): New overload. | |
| (real_inf): Add sign argument. | |
| 2022-08-26 Marek Polacek <polacek@redhat.com> | |
| PR c++/81159 | |
| * doc/invoke.texi: Document -Wself-move. | |
| 2022-08-26 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (vrange::set): Set varying. | |
| (vrange::set_nonzero): Same. | |
| (vrange::set_zero): Same. | |
| (vrange::set_nonnegative): Same. | |
| 2022-08-26 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_equal::op1_range): Do not blindly | |
| copy op2 range when honoring signed zeros. | |
| 2022-08-26 Aldy Hernandez <aldyh@redhat.com> | |
| * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always | |
| add newline. | |
| (profitable_path_p): Same. | |
| 2022-08-26 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.h | |
| (uninit_analysis::use_cannot_happen): Remove. | |
| * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove. | |
| (uninit_analysis::use_cannot_happen): Likewise. | |
| (uninit_analysis::is_use_guarded): Do not call | |
| use_cannot_happen. | |
| (dump_predicates): Remove. | |
| (simple_control_dep_chain): Remove edge overload. | |
| 2022-08-26 Tobias Burnus <tobias@codesourcery.com> | |
| * internal-fn.cc (expand_GOMP_TARGET_REV): New. | |
| * internal-fn.def (GOMP_TARGET_REV): New. | |
| * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark | |
| 'omp target device_ancestor_host' as in_other_partition and don't | |
| error if absent. | |
| * omp-low.cc (create_omp_child_function): Mark as 'noclone'. | |
| * omp-expand.cc (expand_omp_target): For reverse offload, remove | |
| sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create | |
| empty-body nohost function. | |
| * omp-offload.cc (execute_omp_device_lower): Handle | |
| IFN_GOMP_TARGET_REV. | |
| (pass_omp_target_link::execute): For ACCEL_COMPILER, don't | |
| nullify fn argument for reverse offload | |
| 2022-08-26 Jakub Jelinek <jakub@redhat.com> | |
| * builtins.def (BUILT_IN_ISSIGNALING): New built-in. | |
| * builtins.cc (expand_builtin_issignaling): New function. | |
| (expand_builtin_signbit): Don't overwrite target. | |
| (expand_builtin): Handle BUILT_IN_ISSIGNALING. | |
| (fold_builtin_classify): Likewise. | |
| (fold_builtin_1): Likewise. | |
| * optabs.def (issignaling_optab): New. | |
| * fold-const-call.cc (fold_const_call_ss): Handle | |
| BUILT_IN_ISSIGNALING. | |
| * config/i386/i386.md (issignalingxf2): New expander. | |
| * doc/extend.texi (__builtin_issignaling): Document. | |
| (__builtin_isinf, __builtin_isnan): Clarify behavior with | |
| -ffinite-math-only. | |
| * doc/md.texi (issignaling<mode>2): Likewise. | |
| 2022-08-26 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/106099 | |
| * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag. | |
| * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of | |
| __builtin_trap to avoid the need of vops. | |
| 2022-08-26 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (dfs_mark_dominating_region): | |
| New helper. | |
| (compute_control_dep_chain): Adjust to honor marked region | |
| if provided. | |
| (uninit_analysis::init_from_phi_def): Pre-mark the dominating | |
| region to improve compute_control_dep_chain walking. | |
| * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder. | |
| 2022-08-26 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc | |
| (uninit_analysis::collect_phi_def_edges): Only expand a | |
| PHI def edge when it is possibly undefined. | |
| 2022-08-26 Martin Liska <mliska@suse.cz> | |
| * doc/extend.texi: Remove cr16 related stuff. | |
| * doc/install.texi: Likewise. | |
| * doc/invoke.texi: Likewise. | |
| * doc/md.texi: Likewise. | |
| * function-tests.cc (test_expansion_to_rtl): Likewise. | |
| * common/config/cr16/cr16-common.cc: Removed. | |
| * config/cr16/constraints.md: Removed. | |
| * config/cr16/cr16-protos.h: Removed. | |
| * config/cr16/cr16.cc: Removed. | |
| * config/cr16/cr16.h: Removed. | |
| * config/cr16/cr16.md: Removed. | |
| * config/cr16/cr16.opt: Removed. | |
| * config/cr16/predicates.md: Removed. | |
| * config/cr16/t-cr16: Removed. | |
| 2022-08-26 liuhongt <hongtao.liu@intel.com> | |
| PR target/106704 | |
| * config/i386/i386-builtin.def (BDESC): Add | |
| CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to | |
| corresponding builtins. | |
| * config/i386/i386.cc (ix86_gimple_fold_builtin): | |
| Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256, | |
| IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2. | |
| 2022-08-25 Marek Polacek <polacek@redhat.com> | |
| * ginclude/stddef.h: Define nullptr_t. | |
| 2022-08-25 Joseph Myers <joseph@codesourcery.com> | |
| * gimplify.cc (gimplify_modify_expr): Convert initialization from | |
| a variable-size CONSTRUCTOR to memset before call to | |
| gimplify_modify_expr_rhs. | |
| 2022-08-25 Jason Merrill <jason@redhat.com> | |
| * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t. | |
| 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com> | |
| PR target/106101 | |
| * config/s390/predicates.md (subreg_register_operand): New | |
| predicate. | |
| * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New | |
| function prototype. | |
| * config/s390/s390.cc (s390_gen_lowpart_subreg): New function. | |
| (s390_expand_insv): Use s390_gen_lowpart_subreg instead of | |
| gen_lowpart. | |
| * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31") | |
| ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise. | |
| ("movstrictqi", "movstricthi", "movstrictsi"): Use the | |
| subreg_register_operand predicate instead of register_operand. | |
| 2022-08-25 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/loongarch-protos.h (loongarch_symbol_type): | |
| Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL. | |
| * config/loongarch/loongarch.cc (loongarch_attribute_table): | |
| New attribute table. | |
| (TARGET_ATTRIBUTE_TABLE): Define the target hook. | |
| (loongarch_handle_model_attribute): New static function. | |
| (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the | |
| model attribute of SYMBOL_REF_DECL into account returning | |
| SYMBOL_PCREL or SYMBOL_PCREL64. | |
| (loongarch_use_anchors_for_symbol_p): New static function. | |
| (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook. | |
| (loongarch_symbol_extreme_p): New static function. | |
| (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64. | |
| (loongarch_symbol_insns): Likewise. | |
| (loongarch_split_symbol_type): Likewise. | |
| (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of | |
| TARGET_CMODEL_EXTREME for PC-relative addressing. | |
| (loongarch_print_operand_reloc): Likewise. | |
| * doc/extend.texi (Variable Attributes): Document new | |
| LoongArch specific attribute. | |
| 2022-08-25 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/loongarch.cc (loongarch_classify_symbol): | |
| Return early if the rtx is not SYMBOL_REF. | |
| 2022-08-25 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106737 | |
| * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not | |
| verify SSA form. | |
| 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn> | |
| PR target/106459 | |
| * config/loongarch/loongarch.cc (loongarch_build_integer): | |
| Use HOST_WIDE_INT. | |
| * config/loongarch/loongarch.h (IMM_REACH): Likewise. | |
| (HWIT_1U): New Defined. | |
| (LU12I_OPERAND): Use HOST_WIDE_INT. | |
| (LU32I_OPERAND): Likewise. | |
| (LU52I_OPERAND): Likewise. | |
| (HWIT_UC_0xFFF): Likwise. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| PR target/106632 | |
| PR target/106588 | |
| * config/riscv/bitmanip.md (*shNadduw): Use n constraint | |
| instead of i. | |
| (*slliuw): Likewise. | |
| (*bexti): Likewise. Also add a check for operands[2] to be less | |
| than the mode bitsize. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| * config/riscv/constraints.md (DbS): New constraint. | |
| (DnS): New constraint. | |
| * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint. | |
| (*bclr<mode>): Likewise. | |
| (*binvi<mode>): Likewise. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| PR target/106586 | |
| * config/riscv/predicates.md (single_bit_mask_operand): | |
| Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi. | |
| (not_single_bit_mask_operand): Likewise. | |
| * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case | |
| 1<<31 for 32bits as it is already handled. | |
| Call trunc_int_for_mode on the upper part after the subtraction. | |
| (riscv_move_integer): Call trunc_int_for_mode before generating | |
| the integer just make sure the constant has been sign extended | |
| corectly. | |
| (riscv_emit_int_compare): Call trunc_int_for_mode after doing the | |
| addition for the new rhs. | |
| * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT, | |
| then mask off the upper 32bits of the HWI as it will be sign extended. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| * config/riscv/constraints.md (DsS): New constraint. | |
| (DsD): New constraint. | |
| * config/riscv/iterators.md (shiftm1c): New iterator. | |
| * config/riscv/bitmanip.md (*bset<mode>_mask): | |
| Use shiftm1c. | |
| (*bset<mode>_1_mask): Likewise. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| * config/riscv/constraints.md (Ds3): New constraint. | |
| * config/riscv/predicates.md (imm123_operand): New predicate. | |
| * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand. | |
| (*shNadduw): Likewise. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| * config/riscv/riscv.cc (riscv_print_operand): | |
| Handle '~'. | |
| (riscv_print_operand_punct_valid_p): New function | |
| (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define. | |
| * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt): | |
| Use %~ instead of conditional the pattern on TARGET_64BIT. | |
| (rotrsi3): Likewise. | |
| (rotlsi3): Likewise. | |
| * config/riscv/riscv.md: Add ~ to the list of modifiers. | |
| (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT. | |
| (subsi3): Likewise. | |
| (negsi2): Likewise. | |
| (mulsi3): Likewise. | |
| (optab>si3/any_div): Likewise. | |
| (*add<mode>hi3): Likewise. | |
| (<optab>si3/any_shift): Likewise. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| * config/riscv/riscv.cc (riscv_print_operand): Make a mention to | |
| keep the list in riscv.md in sync with this list. | |
| * config/riscv/riscv.md: Add list of modifiers as comments. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| * config/riscv/sync.md (any_atomic, atomic_optab): Move to ... | |
| * config/riscv/iterators.md: Here. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| * config/riscv/bitmanip.md | |
| (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna, | |
| tbitmanip_optab, bitmanip_insn, shiftm1): Move to ... | |
| * config/riscv/iterators.md: Here. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| * config/riscv/riscv.md (GPR): Move to new file. | |
| (P, X, BR): Likewise. | |
| (MOVE32, MOVE64, SHORT): Likewise. | |
| (HISI, SUPERQI, SUBX): Likewise. | |
| (ANYI, ANYF, SOFTF): Likewise. | |
| (size, load, default_load): Likewise. | |
| (softload, store, softstore): Likewise. | |
| (reg, fmt, ifmt, amo): Likewise. | |
| (UNITMODE, HALFMODE): Likewise. | |
| (RINT, rint_pattern, rint_rm): Likewise. | |
| (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise. | |
| (any_extend, any_shiftrt, any_shift): Likewise. | |
| (any_bitwise): Likewise. | |
| (any_div, any_mod): Likewise. | |
| (any_gt, any_ge, any_lt, any_le): Likewise. | |
| (u, su): Likewise. | |
| (optab, insn): Likewise. | |
| * config/riscv/iterators.md: New file. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| PR target/106601 | |
| * config/riscv/bitmanip.md (bswaphi2): New pattern. | |
| 2022-08-24 Andrew Pinski <apinski@marvell.com> | |
| PR target/106600 | |
| * config/riscv/bitmanip.md (bswap<mode>2): Remove | |
| condition on TARGET_64BIT as X is already conditional there. | |
| 2022-08-24 Joseph Myers <joseph@codesourcery.com> | |
| * tree.cc (build_real): Give DFP dconst0 the minimum quantum | |
| exponent for the type. | |
| 2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com> | |
| PR target/106733 | |
| * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer | |
| constants as legitimate addresses for functions. | |
| (bpf_small_register_classes_for_mode_p): Define target hook. | |
| 2022-08-24 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc: Move predicate normalization | |
| after the comment documenting it. | |
| 2022-08-24 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.h (predicate): Split out | |
| non-predicate related functionality into .. | |
| (uninit_analysis): .. this new class. | |
| * gimple-predicate-analysis.cc: Refactor into two classes. | |
| * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis. | |
| 2022-08-24 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (predicate::use_cannot_happen): | |
| Do simple_control_dep_chain only up to cd_root, add the PHI | |
| operand edge to the chains like init_from_phi_def does. | |
| (predicate::is_use_guarded): Speedup early out, avoid half-way | |
| initializing the PHI def predicate. | |
| 2022-08-24 Jakub Jelinek <jakub@redhat.com> | |
| PR target/106721 | |
| * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries. | |
| Change V32HF, V16HF and V8HF entries from "f" to "i". | |
| (iptr): Add V32BF, V16BF, V8BF and BF entries. | |
| (i128vldq): Add V16HF and V16BF entries. | |
| (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo, | |
| mask_opernad3 -> mask_operand3. | |
| 2022-08-24 Martin Liska <mliska@suse.cz> | |
| Jørgen Kvalsvik <j@lambda.is> | |
| * gcov.cc (add_line_counts): Add group functions to coverage | |
| summary. | |
| (accumulate_line_counts): Similarly for files. | |
| 2022-08-24 Lulu Cheng <chenglulu@loongson.cn> | |
| * config/loongarch/genopts/loongarch-strings: Support code model medium. | |
| * config/loongarch/genopts/loongarch.opt.in: Likewise. | |
| * config/loongarch/loongarch-def.c: Likewise. | |
| * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise. | |
| (CMODEL_EXTREME): Likewise. | |
| (N_CMODEL_TYPES): Likewise. | |
| (CMODEL_MEDIUM): Likewise. | |
| * config/loongarch/loongarch-opts.cc: Likewise. | |
| * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise. | |
| * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise. | |
| * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): | |
| Tls symbol Loading support medium mode. | |
| (loongarch_legitimize_call_address): When medium mode, make a symbolic | |
| jump with two instructions. | |
| (loongarch_option_override_internal): Support medium. | |
| * config/loongarch/loongarch.md (@pcalau12i<mode>): New template. | |
| (@sibcall_internal_1<mode>): New function call templates added to support | |
| medium mode. | |
| (@sibcall_value_internal_1<mode>): Likewise. | |
| (@sibcall_value_multiple_internal_1<mode>): Likewise. | |
| (@call_internal_1<mode>): Likewise. | |
| (@call_value_internal_1<mode>): Likewise. | |
| (@call_value_multiple_internal_1<mode>): Likewise. | |
| * config/loongarch/loongarch.opt: Support medium. | |
| * config/loongarch/predicates.md: Add processing about medium mode. | |
| * doc/invoke.texi: Document for '-mcmodel=medium'. | |
| 2022-08-24 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (predicate::use_cannot_happen): | |
| Start the compute_control_dep_chain walk from the immediate | |
| dominator of the PHI. | |
| 2022-08-23 H.J. Lu <hjl.tools@gmail.com> | |
| PR target/106714 | |
| * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to | |
| __PTRDIFF_TYPE__. | |
| (_tile_stream_loadd_internal): Likewise. | |
| (_tile_stored_internal): Likewise. | |
| 2022-08-23 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106722 | |
| * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN, | |
| MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ... | |
| * gimple-predicate-analysis.cc: ... here and document. | |
| (simple_control_dep_chain): New function, factored from | |
| predicate::use_cannot_happen. | |
| (predicate::use_cannot_happen): Adjust. | |
| (predicate::predicate): Use simple_control_dep_chain as fallback. | |
| 2022-08-23 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (foperator_equal::op1_range): Set range to | |
| range of op2. | |
| 2022-08-23 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (is_loop_exit): Split out | |
| from ... | |
| (is_non_loop_exit_postdominating): ... here. Remove after | |
| inlining ... | |
| (find_control_equiv_block): ... here. | |
| (compute_control_dep_chain): ... and here. | |
| (predicate::is_use_guarded): Do not excempt loop exits | |
| from short-cutting the case of the use post-dominating the | |
| PHI definition. | |
| 2022-08-23 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/106687 | |
| * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE | |
| for the VREL_GT case as well. | |
| 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> | |
| * config/pru/pru.md (pru_<code>di3): New alternative for | |
| two operands but without earlyclobber. | |
| 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> | |
| * config/pru/pru.md (prumov<mode>, mov<mode>): Add | |
| variants for loading -1 consts. | |
| 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu> | |
| PR target/106564 | |
| * config/pru/constraints.md (Um): New constraint for -1. | |
| (Uf): New constraint for IOR fill-bytes constants. | |
| (Uz): New constraint for AND zero-bytes constants. | |
| * config/pru/predicates.md (const_fillbytes_operand): New | |
| predicate for IOR fill-bytes constants. | |
| (const_zerobytes_operand): New predicate for AND zero-bytes | |
| constants. | |
| * config/pru/pru-protos.h (pru_output_sign_extend): Remove. | |
| (struct pru_byterange): New struct to describe a byte range. | |
| (pru_calc_byterange): New declaration. | |
| * config/pru/pru.cc (pru_rtx_costs): Add penalty for | |
| 64-bit zero-extend. | |
| (pru_output_sign_extend): Remove. | |
| (pru_calc_byterange): New helper function to extract byte | |
| range info from a constant. | |
| (pru_print_operand): Remove 'y' and 'z' print modifiers. | |
| * config/pru/pru.md (zero_extendqidi2): New pattern. | |
| (zero_extendhidi2): New pattern. | |
| (zero_extendsidi2): New pattern. | |
| (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand. | |
| (@pru_ior_fillbytes<mode>): New pattern. | |
| (@pru_and_zerobytes<mode>): New pattern. | |
| (<code>di3): Rewrite as an expand and handle ZERO and FILL | |
| special cases. | |
| (pru_<code>di3): New name for <code>di3. | |
| (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to | |
| handle bit-test for 64-bit registers. | |
| 2022-08-22 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.h (predicate::m_use_expr): Remove. | |
| (predicate::def_expr): Likewise. | |
| (predicate::use_expr): Likewise. | |
| (predicate::expr): Likewise. | |
| * gimple-predicate-analysis.cc (predicate::def_expr): Remove. | |
| (predicate::use_expr): Likewise. | |
| (predicate::expr): Likewise. | |
| (predicate::is_use_guarded): Do not build m_use_expr. | |
| 2022-08-22 Martin Liska <mliska@suse.cz> | |
| PR lto/106700 | |
| * configure.ac: Detect O_NONBLOCK flag for open. | |
| * config.in: Regenerate. | |
| * configure: Regenerate. | |
| * opts-common.cc (jobserver_info::connect): Set is_connected | |
| properly based on O_NONBLOCK. | |
| * opts-jobserver.h (struct jobserver_info): Add is_connected | |
| member variable. | |
| 2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value | |
| and repeat value different. | |
| 2022-08-22 Tobias Burnus <tobias@codesourcery.com> | |
| PR lto/106686 | |
| * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup. | |
| (tool_cleanup): Unlink offload_names. | |
| (compile_offload_image): Take filename argument to set it early. | |
| (compile_images_for_offload_targets): Update call; set | |
| offload_names to NULL after freeing the array. | |
| 2022-08-22 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/105937 | |
| * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs | |
| on backedges. | |
| (execute_late_warn_uninitialized): Mark backedges. | |
| 2022-08-22 Richard Biener <rguenther@suse.de> | |
| * gimple-predicate-analysis.cc (predicate::use_cannot_happen): | |
| If the use is guarded with multiple predicate paths compute | |
| the predicates intersection before going forward. When | |
| compute_control_dep_chain wasn't able to come up with at | |
| least one path from function entry to the PHI edge compute | |
| a conservative sparse path instead. | |
| 2022-08-20 Lulu Cheng <chenglulu@loongson.cn> | |
| * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme. | |
| * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): | |
| Add extreme support for TLS GD and LD types. | |
| (loongarch_legitimize_tls_address): Add extreme support for TLS LE | |
| and IE. | |
| (loongarch_split_symbol): When compiling with -mcmodel=extreme, | |
| the symbol address will be obtained through five instructions. | |
| (loongarch_print_operand_reloc): Add support. | |
| (loongarch_print_operand): Add support. | |
| (loongarch_print_operand_address): Add support. | |
| (loongarch_option_override_internal): Set '-mcmodel=extreme' option | |
| incompatible with '-mno-explicit-relocs'. | |
| * config/loongarch/loongarch.md (@lui_l_hi20<mode>): | |
| Loads bits 12-31 of data into registers. | |
| (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of | |
| the source register. | |
| (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of | |
| the source register. | |
| * config/loongarch/predicates.md: Symbols need to be decomposed | |
| when defining the macro TARGET_CMODEL_EXTREME | |
| * doc/invoke.texi: Modify the description information of cmodel in the document. | |
| Document -W[no-]extreme-plt. | |
| 2022-08-19 Tobias Burnus <tobias@codesourcery.com> | |
| * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to | |
| files_to_cleanup. | |
| * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add | |
| omp_requires_file to temp_files. | |
| * config/nvptx/mkoffload.cc (omp_requires_file): New global static var. | |
| (main): Remove local omp_requires_file var. | |
| (tool_cleanup): Handle omp_requires_file. | |
| 2022-08-19 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-path.cc (path_range_query::path_range_query): | |
| Remove constructor that takes edge. | |
| * gimple-range-path.h (class path_range_query): Same. | |
| * tree-ssa-loop-ch.cc (edge_range_query): New. | |
| (entry_loop_condition_is_static): Call edge_range_query. | |
| 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.h | |
| (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): | |
| Add new register class "ISC_REGS". | |
| * config/xtensa/constraints.md (c): Add new register constraint. | |
| * config/xtensa/xtensa.md (define_constants): Remove "A11_REG". | |
| (sibcall_internal, sibcall_value_internal): | |
| Change to use the new register constraint, and remove two split | |
| patterns for fixups that are no longer needed. | |
| 2022-08-18 Maciej W. Rozycki <macro@embecosm.com> | |
| * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output | |
| pattern formatting. | |
| 2022-08-18 Tim Lange <mail@tim-lange.me> | |
| PR analyzer/106181 | |
| * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic. | |
| 2022-08-18 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-path.cc (path_range_query::path_range_query): Add | |
| various constructors to take a path. | |
| (path_range_query::~path_range_query): Remove m_alloced_ranger. | |
| (path_range_query::range_on_path_entry): Adjust for m_ranger being | |
| a reference. | |
| (path_range_query::set_path): Rename to... | |
| (path_range_query::reset_path): ...this and call compute_ranges. | |
| (path_range_query::ssa_range_in_phi): Adjust for m_ranger | |
| reference. | |
| (path_range_query::range_defined_in_block): Same. | |
| (path_range_query::compute_ranges_in_block): Same. | |
| (path_range_query::adjust_for_non_null_uses): Same. | |
| (path_range_query::compute_exit_dependencies): Use m_path instead | |
| of argument. | |
| (path_range_query::compute_ranges): Remove path argument. | |
| (path_range_query::range_of_stmt): Adjust for m_ranger reference. | |
| (path_range_query::compute_outgoing_relations): Same. | |
| * gimple-range-path.h (class path_range_query): Add various | |
| constructors. | |
| Make compute_ranges and compute_exit_dependencies private. | |
| Rename set_path to reset_path. | |
| Make m_ranger a reference. | |
| Remove m_alloced_ranger. | |
| * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to | |
| path_range_query. | |
| * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a | |
| ranger and instantiate a new path_range_query every time. | |
| (ch_base::copy_headers): Pass ranger instead of path_range_query. | |
| * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver. | |
| (back_threader::~back_threader): Remove m_solver. | |
| (back_threader::find_taken_edge_switch): Adjust for m_ranger | |
| reference. | |
| (back_threader::find_taken_edge_cond): Same. | |
| (back_threader::dump): Remove m_solver. | |
| (back_threader::back_threader): Move verify_marked_backedges | |
| here from the path_range_query constructor. | |
| * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move | |
| some code from compute_ranges_from_state here. | |
| (hybrid_jt_simplifier::compute_ranges_from_state): Rename... | |
| (hybrid_jt_simplifier::compute_exit_dependencies): ...to this. | |
| * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename | |
| compute_ranges_from_state to compute_exit_dependencies. | |
| Remove m_path. | |
| 2022-08-18 Richard Biener <rguenther@suse.de> | |
| PR middle-end/106617 | |
| * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix | |
| guard, disable on GENERIC to not cause quadratic behavior | |
| with the fold-const.cc implementation and the use of ! | |
| 2022-08-18 Andrew Pinski <apinski@marvell.com> | |
| PR gcov-profile/106659 | |
| * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with | |
| INCLUDE_VECTOR. | |
| 2022-08-18 konglin1 <lingling.kong@intel.com> | |
| * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector | |
| BFmode. | |
| (ix86_expand_vector_init_duplicate): Support vector BFmode. | |
| (ix86_expand_vector_init_one_nonzero): Ditto. | |
| (ix86_expand_vector_init_one_var): Ditto. | |
| (ix86_expand_vector_init_concat): Ditto. | |
| (ix86_expand_vector_init_interleave): Ditto. | |
| (ix86_expand_vector_init_general): Ditto. | |
| (ix86_expand_vector_init): Ditto. | |
| (ix86_expand_vector_set_var): Ditto. | |
| (ix86_expand_vector_set): Ditto. | |
| (ix86_expand_vector_extract): Ditto. | |
| * config/i386/i386.cc (classify_argument): Add BF vector modes. | |
| (function_arg_64): Ditto. | |
| (ix86_gimplify_va_arg): Ditto. | |
| (ix86_get_ssemov): Ditto. | |
| * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes. | |
| (VALID_AVX512F_REG_MODE): Ditto. | |
| (host_detect_local_cpu): Ditto. | |
| (VALID_SSE2_REG_MODE): Ditto. | |
| * config/i386/i386.md: Add BF vector modes. | |
| (MODE_SIZE): Ditto. | |
| (ssemodesuffix): Add bf suffix for BF vector modes. | |
| (ssevecmode): Ditto. | |
| * config/i386/sse.md (VMOVE): Adjust for BF vector modes. | |
| (VI12HFBF_AVX512VL): Ditto. | |
| (V_256_512): Ditto. | |
| (VF_AVX512HFBF16): Ditto. | |
| (VF_AVX512BWHFBF16): Ditto. | |
| (VIHFBF): Ditto. | |
| (avx512): Ditto. | |
| (VIHFBF_256): Ditto. | |
| (VIHFBF_AVX512BW): Ditto. | |
| (VI2F_256_512):Ditto. | |
| (V8_128):Ditto. | |
| (V16_256): Ditto. | |
| (V32_512): Ditto. | |
| (sseinsnmode): Ditto. | |
| (sseconstm1): Ditto. | |
| (sseintmodesuffix): New mode_attr. | |
| (avx512fmaskmode): Ditto. | |
| (avx512fmaskmodelower): Ditto. | |
| (ssedoublevecmode): Ditto. | |
| (ssehalfvecmode): Ditto. | |
| (ssehalfvecmodelower): Ditto. | |
| (ssescalarmode): Add vector BFmode mapping. | |
| (ssescalarmodelower): Ditto. | |
| (ssexmmmode): Ditto. | |
| (ternlogsuffix): Ditto. | |
| (ssescalarsize): Ditto. | |
| (sseintprefix): Ditto. | |
| (i128): Ditto. | |
| (xtg_mode): Ditto. | |
| (bcstscalarsuff): Ditto. | |
| (<avx512>_blendm<mode>): New define_insn for BFmode. | |
| (<avx512>_store<mode>_mask): Ditto. | |
| (vcond_mask_<mode><avx512fmaskmodelower>): Ditto. | |
| (vec_set<mode>_0): New define_insn for BF vector set. | |
| (V8BFH_128): New mode_iterator for BFmode. | |
| (avx512fp16_mov<mode>): Ditto. | |
| (vec_set<mode>): New define_insn for BF vector set. | |
| (@vec_extract_hi_<mode>): Ditto. | |
| (@vec_extract_lo_<mode>): Ditto. | |
| (vec_set_hi_<mode>): Ditto. | |
| (vec_set_lo_<mode>): Ditto. | |
| (*vec_extract<mode>_0): New define_insn_and_split for BF | |
| vector extract. | |
| (*vec_extract<mode>): New define_insn. | |
| (VEC_EXTRACT_MODE): Add BF vector modes. | |
| (PINSR_MODE): Add V8BF. | |
| (sse2p4_1): Ditto. | |
| (pinsr_evex_isa): Ditto. | |
| (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support | |
| insert for V8BFmode. | |
| (pbroadcast_evex_isa): Add BF vector modes. | |
| (AVX2_VEC_DUP_MODE): Ditto. | |
| (VEC_INIT_MODE): Ditto. | |
| (VEC_INIT_HALF_MODE): Ditto. | |
| (avx2_pbroadcast<mode>): Adjust to support BF vector mode | |
| broadcast. | |
| (avx2_pbroadcast<mode>_1): Ditto. | |
| (<avx512>_vec_dup<mode>_1): Ditto. | |
| (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>): | |
| Ditto. | |
| 2022-08-18 Martin Liska <mliska@suse.cz> | |
| * configure: Regenerate. | |
| 2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org> | |
| PR target/103109 | |
| * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add. | |
| (<u>madddi4_highpart): New. | |
| (<u>madddi4_highpart_le): New. | |
| 2022-08-18 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-path.cc | |
| (path_range_query::compute_exit_dependencies): Use | |
| gimple_range_ssa_names. | |
| 2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai> | |
| * config/riscv/predicates.md: Adjust runtime invariant. | |
| * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New. | |
| (NUM_POLY_INT_COEFFS): New. | |
| * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust | |
| runtime invariant. | |
| * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls): | |
| Adjust runtime invariant. | |
| * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime | |
| invariant. | |
| (enum riscv_microarchitecture_type): Ditto. | |
| (riscv_valid_offset_p): Ditto. | |
| (riscv_valid_lo_sum_p): Ditto. | |
| (riscv_address_insns): Ditto. | |
| (riscv_load_store_insns): Ditto. | |
| (riscv_legitimize_move): Ditto. | |
| (riscv_binary_cost): Ditto. | |
| (riscv_rtx_costs): Ditto. | |
| (riscv_output_move): Ditto. | |
| (riscv_extend_comparands): Ditto. | |
| (riscv_flatten_aggregate_field): Ditto. | |
| (riscv_get_arg_info): Ditto. | |
| (riscv_pass_by_reference): Ditto. | |
| (riscv_elf_select_rtx_section): Ditto. | |
| (riscv_stack_align): Ditto. | |
| (riscv_compute_frame_info): Ditto. | |
| (riscv_initial_elimination_offset): Ditto. | |
| (riscv_set_return_address): Ditto. | |
| (riscv_for_each_saved_reg): Ditto. | |
| (riscv_first_stack_step): Ditto. | |
| (riscv_expand_prologue): Ditto. | |
| (riscv_expand_epilogue): Ditto. | |
| (riscv_can_use_return_insn): Ditto. | |
| (riscv_secondary_memory_needed): Ditto. | |
| (riscv_hard_regno_nregs): Ditto. | |
| (riscv_convert_vector_bits): New. | |
| (riscv_option_override): Adjust runtime invariant. | |
| (riscv_promote_function_mode): Ditto. | |
| * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New. | |
| (BITS_PER_RISCV_VECTOR): New. | |
| (BYTES_PER_RISCV_VECTOR): New. | |
| * config/riscv/riscv.md: Adjust runtime invariant. | |
| 2022-08-18 Lulu Cheng <chenglulu@loongson.cn> | |
| * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): | |
| Get __tls_get_addr address through got table when disable plt. | |
| 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.cc (xtensa_expand_prologue): | |
| Use an "addmi" machine instruction for updating the stack pointer | |
| rather than addition/subtraction via hard register A9, if the amount | |
| of change satisfies the literal value conditions of that instruction | |
| when the CALL0 ABI is used. | |
| (xtensa_expand_epilogue): Ditto. | |
| And also inhibit the stack pointer addition of constant zero. | |
| 2022-08-17 Roger Sayle <roger@nextmovesoftware.com> | |
| PR target/106640 | |
| * config/i386/i386-features.cc | |
| (timde_scalar_chain::compute_convert_gain): Replace incorrect use | |
| of XINT with INTVAL (XEXP (src, 1)). | |
| 2022-08-17 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-path.cc | |
| (path_range_query::compute_ranges_in_block): Remove | |
| set_root_oracle call. | |
| (path_range_query::compute_ranges): Pass ranger oracle to | |
| reset_path. | |
| * value-relation.cc (path_oracle::reset_path): Set root oracle. | |
| * value-relation.h (path_oracle::reset_path): Add root oracle | |
| argument. | |
| 2022-08-17 Marek Polacek <polacek@redhat.com> | |
| PR c++/89780 | |
| * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle | |
| OPT_Wpessimizing_move and OPT_Wredundant_move. | |
| * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator. | |
| 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
| Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/46539 | |
| * common.opt (static-libquadmath): New option. | |
| * gcc.cc (driver_handle_option): Always accept -static-libquadmath. | |
| * config/darwin.h (LINK_SPEC): Handle -static-libquadmath. | |
| 2022-08-17 Tobias Burnus <tobias@codesourcery.com> | |
| * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic | |
| when filenames come out identically. | |
| 2022-08-17 Tobias Burnus <tobias@codesourcery.com> | |
| PR middle-end/106548 | |
| * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref | |
| for 'simd' linear-step values that are variable. | |
| 2022-08-17 Tobias Burnus <tobias@codesourcery.com> | |
| Chung-Lin Tang <cltang@codesourcery.com> | |
| PR c++/104493 | |
| * gimplify.cc (omp_notice_variable): Call omp_mappable_type | |
| instead of removed langhook. | |
| * omp-general.h (omp_mappable_type): New prototype. | |
| * omp-general.cc (omp_mappable_type): New; moved from ... | |
| * langhooks.cc (lhd_omp_mappable_type): ... here. | |
| * langhooks-def.h (lhd_omp_mappable_type, | |
| LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove. | |
| (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter. | |
| * langhooks.h (struct lang_hooks_for_types): Remove | |
| omp_mappable_type. | |
| 2022-08-17 Christophe Lyon <christophe.lyon@arm.com> | |
| * config.gcc (arm): Define with_float to hard if target name ends | |
| with 'hf'. | |
| 2022-08-17 Richard Biener <rguenther@suse.de> | |
| * tree-ssa-threadbackward.cc | |
| (back_threader_profitability): Split profitable_path_p | |
| into possibly_profitable_path_p and itself, keep state | |
| as new members. | |
| (back_threader::m_profit): Remove. | |
| (back_threader::find_paths): Likewise. | |
| (back_threader::maybe_register_path): Take profitability | |
| instance as parameter. | |
| (back_threader::find_paths_to_names): Likewise. Use | |
| possibly_profitable_path_p and avoid the path range query | |
| when the path is currently too large. | |
| (back_threader::find_paths): Fold into ... | |
| (back_threader::maybe_thread_block): ... this. | |
| (get_gimple_control_stmt): Remove. | |
| (back_threader_profitability::possibly_profitable_path_p): | |
| Split out from profitable_path_p, do early profitability | |
| checks. | |
| (back_threader_profitability::profitable_path_p): Do final | |
| profitability path after the taken edge has been determined. | |
| 2022-08-17 Xi Ruoyao <xry111@xry111.site> | |
| * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern. | |
| (fmin<mode>3): Likewise. | |
| 2022-08-17 Andrew MacLeod <amacleod@redhat.com> | |
| * gimple-range-fold.cc (gimple_range_ssa_names): New. | |
| * gimple-range-fold.h (gimple_range_ssa_names): New prototype. | |
| * gimple-range-gori.cc (range_def_chain::get_def_chain): Move | |
| code to new routine. | |
| 2022-08-16 Martin Liska <mliska@suse.cz> | |
| PR target/106637 | |
| * doc/install.texi: Remove link to www.bullfreeware.com | |
| 2022-08-16 Kito Cheng <kito.cheng@sifive.com> | |
| * common/config/riscv/riscv-common.cc (riscv_implied_info): Add | |
| zfh and zfhmin. | |
| (riscv_ext_version_table): Ditto. | |
| (riscv_ext_flag_table): Ditto. | |
| * config/riscv/riscv-opts.h (MASK_ZFHMIN): New. | |
| (MASK_ZFH): Ditto. | |
| (TARGET_ZFHMIN): Ditto. | |
| (TARGET_ZFH): Ditto. | |
| * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move | |
| for zfh and zfhmin. | |
| (riscv_emit_float_compare): Handle HFmode. | |
| * config/riscv/riscv.md (ANYF): Add HF. | |
| (SOFTF): Add HF. | |
| (load): Ditto. | |
| (store): Ditto. | |
| (truncsfhf2): New. | |
| (truncdfhf2): Ditto. | |
| (extendhfsf2): Ditto. | |
| (extendhfdf2): Ditto. | |
| (*movhf_hardfloat): Ditto. | |
| (*movhf_softfloat): Make sure not ZFHMIN. | |
| * config/riscv/riscv.opt (riscv_zf_subext): New. | |
| 2022-08-16 Kito Cheng <kito.cheng@sifive.com> | |
| * config/riscv/riscv-builtins.cc: include stringpool.h | |
| (riscv_float16_type_node): New. | |
| (riscv_init_builtin_types): Ditto. | |
| (riscv_init_builtins): Call riscv_init_builtin_types. | |
| * config/riscv/riscv-modes.def (HF): New. | |
| * config/riscv/riscv.cc (riscv_output_move): Handle HFmode. | |
| (riscv_mangle_type): New. | |
| (riscv_scalar_mode_supported_p): Ditto. | |
| (riscv_libgcc_floating_mode_supported_p): Ditto. | |
| (riscv_excess_precision): Ditto. | |
| (riscv_floatn_mode): Ditto. | |
| (riscv_init_libfuncs): Ditto. | |
| (TARGET_MANGLE_TYPE): Ditto. | |
| (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto. | |
| (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto. | |
| (TARGET_INIT_LIBFUNCS): Ditto. | |
| (TARGET_C_EXCESS_PRECISION): Ditto. | |
| (TARGET_FLOATN_MODE): Ditto. | |
| * config/riscv/riscv.md (mode): Add HF. | |
| (softload): Add HF. | |
| (softstore): Ditto. | |
| (fmt): Ditto. | |
| (UNITMODE): Ditto. | |
| (movhf): New. | |
| (*movhf_softfloat): New. | |
| 2022-08-16 Richard Biener <rguenther@suse.de> | |
| * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names): | |
| Do not walk further if we are leaving the current loop. | |
| 2022-08-16 Sergei Trofimovich <siarheit@google.com> | |
| PR driver/106624 | |
| * gcc.cc (driver::detect_jobserver): Allocate storage xputenv() | |
| argument using xstrdup(). | |
| 2022-08-16 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-path.cc (path_range_query::import_p): Rename to... | |
| (path_range_query::exit_dependency_p): ...this. | |
| (path_range_query::dump): Rename imports to exit dependencies. | |
| (path_range_query::compute_ranges_in_phis): Same. | |
| (path_range_query::compute_ranges_in_block): Same. | |
| (path_range_query::adjust_for_non_null_uses): Same. | |
| (path_range_query::compute_ranges): Same. | |
| (path_range_query::compute_phi_relations): Same. | |
| (path_range_query::add_to_imports): Rename to... | |
| (path_range_query::add_to_exit_dependencies): ...this. | |
| (path_range_query::compute_imports): Rename to... | |
| (path_range_query::compute_exit_dependencies): ...this. | |
| * gimple-range-path.h (class path_range_query): Rename imports to | |
| exit dependencies. | |
| 2022-08-16 Martin Liska <mliska@suse.cz> | |
| * value-range-storage.h (class obstack_vrange_allocator): Mark | |
| the class as final. | |
| (class ggc_vrange_allocator): Likewise. | |
| 2022-08-16 Martin Liska <mliska@suse.cz> | |
| * value-range-equiv.h (class value_range_equiv): Add virtual | |
| destructor. | |
| * value-range.h: Likewise. | |
| 2022-08-16 Richard Biener <rguenther@suse.de> | |
| PR middle-end/106630 | |
| * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to | |
| narrowing conversions. | |
| 2022-08-16 Martin Liska <mliska@suse.cz> | |
| * value-range-equiv.h (class value_range_equiv): | |
| 2022-08-16 Martin Liska <mliska@suse.cz> | |
| * config/i386/i386-features.h (class general_scalar_chain): Add | |
| final override for a method. | |
| (class timode_scalar_chain): Likewise. | |
| 2022-08-16 Richard Biener <rguenther@suse.de> | |
| * doc/invoke.texi (max-jump-thread-paths): Adjust. | |
| 2022-08-16 Martin Liska <mliska@suse.cz> | |
| * opts-common.cc (jobserver_info::connect): Open fifo | |
| in non-blocking mode. | |
| 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org> | |
| PR target/103353 | |
| * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition | |
| check to preparation statements and add handlings for !TARGET_MMA. | |
| (define_expand movxo): Likewise. | |
| 2022-08-16 Kewen Lin <linkw@linux.ibm.com> | |
| PR tree-optimization/106322 | |
| * tree-vect-stmts.cc (vectorizable_call): Don't allow | |
| vect_emulated_vector_p type for both vectype_in and vectype_out. | |
| 2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * common/config/xtensa/xtensa-common.cc | |
| (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early | |
| for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior. | |
| 2022-08-15 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/106621 | |
| * value-range.cc (irange::set): Check for POLY_INT_CST early. | |
| 2022-08-15 Roger Sayle <roger@nextmovesoftware.com> | |
| * config/i386/i386-features.cc | |
| (timode_scalar_chain::compute_convert_gain): Provide costs for | |
| shifts and rotates. | |
| (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT | |
| and ROTATE just like existing ASHIFT and LSHIFTRT cases. | |
| (timode_scalar_to_vector_candidate_p): Handle all shifts and | |
| rotates by integer constants between 0 and 127. | |
| 2022-08-15 Roger Sayle <roger@nextmovesoftware.com> | |
| * config/i386/i386-features.cc | |
| (timode_scalar_chain::compute_convert_gain): Provide gains for | |
| comparisons against 0/-1, including "*testti" patterns. | |
| 2022-08-15 Roger Sayle <roger@nextmovesoftware.com> | |
| PR tree-optimization/64992 | |
| PR tree-optimization/98956 | |
| * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X | |
| when X is zero_one_valued_p and the shift constant C is valid. | |
| (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X | |
| when X is zero_one_valued_p and the shift constant C is valid. | |
| 2022-08-15 Roger Sayle <roger@nextmovesoftware.com> | |
| Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/71343 | |
| * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the | |
| expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators. | |
| (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C) | |
| to (X^Y)>>C for binary logical operators, AND, IOR and XOR. | |
| 2022-08-15 Richard Biener <rguenther@suse.de> | |
| * gimple-range-path.cc (range_on_path_entry): Just | |
| call range_on_entry. | |
| 2022-08-15 Jakub Jelinek <jakub@redhat.com> | |
| PR rtl-optimization/106590 | |
| * ifcvt.cc (check_for_cc_cmp_clobbers): New function. | |
| (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs | |
| mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any | |
| further conditional moves. | |
| 2022-08-15 konglin1 <lingling.kong@intel.com> | |
| * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type. | |
| * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend. | |
| (ix86_register_bf16_builtin_type): New function. | |
| (ix86_bf16_type_node): New. | |
| (ix86_bf16_ptr_type_node): Ditto. | |
| (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call. | |
| * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode. | |
| (ADJUST_FLOAT_FORMAT): Ditto. | |
| * config/i386/i386.cc (classify_argument): Handle BFmode. | |
| (construct_container): Ditto. | |
| (function_value_32): Return __bf16 by %xmm0. | |
| (function_value_64): Return __bf16 by SSE register. | |
| (ix86_output_ssemov): Handle BFmode. | |
| (ix86_legitimate_constant_p): Disable BFmode constant double. | |
| (ix86_secondary_reload): Require gpr as intermediate register | |
| to store __bf16 from sse register when sse4 is not available. | |
| (ix86_scalar_mode_supported_p): Enable __bf16 under sse2. | |
| (ix86_mangle_type): Add manlging for __bf16 type. | |
| (ix86_invalid_conversion): New function for target hook. | |
| (ix86_invalid_unary_op): Ditto. | |
| (ix86_invalid_binary_op): Ditto. | |
| (TARGET_INVALID_CONVERSION): New define for target hook. | |
| (TARGET_INVALID_UNARY_OP): Ditto. | |
| (TARGET_INVALID_BINARY_OP): Ditto. | |
| * config/i386/i386.h (host_detect_local_cpu): Add BFmode. | |
| * config/i386/i386.md ("mode"): Add BFmode. | |
| (MODE_SIZE): Ditto. | |
| (X87MODEFH): Ditto. | |
| (HFBF): Add new define_mode_iterator. | |
| (*pushhf_rex64): Change for BFmode. | |
| (*push<mode>_rex64): Ditto. | |
| (*pushhf): Ditto. | |
| (*push<mode>): Ditto. | |
| (MODESH): Ditto. | |
| (hfbfconstf): Add new define_mode_attr. | |
| (*mov<mode>_internal): Add BFmode. | |
| 2022-08-13 Roger Sayle <roger@nextmovesoftware.com> | |
| Uroš Bizjak <ubizjak@gmail.com> | |
| * config/i386/predicates.md (const_0_to_255_not_mul_8_operand): | |
| New predicate for values between 0/1 and 255, not multiples of 8. | |
| * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left | |
| shifts by constant bit counts. | |
| (*ashlvti3_internal): New define_insn_and_split that lowers | |
| logical left shifts by constant bit counts, that aren't multiples | |
| of 8, before reload. | |
| (lshrv1ti3): Delay lowering of logical right shifts by constant. | |
| (*lshrv1ti3_internal): New define_insn_and_split that lowers | |
| logical right shifts by constant bit counts, that aren't multiples | |
| of 8, before reload. | |
| (ashrv1ti3):: Delay lowering of arithmetic right shifts by | |
| constant bit counts. | |
| (*ashrv1ti3_internal): New define_insn_and_split that lowers | |
| arithmetic right shifts by constant bit counts before reload. | |
| (rotlv1ti3): Delay lowering of rotate left by constant. | |
| (*rotlv1ti3_internal): New define_insn_and_split that lowers | |
| rotate left by constant bits counts before reload. | |
| (rotrv1ti3): Delay lowering of rotate right by constant. | |
| (*rotrv1ti3_internal): New define_insn_and_split that lowers | |
| rotate right by constant bits counts before reload. | |
| 2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com> | |
| * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options. | |
| 2022-08-12 Jan Hubicka <hubicka@ucw.cz> | |
| PR middle-end/106057 | |
| * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New | |
| function. | |
| (possible_polymorphic_call_targets): Use it. | |
| 2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com> | |
| * tree-ssa-loop.h: Improve comment | |
| 2022-08-12 Jakub Jelinek <jakub@redhat.com> | |
| PR tree-optimization/106506 | |
| * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for | |
| is_cast or orig_use_lhs cases if phi_bb has 3 predecessors. | |
| 2022-08-12 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106593 | |
| * tree-ssa-threadbackward.cc (back_threader::find_paths): | |
| If the imports from the conditional do not satisfy | |
| gimple_range_ssa_p don't try to thread anything. | |
| 2022-08-12 Tamar Christina <tamar.christina@arm.com> | |
| PR target/106524 | |
| * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine, | |
| *fcmuo<mode>_bic_combine): Don't accept comparisons against zero. | |
| 2022-08-12 Tim Lange <mail@tim-lange.me> | |
| PR analyzer/106000 | |
| * doc/invoke.texi: Add Wanalyzer-out-of-bounds. | |
| 2022-08-12 Andrew Pinski <apinski@marvell.com> | |
| * config/aarch64/aarch64.md: Remove comment | |
| about MD_INCLUDES as it is out of date and not needed. | |
| 2022-08-11 Richard Biener <rguenther@suse.de> | |
| * gimple-range-path.cc (path_range_query::compute_imports): | |
| Restrict walking SSA defs to blocks inside the path. Track | |
| the same operands as range_def_chain::get_def_chain does. | |
| 2022-08-11 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106514 | |
| * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names): | |
| Compute and unwind both m_imports and interesting on the fly during | |
| path discovery. | |
| (back_threader::find_paths): Compute the original m_imports | |
| from just the SSA uses of the exit conditional. Drop | |
| handling single_succ_to_potentially_threadable_block. | |
| * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle | |
| constant PHI arguments without crashing. Use PHI_ARG_DEF_FROM_EDGE. | |
| 2022-08-11 Richard Biener <rguenther@suse.de> | |
| * gimple-range-path.h (path_range_query::compute_imports): | |
| Take path as argument, not the exit block. | |
| * gimple-range-path.cc (path_range_query::compute_imports): | |
| Likewise, and adjust, avoiding possibly stale m_path. | |
| (path_range_query::compute_outgoing_relations): Register | |
| relations for all conditionals. | |
| * tree-ssa-threadbackward.cc (back_threader::find_paths): | |
| Adjust. | |
| 2022-08-11 Kewen Lin <linkw@linux.ibm.com> | |
| * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the | |
| oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported. | |
| (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported. | |
| 2022-08-11 Kewen Lin <linkw@linux.ibm.com> | |
| * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p): | |
| Remove function declaration. | |
| 2022-08-10 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106513 | |
| * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t | |
| for head_marker. | |
| 2022-08-10 Martin Liska <mliska@suse.cz> | |
| PR lto/106328 | |
| * opts-jobserver.h (struct jobserver_info): Add pipefd. | |
| (jobserver_info::connect): New. | |
| (jobserver_info::disconnect): Likewise. | |
| (jobserver_info::get_token): Likewise. | |
| (jobserver_info::return_token): Likewise. | |
| * opts-common.cc: Implement the new functions. | |
| 2022-08-10 Martin Liska <mliska@suse.cz> | |
| * opts-jobserver.h: Add one member. | |
| * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO | |
| format of --jobserver-auth. | |
| 2022-08-10 Martin Liska <mliska@suse.cz> | |
| * gcc.cc (driver::detect_jobserver): Remove and move to | |
| jobserver.h. | |
| * lto-wrapper.cc (jobserver_active_p): Likewise. | |
| (run_gcc): Likewise. | |
| * opts-jobserver.h: New file. | |
| * opts-common.cc (jobserver_info::jobserver_info): New function. | |
| 2022-08-09 Roger Sayle <roger@nextmovesoftware.com> | |
| * config/i386/i386-features.cc (scalar_chain::convert_compare): | |
| Create new pseudos only when/if needed. Add support for TEST, | |
| i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST. | |
| When broadcasting V2DImode and V4SImode use new pseudo register. | |
| (timode_scalar_chain::convert_op): Do nothing if operand is | |
| already V1TImode. Avoid generating useless SUBREG conversions, | |
| i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT | |
| in addition to CONST_INT by using CONST_SCALAR_INT_P. | |
| (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both | |
| CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword | |
| pattern as an STV candidate. | |
| (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P | |
| operands in binary logic operations. | |
| * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs | |
| for UNSPEC_PTEST; a PTEST that performs an AND has the same cost | |
| as regular PTEST, i.e. cost->sse_op. | |
| * config/i386/i386.md (*testti_doubleword): New pre-reload | |
| define_insn_and_split that recognizes comparison of TI mode AND | |
| against zero. | |
| * config/i386/sse.md (*ptest<mode>_and): New pre-reload | |
| define_insn_and_split that recognizes UNSPEC_PTEST of identical | |
| AND operands. | |
| 2022-08-09 Roger Sayle <roger@nextmovesoftware.com> | |
| Richard Biener <rguenther@suse.de> | |
| PR middle-end/21137 | |
| PR tree-optimization/98954 | |
| * fold-const.cc (fold_binary_loc): Remove optimizations to | |
| optimize ((X >> C1) & C2) ==/!= 0. | |
| * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz | |
| check, and handle all values of INTEGER_CSTs @2 and @3. | |
| (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz | |
| checks, and handle all values of INTEGER_CSTs @2 and @3. | |
| 2022-08-09 David Malcolm <dmalcolm@redhat.com> | |
| * doc/invoke.texi (Static Analyzer Options): Add notes on which | |
| functions the analyzer has hardcoded knowledge of. | |
| 2022-08-09 Andrew Stubbs <ams@codesourcery.com> | |
| * config/gcn/gcn.cc (gcn_function_value): Allow vector return values. | |
| (num_arg_regs): Allow vector arguments. | |
| (gcn_function_arg): Likewise. | |
| (gcn_function_arg_advance): Likewise. | |
| (gcn_arg_partial_bytes): Likewise. | |
| (gcn_return_in_memory): Likewise. | |
| (gcn_expand_epilogue): Get return value from v8. | |
| * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8. | |
| (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity. | |
| (FIRST_VPARM_REG): New. | |
| (FUNCTION_ARG_REGNO_P): Allow vector parameters. | |
| (struct gcn_args): Add vnum field. | |
| (LIBCALL_VALUE): All vector return values. | |
| * config/gcn/gcn.md (gcn_call_value): Add vector constraints. | |
| (gcn_call_value_indirect): Likewise. | |
| 2022-08-09 Richard Biener <rguenther@suse.de> | |
| * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE | |
| directly. Avoid update_ssa when in SSA form. | |
| (expand_omp_atomic_store): Likewise. | |
| (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA | |
| form. | |
| (expand_omp_atomic_pipeline): Likewise. | |
| (expand_omp_atomic_mutex): Likewise. | |
| * tree-parloops.cc (gen_parallel_loop): Use | |
| TODO_update_ssa_no_phi after loop_version. | |
| 2022-08-09 Richard Biener <rguenther@suse.de> | |
| * doc/invoke.texi (max-fsm-thread-length): Remove. | |
| * params.opt (max-fsm-thread-length): Likewise. | |
| * tree-ssa-threadbackward.cc | |
| (back_threader_profitability::profitable_path_p): Do not | |
| check max-fsm-thread-length. | |
| 2022-08-09 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106514 | |
| * params.opt (max-jump-thread-paths): New. | |
| * doc/invoke.texi (max-jump-thread-paths): Document. | |
| * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names): | |
| Honor max-jump-thread-paths, take overall_path argument. | |
| (back_threader::find_paths): Pass 1 as initial overall_path. | |
| 2022-08-09 Tobias Burnus <tobias@codesourcery.com> | |
| PR middle-end/106492 | |
| * omp-low.cc (lower_rec_input_clauses): Add missing folding | |
| to data type of linear-clause list item. | |
| 2022-08-08 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/106556 | |
| * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the | |
| type of the cond_expr operands being evaluted. | |
| 2022-08-08 Tom Honermann <tom@honermann.net> | |
| * ginclude/stdatomic.h (atomic_char8_t, | |
| ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro. | |
| 2022-08-08 Andrew Pinski <apinski@marvell.com> | |
| PR middle-end/103645 | |
| * gimplify.cc (gimplify_init_constructor): Don't build/add | |
| gimple assignment of an empty type. | |
| 2022-08-08 Richard Biener <rguenther@suse.de> | |
| PR lto/106540 | |
| PR lto/106334 | |
| * dwarf2out.cc (dwarf2out_register_external_die): Restore | |
| original assert. | |
| * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1 | |
| to input DECL_INITIAL, avoiding to commit drefs. | |
| 2022-08-07 Roger Sayle <roger@nextmovesoftware.com> | |
| * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate | |
| for x86_64_hilo_general_operand to general operand. Call | |
| force_reg on parts that are not x86_64_immediate_operand. | |
| 2022-08-05 David Malcolm <dmalcolm@redhat.com> | |
| PR analyzer/105947 | |
| * doc/invoke.texi: Add -Wanalyzer-jump-through-null. | |
| 2022-08-05 Roger Sayle <roger@nextmovesoftware.com> | |
| * expmed.cc (emit_store_flag_1): Move code to expand double word | |
| equality and inequality against zero or -1, using word operations, | |
| to after trying to use the backend's cstore<mode>4 optab/expander. | |
| 2022-08-05 Tamar Christina <tamar.christina@arm.com> | |
| PR middle-end/106534 | |
| * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the | |
| value_replacement and store_elim from diamonds. | |
| 2022-08-05 Richard Biener <rguenther@suse.de> | |
| * tree-ssa-threadbackward.cc (back_threader::maybe_register_path): | |
| Check whether the registry register_path rejected the path. | |
| (back_threader_registry::register_path): Return whether | |
| register_jump_thread succeeded. | |
| 2022-08-05 Aldy Hernandez <aldyh@redhat.com> | |
| PR tree-optimization/106514 | |
| * value-range.cc (unsupported_range::unsupported_range): Move... | |
| * value-range.h (unsupported_range::unsupported_range): ...here. | |
| (unsupported_range::set_undefined): New. | |
| 2022-08-05 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106533 | |
| * tree-loop-distribution.cc (loop_distribution::execute): Continue | |
| analyzing the inner loops when find_seed_stmts_for_distribution | |
| fails. | |
| 2022-08-05 Andrew Pinski <apinski@marvell.com> | |
| * config/riscv/predicates.md (splittable_const_int_operand): | |
| Remove the check for TARGET_64BIT for single bit const values. | |
| 2022-08-04 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/106514 | |
| * gimple-range-path.cc (path_range_query::compute_ranges_in_block): | |
| Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps. | |
| 2022-08-04 Tamar Christina <tamar.christina@arm.com> | |
| * match.pd: New bit_not rule. | |
| 2022-08-04 Tamar Christina <tamar.christina@arm.com> | |
| PR middle-end/106519 | |
| * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for | |
| diamond shapes. | |
| 2022-08-04 Sam Feifer <sfeifer@redhat.com> | |
| PR tree-optimization/106243 | |
| * match.pd (-x & 1): New simplification. | |
| 2022-08-04 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106521 | |
| * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform | |
| CFG cleanup manually before rewriting into LC SSA. | |
| 2022-08-04 Richard Biener <rguenther@suse.de> | |
| * tree-ssa-threadbackward.cc (populate_worklist): Remove. | |
| (back_threader::resolve_phi): Likewise. | |
| (back_threader::find_paths_to_names): Rewrite greedy search. | |
| 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com> | |
| * config/s390/vector.md (V_HW_FT): New iterator. | |
| * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead | |
| of V_HW. | |
| 2022-08-03 Michael Meissner <meissner@linux.ibm.com> | |
| * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code | |
| setting -mblock-ops-vector-pair. | |
| 2022-08-03 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/106514 | |
| * value-relation.cc (path_oracle::killing_def) Do not walk the | |
| equivalence set clearing bits. | |
| 2022-08-03 Tamar Christina <tamar.christina@arm.com> | |
| * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi | |
| sequence of a three-way conditional. | |
| (replace_phi_edge_with_variable): Support diamonds. | |
| (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way | |
| min/max. | |
| (strip_bit_not, invert_minmax_code): New. | |
| 2022-08-03 Richard Earnshaw <rearnsha@arm.com> | |
| PR rtl-optimization/106187 | |
| * alias.h (mems_same_for_tbaa_p): Declare. | |
| * alias.cc (mems_same_for_tbaa_p): New function. | |
| * dse.cc (record_store): Use it instead of open-coding | |
| alias check. | |
| * cselib.h (cselib_redundant_set_p): Declare. | |
| * cselib.cc: Include alias.h | |
| (cselib_redundant_set_p): New function. | |
| * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead | |
| of rtx_equal_for_cselib_p. | |
| * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p. | |
| (reload_cse_noop_set_p): Delete. | |
| 2022-08-03 Martin Liska <mliska@suse.cz> | |
| * doc/gcov-dump.texi: Document the new option. | |
| * gcov-dump.cc (main): Parse the new option. | |
| (print_usage): Show the option. | |
| (tag_counters): Sort key:value pairs of TOP N counter. | |
| 2022-08-03 Martin Liska <mliska@suse.cz> | |
| * profile.cc (compute_branch_probabilities): Do not collect | |
| stats unless TDF_DETAILS. | |
| 2022-08-03 Roger Sayle <roger@nextmovesoftware.com> | |
| Uroš Bizjak <ubizjak@gmail.com> | |
| PR target/47949 | |
| * config/i386/i386.md (peephole2): New peephole2 to convert | |
| SWI48 moves to/from %rax/%eax where the src is dead to xchg, | |
| when optimizing for minimal size with -Oz. | |
| 2022-08-03 Roger Sayle <roger@nextmovesoftware.com> | |
| * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case | |
| to split comparisons against -1 using AND and CMP -1 instructions. | |
| 2022-08-03 Roger Sayle <roger@nextmovesoftware.com> | |
| * config/i386/i386-features.cc (compute_convert_gain): Add gain | |
| for converting suitable TImode shift to a V1TImode shift. | |
| (timode_scalar_chain::convert_insn): Add support for converting | |
| suitable ASHIFT and LSHIFTRT. | |
| (timode_scalar_to_vector_candidate_p): Consider logical shifts | |
| by integer constants that are multiples of 8 to be candidates. | |
| 2022-08-03 Roger Sayle <roger@nextmovesoftware.com> | |
| Segher Boessenkool <segher@kernel.crashing.org> | |
| Richard Sandiford <richard.sandiford@arm.com> | |
| * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add | |
| optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT | |
| that are all positive to complement the existing FFS and | |
| idempotent ABS simplifications. | |
| <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when | |
| val_signbit_known_clear_p is true of the operand. | |
| Simplify sign extensions of SUBREG truncations of operands | |
| that are already suitably (zero) extended. | |
| <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations | |
| of operands that are already suitably zero extended. | |
| 2022-08-02 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/106510 | |
| * gimple-range-fold.cc (fur_source::register_outgoing_edges): | |
| Check for unsupported statements early. | |
| 2022-08-02 Andrew MacLeod <amacleod@redhat.com> | |
| PR tree-optimization/106474 | |
| * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query | |
| range of equivalences that may contribute to the range. | |
| 2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com> | |
| * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR | |
| encoding bit in BTF. | |
| 2022-08-02 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove | |
| irange check. | |
| (tree_lower_bound): New. | |
| (tree_upper_bound): New. | |
| (fold_using_range::range_of_ssa_name_with_loop_info): Convert to | |
| vrange. | |
| * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change | |
| argument to vrange. | |
| 2022-08-02 Richard Biener <rguenther@suse.de> | |
| * tree-ssa-threadbackward.cc | |
| (back_threader_profitability::profitable_path_p): Apply | |
| size constraints to all paths again. | |
| 2022-08-02 Aldy Hernandez <aldyh@redhat.com> | |
| * range-op-float.cc (finite_operands_p): New. | |
| (frelop_early_resolve): New. | |
| (default_frelop_fold_range): New. | |
| (class foperator_equal): New. | |
| (class foperator_not_equal): New. | |
| (class foperator_lt): New. | |
| (class foperator_le): New. | |
| (class foperator_gt): New. | |
| (class foperator_ge): New. | |
| (class foperator_unordered): New. | |
| (class foperator_ordered): New. | |
| (class foperator_relop_unknown): New. | |
| (floating_op_table::floating_op_table): Add above classes to | |
| floating op table. | |
| * value-range.h (frange::supports_p): Enable. | |
| 2022-08-02 Aldy Hernandez <aldyh@redhat.com> | |
| * tree-core.h (struct tree_ssa_name): Add frange_info and | |
| reshuffle the rest. | |
| * value-range-storage.cc (vrange_storage::alloc_slot): Add case | |
| for frange. | |
| (vrange_storage::set_vrange): Same. | |
| (vrange_storage::get_vrange): Same. | |
| (vrange_storage::fits_p): Same. | |
| (frange_storage_slot::alloc_slot): New. | |
| (frange_storage_slot::set_frange): New. | |
| (frange_storage_slot::get_frange): New. | |
| (frange_storage_slot::fits_p): New. | |
| * value-range-storage.h (class frange_storage_slot): New. | |
| 2022-08-02 Aldy Hernandez <aldyh@redhat.com> | |
| * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger | |
| query to integrals. | |
| 2022-08-02 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (frange::set): Initialize m_props and cleanup. | |
| 2022-08-02 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106497 | |
| * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg): | |
| Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK. | |
| 2022-08-02 Martin Liska <mliska@suse.cz> | |
| * profile.cc (compute_branch_probabilities): Dump details only | |
| if TDF_DETAILS. | |
| * symtab.cc (symtab_node::dump_base): Do not dump pointer unless | |
| TDF_ADDRESS is used, it makes comparison harder. | |
| 2022-08-02 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106498 | |
| * omp-expand.cc (expand_omp_taskreg): Do not perform virtual | |
| SSA update here. | |
| (expand_omp_for): Or here. | |
| (execute_expand_omp): Instead schedule it here together | |
| with CFG cleanup via TODO. | |
| 2022-08-02 Richard Biener <rguenther@suse.de> | |
| PR lto/106334 | |
| * dwarf2out.cc (dwarf2out_register_external_die): Adjust | |
| assert. | |
| 2022-08-02 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/106495 | |
| * tree-ssa-threadbackward.cc | |
| (back_threader_profitability::profitable_path_p): If known_edge | |
| is probably never executed avoid threading. | |
| 2022-08-01 David Malcolm <dmalcolm@redhat.com> | |
| * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste | |
| error. | |
| 2022-08-01 Roger Sayle <roger@nextmovesoftware.com> | |
| Uroš Bizjak <ubizjak@gmail.com> | |
| PR target/106481 | |
| * config/i386/i386-features.cc (timode_scalar_chain::convert_insn): | |
| Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode | |
| CONST_VECTOR. | |
| 2022-08-01 H.J. Lu <hjl.tools@gmail.com> | |
| PR target/83782 | |
| * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New. | |
| (TARGET_IFUNC_REF_LOCAL_OK): Use it. | |
| 2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com> | |
| PR debug/106263 | |
| * ctfc.h (struct ctf_dtdef): Add field linkage. | |
| * ctfc.cc (ctf_add_function): Set ctti_linkage. | |
| * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for | |
| function types and subprograms. | |
| * btfout.cc (btf_asm_func_type): Emit linkage information for the | |
| function. | |
| (btf_dtd_emit_preprocess_cb): Propagate the linkage information | |
| for functions. | |
| 2022-08-01 Andrew Stubbs <ams@codesourcery.com> | |
| Jakub Jelinek <jakub@redhat.com> | |
| * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match | |
| the mask type. | |
| 2022-08-01 Sam Feifer <sfeifer@redhat.com> | |
| PR tree-optimization/104992 | |
| * match.pd (x / y * y == x): New simplification. | |
| 2022-08-01 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (tree_compare): New. | |
| (frange::set): Make more general. | |
| (frange::normalize_kind): Cleanup and return bool. | |
| (frange::union_): Use normalize_kind return value. | |
| (frange::intersect): Same. | |
| (frange::verify_range): Remove unnecessary else. | |
| * value-range.h (vrp_val_max): Move before frange class. | |
| (vrp_val_min): Same. | |
| (frange::frange): Remove set to m_type. | |
| 2022-08-01 Aldy Hernandez <aldyh@redhat.com> | |
| * value-range.cc (vrange::supports_type_p): Use const_tree. | |
| (irange::supports_type_p): Same. | |
| (frange::supports_type_p): Same. | |
| * value-range.h (Value_Range::supports_type_p): Same. | |
| (irange::supports_p): Same. | |
| 2022-08-01 Aldy Hernandez <aldyh@redhat.com> | |
| * gimple-range-fold.cc (fold_using_range::range_of_phi): Only | |
| query SCEV for integers. | |
| (fold_using_range::range_of_ssa_name_with_loop_info): Remove | |
| irange check. | |
| 2022-07-31 Roger Sayle <roger@nextmovesoftware.com> | |
| * config/i386/i386.md (define_expand <any_rotate>ti3): For | |
| rotations by 64 bits use new rot[lr]64ti2_doubleword pattern. | |
| (rot[lr]64ti2_doubleword): New post-reload splitter. | |
| 2022-07-31 Roger Sayle <roger@nextmovesoftware.com> | |
| H.J. Lu <hjl.tools@gmail.com> | |
| PR target/106450 | |
| * config/i386/i386-features.cc (timode_check_non_convertible_regs): | |
| Do nothing if REGNO is set in the REGS bitmap, or is a hard reg. | |
| (timode_remove_non_convertible_regs): Update comment. | |
| Call timode_check_non_convertible_reg on all TImode register | |
| DEFs and USEs in each instruction. | |
| 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.md: Change hard register number used in | |
| the split patterns for indirect sibling call fixups from 10 to 11, | |
| the last free one for the CALL0 ABI. | |
| 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | |
| * config/xtensa/xtensa.cc (xtensa_rtx_costs): | |
| Add new case for IF_THEN_ELSE. | |
| 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. |