| 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. |
|