[all-commits] [llvm/llvm-project] 4bc7c7: [SLP] Extract isIdentityOrder to common routine [p...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Fri Aug 30 11:27:37 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpbetter-cost-estimation-for-masked-gather-or-clustered-loads
  Home:   https://github.com/llvm/llvm-project
  Commit: 4bc7c74240b6f13bf421c1fef0155370b23d9fc8
      https://github.com/llvm/llvm-project/commit/4bc7c74240b6f13bf421c1fef0155370b23d9fc8
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP] Extract isIdentityOrder to common routine [probably NFC] (#106582)

This isn't quite just code motion as the four different versions we had
of this routine differed in whether they ignored the "size" marker used
to represent undef. I doubt this matters in practice, but it is a
functional change.

---------

Co-authored-by: Alexey Bataev <a.bataev at gmx.com>


  Commit: fd0dbc7f4d8a5900535aa87569fbc385b7c50ba6
      https://github.com/llvm/llvm-project/commit/fd0dbc7f4d8a5900535aa87569fbc385b7c50ba6
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/BinaryFormat/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-amplification.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-compute.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-domain.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-geometry.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-hull.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-mesh.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-pixel.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-vertex.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-amplification.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-compute.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-domain.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-geometry.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-hull.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-mesh.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-pixel.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-vertex.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-amplification.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-compute.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-domain.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-geometry.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-hull.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-mesh.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-pixel.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-vertex.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
    M llvm/test/ObjectYAML/DXContainer/SigElements.yaml
    M llvm/unittests/Object/DXContainerTest.cpp

  Log Message:
  -----------
  [DirectX] add enum for PSV resource type/kind/flag. (#106227)

Add ResourceType, ResourceKind and ResourceFlag enum class for PSV
resource.

This is for #103275


  Commit: 1ace91f925ad87c3e5eb836ad58fdffe60c4aea6
      https://github.com/llvm/llvm-project/commit/1ace91f925ad87c3e5eb836ad58fdffe60c4aea6
  Author: Job Henandez Lara <hj93 at protonmail.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
    M libc/test/src/math/performance_testing/CMakeLists.txt
    M libc/test/src/math/performance_testing/fmod_perf.cpp
    M libc/test/src/math/performance_testing/fmodf16_perf.cpp
    M libc/test/src/math/performance_testing/fmodf_perf.cpp
    A libc/test/src/math/performance_testing/fmul_perf.cpp
    A libc/test/src/math/performance_testing/fmull_perf.cpp
    M libc/test/src/math/performance_testing/hypot_perf.cpp
    M libc/test/src/math/performance_testing/hypotf_perf.cpp
    M libc/test/src/math/performance_testing/max_min_funcs_perf.cpp
    M libc/test/src/math/performance_testing/misc_basic_ops_perf.cpp

  Log Message:
  -----------
  [libc][math] Add performance tests for fmul and fmull. (#106262)


  Commit: 0a41c8e7a050c837c609cbcbc8342024701cd14b
      https://github.com/llvm/llvm-project/commit/0a41c8e7a050c837c609cbcbc8342024701cd14b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Avoid generating cuf.data_transfer in OpenACC region (#106435)

`cuf.data_transfer` will be converted to runtime calls to cuda runtime
api and these are not supported in device code. assignment in OpenACC
region will be handled by the OpenACC code gen so we avoid to generate
data transfer on them.


  Commit: 6421dcc0a978900091cc7aa8fa443746602cb442
      https://github.com/llvm/llvm-project/commit/6421dcc0a978900091cc7aa8fa443746602cb442
  Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp

  Log Message:
  -----------
  [NFC] [DSE] Refactor DSE (#100956)

Refactor DSE with MemoryDefWrapper and MemoryLocationWrapper.

Normally, one MemoryDef accesses one MemoryLocation. With "initializes"
attribute, one MemoryDef (like call instruction) could initialize
multiple MemoryLocations.

Refactor DSE as a preparation to apply "initializes" attribute in DSE in
a follow-up PR
(https://github.com/llvm/llvm-project/commit/58dd8a440343055b1a4929d72317218e912c16fd).


  Commit: 22ba3511087c85e3b1d4cad686f8d9c3aa6f8088
      https://github.com/llvm/llvm-project/commit/22ba3511087c85e3b1d4cad686f8d9c3aa6f8088
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll

  Log Message:
  -----------
  [RISCV][SLP] Test for <3 x Ty> reductions which require reordering

These tests show a vectorizable reduction where the order of the
reduction has been adjusted so that profitable vectorization requires
a reordering of the computation.   We currently have no reordering
in SLP for non-power-of-two vectors, so this doesn't work.

Note that due to reassociation performed in the standard pipeline,
this is actually the canonical form for a reduction reaching SLP.


  Commit: 26b0bef192be1a3adc250af460c2e728a1ca5a64
      https://github.com/llvm/llvm-project/commit/26b0bef192be1a3adc250af460c2e728a1ca5a64
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.err.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll

  Log Message:
  -----------
  AMDGPU: Use pattern to select instruction for intrinsic llvm.fptrunc.round (#105761)

Use GCNPat instead of Custom Lowering to select instructions for
intrinsic llvm.fptrunc.round. "SupportedRoundMode : TImmLeaf" is used as
a predicate to select only when the rounding mode is supported.
"as_hw_round_mode : SDNodeXForm" is developed to translate the round
modes to the corresponding ones that hardware recognizes.


  Commit: c1248c9d64e9210554571283980156b1d85cfe09
      https://github.com/llvm/llvm-project/commit/c1248c9d64e9210554571283980156b1d85cfe09
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/vector.cpp

  Log Message:
  -----------
  [Clang] prevent assertion failure when converting vectors to int/float with invalid expressions (#105727)

Fixes #105486


  Commit: e9eaf19eb605c14bed7a0f76d206c13a8eaf842f
      https://github.com/llvm/llvm-project/commit/e9eaf19eb605c14bed7a0f76d206c13a8eaf842f
  Author: Dávid Ferenc Szabó <30732159+dfszabo at users.noreply.github.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    A llvm/test/CodeGen/X86/inline-asm-int-to-fp.ll

  Log Message:
  -----------
  [CodeGen] Allow mixed scalar type constraints for inline asm (#65465)

GCC supports code like "asm volatile ("" : "=r" (i) : "0" (f))" where i
is integer type and f is floating point type. Currently this code
produces an error with Clang. The change allows mixed scalar types
between input and output constraints.

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>


  Commit: ff04c5b2e69481fc3b828bfcf32e05ff7a2c4b05
      https://github.com/llvm/llvm-project/commit/ff04c5b2e69481fc3b828bfcf32e05ff7a2c4b05
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    M clang/lib/Sema/SemaStmt.cpp

  Log Message:
  -----------
  [NFC][Sema] Move `Sema::AssignmentAction` into its own scoped enum (#106453)

The primary motivation behind this is to allow the enum type to be
referred to earlier in the Sema.h file which is needed for #106321.

It was requested in #106321 that a scoped enum be used (rather than
moving the enum declaration earlier in the Sema class declaration).
Unfortunately doing this creates a lot of churn as all use sites of the
enum constants had to be changed. Appologies to all downstream forks in
advanced.

Note the AA_ prefix has been dropped from the enum value names as they
are now redundant.


  Commit: a0441ced7a770036e00610989e2fabba5caeb31b
      https://github.com/llvm/llvm-project/commit/a0441ced7a770036e00610989e2fabba5caeb31b
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M clang/test/SemaTemplate/temp_arg_nontype.cpp

  Log Message:
  -----------
  [NFC] whitespace cleanup on clang/test/SemaTemplate/temp_arg_nontype.cpp


  Commit: a87105121dd300752c19024ebaf93319c2781a8b
      https://github.com/llvm/llvm-project/commit/a87105121dd300752c19024ebaf93319c2781a8b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/llvm-libc-macros/stdlib-macros.h
    M libc/include/stdlib.h.def
    M libc/newhdrgen/yaml/stdlib.yaml
    M libc/spec/stdc.td
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/strtod_l.cpp
    A libc/src/stdlib/strtod_l.h
    A libc/src/stdlib/strtof_l.cpp
    A libc/src/stdlib/strtof_l.h
    A libc/src/stdlib/strtol_l.cpp
    A libc/src/stdlib/strtol_l.h
    A libc/src/stdlib/strtold_l.cpp
    A libc/src/stdlib/strtold_l.h
    A libc/src/stdlib/strtoll_l.cpp
    A libc/src/stdlib/strtoll_l.h
    A libc/src/stdlib/strtoul_l.cpp
    A libc/src/stdlib/strtoul_l.h
    A libc/src/stdlib/strtoull_l.cpp
    A libc/src/stdlib/strtoull_l.h

  Log Message:
  -----------
  [libc] Implement locale variants for 'stdlib.h' functions (#105718)

Summary:
This provides the `_l` variants for the `stdlib.h` functions. These are
just copies of the same entrypoint and don't do anything with the locale
information.


  Commit: 5c019bdb7a008cf6465972d4affd8b2802465722
      https://github.com/llvm/llvm-project/commit/5c019bdb7a008cf6465972d4affd8b2802465722
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/string.h.def
    M libc/newhdrgen/yaml/string.yaml
    M libc/spec/stdc.td
    M libc/src/string/CMakeLists.txt
    A libc/src/string/strcoll_l.cpp
    A libc/src/string/strcoll_l.h
    A libc/src/string/strxfrm_l.cpp
    A libc/src/string/strxfrm_l.h

  Log Message:
  -----------
  [libc] Add support for 'string.h' locale variants (#105719)

Summary:
This adds the locale variants of the string functions. As previously,
these do not use the locale information at all and simply copy the
non-locale version which expects the "C" locale.


  Commit: ba5e8fcecea20da0a796b85e20d6292eb1447b6c
      https://github.com/llvm/llvm-project/commit/ba5e8fcecea20da0a796b85e20d6292eb1447b6c
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M flang/unittests/Runtime/CommandTest.cpp

  Log Message:
  -----------
  [flang] Adjust execute_command_line intrinsic return values for AIX (NFC) (#106472)


  Commit: 74938ab84dbfdedc6af7a276ebd67201b5eb78e5
      https://github.com/llvm/llvm-project/commit/74938ab84dbfdedc6af7a276ebd67201b5eb78e5
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] add true16/fake16 flag to gfx12 dasm tests (#106469)

add true16/fake16 flag to gfx12 dasm tests including vop1, vop1_dpp,
vop3_from_vop1 and vop3_from_vop1_dpp. This is a test only change.


  Commit: 59762a0ecf64cbf6ac20c41ae75666cd87519f26
      https://github.com/llvm/llvm-project/commit/59762a0ecf64cbf6ac20c41ae75666cd87519f26
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll

  Log Message:
  -----------
  [RISCV] Add coverage for <3 x float> reduction with neutral start

We can do slightly better on the neutral value when we have nsz.


  Commit: d5c292d8ef590f64d26c16d12afebb6ad7f50373
      https://github.com/llvm/llvm-project/commit/d5c292d8ef590f64d26c16d12afebb6ad7f50373
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/shufflevector.ll
    M llvm/test/MachineVerifier/test_g_splat_vector.mir

  Log Message:
  -----------
  [GISel][RISCV] Correctly handle scalable vector shuffles of pointer vectors in IRTranslator. (#106580)


  Commit: aeedab77b596f858b0c53923657fc8c190d48ea8
      https://github.com/llvm/llvm-project/commit/aeedab77b596f858b0c53923657fc8c190d48ea8
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/odd_store.ll

  Log Message:
  -----------
  [SLP]Correctly decide if the non-power-of-2 number of stores can be vectorized.

Need to consider the maximum type size in the graph before doing attempt
for the vectorization of non-power-of-2 number of elements, which may be
  less than MinVF.


  Commit: f08f9cd9713332c939889ab34f5355b77f12f82b
      https://github.com/llvm/llvm-project/commit/f08f9cd9713332c939889ab34f5355b77f12f82b
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/attrinfer.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/fixed-shadow.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/hwasan-pass-second-run.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll

  Log Message:
  -----------
  [HWASan] remove incorrectly inferred attributes (#106565)

assume all functions used in a HWASan module potentially touch shadow
memory (and short granules).


  Commit: 0141a3cde4d8f2c8ff9e957f981f37e65a69a325
      https://github.com/llvm/llvm-project/commit/0141a3cde4d8f2c8ff9e957f981f37e65a69a325
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/test/Analysis/stack-addr-ps.c

  Log Message:
  -----------
  [analyzer] Fix nullptr dereference for symbols from pointer invalidation (#106568)

As reported in
https://github.com/llvm/llvm-project/pull/105648#issuecomment-2317144635
commit 08ad8dc7154bf3ab79f750e6d5fb7df597c7601a
introduced a nullptr dereference in the case when store contains a
binding to a symbol that has no origin region associated with it, such
as the symbol generated when a pointer is passed to an opaque function.


  Commit: 66927fb95abef9327b453d7213c5df7d641269be
      https://github.com/llvm/llvm-project/commit/66927fb95abef9327b453d7213c5df7d641269be
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    R llvm/test/Instrumentation/HWAddressSanitizer/attrinfer.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/fixed-shadow.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/hwasan-pass-second-run.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll

  Log Message:
  -----------
  Revert "[HWASan] remove incorrectly inferred attributes" (#106622)

Reverts llvm/llvm-project#106565

Broke clang tests


  Commit: c4906588ce47de33d59bcd95f3e82ce2c3e61c23
      https://github.com/llvm/llvm-project/commit/c4906588ce47de33d59bcd95f3e82ce2c3e61c23
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll

  Log Message:
  -----------
  [VPlan] Use skipCostComputation when pre-computing induction costs.

This ensures we skip any instructions identified to be ignored by the
legacy cost model as well. Fixes a divergence between legacy and
VPlan-based cost model.

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


  Commit: 1f0d545ec38ceaafa7ca94aa659be125bdcd721f
      https://github.com/llvm/llvm-project/commit/1f0d545ec38ceaafa7ca94aa659be125bdcd721f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/istream

  Log Message:
  -----------
  [libc++] Fix wraparound issue with -fsanitize=integer in string operator>> (#106263)

Fixes #106261
rdar://133991190


  Commit: 049b60c5bb7e774b74772c6b89c72593f73a89b0
      https://github.com/llvm/llvm-project/commit/049b60c5bb7e774b74772c6b89c72593f73a89b0
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp

  Log Message:
  -----------
  [NFC][Clang] Avoid potential null pointer dereferences in Sema::AddInitializerToDecl(). (#106235)

Control flow analysis performed by a static analysis tool revealed the
potential for null pointer dereferences to occur in conjunction with the
`Init` parameter in `Sema::AddInitializerToDecl()`. On entry to the
function, `Init` is required to be non-null as there are multiple
potential branches that unconditionally dereference it. However, there
were two places where `Init` is compared to null thus implying that
`Init` is expected to be null in some cases. These checks appear to be
purely defensive checks and thus unnecessary. Further, there were
several cases where code checked `Result`, a variable of type
`ExprResult`, for an invalid value, but did not check for a valid but
null value and then proceeded to unconditionally dereference the
potential null result. This change elides the unnecessary defensive
checks and changes some checks for an invalid result to instead branch
on an unusable result (either an invalid result or a valid but null
result).


  Commit: 593526f3fb138069fc93b14d08320d0e3f67c707
      https://github.com/llvm/llvm-project/commit/593526f3fb138069fc93b14d08320d0e3f67c707
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h

  Log Message:
  -----------
  [X86] Use MCRegister instead of int64_t in X86MCExpr. NFC (#106569)


  Commit: 4ca817d0511b2c36b2f5d242e0c8f90a7a9c4f14
      https://github.com/llvm/llvm-project/commit/4ca817d0511b2c36b2f5d242e0c8f90a7a9c4f14
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/scalablevec-combiner-crash.ll

  Log Message:
  -----------
  [GlobalISel] Add bail outs for scalable vectors to some combines. (#106496)

These combines call getNumElements() which isn't valid for scalable
vectors.


  Commit: 182708680bbe34b579a09b2dbc3215b519b2473f
      https://github.com/llvm/llvm-project/commit/182708680bbe34b579a09b2dbc3215b519b2473f
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Add ExtractValueInst. (#106613)


  Commit: 412e3e394dbd1b7d8655639e161ed4dbd5505c96
      https://github.com/llvm/llvm-project/commit/412e3e394dbd1b7d8655639e161ed4dbd5505c96
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/fake-use-hpfloat.ll
    M llvm/test/CodeGen/X86/fake-use-vector.ll
    M llvm/test/DebugInfo/X86/fake-use.ll

  Log Message:
  -----------
  [ExtendLifetimes][NFC] Add explicit triple to remaining fake-use tests

One of the tests for the new fake use intrinsic are failing on darwin
buildbots due to relying on behaviour for their expected triple; this
commit adds explicit triples to the few remaining fake-use tests that
didn't have them.

Fixes commit 3d08ade (#86149).

Buildbot failures:
https://lab.llvm.org/buildbot/#/builders/23/builds/2505


  Commit: 7284e0f3a4f8924a0f69f654db8c4b4d00d232cb
      https://github.com/llvm/llvm-project/commit/7284e0f3a4f8924a0f69f654db8c4b4d00d232cb
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ItaniumMangle.cpp
    A clang/test/CodeGenCXX/GH106182.cpp
    A clang/test/SemaCXX/GH106182.cpp

  Log Message:
  -----------
  [clang] mangle placeholder for deduced type as a template-prefix (#106335)

As agreed on https://github.com/itanium-cxx-abi/cxx-abi/issues/109 these
placeholders should be mangled as a `template-prefix` production.

```
    <template-prefix> ::= <template unqualified-name>           # global template
                      ::= <prefix> <template unqualified-name>  # nested template
                      ::= <template-param>                      # template template parameter
                      ::= <substitution>
```

Previous to this patch, the template template parameter case was not
handled, and template template parameters were incorrectly being handled
as unqualified-names.

Before #95202, DeducedTemplateType was not canonicalized correctly, so
that template template parameter declarations were retained
uncanonicalized.

After #95202, they are correctly canonicalized, but this now leads to
these TTPs being anonymous entities, where the mangling implementation
correctly doesn't expect an anonymous declaration of this kind, leading
to a crash.

Fixes #106182.


  Commit: 4caf0196c042601b1c442a5726a157fead00ecc7
      https://github.com/llvm/llvm-project/commit/4caf0196c042601b1c442a5726a157fead00ecc7
  Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    A clang/test/Modules/compare-file-size.py
    M clang/test/Modules/reduced-bmi-size.cppm

  Log Message:
  -----------
  [clang][test] Rewrote test using command substitution to work with lit internal shell syntax (#105902)

This patch rewrites a test that uses command substitution `$()` and the
`stat` command, which are not supported by lit's internal shell. Instead
of using this syntax to perform the file size comparison done in this
test, a Python script is used instead to perform the same operation.

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


  Commit: aa91d90cb07d72b32176a966fe798ab71ecb0a76
      https://github.com/llvm/llvm-project/commit/aa91d90cb07d72b32176a966fe798ab71ecb0a76
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/PowerPC/fma-negate.ll
    M llvm/test/CodeGen/PowerPC/fp-strict.ll
    M llvm/test/CodeGen/PowerPC/vec_abs.ll
    M llvm/test/CodeGen/PowerPC/vec_fneg.ll

  Log Message:
  -----------
  [LegalizeVectorOps][PowerPC] Use xor to expand fneg. (#106595)

This preserves the semantis of fneg and matches what we do in
LegalizeDAG.

I kept the legal FSUB check to force unrolling for some targets that
don't have FSUB but have XOR. On Aarch64, using xor broke some tests that
expected to see a (v1f64 (fma (insertvector_elt (f64 (fneg
(extractvectorelt X)))))) pattern.


  Commit: e51fc36c385d756ccbc2be8c47c52af207c3aead
      https://github.com/llvm/llvm-project/commit/e51fc36c385d756ccbc2be8c47c52af207c3aead
  Author: rjmansfield <rjmansfield at users.noreply.github.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M compiler-rt/test/lsan/TestCases/create_thread_leak.cpp

  Log Message:
  -----------
  [lsan][test] Allow testcase to execute on remote targets without not utility (#87350)


  Commit: cc943a67d114e28c28f561c3b1a48ff2003264ce
      https://github.com/llvm/llvm-project/commit/cc943a67d114e28c28f561c3b1a48ff2003264ce
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll

  Log Message:
  -----------
  [SLP]Fix PR106626: trye several attempts for lookup values, if not found.

If the value is used in Scalar several times, the first attempt to find
its position in the node (if ReuseShuffleIndices and ReorderIndices not
empty) may fail. In this case need to find another copy of the same
value and try again.
Fixes https://github.com/llvm/llvm-project/issues/106626


  Commit: a1441ca74708a557606bf68d42fca40bb03dbd74
      https://github.com/llvm/llvm-project/commit/a1441ca74708a557606bf68d42fca40bb03dbd74
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Driver/print-pipeline-passes.f90

  Log Message:
  -----------
  [flang][Driver] Add support for -mllvm -print-pipeline-passes

The behavior deliberately mimics that of clang. Ideally, -print-pipeline-passes
should be a first-class driver option. Notes to this effect have been added in 
the appropriate places in both flang and clang.

---------

Co-authored-by: Tarun Prabhu <tarun.prabhu at gmail.com>


  Commit: dac1f7ba8eefb6931abb68a6aebb273de5a60f74
      https://github.com/llvm/llvm-project/commit/dac1f7ba8eefb6931abb68a6aebb273de5a60f74
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll

  Log Message:
  -----------
  [NVPTX] fixup incorrect rounding mode for int to float conversion (#106600)

`uitofp` and `sitofp` instructions use the default rounding mode which
is defined as round-to-nearest.


  Commit: ec68dc1ca4d967b599f1202855917d5ec9cae52f
      https://github.com/llvm/llvm-project/commit/ec68dc1ca4d967b599f1202855917d5ec9cae52f
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/interception_type_test.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h

  Log Message:
  -----------
  [compiler-rt] Work around incompatible Windows definitions of (S)SIZE_T

The interceptor types are supposed to match size_t (and the non-Windows
ssize_t) exactly, but on 32-bit Windows `size_t` uses `unsigned int`
whereas `SIZE_T` is `unsigned long`. The current definition results in
`uptr` not matching `uintptr_t` since we otherwise get typedef
redefinition errors. Work around this by using a #define instead of
a typedef when defining SIZE_T.

It would probably be cleaner to stop using these uppercase types, but
that is a rather invasive change and this one is the minimal change to
allow uptr to match uintptr_t on Windows.

To ensure this compiles on Windows, we also remove the interceptor.h
defines of uptr (that do not always match __sanitizer::uptr) and rely
on __sanitizer::uptr instead. The interceptor types most likely predate
those other types so clean up the unnecessary definition while here.

This also reverts commit 18e06e3e2f3d47433e1ed323b8725c76035fc1ac and
commit bb27dd853a713866c025a94ead8f03a1e25d1b6e.

Reviewed By: mstorsjo, vitalybuka

Pull Request: https://github.com/llvm/llvm-project/pull/106311


  Commit: 9df92cbd1addb03c7169f05cf3b628f88c610224
      https://github.com/llvm/llvm-project/commit/9df92cbd1addb03c7169f05cf3b628f88c610224
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp

  Log Message:
  -----------
  [compiler-rt] Remove duplicates of sanitizer_common functions

These functions in interception_win.cpp already exist in
sanitizer_common. Use those instead.

Reviewed By: mstorsjo

Pull Request: https://github.com/llvm/llvm-project/pull/106488


  Commit: dbbfc952f0d4703b89fa238e2aba98f1229fb972
      https://github.com/llvm/llvm-project/commit/dbbfc952f0d4703b89fa238e2aba98f1229fb972
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrFormats.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Separate ActiveElementsAffectResult into VL and Mask flags (#106517)

In #106110 we had to mark v[f]slide1down.vx as
ActiveElementsAffectResult since the elements in the body depend on VL.
However it doesn't depend on the mask, so this was overly conservative
and broke the vmerge peephole.

We can recover this by splitting up ActiveElementsAffectResult into VL
and Mask bits, so we can more accurately model v[f]slide1down.vx and
re-enable the peephole.


  Commit: 034f2b380bd2d84e8cfbcb647b50602711d170c7
      https://github.com/llvm/llvm-project/commit/034f2b380bd2d84e8cfbcb647b50602711d170c7
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    A llvm/include/llvm/SandboxIR/Type.h
    M llvm/lib/SandboxIR/CMakeLists.txt
    M llvm/lib/SandboxIR/SandboxIR.cpp
    A llvm/lib/SandboxIR/Type.cpp
    M llvm/unittests/SandboxIR/CMakeLists.txt
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    A llvm/unittests/SandboxIR/TypesTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement SandboxIR Type (#106294)

This patch implements sandboxir::Type, a thin wrapper of llvm::Type.
This is designed very similarly to sandbox::Value. Context owns all
sandboxir::Type objects and maintains a map between llvm::Type and
sandboxir::Type.

There are a couple of reasons for migrating from llvm::Type to
sandboxir::Type:
- Creating an llvm::Type from within SandboxIR-only code doesn't work
well because it requires you to pass llvm::Context to functions like
llvm::Type::getInt32Ty(C), but you wouldn't normally have access to
llvm::Context C. In unit tests this is not such a big deal because you
have access to both, but it will become an issue in SandboxIR-only code.
- Not being able to get the sandboxir::Context from llvm::Type results
in awkward sandboir APIs with additional sandboxir::Context arguments.
- llvm::Type::getContext() can basically give you access to the whole
LLVM IR, which we should try to avoid.


  Commit: 46fe36a4295f05d5d3731762e31fc4e6e99863e9
      https://github.com/llvm/llvm-project/commit/46fe36a4295f05d5d3731762e31fc4e6e99863e9
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] Remove duplicates of sanitizer_common functions"

This works for MinGW, but the MSVC linker apparently doens't pull in
those symbols. Reverting for now since I won't be able to reproduce it today.

https://lab.llvm.org/buildbot/#/builders/107/builds/2337

This reverts commit 9df92cbd1addb03c7169f05cf3b628f88c610224.


  Commit: cdaebf6f0e2be65f55011ccb2f1bc3b9199b6285
      https://github.com/llvm/llvm-project/commit/cdaebf6f0e2be65f55011ccb2f1bc3b9199b6285
  Author: Justin Fargnoli <jfargnoli at nvidia.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    A llvm/test/CodeGen/NVPTX/compute-ptx-value-vts.ll
    A llvm/test/CodeGen/NVPTX/vector-returns.ll

  Log Message:
  -----------
  [NVPTX] Fix crash caused by ComputePTXValueVTs (#104524)

When [lowering return
values](https://github.com/llvm/llvm-project/blob/99a10f1fe8a7e4b0fdb4c6dd5e7f24f87e0d3695/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp#L3422)
from LLVM IR to SelectionDAG, we check that [the number of values
`SelectionDAG` tells us to return is equal to the number of values that
`ComputePTXValueVTs()` tells us to
return](https://github.com/llvm/llvm-project/blob/99a10f1fe8a7e4b0fdb4c6dd5e7f24f87e0d3695/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp#L3441).
However, this check can fail on valid IR. For example:

```
define <6 x half> @foo() {
  ret <6 x half> zeroinitializer
}
```

`ComputePTXValueVTs()` tells us to return ***3*** `v2f16` values, while
`SelectionDAG` tells us to return ***6*** `f16` values. Thus, the
compiler will crash.

`ComputePTXValueVTs()` [supports all `half` element vectors with an even
number of
elements](https://github.com/llvm/llvm-project/blob/99a10f1fe8a7e4b0fdb4c6dd5e7f24f87e0d3695/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp#L213).
Whereas `SelectionDAG` [only supports power-of-2 sized
vectors](https://github.com/llvm/llvm-project/blob/4e078e3797098daa40d254447c499bcf61415308/llvm/lib/CodeGen/TargetLoweringBase.cpp#L1580).
This is the root of the discrepancy.

Assuming that the developers who added the code to
`ComputePTXValueVTs()` overlooked this, I've restricted
`ComputePTXValueVTs()` to compute the same number of return values as
`SelectionDAG`, instead of extending `SelectionDAG` to support
non-power-of-2 sized vectors.


  Commit: 1991aa6b48845f31ff4e69a960b04086ff68ce3e
      https://github.com/llvm/llvm-project/commit/1991aa6b48845f31ff4e69a960b04086ff68ce3e
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
    M llvm/lib/Analysis/MLInlineAdvisor.cpp
    M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp

  Log Message:
  -----------
  Reapply "[nfc][mlgo] Incrementally update DominatorTreeAnalysis in FunctionPropertiesAnalysis (#104867) (#106309)

Reverts c992690179eb5de6efe47d5c8f3a23f2302723f2.

The problem is that if there is a sequence "{delete A->B} {delete A->B}
{insert A->B}" the net result is "{delete A->B}", which is not what we
want.

Duplicate successors may happen in cases like switch statements (as
shown in the unit test).

The second problem was that in `invoke` cases, some edges we speculate may get deleted don't, but are also not reachable from the inlined call site's basic block. We just need to check which edges are actually not present anymore.

The fix is to sanitize the list of deletes, just like we do for inserts.


  Commit: 7579787e05966f21684dd4b4a15b9deac13d09e1
      https://github.com/llvm/llvm-project/commit/7579787e05966f21684dd4b4a15b9deac13d09e1
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Correctly identify token-pasted record names (#106484)

See
https://github.com/llvm/llvm-project/pull/89706#issuecomment-2315549955.


  Commit: e29c5f387f4a4aff039c01bde9eedeb6bd97951f
      https://github.com/llvm/llvm-project/commit/e29c5f387f4a4aff039c01bde9eedeb6bd97951f
  Author: Elvis Wang <110374989+ElvisWang123 at users.noreply.github.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/Analysis/CostModel/RISCV/scalable-gather.ll
    M llvm/test/Analysis/CostModel/RISCV/scalable-scatter.ll

  Log Message:
  -----------
  [RISCV][TTI] Add legality check of vector of address for gather/scatter. (#106481)

This patch add a legality check that checks if target machine support
vector of address in `isLegalMaskedGatherScatter()`.


  Commit: 12b0257f5aa2966ebbd3c7e2a6c8a73f00dab3d3
      https://github.com/llvm/llvm-project/commit/12b0257f5aa2966ebbd3c7e2a6c8a73f00dab3d3
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M clang/test/CodeGen/address-safety-attr-flavors.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/attrinfer.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/fixed-shadow.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/hwasan-pass-second-run.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll

  Log Message:
  -----------
  Reapply "[HWASan] remove incorrectly inferred attributes" (#106622) (#106624)

This reverts commit 66927fb95abef9327b453d7213c5df7d641269be.

Fixed clang tests


  Commit: ca2351dd142bac574021f48f135a9f9383c41128
      https://github.com/llvm/llvm-project/commit/ca2351dd142bac574021f48f135a9f9383c41128
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/skip-func-def-odr-with-pch.cppm

  Log Message:
  -----------
  [C++20] [Modules] Skip checking ODR for merged context in GMF

Solve https://github.com/clangd/clangd/issues/2094

Due clangd will enable PCH automatically, the previous mechanism to skip
ODR check in GMF may be invalid. This patch fixes this for a case.


  Commit: ddaf2e2d2946b4938512794f26cab3a3fe53b227
      https://github.com/llvm/llvm-project/commit/ddaf2e2d2946b4938512794f26cab3a3fe53b227
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll

  Log Message:
  -----------
  [HWASan] add OptimizationRemark for alloca safety (#105872)


  Commit: e004566547bb13386ee30c78176dd7988c42860a
      https://github.com/llvm/llvm-project/commit/e004566547bb13386ee30c78176dd7988c42860a
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp
    M llvm/test/CodeGen/NVPTX/nvptx-aa.ll

  Log Message:
  -----------
  [NVPTX][AA] Traverse use-def chain to find non-generic addrspace (#106477)

Address space information may be encoded anywhere along the use-def
chain. Take advantage of this by traversing the chain until we find a
non-generic addrspace.


  Commit: e00e9a3f8294c9b96cb0328bf136fab72aeec749
      https://github.com/llvm/llvm-project/commit/e00e9a3f8294c9b96cb0328bf136fab72aeec749
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/TypeNodes.td
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Serialization/TypeBitCodes.def
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXType.cpp

  Log Message:
  -----------
  [HLSL] Add HLSLAttributedResourceType (#106181)

Introducing `HLSLAttributedResourceType` - a new type that is similar to
`AttributedType` but with additional data specific to HLSL resources.
`AttributeType` currently only stores an attribute kind and no
additional data from the type attribute parameters. This does not really
work for HLSL resources since its type attributes contain non-boolean
values that need to be retained as well.

For example:

```
template <typename T> class RWBuffer {
  __hlsl_resource_t  [[hlsl::resource_class(uav)]] [[hlsl::is_rov]] handle;
};
```

The data `HLSLAttributedResourceType` needs to eventually store are:
- resource class (SRV, UAV, CBuffer, Sampler)
- texture dimension(1-3)
- flags is_rov, is_array, is_feedback and is_multisample
- contained type

All of these values except contained type will be stored in
`HLSLAttributedResourceType::Attributes` struct and accessed
individually via the fields. There is also `Data` alias that covers all
of these values as a `unsigned` which is used for hashing and the AST
type serialization.

During type attribute processing all HLSL type attributes will be
validated and collected by SemaHLSL (by
`SemaHLSL::handleResourceTypeAttr`) and in the end combined into a
single `HLSLAttributedResourceType` instance (in
`SemaHLSL::ProcessResourceTypeAttributes`). `SemaHLSL` will also need to
short-term store the `TypeLoc` information for the new type that will be
grabbed by `TypeSpecLocFiller` soon after the type is created.

Part 1/2 of #104861


  Commit: d4c519e7b2ac21350ec08b23eda44bf4a2d3c974
      https://github.com/llvm/llvm-project/commit/d4c519e7b2ac21350ec08b23eda44bf4a2d3c974
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    A flang/include/flang/Lower/Cuda.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  [flang][cuda] Do inline allocation/deallocation in device code (#106628)

ALLOCATE and DEALLOCATE statements can be inlined in device function.
This patch updates the condition that determined to inline these actions
in lowering.

This avoid runtime calls in device function code and can speed up the
execution.

Also move `isCudaDeviceContext` from `Bridge.cpp` so it can be used
elsewhere.


  Commit: 24e791b4164986a1ca7776e3ae0292ef20d20c47
      https://github.com/llvm/llvm-project/commit/24e791b4164986a1ca7776e3ae0292ef20d20c47
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-29 (Thu, 29 Aug 2024)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

  Log Message:
  -----------
  [ARM] Use MCRegister instead of unsigned for RegisterReqs in ARMAsmParser.


  Commit: b65fc7e91a20904a08e28a51fbf98137e94ae262
      https://github.com/llvm/llvm-project/commit/b65fc7e91a20904a08e28a51fbf98137e94ae262
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/convert.fir

  Log Message:
  -----------
  [flang][fir] allow fir.convert from and to !llvm.ptr type (#106590)

Allow some interaction between LLVM and FIR dialect by allowing
conversion between FIR memory types and llvm.ptr type.
This is meant to help experimentation where FIR and LLVM dialect
coexists, and is useful to deal with cases where LLVM type makes it
early into the MLIR produced by flang, like when inserting LLVM stack
intrinsic here:
https://github.com/llvm/llvm-project/blob/0a00d32c5f88fce89006dcde6e235bc77d7b495e/flang/lib/Optimizer/Transforms/StackReclaim.cpp#L57


  Commit: a527248a3c2d638b0c92a06992f3f1c1f80842ad
      https://github.com/llvm/llvm-project/commit/a527248a3c2d638b0c92a06992f3f1c1f80842ad
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Semantics/canonicalize-acc.cpp
    M flang/lib/Semantics/canonicalize-directives.cpp
    A flang/test/Lower/OpenACC/acc-loop-and-cpu-dir.f90
    M flang/test/Semantics/loop-directives.f90

  Log Message:
  -----------
  [flang][acc] allow and ignore DIR between ACC and loops (#106522)

The current pattern was failing OpenACC semantics in acc parse tree
canonicalization:

```
!acc loop
!dir vector aligned
do i=1,n
...
```

Fix it by moving the directive before the OpenACC construct node.

Note that I think it could make sense to propagate the $dir info to the
acc.loop, at least with classic flang, the $dir seems to make a
difference. This is not done here since few directives are supported
anyway.


  Commit: 448d8fa880be5cae0f63c3b248f07f647013a5a4
      https://github.com/llvm/llvm-project/commit/448d8fa880be5cae0f63c3b248f07f647013a5a4
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang-tools-extra/clangd/ModulesBuilder.cpp

  Log Message:
  -----------
  [NFC] [clangd] [Modules] Extract ModuleFile class and IsModuleFileUpToDate function

This patch extracts ModuleFile class from StandalonePrerequisiteModules
so that we can reuse it further. And also we implement
IsModuleFileUpToDate function to implement
StandalonePrerequisiteModules::CanReuse. Both of them aims to ease the
future improvements to the support of modules in clangd. And both of
them should be NFC.


  Commit: cd634f57c10dedbe4f908889dece2c4460b702c9
      https://github.com/llvm/llvm-project/commit/cd634f57c10dedbe4f908889dece2c4460b702c9
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M compiler-rt/lib/builtins/aarch64/sme-abi-init.c

  Log Message:
  -----------
  [compiler-rt][AArch64][Android] Use getauxval on Android. (#102979)

__getauxval is a libgcc function that doesn't exist on Android.
Also on Linux let's use getauxval as it is anyway used other places in compiler-rt.


  Commit: d68059bcfd1cc27e378c43b1f16019c5baccb06d
      https://github.com/llvm/llvm-project/commit/d68059bcfd1cc27e378c43b1f16019c5baccb06d
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang-tools-extra/clangd/ModulesBuilder.cpp

  Log Message:
  -----------
  [NFC] [clangd] [Modules] Change the argument type of IsModuleFileUpToDate to reference

It is better to use references instead of pointers as the argument type
of IsModuleFileUpToDate. Since the PrerequisiteModules is always
expected to exist.


  Commit: 8ca6401fdd36c17a8d68a8fb06b7d43c2540a027
      https://github.com/llvm/llvm-project/commit/8ca6401fdd36c17a8d68a8fb06b7d43c2540a027
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-directive-structure.h
    A flang/test/Lower/OpenACC/acc-shortloop-ignore.f90
    M flang/test/Semantics/OpenACC/acc-routine-validity.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] parse and ignore non-standard shortloop clause (#106564)

shortloop is a non standard OpenACC extension
(https://docs.nvidia.com/hpc-sdk/pgi-compilers/2015/pgirn157.pdf) that
can be found on loop directives.

f18 parser was choking when seeing it. Since it can be found in existing
apps and is mainly an optimization hint, parse it on loop directives and
ignore it with a warning.

For the records, here is shortloop meaning according to the manual linked above:

"If the shortloop clause appears on a loop directive with the vector clause, it tells the compiler that the
loop trip count is less than or equal to the number of vector lanes created for that loop. This means the
value of the vector() clause on the loop directive in a kernels region, or the value of the
vector_length() clause on the parallel directive in a parallel region will be greater than or
equal to the loop trip count. This allows the compiler to generate more efficient code for the loop"


  Commit: 89e6a288674c9fae33aeb5448c7b1fe782b2bf53
      https://github.com/llvm/llvm-project/commit/89e6a288674c9fae33aeb5448c7b1fe782b2bf53
  Author: Daniil Fukalov <dfukalov at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/ConcurrentHashtable.h
    M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.h
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/lib/Support/BalancedPartitioning.cpp
    M llvm/lib/Support/ErrorHandling.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/RWMutex.cpp
    M llvm/lib/Support/Unix/Process.inc
    M llvm/tools/lli/ChildTarget/ChildTarget.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Error.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-mt/llvm-mt.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.cpp
    M llvm/unittests/Analysis/MLModelRunnerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp
    M llvm/unittests/Support/CrashRecoveryTest.cpp
    M llvm/unittests/Support/ManagedStatic.cpp
    M llvm/unittests/Support/MemoryBufferTest.cpp
    M llvm/unittests/Support/ParallelTest.cpp
    M llvm/unittests/Support/Path.cpp
    M llvm/unittests/Support/ThreadPool.cpp
    M llvm/unittests/Support/Threading.cpp
    M llvm/unittests/Support/WithColorTest.cpp
    M llvm/unittests/Support/raw_ostream_test.cpp

  Log Message:
  -----------
  [NFC] Add explicit #include llvm-config.h where its macros are used. (#106621)

Without these explicit includes, removing other headers, who implicitly
include llvm-config.h, may have non-trivial side effects.


  Commit: d6ad55167094b7b23e71ec6eabfe942e7a485b41
      https://github.com/llvm/llvm-project/commit/d6ad55167094b7b23e71ec6eabfe942e7a485b41
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/test/Transforms/PGOProfile/memprof.ll
    M llvm/test/Transforms/SCCP/pointer-nonnull.ll

  Log Message:
  -----------
  [IPSCCP] Infer nonnull return attribute (#106553)

Similarly to the existing range attribute inference, also infer the
nonnull attribute on function return values.

I think in practice FunctionAttrs will handle nearly all cases, the main
one I think it doesn't is cases involving branch conditions. But as we
already have the information here, we may as well materialize it.


  Commit: e0fa2f1c2957d9783d21460febf103cecac9e19a
      https://github.com/llvm/llvm-project/commit/e0fa2f1c2957d9783d21460febf103cecac9e19a
  Author: ofAlpaca <frank70199 at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/builtins.cpp

  Log Message:
  -----------
  `__noop` not marked as constexpr #102064 (#105983)

Fixes #102064


  Commit: 1693d8eb9aa94b0e8e2395234e6c63b57a2017b7
      https://github.com/llvm/llvm-project/commit/1693d8eb9aa94b0e8e2395234e6c63b57a2017b7
  Author: Max Beck-Jones <max.beck-jones at arm.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve2-histcnt.ll

  Log Message:
  -----------
  [AArch64][SelectionDAG] Vector splitting and promotion for histogram intrinsic (#103037)

Adds support for wider-than-legal vector types for the histogram
intrinsic (llvm.experimental.vector.histogram.add) by splitting the
vector. Also adds integer promotion for the Inc operand.


  Commit: d2b8969b7593fd01991a2089828e6256945874cf
      https://github.com/llvm/llvm-project/commit/d2b8969b7593fd01991a2089828e6256945874cf
  Author: Kai Luo <gluokai at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/EdgeBundles.cpp

  Log Message:
  -----------
  [EdgeBundles] Correct MBB label name in output graph when `-view-edge-bundles`. NFC. (#106661)

With `-view-edge-bundles`, before the change, the dot file output is
kinda like
```dot
digraph {
        "%bb.0" [ shape=box ]
        0 -> "%bb.0"
        "%bb.0" -> 1
        "%bb.0" -> "%bb.1" [ color=lightgray ]
        "%bb.0" -> "%bb.6" [ color=lightgray ]
        "%bb.1" [ shape=box ]
        1 -> "%bb.1"
        "%bb.1" -> 1
        "%bb.1" -> "%bb.2" [ color=lightgray ]
        "%bb.1" -> "%bb.6" [ color=lightgray ]
        "%bb.2" [ shape=box ]
        1 -> "%bb.2"
        "%bb.2" -> 1
        "%bb.2" -> "%bb.3" [ color=lightgray ]
        "%bb.3" [ shape=box ]
        1 -> "%bb.3"
        "%bb.3" -> 2
        "%bb.3" -> "%bb.4" [ color=lightgray ]
        "%bb.4" [ shape=box ]
        2 -> "%bb.4"
        "%bb.4" -> 2
        "%bb.4" -> "%bb.4" [ color=lightgray ]
        "%bb.4" -> "%bb.5" [ color=lightgray ]
        "%bb.5" [ shape=box ]
        2 -> "%bb.5"
        "%bb.5" -> 1
        "%bb.5" -> "%bb.6" [ color=lightgray ]
        "%bb.5" -> "%bb.3" [ color=lightgray ]
        "%bb.6" [ shape=box ]
        1 -> "%bb.6"
        "%bb.6" -> 3
}
```
However, the graph output by graphviz is

![t](https://github.com/user-attachments/assets/24056c0a-3ba9-49c3-a5da-269f3140e619)
The node name corresponding to the MBB is incorrect.
After the change, the node name is consistent with MBB's name.

![s](https://github.com/user-attachments/assets/38c649d1-7222-4de1-971c-56f7721ab64c)


  Commit: ce7c828e085563f29451ec5fac9626c76ebf70ee
      https://github.com/llvm/llvm-project/commit/ce7c828e085563f29451ec5fac9626c76ebf70ee
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
    A lldb/test/Shell/Process/elf-core/aarch64-no-NT_ARM_TLS.yaml
    A lldb/test/Shell/Process/elf-core/lit.local.cfg

  Log Message:
  -----------
  [lldb][AArch64] Do not crash if NT_ARM_TLS is missing (#106478)

[D156118](https://reviews.llvm.org/D156118) states that this note is
always present, but it is better to check it explicitly, as otherwise
`lldb` may crash when trying to read registers.


  Commit: 54916e5784d0fd928ef5b28b2eb99726a395cb3f
      https://github.com/llvm/llvm-project/commit/54916e5784d0fd928ef5b28b2eb99726a395cb3f
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M .github/workflows/pr-code-format.yml

  Log Message:
  -----------
  [Github] Set code formatting job timeout to 30 minutes (#106674)

This patch sets the timeout of the code formatting job to 30 minutes.
The job is currently failing in specific circumstances and needs to be
reworked, but as a temp hack, change the timeout to 30 minutes so that
we can catch these jobs before they hit the Github Actions timeout limit
of six hours.

Somewhat (hackily) alleviates #79661 slightly.


  Commit: d6dc7cf71bf52f866c092e92ce374f0266ebee1a
      https://github.com/llvm/llvm-project/commit/d6dc7cf71bf52f866c092e92ce374f0266ebee1a
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  Fix bazel build past 89e6a288674c (#106685)


  Commit: 0722b8ab8168d9e1aa3413a62c65878f407225ae
      https://github.com/llvm/llvm-project/commit/0722b8ab8168d9e1aa3413a62c65878f407225ae
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang/test/SemaTemplate/default-arguments.cpp
    R clang/test/SemaTemplate/default-parm-init.cpp

  Log Message:
  -----------
  [Clang][NFC] Consolidate tests for default argument substitution (#105617)

Follow-up on 8ac140f39.

The test `SemaTemplate/default-parm-init.cpp` was introduced since the
fix #80288 and mainly did the following things:

- Ensure the default arguments are properly substituted inside either
the primary template & their explicit / out-of-line specializations.
- Ensure the strategy doesn't mess up the substitution of a lambda
expression as a default argument.

The 1st is for the bug of #68490, yet it does some redundant work: each
of the member functions is duplicated twice for the `sizeof` and
`alignof` operators, respectively, and the principle under the hood are
essentially the same. So this patch removes the duplication and reduces
the 8 functions to 4 functions that reveal the same thing.

The 2nd is presumably testing that the fix in #80288 doesn't impact a
complicated substitution. However, that seems unnecessary & unrelated to
the original issue. And more importantly, we don't have any problems
with that ever. Hence, I'll remove that test from this patch.

The test for default arguments is merged into
`SemaTemplate/default-arguments.cpp` with a new namespace, and hopefully
this could reduce the entropy of our testing cases.


  Commit: 5b77e254e814eb9a56d31c30a5c8289c07d8a6ff
      https://github.com/llvm/llvm-project/commit/5b77e254e814eb9a56d31c30a5c8289c07d8a6ff
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/imm.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit test for immediate value materialization using BSTRINS_D

Reviewed By: SixWeining

Pull Request: https://github.com/llvm/llvm-project/pull/106331


  Commit: eaf87d32754beb5bec10bab517bf56e25575b48e
      https://github.com/llvm/llvm-project/commit/eaf87d32754beb5bec10bab517bf56e25575b48e
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMatInt.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMatInt.h
    M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/LoongArch/imm.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/load-store.ll
    M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll
    M llvm/test/MC/LoongArch/Macros/macros-li.s

  Log Message:
  -----------
  [LoongArch] Optimize for immediate value materialization using BSTRINS_D instruction

Reviewed By: heiher, SixWeining

Pull Request: https://github.com/llvm/llvm-project/pull/106332


  Commit: 8f4aafb58ceb2c60f8f13d475d0623c696cd5716
      https://github.com/llvm/llvm-project/commit/8f4aafb58ceb2c60f8f13d475d0623c696cd5716
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A llvm/test/Analysis/CostModel/RISCV/cast-half.ll
    M llvm/test/Analysis/CostModel/RISCV/cast.ll

  Log Message:
  -----------
  [RISCV][NFC] Splits f16 cast tests into a separate file (#106692)

precommit f16 test for #87506 fp-int conversion


  Commit: b294951e3967730ffad14d51297694b1411d7af6
      https://github.com/llvm/llvm-project/commit/b294951e3967730ffad14d51297694b1411d7af6
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/CodeGen/compound-literal.c

  Log Message:
  -----------
  [clang][bytecode] Fix the handling of address of a vector (#106558)

The PR https://github.com/llvm/llvm-project/pull/105996 broke taking the
address of a vector:

**compound-literal.c**
```C
typedef int v4i32 __attribute((vector_size(16)));
v4i32 *y = &(v4i32){1,2,3,4};
```
That because the current interpreter handle vector unary operator as a
fallback when the generic code path fail. but the new interpreter was
not. we need to handle `UO_AddrOf` in
`Compiler<Emitter>::VisitVectorUnaryOperator`.

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 1b32c3e2985f89900030289eaa44e3d92cab85af
      https://github.com/llvm/llvm-project/commit/1b32c3e2985f89900030289eaa44e3d92cab85af
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  Add no-op handing for HLSLAttributedResource switch cases (#106698)

New value added in e00e9a3f8294c9b96cb0328bf136fab72aeec749


  Commit: a2a93f02930e20930d5ef38464ca9c99eb00ff23
      https://github.com/llvm/llvm-project/commit/a2a93f02930e20930d5ef38464ca9c99eb00ff23
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang/lib/Basic/SourceManager.cpp
    M clang/unittests/Basic/SourceManagerTest.cpp

  Log Message:
  -----------
  [clang] Cleanup IncludeLocMap (#106241)

CompilerInstance can re-use same SourceManager across multiple
frontendactions. During this process it calls
`SourceManager::clearIDTables` to reset any caches based on FileIDs.

It didn't reset IncludeLocMap, resulting in wrong include locations for
workflows that triggered multiple frontend-actions through same
CompilerInstance.


  Commit: c4b5cb0f31227074d423b2db378dfbc486a5550e
      https://github.com/llvm/llvm-project/commit/c4b5cb0f31227074d423b2db378dfbc486a5550e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll

  Log Message:
  -----------
  [AArch64] Add accelerate test coverage for acos/asin/atan and cosh/sinh/tanh intrinsics to support #106584


  Commit: 833ce5d27b4e5452db73bf1b4eace7b1891f8650
      https://github.com/llvm/llvm-project/commit/833ce5d27b4e5452db73bf1b4eace7b1891f8650
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f32.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Fix test after #98043 (NFC)


  Commit: c8568f09577e9332d15edf98beb5376dc8d0672e
      https://github.com/llvm/llvm-project/commit/c8568f09577e9332d15edf98beb5376dc8d0672e
  Author: Longsheng Mou <moulongsheng at huawei.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir

  Log Message:
  -----------
  [mlir][tosa] Add missing check for mutiples of `tosa.tile` (#106337)

This patch adds check for mutiples of `tosa.tile`. The `multiples` in
`tosa.tile` indicates how many times the tensor should be replicated
along each dimension. Zero and negative values are invalid, except for
-1, which represents a dynamic value. Therefore, each element of
`mutiples` should be positive integer or -1. Fix #106167.


  Commit: f0e34f381866b82a26241f7e9aa5964f0dd11ebd
      https://github.com/llvm/llvm-project/commit/f0e34f381866b82a26241f7e9aa5964f0dd11ebd
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll

  Log Message:
  -----------
  [VPlan] Don't skip optimizable truncs in planContainsAdditionalSimps.

A optimizable cast can also be removed by VPlan simplifications. Remove
the restriction from planContainsAdditionalSimplifications, as this
causes it to miss relevant simplifications, triggering false positives
for the cost decision verification.

Also adds debug output for printing additional cost-precomputations.

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


  Commit: fab925651685505906416dca48469fd9f69ba39a
      https://github.com/llvm/llvm-project/commit/fab925651685505906416dca48469fd9f69ba39a
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  [LLVM][AArch64] Fix invalid use of AArch64ISD::UZP2 in performConcatVectorsCombine. (#104774)

UZP2 requires both operands to match the result type but the combine tries to replace a truncate by passing the pre-truncated operands directly to an UZP2 with the truncated result type. This patch nop-casts the operands to keep the DAG consistent.  There should be no changes to the generated code, which is fine as it.

This patch also enables more target specific getNode() validation for fixed length vector types.


  Commit: 68d8b3846ab1e6550910f2a9a685690eee558af2
      https://github.com/llvm/llvm-project/commit/68d8b3846ab1e6550910f2a9a685690eee558af2
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt

  Log Message:
  -----------
  [builtins] Fix missing main() function in float16/bfloat16 support checks (#104478)

The CMake docs state that `check_c_source_compiles()` checks whether the
supplied code "can be compiled as a C source file and linked as an
executable (so it must contain at least a `main()` function)."

https://cmake.org/cmake/help/v3.30/module/CheckCSourceCompiles.html

In practice, this command is a wrapper around `try_compile()`:

- https://gitlab.kitware.com/cmake/cmake/blob/2904ce00d2ed6ad5dac6d3459af62d8223e06ce0/Modules/CheckCSourceCompiles.cmake#L54
- https://gitlab.kitware.com/cmake/cmake/blob/2904ce00d2ed6ad5dac6d3459af62d8223e06ce0/Modules/Internal/CheckSourceCompiles.cmake#L101

When `CMAKE_SOURCE_DIR` is compiler-rt/lib/builtins/,
`CMAKE_TRY_COMPILE_TARGET_TYPE` is set to `STATIC_LIBRARY`, so the
checks for `float16` and `bfloat16` support work as intended in a
Clang + compiler-rt runtime build for example, as it runs CMake
recursively from that directory.

However, when using llvm/ or compiler-rt/ as CMake source directory, as
`CMAKE_TRY_COMPILE_TARGET_TYPE` defaults to `EXECUTABLE`, these checks
will indeed fail if the code doesn't have a `main()` function. This
results in LLVM using x86 SIMD registers when generating calls to
builtins that, with Arch Linux's compiler-rt package for example,
actually use a GPR for their argument or return value as they use
`uint16_t` instead of `_Float16`.

This had been caught in post-commit review:
https://reviews.llvm.org/D145237#4521152. Use of the internal
`CMAKE_C_COMPILER_WORKS` variable is not what hides the issue, however.

PR #69842 tried to fix this by unconditionally setting
`CMAKE_TRY_COMPILE_TARGET_TYPE` to `STATIC_LIBRARY`, but it apparently
caused other issues, so it was reverted. This PR just adds a `main()`
function in the checks, as per the CMake docs.


  Commit: b065ec0af54988559334314ebbd51dd515d5bdd6
      https://github.com/llvm/llvm-project/commit/b065ec0af54988559334314ebbd51dd515d5bdd6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/Inline/X86/inline-target-cpu-i686.ll
    M llvm/test/Transforms/Inline/X86/inline-target-cpu-x86_64.ll

  Log Message:
  -----------
  [Inline][X86] Regenerate inline-target-cpu-* tests


  Commit: fda7649b3c3797ddbb35a46746ae7876ab147612
      https://github.com/llvm/llvm-project/commit/fda7649b3c3797ddbb35a46746ae7876ab147612
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512.ll
    A llvm/test/Transforms/InstCombine/X86/x86-vperm.ll

  Log Message:
  -----------
  [InstCombine][X86] Split off vperm shuffle tests from other avx512 tests


  Commit: 6345604ae51df1251de5b5fd442910f4d8f5023e
      https://github.com/llvm/llvm-project/commit/6345604ae51df1251de5b5fd442910f4d8f5023e
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
    M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
    A llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
    A llvm/test/tools/llvm-split/AMDGPU/debug-non-kernel-root.ll
    M llvm/test/tools/llvm-split/AMDGPU/declarations.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
    M llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
    M llvm/test/tools/llvm-split/AMDGPU/non-kernels-dependency-indirect.ll
    R llvm/test/tools/llvm-split/AMDGPU/recursive-search-2.ll
    R llvm/test/tools/llvm-split/AMDGPU/recursive-search-8.ll

  Log Message:
  -----------
  Revert: [AMDGPU] Graph-based Module Splitting Rewrite (llvm#104763) (#106707)

* Revert "Fix MSVC "not all control paths return a value" warning. NFC."
Dep to revert c9b6e01b2e4fc930dac91dd44c0592ad7e36d967

* Revert "[AMDGPU] Graph-based Module Splitting Rewrite (#104763)"
Breaks tests.


  Commit: 2d5613afec0f4afeeb03cfd4edac556a65ad0eaf
      https://github.com/llvm/llvm-project/commit/2d5613afec0f4afeeb03cfd4edac556a65ad0eaf
  Author: Richard Howell <rmaz at users.noreply.github.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/tools/dsymutil/dsymutil.cpp

  Log Message:
  -----------
  [dsymutil] return EXIT_FAILURE when Crashed (#106619)

Make dsymutil return a non-zero exit code when crashing during linking.


  Commit: 87a988e881ac92e3d87aae01dc632f33c1fb36aa
      https://github.com/llvm/llvm-project/commit/87a988e881ac92e3d87aae01dc632f33c1fb36aa
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll

  Log Message:
  -----------
  [SLP]Fix PR106655: Use FinalShuffle for alternate cast nodes.

Need to use FinalShuffle function for all vectorized results to
correctly produce vectorized value.

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


  Commit: ce5620ba9a5bf48bce4e49933aec531c70c54aeb
      https://github.com/llvm/llvm-project/commit/ce5620ba9a5bf48bce4e49933aec531c70c54aeb
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
    M llvm/test/Transforms/LoopVectorize/if-reduction.ll
    M llvm/test/Transforms/LoopVectorize/phi-cost.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll

  Log Message:
  -----------
  [LLVM][VPlan] Pick more optimal initial value for VPBlend. (#104019)

By choosing an initial value whose mask is only used by the blend we can
remove the need for the mask entirely.


  Commit: 64f19951718075fdd2d2b6d072e8e5ca15a1c6c4
      https://github.com/llvm/llvm-project/commit/64f19951718075fdd2d2b6d072e8e5ca15a1c6c4
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp

  Log Message:
  -----------
  Fix stack overflow in allPathsGoThroughCold past 6b11573b8c5e (#106384)

Recursion here causes stack overflow on large inputs. Fixing by
unrolling via a stack.


  Commit: ceb613a8bed218e2c98cd4fad3fd2a4a3217bd77
      https://github.com/llvm/llvm-project/commit/ceb613a8bed218e2c98cd4fad3fd2a4a3217bd77
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll

  Log Message:
  -----------
  [RISCV] Add full test coverage for acos/asin/atan and cosh/sinh/tanh intrinsics to support #106584


  Commit: 8586d0330e36b22496f9ba5ed116bc1aac5a1f28
      https://github.com/llvm/llvm-project/commit/8586d0330e36b22496f9ba5ed116bc1aac5a1f28
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/Lower/HLFIR/select-rank.f90
    M flang/test/Lower/Intrinsics/system_clock.f90
    M flang/test/Lower/OpenMP/master.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90

  Log Message:
  -----------
  [flang] Don't generate empty else blocks (#106618)

Code lowering always generates fir.if else blocks for source level if
statements, whether needed or not. Change this to only generate else
blocks that are needed.


  Commit: 2a8fda443e71707e73607feda2af0dbc871c972f
      https://github.com/llvm/llvm-project/commit/2a8fda443e71707e73607feda2af0dbc871c972f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/Transforms/LICM/hoist-add-sub.ll

  Log Message:
  -----------
  LICM: extend hoistAddSub to unsigned case (#106373)

Trivially extend dd0cf23 ([LICM] Reassociate & hoist sub expressions) to
handle unsigned predicates as well.

Alive2 proofs: https://alive2.llvm.org/ce/z/GdDBtT.


  Commit: 86a60e7f1e8f361f84ccb6e656e848dd4fbaa713
      https://github.com/llvm/llvm-project/commit/86a60e7f1e8f361f84ccb6e656e848dd4fbaa713
  Author: Patryk Wychowaniec <pwychowaniec at pm.me>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    A llvm/test/CodeGen/AVR/jmp.ll
    M llvm/test/MC/AVR/inst-brbc.s
    M llvm/test/MC/AVR/inst-brbs.s
    A llvm/test/MC/AVR/inst-brcc.s
    A llvm/test/MC/AVR/inst-brcs.s
    A llvm/test/MC/AVR/inst-breq.s
    A llvm/test/MC/AVR/inst-brge.s
    A llvm/test/MC/AVR/inst-brhc.s
    A llvm/test/MC/AVR/inst-brhs.s
    A llvm/test/MC/AVR/inst-brid.s
    A llvm/test/MC/AVR/inst-brie.s
    A llvm/test/MC/AVR/inst-brlo.s
    A llvm/test/MC/AVR/inst-brlt.s
    A llvm/test/MC/AVR/inst-brmi.s
    A llvm/test/MC/AVR/inst-brne.s
    A llvm/test/MC/AVR/inst-brpl.s
    A llvm/test/MC/AVR/inst-brsh.s
    A llvm/test/MC/AVR/inst-brtc.s
    A llvm/test/MC/AVR/inst-brts.s
    A llvm/test/MC/AVR/inst-brvc.s
    A llvm/test/MC/AVR/inst-brvs.s
    R llvm/test/MC/AVR/inst-family-cond-branch.s
    M llvm/test/MC/AVR/inst-rcall.s
    M llvm/test/MC/AVR/inst-rjmp.s

  Log Message:
  -----------
  [AVR] Fix parsing & emitting relative jumps (#106722)

Ever since 6859685a87ad093d60c8bed60b116143c0a684c7 (or, precisely,
84428dafc0941e3a31303fa1b286835ab2b8e234) relative jumps emitted by the
AVR codegen are off by two bytes - this pull request fixes it.

## Abstract

As compared to absolute jumps, relative jumps - such as rjmp, rcall or
brsh - have an implied `pc+2` behavior; that is, `jmp 100` is `pc =
100`, but `rjmp 100` gets understood as `pc = pc + 100 + 2`.

This is not reflected in the AVR codegen:


https://github.com/llvm/llvm-project/blob/f95026dbf66e353128a3a3d7b55f3e52d5985535/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp#L89

... which always emits relative jumps that are two bytes too far - or
rather it _would_ emit such jumps if not for this check:


https://github.com/llvm/llvm-project/blob/f95026dbf66e353128a3a3d7b55f3e52d5985535/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp#L517

... which causes most of the relative jumps to be actually resolved
late, by the linker, which applies the offsetting logic on its own,
hiding the issue within LLVM.

[Some time
ago](https://github.com/llvm/llvm-project/commit/697a162fa63df328ec9ca334636c5e85390b2bf0)
we've had a similar "jumps are off" problem that got solved by touching
`shouldForceRelocation()`, but I think that has worked only by accident.
It's exploited the fact that absolute vs relative jumps in the parsed
assembly can be distinguished through a "side channel" check relying on
the existence of labels (i.e. absolute jumps happen to named labels, but
relative jumps are anonymous, so to say). This was an alright idea back
then, but it got broken by 6859685a87ad093d60c8bed60b116143c0a684c7.

I propose a different approach:
- when emitting relative jumps, offset them by `-2` (well, `-1`,
strictly speaking, because those instructions rely on right-shifted
offset),
- when parsing relative jumps, treat `.` as `+2` and read `rjmp .+1234`
as `rjmp (1234 + 2)`.

This approach seems to be sound and now we generate the same assembly as
avr-gcc, which can be confirmed with:

```cpp
// avr-gcc test.c -O3 && avr-objdump -d a.out

int main() {
    asm(
"      foo:\n\t"
"        rjmp  .+2\n\t"
"        rjmp  .-2\n\t"
"        rjmp  foo\n\t"
"        rjmp  .+8\n\t"
"        rjmp  end\n\t"
"        rjmp  .+0\n\t"
"      end:\n\t"
"        rjmp .-4\n\t"
"        rjmp .-6\n\t"
"      x:\n\t"
"        rjmp x\n\t"
"        .short 0xc00f\n\t"
);
}
```

avr-gcc is also how I got the opcodes for all new tests like `inst-brbc.s`, so we should be good.


  Commit: a919588df4f108cef5829363a9ec6a1968dbb03a
      https://github.com/llvm/llvm-project/commit/a919588df4f108cef5829363a9ec6a1968dbb03a
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan.h
    M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp

  Log Message:
  -----------
  [compiler-rt][rtsan] NFC: Rename rtsan_on->rtsan_enable rtsan_off->rtsan_disable (#106727)

This better matches lsan_enable and disable, which we are trying to
emulate.


  Commit: 7ffe67c17c524c2d3056c0721a33c7012dce3061
      https://github.com/llvm/llvm-project/commit/7ffe67c17c524c2d3056c0721a33c7012dce3061
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp

  Log Message:
  -----------
  [RemoveDIs] Fix asan-identified leak in unittest (#106723)

Fixes issue found here
https://github.com/llvm/llvm-project/pull/106691#issuecomment-2320960847

The issue wasn't in the code change itself, just the unittest; the
trailing marker wasn't properly cleaned up.


  Commit: 4a10b4c0bd241f3a2d7162fe29f520af7da6840c
      https://github.com/llvm/llvm-project/commit/4a10b4c0bd241f3a2d7162fe29f520af7da6840c
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M flang/lib/Evaluate/intrinsics-library.cpp

  Log Message:
  -----------
  [flang] fix flang builds with clang 20 after #100692 (#106718)

#100692 changes clang template deduction, and an error was now emitted
when building flang with top of the tree clang when mapping std::pow in
intrinsics-library.cpp for constant folding `error: address of
overloaded function 'pow' is ambiguous`

See https://lab.llvm.org/buildbot/#/builders/4/builds/1670

I I am not expert enough to understand if the new error is justified or
not here, but it is easy to help the compiler here with explicit
wrappers to fix the builds.


  Commit: 96ad495289d241fc8f445ebdf4a9c1a6f6ff408e
      https://github.com/llvm/llvm-project/commit/96ad495289d241fc8f445ebdf4a9c1a6f6ff408e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP] vectorizeChainsInBlock - remove superfluous continue at the end of for loop. NFC.


  Commit: b719c9255126aeba7a9455fd026471c45c988e2d
      https://github.com/llvm/llvm-project/commit/b719c9255126aeba7a9455fd026471c45c988e2d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP] findBestRootPair - fix incorrect argument name comment. NFC.


  Commit: 362d37aeab7e8ba5dc4125480de3d45cc6bb23dc
      https://github.com/llvm/llvm-project/commit/362d37aeab7e8ba5dc4125480de3d45cc6bb23dc
  Author: MichelleCDjunaidi <michellechrisalyn at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/Contributing.rst

  Log Message:
  -----------
  Update clang tidy Contributing guide (#106672)

Update the documentation to direct new users to the Github instead of
the discontinued Phabricator archive. Also details more ways and
information regarding clang-query usage. Partially resolves/disclaims
#106656 and #106663 as per discussion in
https://discourse.llvm.org/t/inconsistency-between-hasdescendant-in-clang-query-and-clang-libtooling-matchers/80799/.

Also updates the out-of-tree guide.

For context, I recently went through the Contributing guide while
writing https://github.com/llvm/llvm-project/pull/102299, and many of
these updates were from my experience trying to follow the guide. e.g. I
was trying to link the shared library of an out-of-tree check as SHARED
in CMake and encountered duplicate symbols like
_ZTIN5clang4tidy14ClangTidyCheckE. It wasn't until I saw
https://github.com/llvm/llvm-project/commit/84f137a590e7de25c4105303e5938c40566c2dfb
that I found out I had to use MODULE. I also encountered the clang-query
difference which was a surprise as the documentation said the two
matchers were "virtually identical". Also, the -header-filter thing
tripped me out until I found
https://github.com/llvm/llvm-project/issues/25590 and
https://github.com/llvm/llvm-project/pull/91400. Usually, when people
say restrict and filter, they mean filter out (since -header-filter
instead includes/filters in said headers).


  Commit: 24977395592fb3a47d0356b6e9e6d25358a521c5
      https://github.com/llvm/llvm-project/commit/24977395592fb3a47d0356b6e9e6d25358a521c5
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    A llvm/test/MC/AArch64/SVE/directive-arch-negative.s
    M llvm/test/MC/AArch64/SVE/directive-arch_extension-negative.s
    M llvm/test/MC/AArch64/SVE/directive-cpu-negative.s
    M llvm/test/MC/AArch64/directive-arch-negative.s
    M llvm/test/MC/AArch64/directive-arch_extension-negative.s

  Log Message:
  -----------
  [AArch64][AsmParser] Directives should clear transitively implied features (#106625)

The commit ff3f3a54e2d1 made it possible to enable transitively implied
features when parsing assembler directives. For example enabling sve2
also enables sve.

This patch allows disabling features which depend on each other. For
example disabling sve also disables sve2.


  Commit: c792de28dfaf3a13703e83e4eb09dd44574b3a3e
      https://github.com/llvm/llvm-project/commit/c792de28dfaf3a13703e83e4eb09dd44574b3a3e
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
    M libcxx/test/std/numerics/bit/bit.cast/bit_cast.pass.cpp
    M libcxx/test/support/test_macros.h

  Log Message:
  -----------
  [libcxx][test] Add macro for when long double is just double (#106708)

This removes the need for the long list of platforms in
strong_order_long_double_verify.


  Commit: f4ea19b47e1e5af6682d94ad05ac2e7bca64cf73
      https://github.com/llvm/llvm-project/commit/f4ea19b47e1e5af6682d94ad05ac2e7bca64cf73
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/include/syncstream
    M libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.default.pass.cpp

  Log Message:
  -----------
  [libc++][syncbuf] Implement LWG3253 (#99778)

Closes #100264


  Commit: ab40ae8ff9f87b6e3d68cab2c47d692016ede958
      https://github.com/llvm/llvm-project/commit/ab40ae8ff9f87b6e3d68cab2c47d692016ede958
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M lldb/include/lldb/Core/SourceManager.h
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/SourceManager.cpp
    M lldb/unittests/Core/SourceManagerTest.cpp

  Log Message:
  -----------
  [lldb] Store SupportFiles in SourceManager::File (NFC) (#106639)

To support detecting MD5 checksum mismatches, store a SupportFile rather
than a plain FileSpec in SourceManager::File.


  Commit: b0eefb4c4e5136fd606cf4cff566df9dbc0fa051
      https://github.com/llvm/llvm-project/commit/b0eefb4c4e5136fd606cf4cff566df9dbc0fa051
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M lldb/include/lldb/Utility/SupportFile.h

  Log Message:
  -----------
  [lldb] Update SupportFile documentation (NFC)


  Commit: 0c4cf79defe30d43279bf4526cdf32b6c7f8a197
      https://github.com/llvm/llvm-project/commit/0c4cf79defe30d43279bf4526cdf32b6c7f8a197
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang/tools/scan-build-py/CMakeLists.txt

  Log Message:
  -----------
  [clang] Install scan-build-py into plain "lib" directory (#106612)

Install scan-build-py modules into the plain `lib` directory,
without LLVM_LIBDIR_SUFFIX appended, to match the path expected
by `intercept-build` executable.  This fixes the program being unable
to find its modules.  Using unsuffixed path makes sense here, since
Python modules are not subject to multilib.

This change effectively reverts 1334e129a39cb427e7b855e9a711a3e7604e50e5.
The commit in question changed the path without a clear justification
("does not respect the given prefix") and the Python code was never
modified to actually work with the change.

Fixes #106608


  Commit: 369d8148e09c2b91174ec01e845bc504cf622c45
      https://github.com/llvm/llvm-project/commit/369d8148e09c2b91174ec01e845bc504cf622c45
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/Attributor/nofpclass.ll

  Log Message:
  -----------
  [ValueTracking] use KnownBits to compute fpclass from bitcast (#97762)

When we encounter a bitcast from an integer type we can use the
information from `KnownBits` to glean some information about the
fpclass:
- If the sign bit is known, we can transfer this information over. 
- If the float is IEEE format and enough of the bits are known, we may
  be able to prove or rule out some fpclasses such as NaN, Zero, or Inf.


  Commit: c4a53811c18b02490cbdc65be494e49018e23900
      https://github.com/llvm/llvm-project/commit/c4a53811c18b02490cbdc65be494e49018e23900
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/docs/TestSuiteGuide.md

  Log Message:
  -----------
  [test-suite] Document the LLVM test-suite benchmark apps (#105843)

There is no documentation or description of the different apps in the
LLVM benchmark test-suite and this is a first attempt to document this
for the MultiSource apps.


  Commit: ece6566048086cf2870d2c2bff46384df1b9e531
      https://github.com/llvm/llvm-project/commit/ece6566048086cf2870d2c2bff46384df1b9e531
  Author: Pradeep Kumar <pradeepku at nvidia.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add support for fence.proxy.{acquire, release} Ops (#106689)


  Commit: fef3426ad3d8d5bf01941438467df318d00c6279
      https://github.com/llvm/llvm-project/commit/fef3426ad3d8d5bf01941438467df318d00c6279
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/test/Bitcode/attributes.ll
    M llvm/test/Bitcode/compatibility.ll
    R llvm/test/Verifier/rtsan-attrs.ll

  Log Message:
  -----------
  Revert "[LLVM][rtsan] Add LLVM nosanitize_realtime attribute (#105447)" (#106743)

This reverts commit 178fc4779ece31392a2cd01472b0279e50b3a199.

This attribute was not needed now that we are using the lsan style
ScopedDisabler for disabling this sanitizer

See #106736 
#106125 

For more discussion


  Commit: 82a5ab756fdbce432794c00bdeeb95aa7e403d3f
      https://github.com/llvm/llvm-project/commit/82a5ab756fdbce432794c00bdeeb95aa7e403d3f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/X86/x86-vperm.ll

  Log Message:
  -----------
  [X86] x86-vperm.ll - strip superfluous semicolon check lines. NFC.


  Commit: d01e0f7fb10ff1f9e2b797ce8437c701dfd58cbc
      https://github.com/llvm/llvm-project/commit/d01e0f7fb10ff1f9e2b797ce8437c701dfd58cbc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/X86/x86-vperm.ll
    M llvm/test/Transforms/InstCombine/X86/x86-vpermi2.ll

  Log Message:
  -----------
  [InstCombine][X86] Add vpermv/vpermv3 test coverage for #106413


  Commit: a3816b5a573dbf57ba3082a919ca2de6b47257e9
      https://github.com/llvm/llvm-project/commit/a3816b5a573dbf57ba3082a919ca2de6b47257e9
  Author: Patryk Wychowaniec <pwychowaniec at pm.me>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M lld/test/ELF/avr-reloc.s

  Log Message:
  -----------
  [AVR] Fix LLD test (#106739)

Since we don't generate relocations for those, it doesn't make sense to
assert them here; fallout of
https://github.com/llvm/llvm-project/pull/106722.


  Commit: 924907bc6aa17bb15241143dc9858da971b25908
      https://github.com/llvm/llvm-project/commit/924907bc6aa17bb15241143dc9858da971b25908
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll

  Log Message:
  -----------
  [DAG] Prefer 0.0 over -0.0 as neutral value for FADD w/NoSignedZero (#106616)

When getting a neutral value, we can prefer using a positive zero over a
negative zero if nsz is set on the FADD (or reduction). A positive zero
should be cheaper to materialize on basically all targets.

Arguably, we should be doing this kind of canonicalization in
DAGCombine, but we don't do that for any of the other reduction
variants, so this seems like path of least resistance. This does mean
that we can only do this for "fast" reductions. Just nsz isn't enough,
as that goes through the SEQ_FADD path where the IR level start value
isn't folded away.

If folks think this is to RISCV specific, let me know. There's a trivial
RISCV specific implementation. I went with the generic one as I through
this might benefit other targets.


  Commit: 49b04e60ed99307b0b4369b8956e6c15c7094d07
      https://github.com/llvm/llvm-project/commit/49b04e60ed99307b0b4369b8956e6c15c7094d07
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/SandboxIR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/SandboxIR/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 034f2b380bd2


  Commit: 5224f65b44f9873c8298d51233005d4802ff0ba0
      https://github.com/llvm/llvm-project/commit/5224f65b44f9873c8298d51233005d4802ff0ba0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 115b87636b9f


  Commit: b4d9c52db474041e417f547b699caeeecfa714cc
      https://github.com/llvm/llvm-project/commit/b4d9c52db474041e417f547b699caeeecfa714cc
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/IPO/BUILD.gn

  Log Message:
  -----------
  [gn build] Port bd6531b95086


  Commit: 206b5aff44a95754f6dd7a5696efa024e983ac59
      https://github.com/llvm/llvm-project/commit/206b5aff44a95754f6dd7a5696efa024e983ac59
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll

  Log Message:
  -----------
  AtomicExpand: Allow incrementally legalizing atomicrmw (#103371)

If a lowering changed control flow, resume the legalization
loop at the first newly inserted block.

This will allow incrementally legalizing atomicrmw and cmpxchg.

The AArch64 test might be a bugfix. Previously it would lower
the vector FP case as a cmpxchg loop, but cmpxchgs get lowered
but previously weren't. Maybe it shouldn't be reporting cmpxchg
for the expand type in the first place though.


  Commit: 5703d8572f1bcca7bdcd01f1d83ad98ebb07ced0
      https://github.com/llvm/llvm-project/commit/5703d8572f1bcca7bdcd01f1d83ad98ebb07ced0
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/wasm_simd128.h
    M cross-project-tests/intrinsic-header-tests/wasm_simd128.c
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/half-precision.ll

  Log Message:
  -----------
  [WebAssembly] Add intrinsics to wasm_simd128.h for all FP16 instructions (#106465)

Getting this to work required a few additional changes:
- Add builtins for any instructions that can't be done with plain C
currently.
- Add support for the saturating version of fp_to_<s,i>_I16x8. Other
vector sizes supported this already.
- Support bitcast of f16x8 to v128. Needed to return a __f16x8 as
v128_t.


  Commit: c55e24b8507d47a8cc04b5d9570e8e3d02be1ca3
      https://github.com/llvm/llvm-project/commit/c55e24b8507d47a8cc04b5d9570e8e3d02be1ca3
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMatInt.cpp

  Log Message:
  -----------
  [llvm][LoongArch] Fix BSTRINS_D test failures on 32 bit hosts

eaf87d32754beb5bec10bab517bf56e25575b48e added new code that uses
64 bit types and ULL for constants, mostly, but a few UL snuck in.

UL is still 4 bytes on 32 bit, ULL is 8.

This fixes test failures on 32 bit Arm:
https://lab.llvm.org/buildbot/#/builders/39/builds/1338


  Commit: d58d105cdaf366d7db3f60d356b21bc8e64666fb
      https://github.com/llvm/llvm-project/commit/d58d105cdaf366d7db3f60d356b21bc8e64666fb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll

  Log Message:
  -----------
  [Analysis] isTriviallyVectorizable - add vectorization support for acos/asin/atan and cosh/sinh/tanh intrinsics (#106584)

Show fallback cases in amdlibm tests where it doesn't have that specific op


  Commit: 68f0d20a9b507383a7577144bbd4811abe787e42
      https://github.com/llvm/llvm-project/commit/68f0d20a9b507383a7577144bbd4811abe787e42
  Author: JoelWee <32009741+JoelWee at users.noreply.github.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Fix clang after ece6566048086cf2870d2c2bff46384df1b9e531


  Commit: a2615ad45c73095dfda6ae546de107aacb10cbb7
      https://github.com/llvm/llvm-project/commit/a2615ad45c73095dfda6ae546de107aacb10cbb7
  Author: JoelWee <32009741+JoelWee at users.noreply.github.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M mlir/include/mlir/IR/Block.h

  Log Message:
  -----------
  [mlir] Align mlir::Block (#106717)

This fixes an error from the LatticeAnchor PointerUnion with
ProgramPoint in b6603e1bf1

```
third_party/llvm/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:172:17: error: static assertion failed due to requirement '2U <= PointerUnionUIntTraits<mlir::GenericLatticeAnchor *, mlir::ProgramPoint, mlir::Value>::NumLowBitsAvailable': PointerIntPair with integer size too large for pointer
  172 |   static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
```


  Commit: 97122550961944f2376f0e84a73cdd5b9e042bc4
      https://github.com/llvm/llvm-project/commit/97122550961944f2376f0e84a73cdd5b9e042bc4
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/Contributing.rst

  Log Message:
  -----------
  Fix a minor issue with the documentation; NFC


  Commit: 1faa9c8a023fb42fda31fa1e6dd6d6d462fb7619
      https://github.com/llvm/llvm-project/commit/1faa9c8a023fb42fda31fa1e6dd6d6d462fb7619
  Author: Paul T Robinson <paul.robinson at sony.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/docs/Security.rst

  Log Message:
  -----------
  [Security] Nominate Matthew Voss to replace Paul Robinson on the Secu… (#106112)

…rity Group

Matthew is a member of Sony's PS4/PS5 toolchain team, most visible for
his work on LTO, but he also has a long-standing interest in security.
He will replace Paul as one of Sony's participants in the Security Group
as Paul will be retiring from Sony at the end of September.


  Commit: 348e74139ad7f06fdf8b332a81842de4bdf03b0c
      https://github.com/llvm/llvm-project/commit/348e74139ad7f06fdf8b332a81842de4bdf03b0c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/parser_std_format_spec.h
    M libcxx/include/__chrono/statically_widen.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__expected/expected.h
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/concepts.h
    M libcxx/include/__format/container_adaptor.h
    M libcxx/include/__format/enable_insertable.h
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/extended_grapheme_cluster_table.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_error.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/format_parse_context.h
    M libcxx/include/__format/format_string.h
    M libcxx/include/__format/format_to_n_result.h
    M libcxx/include/__format/formatter_bool.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integer.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_output.h
    M libcxx/include/__format/formatter_pointer.h
    M libcxx/include/__format/formatter_string.h
    M libcxx/include/__format/formatter_tuple.h
    M libcxx/include/__format/indic_conjunct_break_table.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/range_default_formatter.h
    M libcxx/include/__format/range_formatter.h
    M libcxx/include/__format/unicode.h
    M libcxx/include/__format/width_estimation_table.h
    M libcxx/include/__fwd/format.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__type_traits/is_member_pointer.h
    M libcxx/include/__type_traits/is_void.h
    M libcxx/include/array
    M libcxx/include/forward_list
    M libcxx/include/iosfwd
    M libcxx/include/list
    M libcxx/include/set
    M libcxx/include/string
    M libcxx/include/syncstream
    M libcxx/include/tuple
    M libcxx/include/vector
    M libcxx/modules/std/format.inc
    M libcxx/src/include/refstring.h
    M libcxx/utils/generate_escaped_output_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_table.py
    M libcxx/utils/generate_indic_conjunct_break_table.py
    M libcxx/utils/generate_width_estimation_table.py

  Log Message:
  -----------
  [libc++][NFC] Run clang-format on libcxx/include

This re-formats a few headers that had become out-of-sync with respect
to formatting since we ran clang-format on the whole codebase. There's
surprisingly few instances of it.


  Commit: 68805de90280dc8d8df39ff3f6289033deb487cf
      https://github.com/llvm/llvm-project/commit/68805de90280dc8d8df39ff3f6289033deb487cf
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/IVDescriptors.cpp

  Log Message:
  -----------
  [IVDesc] Reuse getBinOpIdentity in getRecurrenceIdentity [nfc]

Avoid duplication so that we can easily tell these lists are in sync.


  Commit: 941feb76c8186d2e237690511b48f57c6bda282b
      https://github.com/llvm/llvm-project/commit/941feb76c8186d2e237690511b48f57c6bda282b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
    M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
    M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/icmp.ll

  Log Message:
  -----------
  [CostModel][X86] Fix SSE41/SSE42 cost checks on icmp tests

Noticed on #106747 - some SSE41 tests didn't match the SSE2 baseline so we were missing ALL the checks :(


  Commit: 18e55052d6c7da765bbec311b1b6ac9590a2bfa3
      https://github.com/llvm/llvm-project/commit/18e55052d6c7da765bbec311b1b6ac9590a2bfa3
  Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M mlir/test/lit.cfg.py
    M polly/test/UnitIsl/lit.cfg
    M polly/test/lit.cfg

  Log Message:
  -----------
  [mlir][polly][llvm-lit] Fixed logic for turning on external shell in lit (#106458)

For both mlir and polly, the lit internal shell is the default shell for
running lit tests. However, if the user wanted to switch back to the
external shell by setting `LIT_USE_INTERNAL_SHELL=0`, the `not` used in
the body of the `if` conditional changes `use_lit_shell` to be True
instead of the intended False. Removing `not` allows for this lit config
to work as intended.

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


  Commit: f1cf09104eddbbe81c75e112a85c4f8dc14d5035
      https://github.com/llvm/llvm-project/commit/f1cf09104eddbbe81c75e112a85c4f8dc14d5035
  Author: Harini0924 <harinidonthula at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M compiler-rt/test/nsan/vec_sqrt.cpp

  Log Message:
  -----------
  [compiler-rt][test] Added `env` command to fix NSAN_OPTIONS command not found error (#106676)

Resolved the issue where `'NSAN_OPTIONS=check_nan=true,halt_on_error=0'`
was not recognized as a command. Changed the test command to set the
environment variable correctly using `env`.
fixes: #106598


  Commit: f81f283b365f99e1a71a836381c36874e965d80e
      https://github.com/llvm/llvm-project/commit/f81f283b365f99e1a71a836381c36874e965d80e
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M clang/test/CodeGen/address-safety-attr-flavors.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    R llvm/test/Instrumentation/HWAddressSanitizer/attrinfer.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/fixed-shadow.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/hwasan-pass-second-run.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll

  Log Message:
  -----------
  Revert "Reapply "[HWASan] remove incorrectly inferred attributes" (#106622)" (#106758)

Reverts llvm/llvm-project#106624

caused timeouts


  Commit: 9764cf888502fe6dd15ab21de5c2f73cae47a2c0
      https://github.com/llvm/llvm-project/commit/9764cf888502fe6dd15ab21de5c2f73cae47a2c0
  Author: Harini0924 <harinidonthula at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    A llvm/utils/lit/tests/Inputs/shtest-glob/example_file1.input
    A llvm/utils/lit/tests/Inputs/shtest-glob/example_file2.input
    A llvm/utils/lit/tests/Inputs/shtest-glob/glob-echo.txt
    A llvm/utils/lit/tests/Inputs/shtest-glob/glob-mkdir.txt
    A llvm/utils/lit/tests/Inputs/shtest-glob/lit.cfg
    A llvm/utils/lit/tests/shtest-glob.py

  Log Message:
  -----------
  [llvm-lit] Add precommit test to verify current behavior of glob expansion in lit's internal shell (#106325)

This patch introduces a precommit test to verify the current behavior of
glob expansion in lit's internal shell. The motivation for this test
stems from an issue encountered during the BOLT test suite when running
with the lit internal shell using the command:

`LIT_USE_INTERNAL_SHELL=1 ninja check-bolt`

During execution, the following error was observed:
```
File "/usr/local/google/home/harinidonthula/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 416, in executeBuiltinEcho
    stdout.write(encode(maybeUnescape(args[-1])))
TypeError: string argument expected, got 'GlobItem'
```
The `executeBuiltinEcho` function in the lit testing framework expects a
string to be passed to `stdout.write`, but it received a `GlobItem`
object instead. This precommit test is designed to check the current
behavior where the glob pattern isn't correctly expanded, leading to
this `TypeError`.

While this patch doesn't fix the issue, it helps in understanding and
verifying the current behavior. The feedback I received from this
[PR](https://github.com/llvm/llvm-project/pull/105925) suggests using
`cmd.args = expand_glob_expressions(cmd.args, shenv.cwd)` to match the
behavior of `executeBuiltinMkdir` and `executeBuiltinRm`, but it is
recognized that the internal shell should ideally expand globs before
calling any built-in command.

**Request for Feedback:**
I'm looking for feedback on how to improve this precommit test,
specifically regarding the handling and expansion of glob patterns for
commands like mkdir and rm within the internal shell. Currently, the
args are expanded at the beginning of these functions, which should
ensure proper glob expansion. However, I'd appreciate guidance on
whether I should write additional tests to verify that mkdir and rm are
handling glob expansions correctly.

If such tests are recommended, I would also appreciate advice on the
best approach to implement them, considering the existing framework and
the way glob expansion is expected to function in the internal shell.
Should these tests confirm that the current implementation passes, or
are there specific edge cases I should be aware of?

**Next Steps:**

In my follow-up PR, I plan to address the UNRESOLVED error by expanding
the entire command, ensuring correct and consistent behavior across all
commands. The current test checks for an unresolved issue with the glob
expansion, specifically looking for a `TypeError` due to an unexpanded
`GlobItem`. This will be updated to reflect the correct behavior once
the issue is resolved.

This change is relevant for [[RFC] Enabling the Lit Internal Shell by
Default](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179/3)


  Commit: 9a0030e0f737fa06a4693a16d546b6336e138304
      https://github.com/llvm/llvm-project/commit/9a0030e0f737fa06a4693a16d546b6336e138304
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

  Log Message:
  -----------
  [ARM] Don't use -1 as invalid register number in assembly parser. (#106666)

Use MCRegister instead.


  Commit: 688843bda88e6dcc4f66a1283717258438dbbb96
      https://github.com/llvm/llvm-project/commit/688843bda88e6dcc4f66a1283717258438dbbb96
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/calling-conv-half.ll
    M llvm/test/CodeGen/RISCV/float-imm.ll
    M llvm/test/CodeGen/RISCV/half-imm.ll

  Log Message:
  -----------
  [RISCV] Add constant folding combine for FMV_X_ANYEXTW/H. (#106653)


  Commit: c25293c6dd9a71b4655d1d6497ab8576c15e446e
      https://github.com/llvm/llvm-project/commit/c25293c6dd9a71b4655d1d6497ab8576c15e446e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll

  Log Message:
  -----------
  [LegalizeVectorOps][RISCV] Don't promote VP_FABS/FNEG/FCOPYSIGN. (#106659)

Promoting canonicalizes NaNs which changes the semantics. Bitcast to
integer and use logic ops instead.


  Commit: 5b3ba438dfa7815bb0f3be07a300866085a431b9
      https://github.com/llvm/llvm-project/commit/5b3ba438dfa7815bb0f3be07a300866085a431b9
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

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

  Log Message:
  -----------
  Restructure createSimpleTargetReduction to match VP path [NFC]

Reduces code significantly, but more importantly makes it obvious that
this variant matches the VP variant just below.


  Commit: 9aa25b8c15c99d8e717121837a2559801e311e2d
      https://github.com/llvm/llvm-project/commit/9aa25b8c15c99d8e717121837a2559801e311e2d
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td

  Log Message:
  -----------
  [LLDB][DWARF] Add an option to silence unsupported DW_FORM warnings (#106609)

My build of LLDB is all the time loading targets with a version of
libc++ that was built with gcc that uses the DW_FORM 0x1e that is not
implemented by LLVM, and I doubt it'll ever implement it. It's used for
some 128 bit encoding of numbers, which is just very weird. Because of
this, LLDB is showing some warnings all the time for my users, so I'm
adding a flag to control the enablement of this warning.


  Commit: 26f6091dc9c24bdf22390f2b9f68aacc4669ef36
      https://github.com/llvm/llvm-project/commit/26f6091dc9c24bdf22390f2b9f68aacc4669ef36
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/BinaryFormat/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-amplification.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-compute.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-domain.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-geometry.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-hull.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-mesh.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-pixel.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-vertex.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml

  Log Message:
  -----------
  [DirectX] Replace ResourceFlag enum with struct fields (#106617)

Remove the enum about ResourceFlag.
Add struct ResourceFlags which save the resource flags with bool fields.

This will get better yaml dump.

For #103275


  Commit: 4b553f4916180ac46c250b2625c5ee6f64b26533
      https://github.com/llvm/llvm-project/commit/4b553f4916180ac46c250b2625c5ee6f64b26533
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-vfabi-attr.ll
    M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
    M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll

  Log Message:
  -----------
  Regen a bunch of vectorizer tests to avoid naming churn in upcoming review


  Commit: 5af4ba2684b9b59de3bf8135f62e05ab68cfc489
      https://github.com/llvm/llvm-project/commit/5af4ba2684b9b59de3bf8135f62e05ab68cfc489
  Author: Harini0924 <harinidonthula at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    R llvm/utils/lit/tests/Inputs/shtest-glob/example_file1.input
    R llvm/utils/lit/tests/Inputs/shtest-glob/example_file2.input
    R llvm/utils/lit/tests/Inputs/shtest-glob/glob-echo.txt
    R llvm/utils/lit/tests/Inputs/shtest-glob/glob-mkdir.txt
    R llvm/utils/lit/tests/Inputs/shtest-glob/lit.cfg
    R llvm/utils/lit/tests/shtest-glob.py

  Log Message:
  -----------
  Revert "[llvm-lit] Add precommit test to verify current behavior of glob expansion in lit's internal shell" (#106763)

Reverts llvm/llvm-project#106325
Broke some Buildbots.


  Commit: 5500e21942f7047344b6fee62d3e08c0ba2f9182
      https://github.com/llvm/llvm-project/commit/5500e21942f7047344b6fee62d3e08c0ba2f9182
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td

  Log Message:
  -----------
  Revert "[LLDB][DWARF] Add an option to silence unsupported DW_FORM warnings" (#106765)

Reverts llvm/llvm-project#106609


  Commit: a4aa6bc8fc2130761b8db5db4748059127662785
      https://github.com/llvm/llvm-project/commit/a4aa6bc8fc2130761b8db5db4748059127662785
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/multi-nodes-bv-vectorized.ll

  Log Message:
  -----------
  [SLP]Fix PR106667: carefully look for operand nodes.

If the operand node has the same scalars as one of the vectorized nodes,
the compiler could miss this and incorrectly request minbitwidth data
for the wrong node. It may lead to a compiler crash, because the
  vectorized node might have different minbw result.

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


  Commit: 6023d17e6b6624913b85fe9d2b5d79ae681e5764
      https://github.com/llvm/llvm-project/commit/6023d17e6b6624913b85fe9d2b5d79ae681e5764
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Add a function description, NFC.


  Commit: ef7b18a53c0d186dcda1e322be6035407fdedb55
      https://github.com/llvm/llvm-project/commit/ef7b18a53c0d186dcda1e322be6035407fdedb55
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp

  Log Message:
  -----------
  [X86] Rename trailing whitespace. NFC.

Noticed in clang-formatting of #106750


  Commit: d0d0e125a66b7c7921ad82c13c893bf592f071ba
      https://github.com/llvm/llvm-project/commit/d0d0e125a66b7c7921ad82c13c893bf592f071ba
  Author: Marina Taylor <marina_taylor at apple.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  [AArch64] Fix a presumed typo in isFPImmLegal limit. NFC (#106716)

The worst possible case for a double literal goes like:

```
  mov ...
  movk ..., lsl #16
  movk ..., lsl #32
  movk ..., lsl #48
  fmov ...
```

The limit of 5 in the code gives the impression that `Insn` includes all
instructions including the `fmov`, but that's not true. It only counts
the integer moves. This led me astray on some other work in this area.


  Commit: 0efa38699a4988793cdd51426fe27f00b5e5ce37
      https://github.com/llvm/llvm-project/commit/0efa38699a4988793cdd51426fe27f00b5e5ce37
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-08-31 (Sat, 31 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    A llvm/test/CodeGen/RISCV/rvv/reduce-vl-peephole.ll
    A llvm/test/CodeGen/RISCV/rvv/reduce-vl-peephole.mir

  Log Message:
  -----------
  [RISCV] Check VL dominates and potentially move in tryReduceVL (#106753)

Similar to what we do in foldVMV_V_V with the passthru, if we end up
changing the Src's VL in tryReduceVL we need to make sure it dominates.

Fixes #106735


  Commit: 130eddf7a13f15c9c48b7fa7faf60e9bbee4f703
      https://github.com/llvm/llvm-project/commit/130eddf7a13f15c9c48b7fa7faf60e9bbee4f703
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M lldb/include/lldb/Core/SourceManager.h
    M lldb/source/API/SBSourceManager.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/SourceManager.cpp
    M lldb/source/Expression/REPL.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp

  Log Message:
  -----------
  [lldb] Deal with SupportFiles in SourceManager (NFC) (#106740)

To support detecting MD5 checksum mismatches, deal with SupportFiles
rather than a plain FileSpecs in the SourceManager.


  Commit: 2c7e1b8893061fdf487f2d9945d2d1eecd59a604
      https://github.com/llvm/llvm-project/commit/2c7e1b8893061fdf487f2d9945d2d1eecd59a604
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement ConstantFP (#106648)

This patch implements sandboxir::ConstantFP mirroring llvm::ConstantFP.


  Commit: 07178981246c56e8beafe7fe49f0f442436f08c4
      https://github.com/llvm/llvm-project/commit/07178981246c56e8beafe7fe49f0f442436f08c4
  Author: rjmansfield <rjmansfield at users.noreply.github.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

  Log Message:
  -----------
  Fix cl::desc typos in aarch64-enable-dead-defs and arm-implicit-it. (#106712)


  Commit: 1dabd0627b607e74794951f19bb65d6d25a159ca
      https://github.com/llvm/llvm-project/commit/1dabd0627b607e74794951f19bb65d6d25a159ca
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-30 (Fri, 30 Aug 2024)

  Changed paths:
    M .github/workflows/pr-code-format.yml
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Basic/TypeNodes.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Serialization/TypeBitCodes.def
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Headers/wasm_simd128.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/test/Analysis/stack-addr-ps.c
    M clang/test/CodeGen/compound-literal.c
    A clang/test/CodeGenCXX/GH106182.cpp
    M clang/test/Headers/__clang_hip_math.hip
    A clang/test/Modules/compare-file-size.py
    M clang/test/Modules/reduced-bmi-size.cppm
    A clang/test/Modules/skip-func-def-odr-with-pch.cppm
    A clang/test/SemaCXX/GH106182.cpp
    M clang/test/SemaCXX/builtins.cpp
    M clang/test/SemaCXX/vector.cpp
    M clang/test/SemaTemplate/default-arguments.cpp
    R clang/test/SemaTemplate/default-parm-init.cpp
    M clang/test/SemaTemplate/temp_arg_nontype.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXType.cpp
    M clang/tools/scan-build-py/CMakeLists.txt
    M clang/unittests/Basic/SourceManagerTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/aarch64/sme-abi-init.c
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/interception_type_test.cpp
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan.h
    M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
    M compiler-rt/test/lsan/TestCases/create_thread_leak.cpp
    M compiler-rt/test/nsan/vec_sqrt.cpp
    M cross-project-tests/intrinsic-header-tests/wasm_simd128.c
    A flang/include/flang/Lower/Cuda.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Evaluate/intrinsics-library.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Semantics/canonicalize-acc.cpp
    M flang/lib/Semantics/canonicalize-directives.cpp
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-directive-structure.h
    A flang/test/Driver/print-pipeline-passes.f90
    M flang/test/Fir/convert.fir
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/HLFIR/select-rank.f90
    M flang/test/Lower/Intrinsics/system_clock.f90
    A flang/test/Lower/OpenACC/acc-loop-and-cpu-dir.f90
    A flang/test/Lower/OpenACC/acc-shortloop-ignore.f90
    M flang/test/Lower/OpenMP/master.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Semantics/OpenACC/acc-routine-validity.f90
    M flang/test/Semantics/loop-directives.f90
    M flang/unittests/Runtime/CommandTest.cpp
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/llvm-libc-macros/stdlib-macros.h
    M libc/include/stdlib.h.def
    M libc/include/string.h.def
    M libc/newhdrgen/yaml/stdlib.yaml
    M libc/newhdrgen/yaml/string.yaml
    M libc/spec/stdc.td
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/strtod_l.cpp
    A libc/src/stdlib/strtod_l.h
    A libc/src/stdlib/strtof_l.cpp
    A libc/src/stdlib/strtof_l.h
    A libc/src/stdlib/strtol_l.cpp
    A libc/src/stdlib/strtol_l.h
    A libc/src/stdlib/strtold_l.cpp
    A libc/src/stdlib/strtold_l.h
    A libc/src/stdlib/strtoll_l.cpp
    A libc/src/stdlib/strtoll_l.h
    A libc/src/stdlib/strtoul_l.cpp
    A libc/src/stdlib/strtoul_l.h
    A libc/src/stdlib/strtoull_l.cpp
    A libc/src/stdlib/strtoull_l.h
    M libc/src/string/CMakeLists.txt
    A libc/src/string/strcoll_l.cpp
    A libc/src/string/strcoll_l.h
    A libc/src/string/strxfrm_l.cpp
    A libc/src/string/strxfrm_l.h
    M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
    M libc/test/src/math/performance_testing/CMakeLists.txt
    M libc/test/src/math/performance_testing/fmod_perf.cpp
    M libc/test/src/math/performance_testing/fmodf16_perf.cpp
    M libc/test/src/math/performance_testing/fmodf_perf.cpp
    A libc/test/src/math/performance_testing/fmul_perf.cpp
    A libc/test/src/math/performance_testing/fmull_perf.cpp
    M libc/test/src/math/performance_testing/hypot_perf.cpp
    M libc/test/src/math/performance_testing/hypotf_perf.cpp
    M libc/test/src/math/performance_testing/max_min_funcs_perf.cpp
    M libc/test/src/math/performance_testing/misc_basic_ops_perf.cpp
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/parser_std_format_spec.h
    M libcxx/include/__chrono/statically_widen.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__expected/expected.h
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/concepts.h
    M libcxx/include/__format/container_adaptor.h
    M libcxx/include/__format/enable_insertable.h
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/extended_grapheme_cluster_table.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_error.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/format_parse_context.h
    M libcxx/include/__format/format_string.h
    M libcxx/include/__format/format_to_n_result.h
    M libcxx/include/__format/formatter_bool.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integer.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_output.h
    M libcxx/include/__format/formatter_pointer.h
    M libcxx/include/__format/formatter_string.h
    M libcxx/include/__format/formatter_tuple.h
    M libcxx/include/__format/indic_conjunct_break_table.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/range_default_formatter.h
    M libcxx/include/__format/range_formatter.h
    M libcxx/include/__format/unicode.h
    M libcxx/include/__format/width_estimation_table.h
    M libcxx/include/__fwd/format.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__type_traits/is_member_pointer.h
    M libcxx/include/__type_traits/is_void.h
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/array
    M libcxx/include/forward_list
    M libcxx/include/iosfwd
    M libcxx/include/istream
    M libcxx/include/list
    M libcxx/include/set
    M libcxx/include/string
    M libcxx/include/syncstream
    M libcxx/include/tuple
    M libcxx/include/vector
    M libcxx/modules/std/format.inc
    M libcxx/src/include/refstring.h
    M libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.default.pass.cpp
    M libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
    M libcxx/test/std/numerics/bit/bit.cast/bit_cast.pass.cpp
    M libcxx/test/support/test_macros.h
    M libcxx/utils/generate_escaped_output_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_table.py
    M libcxx/utils/generate_indic_conjunct_break_table.py
    M libcxx/utils/generate_width_estimation_table.py
    M lld/test/ELF/avr-reloc.s
    M lldb/include/lldb/Core/SourceManager.h
    M lldb/include/lldb/Utility/SupportFile.h
    M lldb/source/API/SBSourceManager.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/SourceManager.cpp
    M lldb/source/Expression/REPL.cpp
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    A lldb/test/Shell/Process/elf-core/aarch64-no-NT_ARM_TLS.yaml
    A lldb/test/Shell/Process/elf-core/lit.local.cfg
    M lldb/unittests/Core/SourceManagerTest.cpp
    M llvm/docs/LangRef.rst
    M llvm/docs/Security.rst
    M llvm/docs/TestSuiteGuide.md
    M llvm/include/llvm/ADT/ConcurrentHashtable.h
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.h
    M llvm/include/llvm/Frontend/OpenACC/ACC.td
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    A llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/MLInlineAdvisor.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/BinaryFormat/DXContainer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/EdgeBundles.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/lib/SandboxIR/CMakeLists.txt
    M llvm/lib/SandboxIR/SandboxIR.cpp
    A llvm/lib/SandboxIR/Type.cpp
    M llvm/lib/Support/BalancedPartitioning.cpp
    M llvm/lib/Support/ErrorHandling.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/RWMutex.cpp
    M llvm/lib/Support/Unix/Process.inc
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMatInt.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMatInt.h
    M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrFormats.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
    M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Analysis/CostModel/RISCV/cast-half.ll
    M llvm/test/Analysis/CostModel/RISCV/cast.ll
    M llvm/test/Analysis/CostModel/RISCV/scalable-gather.ll
    M llvm/test/Analysis/CostModel/RISCV/scalable-scatter.ll
    M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
    M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
    M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/icmp.ll
    M llvm/test/Bitcode/attributes.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
    M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.err.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
    A llvm/test/CodeGen/AVR/jmp.ll
    M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/LoongArch/imm.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/load-store.ll
    M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll
    A llvm/test/CodeGen/NVPTX/compute-ptx-value-vts.ll
    M llvm/test/CodeGen/NVPTX/nvptx-aa.ll
    A llvm/test/CodeGen/NVPTX/vector-returns.ll
    M llvm/test/CodeGen/PowerPC/fma-negate.ll
    M llvm/test/CodeGen/PowerPC/fp-strict.ll
    M llvm/test/CodeGen/PowerPC/vec_abs.ll
    M llvm/test/CodeGen/PowerPC/vec_fneg.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/shufflevector.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/scalablevec-combiner-crash.ll
    M llvm/test/CodeGen/RISCV/calling-conv-half.ll
    M llvm/test/CodeGen/RISCV/float-imm.ll
    M llvm/test/CodeGen/RISCV/half-imm.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/reduce-vl-peephole.ll
    A llvm/test/CodeGen/RISCV/rvv/reduce-vl-peephole.mir
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    M llvm/test/CodeGen/X86/fake-use-hpfloat.ll
    M llvm/test/CodeGen/X86/fake-use-vector.ll
    A llvm/test/CodeGen/X86/inline-asm-int-to-fp.ll
    M llvm/test/DebugInfo/X86/fake-use.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll
    A llvm/test/MC/AArch64/SVE/directive-arch-negative.s
    M llvm/test/MC/AArch64/SVE/directive-arch_extension-negative.s
    M llvm/test/MC/AArch64/SVE/directive-cpu-negative.s
    M llvm/test/MC/AArch64/directive-arch-negative.s
    M llvm/test/MC/AArch64/directive-arch_extension-negative.s
    M llvm/test/MC/AVR/inst-brbc.s
    M llvm/test/MC/AVR/inst-brbs.s
    A llvm/test/MC/AVR/inst-brcc.s
    A llvm/test/MC/AVR/inst-brcs.s
    A llvm/test/MC/AVR/inst-breq.s
    A llvm/test/MC/AVR/inst-brge.s
    A llvm/test/MC/AVR/inst-brhc.s
    A llvm/test/MC/AVR/inst-brhs.s
    A llvm/test/MC/AVR/inst-brid.s
    A llvm/test/MC/AVR/inst-brie.s
    A llvm/test/MC/AVR/inst-brlo.s
    A llvm/test/MC/AVR/inst-brlt.s
    A llvm/test/MC/AVR/inst-brmi.s
    A llvm/test/MC/AVR/inst-brne.s
    A llvm/test/MC/AVR/inst-brpl.s
    A llvm/test/MC/AVR/inst-brsh.s
    A llvm/test/MC/AVR/inst-brtc.s
    A llvm/test/MC/AVR/inst-brts.s
    A llvm/test/MC/AVR/inst-brvc.s
    A llvm/test/MC/AVR/inst-brvs.s
    R llvm/test/MC/AVR/inst-family-cond-branch.s
    M llvm/test/MC/AVR/inst-rcall.s
    M llvm/test/MC/AVR/inst-rjmp.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
    M llvm/test/MC/LoongArch/Macros/macros-li.s
    M llvm/test/MachineVerifier/test_g_splat_vector.mir
    M llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-amplification.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-compute.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-domain.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-geometry.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-hull.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-mesh.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-pixel.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv0-vertex.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-amplification.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-compute.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-domain.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-geometry.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-hull.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-mesh.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-pixel.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv1-vertex.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-amplification.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-compute.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-domain.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-geometry.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-hull.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-mesh.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-pixel.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv2-vertex.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
    M llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
    M llvm/test/ObjectYAML/DXContainer/SigElements.yaml
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/Inline/X86/inline-target-cpu-i686.ll
    M llvm/test/Transforms/Inline/X86/inline-target-cpu-x86_64.ll
    M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512.ll
    A llvm/test/Transforms/InstCombine/X86/x86-vperm.ll
    M llvm/test/Transforms/InstCombine/X86/x86-vpermi2.ll
    M llvm/test/Transforms/LICM/hoist-add-sub.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-vfabi-attr.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
    M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
    M llvm/test/Transforms/LoopVectorize/if-reduction.ll
    M llvm/test/Transforms/LoopVectorize/phi-cost.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
    M llvm/test/Transforms/PGOProfile/memprof.ll
    M llvm/test/Transforms/SCCP/pointer-nonnull.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
    A llvm/test/Transforms/SLPVectorizer/X86/multi-nodes-bv-vectorized.ll
    M llvm/test/Transforms/SLPVectorizer/X86/odd_store.ll
    M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
    A llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    R llvm/test/Verifier/rtsan-attrs.ll
    M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
    M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
    A llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
    A llvm/test/tools/llvm-split/AMDGPU/debug-non-kernel-root.ll
    M llvm/test/tools/llvm-split/AMDGPU/declarations.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
    M llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
    M llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
    M llvm/test/tools/llvm-split/AMDGPU/non-kernels-dependency-indirect.ll
    R llvm/test/tools/llvm-split/AMDGPU/recursive-search-2.ll
    R llvm/test/tools/llvm-split/AMDGPU/recursive-search-8.ll
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/lli/ChildTarget/ChildTarget.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Error.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-mt/llvm-mt.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.cpp
    M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
    M llvm/unittests/Analysis/MLModelRunnerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/Object/DXContainerTest.cpp
    M llvm/unittests/SandboxIR/CMakeLists.txt
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    A llvm/unittests/SandboxIR/TypesTest.cpp
    M llvm/unittests/Support/CrashRecoveryTest.cpp
    M llvm/unittests/Support/ManagedStatic.cpp
    M llvm/unittests/Support/MemoryBufferTest.cpp
    M llvm/unittests/Support/ParallelTest.cpp
    M llvm/unittests/Support/Path.cpp
    M llvm/unittests/Support/ThreadPool.cpp
    M llvm/unittests/Support/Threading.cpp
    M llvm/unittests/Support/WithColorTest.cpp
    M llvm/unittests/Support/raw_ostream_test.cpp
    M llvm/utils/gn/secondary/llvm/lib/SandboxIR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/SandboxIR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/IPO/BUILD.gn
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/IR/Block.h
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f32.mlir
    A mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir
    M mlir/test/lit.cfg.py
    M polly/test/UnitIsl/lit.cfg
    M polly/test/lit.cfg
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  Rebase, address comments

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/0b2bc0ab53f4...1dabd0627b60

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