[all-commits] [llvm/llvm-project] c7ee20: [OpenMP] Fix stack corruption due to argument mism...

Pengcheng Wang via All-commits all-commits at lists.llvm.org
Fri Jul 5 03:19:43 PDT 2024


  Branch: refs/heads/users/wangpc-pp/spr/codegen-add-dump-to-machinetracemetricsh
  Home:   https://github.com/llvm/llvm-project
  Commit: c7ee20433c43e45658031a340e221097a32a469f
      https://github.com/llvm/llvm-project/commit/c7ee20433c43e45658031a340e221097a32a469f
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/test/OpenMP/declare_mapper_codegen.cpp
    M clang/test/OpenMP/target_enter_data_codegen.cpp
    M clang/test/OpenMP/target_exit_data_codegen.cpp
    M clang/test/OpenMP/target_update_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/test/Transforms/OpenMP/add_attributes.ll

  Log Message:
  -----------
  [OpenMP] Fix stack corruption due to argument mismatch (#96386)

While lowering (#pragma omp target update from), clang's generated
.omp_task_entry. is setting up 9 arguments while calling
__tgt_target_data_update_nowait_mapper.

At the same time, in __tgt_target_data_update_nowait_mapper, call to
targetData<TaskAsyncInfoWrapperTy>() is converted to a sibcall assuming
it has the argument count listed in the signature.

AARCH64 asm sequence for this is as follows (removed unrelated insns):

`
.omp_task_entry..108:
  sub   sp, sp, #32
  stp   x29, x30, sp, #16       // 16-byte Folded Spill
  add   x29, sp, #16
  str   x8, sp, #8. // stack canary
  str   xzr, [sp]
  bl   __tgt_target_data_update_nowait_mapper

__tgt_target_data_update_nowait_mapper:
  sub   sp, sp, #32
  stp   x29, x30, sp, #16       // 16-byte Folded Spill
  add   x29, sp, #16
  str   x8, sp, #8 // stack canary
  // Sibcall argument setup
adrp x8,
:got:_Z16targetDataUpdateP7ident_tR8DeviceTyiPPvS4_PlS5_S4_S4_R11AsyncInfoTyb
ldr x8, [x8,
:got_lo12:_Z16targetDataUpdateP7ident_tR8DeviceTyiPPvS4_PlS5_S4_S4_R11AsyncInfoTyb]
  stp   x9, x8, x29, #16
  adrp  x8, .L.str.8
  add   x8, x8, :lo12:.L.str.8
  str   x8, x29, #32. <==. This is the insn that erases $fp

  ldp   x29, x30, sp, #16       // 16-byte Folded Reload
  add   sp, sp, #32
  // Sibcall
b
ZL10targetDataI22TaskAsyncInfoWrapperTyEvP7ident_tliPPvS4_PlS5_S4_S4_PFiS2_R8DeviceTyiS4_S4_S5_S5_S4_S4_R11AsyncInfoTybEPKcSD
`

On AArch64, call to __tgt_target_data_update_nowait_mapper in
.omp_task_entry. sets up only single space on stack and this results in
ovewriting $fp and subsequent stack corruption. This issue can be
credited to discrepancy of __tgt_target_data_update_nowait_mapper
signature in openmp/libomptarget/include/omptarget.h taking 13 arguments
while clang/lib/CodeGen/CGOpenMPRuntime.cpp and
llvm/include/llvm/Frontend/OpenMP/OMPKinds.def taking only 9 arguments.

This patch modifies __tgt_target_data_update_nowait_mapper signature to
match .omp_task_entry usage(and other 2 files mentioned above).

Co-authored-by: Kugan Vivekanandarajah <kvivekananda at nvidia.com>


  Commit: 5ce141f7af7ba6a42dac41562fb06160a7863b59
      https://github.com/llvm/llvm-project/commit/5ce141f7af7ba6a42dac41562fb06160a7863b59
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/test/tools/llvm-symbolizer/get-input-file.test
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp

  Log Message:
  -----------
  [symbolizer] Empty string is not an error (#97781)

This is recommit of llvm/llvm-project#92660, reverted in
llvm/llvm-project#94424.
Original commit message is below.

After commit
https://github.com/llvm/llvm-project/commit/1792852f86dc75efa1f44d46b1a0daf386d64afa
([symbolizer] Change reaction on invalid input) llvm-symbolizer issues
an error on malformed command instead of echoing it to the standard
output, as in previous versions. It turns out this behavior broke a use
case when echoing was used to check if llvm-symbolizer is working
(https://github.com/llvm/llvm-project/commit/1792852f86dc75efa1f44d46b1a0daf386d64afa#commitcomment-142161925).

With this change an empty line as input is not considered as an error
anymore and does not produce any output on stderr. llvm-symbolizer still
respond on empty line with line not found, this is consistent with GNU
addr2line.


  Commit: a3ba6a7f972dee85cc073bb4c98bd074e9c276d6
      https://github.com/llvm/llvm-project/commit/a3ba6a7f972dee85cc073bb4c98bd074e9c276d6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-04 (Thu, 04 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/lib/MC/MachObjectWriter.cpp

  Log Message:
  -----------
  [MC,MachO] Simplify IndirectSybols


  Commit: d2dd4b55e67e333d9253abeeacac5d3de1a094db
      https://github.com/llvm/llvm-project/commit/d2dd4b55e67e333d9253abeeacac5d3de1a094db
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    A libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
    A libcxx/test/libcxx/feature_test_macro/invalid.sh.py
    A libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
    A libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
    A libcxx/test/libcxx/feature_test_macro/test_data.json
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Adds a new feature-test macro generator class. (#90889)

The new feature-test macro generator uses a JSON file as input.
Separating the
code from the data allows for testing the code. The generator has
several tests.

This JSON format is based on the new format proposed in #88630

At the moment the FTM script has the existing code and an unused new
generator. Followup patches will complete the generator and convert the
existing
Python `dict` to the new JSON format. Since that conversion is a manual
job and
quite a bit of work the transition path has some unused code for some
time.


  Commit: 1d4d92d1cc98f22259aded4c3f29c67e7686ee30
      https://github.com/llvm/llvm-project/commit/1d4d92d1cc98f22259aded4c3f29c67e7686ee30
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-04 (Thu, 04 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCMachObjectWriter.h
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MachObjectWriter.cpp

  Log Message:
  -----------
  [MC] Move MCAssembler::IndirectSymbols to MachObjectWriter


  Commit: 7c4dbad550cfed8c501fb82ad0883542ac989b35
      https://github.com/llvm/llvm-project/commit/7c4dbad550cfed8c501fb82ad0883542ac989b35
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
    A llvm/test/Transforms/SimplifyCFG/preserving-debugloc-br.ll

  Log Message:
  -----------
  [DebugInfo][SimplifyCFGPass] Fix the missing debug location update for the new br instruction (#97389)

Fix #97388 .


  Commit: 093aaca2b0ad23ded5dcb45e8f837ffb7b21ffb3
      https://github.com/llvm/llvm-project/commit/093aaca2b0ad23ded5dcb45e8f837ffb7b21ffb3
  Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    A clang/docs/analyzer/images/analyzer_html.png
    A clang/docs/analyzer/images/analyzer_xcode.png
    A clang/docs/analyzer/images/scan_build_cmd.png
    M clang/docs/analyzer/user-docs.rst
    A clang/docs/analyzer/user-docs/CommandLineUsage.rst
    A clang/docs/analyzer/user-docs/FilingBugs.rst
    A clang/docs/analyzer/user-docs/Installation.rst
    A clang/docs/analyzer/user-docs/UsingWithXCode.rst
    M clang/www/analyzer/codechecker.html
    M clang/www/analyzer/command-line.html
    M clang/www/analyzer/filing_bugs.html
    M clang/www/analyzer/index.html
    M clang/www/analyzer/installation.html
    R clang/www/analyzer/latest_checker.html.incl
    M clang/www/analyzer/scan-build.html
    M clang/www/analyzer/xcode.html

  Log Message:
  -----------
   [clang][analyzer][doc] Migrate user-related docs from HTML to RST (#97034)



User documentation currently found at https://clang-analyzer.llvm.org is migrated to RST format.

This commit migrates all the relevant content, including suspicious or even clearly outdated parts. These issues will be cleaned up in separate follow-up commits (where the diff is not obscured by the format change). However, a few typos are fixed, and some parts (availability of binary releases, integration with XCode) are marked (with [Legacy] tags) to highlight that they are outdated.

The primary motivation for this change is to update the facts in the docs and make them discoverable from the RST-generated doc-tree as well (many subpages are not accessible at all, as the menu generation for the HTML-based page is not working at all).


This commit migrates all the relevant content, including parts that are
suspicious or even clearly outdated. These issues will be cleaned up in
separate follow-up commits (where the diff is not obscured by the format
change). However, a few typos are fixed and some parts (availability of
binary releases, integration with XCode) are marked (with [Legacy] tags)
to highlight that they are outdated.

The primary motivation for this change is to update the facts in the
docs and make them discoverable from the RST-generated doc-tree as well
(many subpages are not accessible **at all**, as the menu generation for
the HTML based page is not working at all).


  Commit: 009082aa4b20462d46c885d5abc9320a887f1932
      https://github.com/llvm/llvm-project/commit/009082aa4b20462d46c885d5abc9320a887f1932
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-04 (Thu, 04 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCMachObjectWriter.h
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MachObjectWriter.cpp

  Log Message:
  -----------
  [MC] Move MCAssembler::DataRegions to MachObjectWriter

and make some cleanup.


  Commit: 74984dee51307779a3eab10a8cd6102be37e1081
      https://github.com/llvm/llvm-project/commit/74984dee51307779a3eab10a8cd6102be37e1081
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/X86/apx/cf.ll

  Log Message:
  -----------
  [X86][CodeGen] Convert masked.load/store to CLOAD/CSTORE node only when vector size = 1

This fixes the crash when building llvm-test-suite with avx512f + cf.


  Commit: c60b9307d003517ba8813eebc20d4a01fcbbda5c
      https://github.com/llvm/llvm-project/commit/c60b9307d003517ba8813eebc20d4a01fcbbda5c
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/X86/apx/cf.ll

  Log Message:
  -----------
  Revert "[X86][CodeGen] Convert masked.load/store to CLOAD/CSTORE node only when vector size = 1"

This reverts commit 74984dee51307779a3eab10a8cd6102be37e1081.

It caused AArch64 test sve-nontemporal-masked-ldst.ll to fail.


  Commit: eb7ebd51ecfdbf541044761851dd2007368d710f
      https://github.com/llvm/llvm-project/commit/eb7ebd51ecfdbf541044761851dd2007368d710f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-cov/SourceCoverageView.cpp
    M llvm/tools/llvm-cov/SourceCoverageView.h

  Log Message:
  -----------
  [llvm-cov] Remove View member from MCDCView and BranchView (#97734)

These were never actually used, and the way they were constructed
doesn't really make sense.

Fixes https://github.com/llvm/llvm-project/issues/93798.


  Commit: 8101cbff77aca47ee3c7de8e43d0546057ff2ee6
      https://github.com/llvm/llvm-project/commit/8101cbff77aca47ee3c7de8e43d0546057ff2ee6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M openmp/libompd/src/TargetValue.h

  Log Message:
  -----------
  [ompd] Fix strict aliasing violation in TargetValue::getValue() (#97739)

For the case where baseTypeSize does not match the size of T, read the
value into a separate char buffer first. This avoids accessing buf using
two different types.

Fixes https://github.com/llvm/llvm-project/issues/94616.


  Commit: d6df01870a24cc707c724849b346111959413363
      https://github.com/llvm/llvm-project/commit/d6df01870a24cc707c724849b346111959413363
  Author: Finlay <finlay.marno at codeplay.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR] Add the convergent attribute to LLVM Dialect (#97709)

In order to use the convergent attribute in the GPUToLLVMSPV pass, I've
added the attribute to the LLVM dialect.
Some details on the convergent attribute
https://llvm.org/docs/ConvergentOperations.html#convergent-operations


  Commit: a14a53e11b07ea6ab9517d7811bb4e23e9874f2b
      https://github.com/llvm/llvm-project/commit/a14a53e11b07ea6ab9517d7811bb4e23e9874f2b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M openmp/libompd/test/CMakeLists.txt

  Log Message:
  -----------
  [openmp] Add ompdModule dependency to check-ompd (#97736)

ompdModule is required by the gdb plugin. Ran into this when trying to
run check-ompd without explicitly building openmp first.


  Commit: 27bb2a36401b89fdce68e0e427493d645c42a218
      https://github.com/llvm/llvm-project/commit/27bb2a36401b89fdce68e0e427493d645c42a218
  Author: Nikhil Kalra <1368497+nikalra at users.noreply.github.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Pass/PassOptions.h
    M mlir/lib/Pass/PassRegistry.cpp
    M mlir/test/Pass/pipeline-options-parsing.mlir

  Log Message:
  -----------
  [mlir][Pass] Handle escaped pipline option values (#97667)

The PassRegistry parser properly handles escape tokens (', ", {}) when
parsing pass options from string but then does not strip the escape
tokens when providing the values back to the caller.

This change updates the parser such that escape tokens are properly
removed and whitespace is trimmed when extracting option values.


  Commit: a48305e0f9753bc24d9db93b2b0b5a91f10e83dc
      https://github.com/llvm/llvm-project/commit/a48305e0f9753bc24d9db93b2b0b5a91f10e83dc
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/CodeGen/X86/apx/cf.ll

  Log Message:
  -----------
  [X86][CodeGen] Convert masked.load/store to CLOAD/CSTORE node only when vector size = 1

This fixes the crash when building llvm-test-suite with avx512f + cf.


  Commit: daaea128bb84f8ed7b9de36aa3a51f33b775c05a
      https://github.com/llvm/llvm-project/commit/daaea128bb84f8ed7b9de36aa3a51f33b775c05a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp

  Log Message:
  -----------
  [Mem2Reg] Always allow single-store optimization for dominating stores

In #97711 the single-store optimization was disabled for the case
where the value is potentially poison, as this may produce incorrect
results for loads of uninitialized memory.

However, this resulted in compile-time regressions. Address these
by still allowing the single-store optimization to occur in cases
where the store dominates the load, as we know that such a load
will always read initialized memory.


  Commit: b3fa2a691ff7d5a85bc31fb428cd58d68bfecd10
      https://github.com/llvm/llvm-project/commit/b3fa2a691ff7d5a85bc31fb428cd58d68bfecd10
  Author: Kelvin Lee <kiyolee at gmail.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h

  Log Message:
  -----------
  [lldb][FreeBSD] Fix NativeRegisterContextFreeBSD_x86_64() declaration (#97796)

Supposingly this is a typo.


  Commit: e4b28420f677207cbb81683396d1aba00fb9ab80
      https://github.com/llvm/llvm-project/commit/e4b28420f677207cbb81683396d1aba00fb9ab80
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/RISCV/rvv/known-never-zero.ll

  Log Message:
  -----------
  [SelectionDAG] Handle VSCALE in isKnownNeverZero (#97789)

VSCALE is by definition greater than zero, but this checks it via
getVScaleRange anyway.

The motivation for this is to be able to check if the EVL for a VP
strided load is non-zero in #97394.

I added the tests to the RISC-V backend since the existing X86
known-never-zero.ll test crashed when trying to lower vscale for the
+sse2 RUN line.


  Commit: b546096d943fcf9e1166e6b4315e85a2aa6e76b6
      https://github.com/llvm/llvm-project/commit/b546096d943fcf9e1166e6b4315e85a2aa6e76b6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleToIdentity - handle bitcasts with equal element counts (#97731)

Basic initial patch for #96884 that just handles case where we bitcast between float/integers of the same element width


  Commit: 99d6c6d936573d209f29c3cc6749eaf59912bd2a
      https://github.com/llvm/llvm-project/commit/99d6c6d936573d209f29c3cc6749eaf59912bd2a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/sphinx.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
    M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
    M llvm/test/Transforms/LoopVectorize/branch-weights.ll
    M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/fix-reduction-dbg.ll
    M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    M llvm/test/Transforms/LoopVectorize/loop-form.ll
    M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
    M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/reduction-align.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/reduction-odd-interleave-counts.ll
    M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction.ll
    M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
    M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
    M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
    M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h

  Log Message:
  -----------
  [VPlan] Model branch cond to enter scalar epilogue in VPlan. (#92651)

This patch moves branch condition creation to enter the scalar epilogue
loop to VPlan. Modeling the branch in the middle block also requires
modeling the successor blocks. This is done using the recently
introduced VPIRBasicBlock.

Note that the middle.block is still created as part of the skeleton and
then patched in during VPlan execution. Unfortunately the skeleton needs
to create the middle.block early on, as it is also used for induction
resume value creation and is also needed to properly update the
dominator tree during skeleton creation.

After this patch lands, I plan to move induction resume value and phi
node creation in the scalar preheader to VPlan. Once that is done, we
should be able to create the middle.block in VPlan directly.

This is a re-worked version based on the earlier
https://reviews.llvm.org/D150398 and the main change is the use of
VPIRBasicBlock.

Depends on https://github.com/llvm/llvm-project/pull/92525

PR: https://github.com/llvm/llvm-project/pull/92651


  Commit: 2d0c4c363b4b39014b469c30234cf06894e06d6a
      https://github.com/llvm/llvm-project/commit/2d0c4c363b4b39014b469c30234cf06894e06d6a
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [Flang][OpenMP] Remove unused OpWithBodyGenInfo attributes (#97572)

This patch removes the `outerCombined`, `reductionSymbols` and
`reductionTypes` attributes from the `OpWithBodyGenInfo` structure and
their uses, as they never impact the lowering process or its output.

The `outerCombined` variable is always set to `false`, so in practice it
doesn't represent what its name indicates. Furthermore, initializing it
correctly can result in privatization not being performed in cases where
it should (at least tests doing this together with composite construct
support pointed me in that direction). It seems to be tied to the early
privatization approach, where a redundant alloca could possibly be
avoided in certain cases. With the transition to delayed privatization,
it seems like it won't serve that purpose anymore, since the decision of
what and where privatization-related allocations are inserted will be
postponed to the MLIR to LLVM IR translation stage. Since this feature
is already currently not being used, its potential benefit appears to be
minor and it won't make sense to do once the delayed privatization
approach is rolled out, I propose removing it.

The `reductionSymbols` and `reductionTypes` variables are set in certain
cases but never used. Unless there's a plan where these will be needed,
in which case it would be a better alternative to document it, I believe
we should also remove them.


  Commit: 5aacf93a8968b1ae83382ed0ce6de8279b0cd753
      https://github.com/llvm/llvm-project/commit/5aacf93a8968b1ae83382ed0ce6de8279b0cd753
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M libcxx/include/cmath
    M libcxx/include/complex
    M libcxx/src/CMakeLists.txt
    A libcxx/src/support/win32/compiler_rt_shims.cpp
    M libcxx/test/std/numerics/complex.number/complex.member.ops/divide_equal_complex.pass.cpp
    M libcxx/test/std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp
    M libcxx/test/std/numerics/complex.number/complex.ops/complex_times_complex.pass.cpp
    M libcxx/test/std/numerics/complex.number/complex.ops/scalar_divide_complex.pass.cpp
    A libcxx/test/support/floating_pointer_helpers.h

  Log Message:
  -----------
  [libc++] Use _Complex for multiplication and division of complex floating point types (#83575)

This significantly simplifies the implementation and improves the
codegen. The only downside is that the accuracy can be marginally worse,
but that is up to the compiler to decide with this change, which means
it can be controlled by compiler flags.

Differential Revision: https://reviews.llvm.org/D155312


  Commit: fbd736062e043d34cddd6031b4ee93954d4bf199
      https://github.com/llvm/llvm-project/commit/fbd736062e043d34cddd6031b4ee93954d4bf199
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp

  Log Message:
  -----------
  [clang][Interp] Short-cirtuit Move/Copy constructors if we can


  Commit: 928fde3f43f835c217e5d04dc469942fae7473a9
      https://github.com/llvm/llvm-project/commit/928fde3f43f835c217e5d04dc469942fae7473a9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/is_fpclass-fp80.ll

  Log Message:
  -----------
  [X86] is_fpclass-fp80.ll - regenerate with standard X86/X64 prefixes

Add nounwind to reduce cfi noise


  Commit: 3d2961b17f1927c0cd116f0857f42c3669cfa9e7
      https://github.com/llvm/llvm-project/commit/3d2961b17f1927c0cd116f0857f42c3669cfa9e7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/zero-remat.ll

  Log Message:
  -----------
  [X86] zero-remat.ll - regenerate with standard X86/X64 prefixes


  Commit: 03000f09c1c01f85d62b9d27cd269566ccea1dec
      https://github.com/llvm/llvm-project/commit/03000f09c1c01f85d62b9d27cd269566ccea1dec
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/fp-strict-scalar-cmp-fp16.ll

  Log Message:
  -----------
  [X86] fp-strict-scalar-cmp-fp16.ll - regenerate with standard X86/X64 prefixes


  Commit: 0fbb3201c8c4dfdf5c9c2f5cf15449d1c4355f8d
      https://github.com/llvm/llvm-project/commit/0fbb3201c8c4dfdf5c9c2f5cf15449d1c4355f8d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/csr-split.ll

  Log Message:
  -----------
  [X86] csr-split.ll - regenerate with standard X86/X64 prefixes


  Commit: 720b958953d1dd34c8e3a52588ab26c52edfc2a6
      https://github.com/llvm/llvm-project/commit/720b958953d1dd34c8e3a52588ab26c52edfc2a6
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [Flang][OpenMP] NFC: Share DataSharingProcessor creation logic for all loop directives (#97565)

This patch moves the logic associated with the creation of a
`DataSharingProcessor` instance for loop-associated OpenMP leaf
constructs to the `genOMPDispatch` function, avoiding code duplication
for standalone and composite loop constructs.

This also prevents privatization-related allocations to be later made
inside of loop wrappers when support for composite constructs is
implemented.


  Commit: 6fbd26b147ab93da4d0689ea2f6ff73cc9859cb8
      https://github.com/llvm/llvm-project/commit/6fbd26b147ab93da4d0689ea2f6ff73cc9859cb8
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h

  Log Message:
  -----------
  [clang][Interp] Add QualType parameter to Pointer::toRValue

This fixes the crash from #97302, but exposes an underlying problem.


  Commit: cc53b953acebfe47504bfd1af1f71b5906a974bf
      https://github.com/llvm/llvm-project/commit/cc53b953acebfe47504bfd1af1f71b5906a974bf
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/arm64-opt-remarks-lazy-bfi.ll
    M llvm/test/CodeGen/AArch64/speculation-hardening-sls-blr-bti.mir
    M llvm/test/CodeGen/AArch64/speculation-hardening-sls-blr.mir

  Log Message:
  -----------
  [AArch64] When hardening against SLS, only create called thunks  (#97472)

In preparation for implementing hardening of BLRA* instructions,
restrict thunk function generation to only the thunks being actually
called from any function. As described in the existing comments,
emitting all possible thunks for BLRAA and BLRAB instructions would mean
adding about 1800 functions in total, most of which are likely not to be
called.

This commit merges AArch64SLSHardening class into SLSBLRThunkInserter,
so thunks can be created as needed while rewriting a machine function.
The usages of TII, TRI and ST fields of AArch64SLSHardening class are
replaced with requesting them in-place, as ThunkInserter assumes
multiple "entry points" in contrast to the only runOnMachineFunction
method of AArch64SLSHardening.

The runOnMachineFunction method essentially replaces pre-existing
insertThunks implementation as there is no more need to insert all
possible thunks unconditionally. Instead, thunks are created on first
use from inside of insertThunks method.


  Commit: f926e19aa9c0bdca3f05322e1b62562a9a3a05e2
      https://github.com/llvm/llvm-project/commit/f926e19aa9c0bdca3f05322e1b62562a9a3a05e2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  Reapply "[clang][Interp] Fix init chain in local initializers"

This reverts commit 2dda8a2650927e4b0fbb459507684455e196d9a9.


  Commit: f4113fb090b7af8db35b25f8f1728437a1b3f375
      https://github.com/llvm/llvm-project/commit/f4113fb090b7af8db35b25f8f1728437a1b3f375
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/test/AST/Interp/records.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M libcxx/include/cmath
    M libcxx/include/complex
    M libcxx/src/CMakeLists.txt
    A libcxx/src/support/win32/compiler_rt_shims.cpp
    M libcxx/test/std/numerics/complex.number/complex.member.ops/divide_equal_complex.pass.cpp
    M libcxx/test/std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp
    M libcxx/test/std/numerics/complex.number/complex.ops/complex_times_complex.pass.cpp
    M libcxx/test/std/numerics/complex.number/complex.ops/scalar_divide_complex.pass.cpp
    A libcxx/test/support/floating_pointer_helpers.h
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/arm64-opt-remarks-lazy-bfi.ll
    M llvm/test/CodeGen/AArch64/speculation-hardening-sls-blr-bti.mir
    M llvm/test/CodeGen/AArch64/speculation-hardening-sls-blr.mir
    A llvm/test/CodeGen/RISCV/rvv/known-never-zero.ll
    M llvm/test/CodeGen/X86/csr-split.ll
    M llvm/test/CodeGen/X86/fp-strict-scalar-cmp-fp16.ll
    M llvm/test/CodeGen/X86/is_fpclass-fp80.ll
    M llvm/test/CodeGen/X86/zero-remat.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/sphinx.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
    M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
    M llvm/test/Transforms/LoopVectorize/branch-weights.ll
    M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/fix-reduction-dbg.ll
    M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    M llvm/test/Transforms/LoopVectorize/loop-form.ll
    M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
    M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/reduction-align.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/reduction-odd-interleave-counts.ll
    M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction.ll
    M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
    M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
    M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
    M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h

  Log Message:
  -----------
  [𝘀𝗽𝗿] landed version

Created using spr 1.3.6-beta.1


Compare: https://github.com/llvm/llvm-project/compare/2f8f515f4e5f...f4113fb090b7

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list