+2024-12-01 Slava Barinov <v.barinov@samsung.com>
+
+ * configure.ac: Only remove -O[0-9] if not preceded with comma
+ * configure: Regenerated
+
+2024-12-01 Jovan Vukic <Jovan.Vukic@rt-rk.com>
+
+ * tree-ssa-phiopt.cc (rhs_is_fed_for_value_replacement): Add a new
+ optimization opportunity for BIT_IOR_EXPR and a != b.
+ (operand_equal_for_value_replacement): Ditto.
+
+2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com>
+
+ * gimple-crc-optimization.cc (optimize_crc_loop): New function.
+ (execute): Add optimize_crc_loop function call.
+
+2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com>
+
+ * Makefile.in (OBJS): Add crc-verification.o.
+ * crc-verification.cc: New file.
+ * crc-verification.h: New file.
+ * gimple-crc-optimization.cc (loop_calculates_crc): New function.
+ (is_output_crc): Likewise.
+ (swap_crc_and_data_if_needed): Likewise.
+ (validate_crc_and_data): Likewise.
+ (optimize_crc_loop): Likewise.
+ (get_output_phi): Likewise.
+ (execute): Add check whether potential CRC loop calculates CRC.
+ * sym-exec/sym-exec-state.cc (create_reversed_lfsr): New function.
+ (create_forward_lfsr): Likewise.
+ (last_set_bit): Likewise.
+ (create_lfsr): Likewise.
+ * sym-exec/sym-exec-state.h (is_bit_vector): Reorder, make the function public and static.
+ (create_reversed_lfsr) New static function declaration.
+ (create_forward_lfsr) New static function declaration.
+
+2024-12-01 Matevos Mehrabyan <matevosmehrabyan@gmail.com>
+
+ * Makefile.in (OBJS): Add sym-exec/sym-exec-expression.o,
+ sym-exec/sym-exec-state.o, sym-exec/sym-exec-condition.o.
+ * configure (sym-exec): New subdir.
+ * sym-exec/sym-exec-condition.cc: New file.
+ * sym-exec/sym-exec-condition.h: New file.
+ * sym-exec/sym-exec-expr-is-a-helper.h: New file.
+ * sym-exec/sym-exec-expression.cc: New file.
+ * sym-exec/sym-exec-expression.h: New file.
+ * sym-exec/sym-exec-state.cc: New file.
+ * sym-exec/sym-exec-state.h: New file.
+ Co-authored-by: Mariam Arutunian <mariamarutunian@gmail.com>
+
+2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com>
+
+ * Makefile.in (OBJS): Add gimple-crc-optimization.o.
+ * common.opt (foptimize-crc): New option.
+ * common.opt.urls: Regenerate to add foptimize-crc.
+ * doc/invoke.texi (-foptimize-crc): Add documentation.
+ * gimple-crc-optimization.cc: New file.
+ * opts.cc (default_options_table): Add OPT_foptimize_crc.
+ (enable_fdo_optimizations): Enable optimize_crc.
+ * passes.def (pass_crc_optimization): Add new pass.
+ * timevar.def (TV_GIMPLE_CRC_OPTIMIZATION): New timevar.
+ * tree-pass.h (make_pass_crc_optimization): New extern function
+ declaration.
+
+2024-12-01 Mark Harmstone <mark@harmstone.com>
+
+ * configure.ac (HAVE_GAS_CV_UCOMP): New check.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * dwarf2codeview.cc (enum binary_annotation_opcode): Define.
+ (struct codeview_function): Add htab_next and inline_loc;
+ (struct cv_func_hasher): Define.
+ (cv_func_htab): New global variable.
+ (new_codeview_function): Add new codeview_function to hash table.
+ (codeview_begin_block): Record location of inline block.
+ (codeview_end_block): Add dummy source line at end of inline block.
+ (find_line_function): New function.
+ (write_binary_annotations): New function.
+ (write_s_inlinesite): Call write_binary_annotations.
+ (codeview_debug_finish): Delete cv_func_htab.
+
+2024-12-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/117859
+ * tree-ssa-sccvn.cc (insert_predicates_for_cond): If the
+ valueization for the new lhs for `lhs != 0`
+ is the same as the old ones, don't recurse.
+
+2024-12-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * tree-ssa-loop-im.cc (move_computations_worker): While moving
+ phi, reuse the lhs of the conditional if it is a boolean type.
+
+2024-12-01 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
+
+ PR rtl-optimization/112398
+ PR rtl-optimization/117476
+ * simplify-rtx.cc (simplify_context::simplify_unary_operation_1):
+ Simplify ZERO_EXTEND (SUBREG (NOT X)) to XOR (X, GET_MODE_MASK(SUBREG))
+ when X doesn't have any non-zero bits outside of SUBREG mode.
+
2024-11-30 Lewis Hyatt <lhyatt@gmail.com>
* diagnostic-show-locus.cc
+2024-12-01 Jovan Vukic <Jovan.Vukic@rt-rk.com>
+
+ * gcc.dg/tree-ssa/phi-opt-11.c: Add more tests.
+
+2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com>
+
+ * gcc.dg/crc-from-fedora-packages-1.c: New test.
+ * gcc.dg/crc-from-fedora-packages-2.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-3.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-4.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-5.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-6.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-7.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-8.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-9.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-10.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-11.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-12.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-13.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-14.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-15.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-16.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-17.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-18.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-19.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-20.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-21.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-22.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-23.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-24.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-25.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-26.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-27.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-28.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-29.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-30.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-31.c: Likewise.
+ * gcc.dg/crc-from-fedora-packages-32.c: Likewise.
+ * gcc.dg/crc-linux-1.c: Likewise.
+ * gcc.dg/crc-linux-2.c: Likewise.
+ * gcc.dg/crc-linux-3.c: Likewise.
+ * gcc.dg/crc-linux-4.c: Likewise.
+ * gcc.dg/crc-linux-5.c: Likewise.
+ * gcc.dg/crc-not-crc-1.c: Likewise.
+ * gcc.dg/crc-not-crc-2.c: Likewise.
+ * gcc.dg/crc-not-crc-3.c: Likewise.
+ * gcc.dg/crc-not-crc-4.c: Likewise.
+ * gcc.dg/crc-not-crc-5.c: Likewise.
+ * gcc.dg/crc-not-crc-6.c: Likewise.
+ * gcc.dg/crc-not-crc-7.c: Likewise.
+ * gcc.dg/crc-not-crc-8.c: Likewise.
+ * gcc.dg/crc-not-crc-9.c: Likewise.
+ * gcc.dg/crc-not-crc-10.c: Likewise.
+ * gcc.dg/crc-not-crc-11.c: Likewise.
+ * gcc.dg/crc-not-crc-12.c: Likewise.
+ * gcc.dg/crc-not-crc-13.c: Likewise.
+ * gcc.dg/crc-not-crc-14.c: Likewise.
+ * gcc.dg/crc-not-crc-15.c: Likewise.
+ * gcc.dg/crc-not-crc-16.c: Likewise.
+ * gcc.dg/crc-not-crc-17.c: Likewise.
+ * gcc.dg/crc-not-crc-18.c: Likewise.
+ * gcc.dg/crc-not-crc-19.c: Likewise.
+ * gcc.dg/crc-not-crc-20.c: Likewise.
+ * gcc.dg/crc-not-crc-21.c: Likewise.
+ * gcc.dg/crc-not-crc-22.c: Likewise.
+ * gcc.dg/crc-not-crc-23.c: Likewise.
+ * gcc.dg/crc-not-crc-24.c: Likewise.
+ * gcc.dg/crc-not-crc-25.c: Likewise.
+ * gcc.dg/crc-not-crc-26.c: Likewise.
+ * gcc.dg/crc-side-instr-1.c: Likewise.
+ * gcc.dg/crc-side-instr-2.c: Likewise.
+ * gcc.dg/crc-side-instr-3.c: Likewise.
+ * gcc.dg/crc-side-instr-4.c: Likewise.
+ * gcc.dg/crc-side-instr-5.c: Likewise.
+ * gcc.dg/crc-side-instr-6.c: Likewise.
+ * gcc.dg/crc-side-instr-7.c: Likewise.
+ * gcc.dg/crc-side-instr-8.c: Likewise.
+ * gcc.dg/crc-side-instr-9.c: Likewise.
+ * gcc.dg/crc-side-instr-10.c: Likewise.
+ * gcc.dg/crc-side-instr-11.c: Likewise.
+ * gcc.dg/crc-side-instr-12.c: Likewise.
+ * gcc.dg/crc-side-instr-13.c: Likewise.
+ * gcc.dg/crc-side-instr-14.c: Likewise.
+ * gcc.dg/crc-side-instr-15.c: Likewise.
+ * gcc.dg/crc-side-instr-16.c: Likewise.
+ * gcc.dg/crc-side-instr-17.c: Likewise.
+ * gcc.dg/torture/crc-1.c: Likewise.
+ * gcc.dg/torture/crc-2.c: Likewise.
+ * gcc.dg/torture/crc-3.c: Likewise.
+ * gcc.dg/torture/crc-4.c: Likewise.
+ * gcc.dg/torture/crc-5.c: Likewise.
+ * gcc.dg/torture/crc-6.c: Likewise.
+ * gcc.dg/torture/crc-7.c: Likewise.
+ * gcc.dg/torture/crc-8.c: Likewise.
+ * gcc.dg/torture/crc-9.c: Likewise.
+ * gcc.dg/torture/crc-10.c: Likewise.
+ * gcc.dg/torture/crc-11.c: Likewise.
+ * gcc.dg/torture/crc-12.c: Likewise.
+ * gcc.dg/torture/crc-13.c: Likewise.
+ * gcc.dg/torture/crc-14.c: Likewise.
+ * gcc.dg/torture/crc-15.c: Likewise.
+ * gcc.dg/torture/crc-16.c: Likewise.
+ * gcc.dg/torture/crc-17.c: Likewise.
+ * gcc.dg/torture/crc-18.c: Likewise.
+ * gcc.dg/torture/crc-19.c: Likewise.
+ * gcc.dg/torture/crc-20.c: Likewise.
+ * gcc.dg/torture/crc-21.c: Likewise.
+ * gcc.dg/torture/crc-22.c: Likewise.
+ * gcc.dg/torture/crc-23.c: Likewise.
+ * gcc.dg/torture/crc-24.c: Likewise.
+ * gcc.dg/torture/crc-25.c: Likewise.
+ * gcc.dg/torture/crc-26.c: Likewise.
+ * gcc.dg/torture/crc-27.c: Likewise.
+ * gcc.dg/torture/crc-28.c: Likewise.
+ * gcc.dg/torture/crc-29.c: Likewise.
+ * gcc.dg/torture/crc-CCIT-data16-xorOutside_InsideFor.c: Likewise.
+ * gcc.dg/torture/crc-coremark16-data16.c: Likewise.
+ * gcc.dg/torture/crc-coremark32-data16.c: Likewise.
+ * gcc.dg/torture/crc-coremark32-data32.c: Likewise.
+ * gcc.dg/torture/crc-coremark32-data8.c: Likewise.
+ * gcc.dg/torture/crc-coremark64-data64.c: Likewise.
+ * gcc.dg/torture/crc-coremark8-data8.c: Likewise.
+ * gcc.dg/torture/crc-CCIT-data16.c: Likewise.
+ * gcc.dg/torture/crc-CCIT-data8.c: Likewise.
+ * gcc.dg/torture/crc-crc32-data16.c: Likewise.
+ * gcc.dg/torture/crc-crc32-data24.c: Likewise.
+ * gcc.dg/torture/crc-crc32-data8.c: Likewise.
+ * gcc.dg/torture/crc-crc32.c: Likewise.
+ * gcc.dg/torture/crc-crc64-data32.c: Likewise.
+ * gcc.dg/torture/crc-crc64-data64.c: Likewise.
+ * gcc.dg/torture/crc-crc8-data8-loop-xorInFor.c: Likewise.
+ * gcc.dg/torture/crc-crc8-data8-xorOustideFor.c: Likewise.
+ * gcc.dg/torture/crc-crc8.c: Likewise.
+ Co-Authored: Jeff Law <jlaw@ventanamicro.com>
+ * gcc.dg/torture/crc-coremark64-data32.c: New file.
+ * gcc.dg/torture/crc-crc8-data8-loop-xorOutsideFor.c: New file.
+
+2024-12-01 Dimitar Dimitrov <dimitar@dinux.eu>
+
+ * gcc.dg/pr117806.c: Test can spill excess
+ errors for default_packed targets.
+
+2024-12-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/117859
+ * gcc.dg/torture/pr117859-1.c: New test.
+ * gcc.dg/torture/pr117859-2.c: New test.
+
+2024-12-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c: Remove
+ error message on taking address of an element of a vector.
+ * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c: Likewise.
+
+2024-12-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_1.C: Remove
+ error message on taking address of an element of a vector.
+ * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_2.C: Likewise.
+
+2024-12-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * g++.dg/ext/sve-sizeless-1.C: Add error message for line 164
+ for C++98 only.
+ * g++.dg/ext/sve-sizeless-2.C: Likewise.
+
+2024-12-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * g++.dg/ext/sve-sizeless-1.C: SVE vectors are now aggregates.
+ * g++.dg/ext/sve-sizeless-2.C: Likewise.
+
+2024-12-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * g++.dg/ext/sve-sizeless-1.C: Update error message for line 165.
+ * g++.dg/ext/sve-sizeless-2.C: Likewise.
+
+2024-12-01 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * g++.dg/ext/sve-sizeless-2.C: Add declaration of bar.
+
+2024-12-01 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
+
+ PR rtl-optimization/112398
+ PR rtl-optimization/117476
+ * gcc.target/riscv/pr112398.c: New test.
+ * gcc.dg/torture/pr117476-1.c: New test. From Zhendong Su.
+ * gcc.dg/torture/pr117476-2.c: New test. From Zdenek Sojka.
+
2024-11-30 Joseph Myers <josmyers@redhat.com>
Richard Biener <rguenther@suse.de>