[all-commits] [llvm/llvm-project] c2171d: [gn] port fb3765959f

wanglei via All-commits all-commits at lists.llvm.org
Thu Dec 5 22:43:35 PST 2024


  Branch: refs/heads/users/wangleiat/spr/main.lldbprocess-introduce-loongarch64-hw-breakwatchpoint-support
  Home:   https://github.com/llvm/llvm-project
  Commit: c2171d748685be8c7ce2366deefe01aaae1c61a0
      https://github.com/llvm/llvm-project/commit/c2171d748685be8c7ce2366deefe01aaae1c61a0
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

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

  Log Message:
  -----------
  [gn] port fb3765959f


  Commit: 7c5300e73445310ba40515bc01c2da59d4c58d50
      https://github.com/llvm/llvm-project/commit/7c5300e73445310ba40515bc01c2da59d4c58d50
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [gn build] Port 45b567be8d0d


  Commit: 958ab3a4a53357ddf27b7ccae8bdbae5878d3cca
      https://github.com/llvm/llvm-project/commit/958ab3a4a53357ddf27b7ccae8bdbae5878d3cca
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [gn build] Port 53326ee0cf45


  Commit: bfa6c9a959e15e4548e411144fc7eda7d6b7e4dc
      https://github.com/llvm/llvm-project/commit/bfa6c9a959e15e4548e411144fc7eda7d6b7e4dc
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/src/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 6cbc37383f4a


  Commit: eb42e94d9793d5426de64266ef637b3267ed0b40
      https://github.com/llvm/llvm-project/commit/eb42e94d9793d5426de64266ef637b3267ed0b40
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

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


  Commit: c5ab28a42db95e287bf7f4623e8f5703b2f200d9
      https://github.com/llvm/llvm-project/commit/c5ab28a42db95e287bf7f4623e8f5703b2f200d9
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
    A llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.h
    M llvm/test/CodeGen/AMDGPU/opt-vgpr-live-range-verifier-error.mir
    M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
    M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.mir

  Log Message:
  -----------
  [AMDGPU][NewPM] Port SIOptimizeVGPRLiveRange pass to NPM. (#117686)


  Commit: dab9fa2d7f3b3092d4ab0c815868ec68a968a31a
      https://github.com/llvm/llvm-project/commit/dab9fa2d7f3b3092d4ab0c815868ec68a968a31a
  Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M flang/lib/Optimizer/CodeGen/Target.cpp
    A flang/test/Driver/mabi-loongarch.f90
    A flang/test/Fir/struct-passing-loongarch64-byreg.fir
    A flang/test/Fir/struct-passing-return-loongarch64-bystack.fir
    A flang/test/Fir/struct-return-loongarch64-byreg.fir

  Log Message:
  -----------
  [Flang] LoongArch64 support for BIND(C) derived types in mabi=lp64d. (#117108)

This patch:
- Supports both the passing and returning of BIND(C) type parameters.
- Adds `mabi` check for LoongArch64. Currently, flang only supports
`mabi=` option
set to `lp64d` in LoongArch64, other ABIs will report an error and may
be supported
  in the future.

Reference ABI:

https://github.com/loongson/la-abi-specs/blob/release/lapcs.adoc#subroutine-calling-sequence


  Commit: d714b221c77203107284544b8f5543bd4c35ccc9
      https://github.com/llvm/llvm-project/commit/d714b221c77203107284544b8f5543bd4c35ccc9
  Author: David Green <david.green at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/AArch64/extract_float_streaming.ll

  Log Message:
  -----------
  [AArch64] Guard against getRegisterBitWidth returning zero in vector instr cost. (#117749)

If the getRegisterBitWidth is zero (such as in sme streaming functions),
then we could hit a crash from using % RegWidth.


  Commit: b2d3cb1e7502a5ddb7d6688dce5cf51573f6189c
      https://github.com/llvm/llvm-project/commit/b2d3cb1e7502a5ddb7d6688dce5cf51573f6189c
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp

  Log Message:
  -----------
  [TTI][RISCV] Remove deduplicate type-based VP costing of VPReduction.NFC (#117708)

Refered to: #115983


  Commit: d83148f9b9debde1358f0686594da208ce33182e
      https://github.com/llvm/llvm-project/commit/d83148f9b9debde1358f0686594da208ce33182e
  Author: Abhishek Varma <avarma094 at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/test/Dialect/Affine/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][Affine] Update ::fold() to have constant basis attr for affine.delinearize_index/linearize_index (#117572)

-- This commit updates `::fold()` to have constant(CST)
   attribute for affine.delinearize_index/linearize_index op's basis
   wherever applicable.
-- Essentially the code checks if the mixed basis OpFoldResult
   set contains any constant SSA value and converts it to a constant
   integer instead.

Signed-off-by: Abhishek Varma <abhvarma at amd.com>


  Commit: 8fcbba82d6c8038c4a0c5859275523414107b198
      https://github.com/llvm/llvm-project/commit/8fcbba82d6c8038c4a0c5859275523414107b198
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/MC/RISCV/xqcisls-invalid.s
    A llvm/test/MC/RISCV/xqcisls-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqcisls (Scaled Load Store) extension (#117987)

This extension adds 8 load/store instructions with a scaled index
addressing mode.

The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest

This patch adds assembler only support.


  Commit: d02c1676d75a6bab1252b48da9a955fc7dc1251f
      https://github.com/llvm/llvm-project/commit/d02c1676d75a6bab1252b48da9a955fc7dc1251f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
    M llvm/include/llvm/Object/ELF.h
    M llvm/include/llvm/Support/Error.h
    M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Object/MachOUniversal.cpp
    M llvm/lib/Object/Minidump.cpp
    M llvm/lib/Object/TapiUniversal.cpp
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/lib/Object/XCOFFObjectFile.cpp
    M llvm/lib/Support/DataExtractor.cpp

  Log Message:
  -----------
  [Support][Error] Add ErrorAsOutParameter constructor that takes an Error by ref.

ErrorAsOutParameter's Error* constructor supports cases where an Error might not
be passed in (because in the calling context it's known that this call won't
fail). Most clients always have an Error present however, and for them an Error&
overload is more convenient.


  Commit: cf478bf744fa2aacb634b151b7f6c9844f0d3851
      https://github.com/llvm/llvm-project/commit/cf478bf744fa2aacb634b151b7f6c9844f0d3851
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M libc/test/src/sys/mman/linux/process_mrelease_test.cpp

  Log Message:
  -----------
  [libc] always clean up child process to avoid hanging ninja (#118049)


  Commit: 01a15dca09e56dce850ab6fb3ecddfb3f8c6c172
      https://github.com/llvm/llvm-project/commit/01a15dca09e56dce850ab6fb3ecddfb3f8c6c172
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.h
    A llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll

  Log Message:
  -----------
  [RISCV] Set a barrier between mask producer and user of V0 (#114012)

Here we add a scheduling mutation in pre-ra scheduling, which will
add an artificial dependency edge between mask producer and its
previous nearest instruction that uses V0 register.

This prevents the overlap of live intervals of mask registers and
as a consequence we can reduce some spills/moves.

>From the test changes, we can see some improvements and also some
regressions (more vtype toggles).

Partially fixes #113489.


  Commit: 9b163d2ee78383fe9a89e1f2e9c8c635a557cdf4
      https://github.com/llvm/llvm-project/commit/9b163d2ee78383fe9a89e1f2e9c8c635a557cdf4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 01a15dca09e5


  Commit: 9b5b3edd64e56af02295c0365269177443d4a64d
      https://github.com/llvm/llvm-project/commit/9b5b3edd64e56af02295c0365269177443d4a64d
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Tooling/Inclusions/IncludeStyle.h

  Log Message:
  -----------
  [clang-format][doc] Fix formatting, etc.


  Commit: 18760ce0fd811140fe6cb9a01b766d73bb50bf4d
      https://github.com/llvm/llvm-project/commit/18760ce0fd811140fe6cb9a01b766d73bb50bf4d
  Author: AlexErofeev <framalex at nxt.ru>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/StmtPrinter.cpp
    A clang/test/AST/ast-print-packindexingexpr.cpp

  Log Message:
  -----------
  [Clang][AST] Fix PackIndexingExpr AST printout (#117947)

Fixes #116486 
Also added a test


  Commit: 2df0d2962725a26a1d8c438888f7e70946943589
      https://github.com/llvm/llvm-project/commit/2df0d2962725a26a1d8c438888f7e70946943589
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp

  Log Message:
  -----------
  [mlir] Fix -Wsign-compare in AffineOps.cpp (NFC)

/llvm-project/mlir/lib/Dialect/Affine/IR/AffineOps.cpp:4590:25:
error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
  if (dynamicBasisIndex == dynamicBasis.size())
      ~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~
1 error generated.


  Commit: 96dd39c575be64896995e08881b9bc27688ce5d1
      https://github.com/llvm/llvm-project/commit/96dd39c575be64896995e08881b9bc27688ce5d1
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M compiler-rt/lib/xray/weak_symbols.txt
    M compiler-rt/lib/xray/xray_flags.cpp
    M compiler-rt/lib/xray/xray_flags.h
    A compiler-rt/test/xray/TestCases/Posix/default-options.cpp
    M llvm/docs/XRay.rst

  Log Message:
  -----------
  [XRay] Add `__xray_default_options` to specify build-time defined options (#117921)

Similar to `__asan_default_options`, users can specify default options
upon building the instrumented binaries by providing their own
definition of `__xray_default_options` which returns the option strings.

This is useful in cases where setting the `XRAY_OPTIONS` environment
variable might be difficult. Plus, it's a convenient way to populate
XRay options when you always want the instrumentation to be enabled.


  Commit: 3b43276575fc939b4f6e8089277fac083c770990
      https://github.com/llvm/llvm-project/commit/3b43276575fc939b4f6e8089277fac083c770990
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h

  Log Message:
  -----------
  [ORC] Remove some SymbolStringPtr copies.


  Commit: e034c4ef7b52635bb9cc78b6d3f97a4af5002f92
      https://github.com/llvm/llvm-project/commit/e034c4ef7b52635bb9cc78b6d3f97a4af5002f92
  Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/chroot.c
    M clang/test/Analysis/show-checker-list.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c

  Log Message:
  -----------
  [analyzer] Modernize, improve and promote chroot checker (#117791)

This change modernizes, improves and promotes the chroot checker from
alpha to the Unix family of checkers. This checker covers the POS05
recommendations for use of chroot.

The improvements included modeling of a success or failure from chroot
and not falsely reporting a warning along an error path. This was made
possible through modernizing the checker to be flow sensitive.

---------

Co-authored-by: einvbri <vince.a.bridgers at ericsson.com>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 91285e26bf67179a6804c931203c93f07c08183d
      https://github.com/llvm/llvm-project/commit/91285e26bf67179a6804c931203c93f07c08183d
  Author: Clement Courbet <courbet at google.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    A clang-tools-extra/test/clang-reorder-fields/FieldAnnotationsInMacros.cpp

  Log Message:
  -----------
  [clang-reorder-fields] Handle macros fields declarations. (#118005)

Right now fields with macro declarations break the tool:

```

struct Foo {
  Mutex mu;
  int x GUARDED_BY(mu);
  int y;
};
```

reordered by mu,y,x yields:

```
struct Foo {
  Mutex mu;
  int y GUARDED_BY(mu);
  int x;
};
```


  Commit: d7791f51cecbaaa81a65e4a16d781fbf338f9272
      https://github.com/llvm/llvm-project/commit/d7791f51cecbaaa81a65e4a16d781fbf338f9272
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt

  Log Message:
  -----------
  [llvm-debuginfo-analyzer] Remove superfluous link components. (#118052)

As 'LLVM_TARGETS_TO_BUILD' control which targets are enabled, the lines:

  AllTargetsDescs
  AllTargetsDisassemblers
  AllTargetsInfos

are redundant.


  Commit: aa9d36869090fdff8cd416c83a5106a1b45b0ff7
      https://github.com/llvm/llvm-project/commit/aa9d36869090fdff8cd416c83a5106a1b45b0ff7
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization-scalable.mlir

  Log Message:
  -----------
  [mlir][linalg] Relax scalable vectorization restrictions (#117991)

Currently, the Linalg vectorizer disallows non-trailing parallel
dimensions to be scalable, e.g., `vector_sizes [[8], 1]` (*), for cases
like:

```mlir
%0 = linalg.fill ins(%arg0 : f32) outs(%A : tensor<?x?xf32>) -> tensor<?x?xf32>
```

This restriction exists to avoid generating "scalable" arrays of
aggregates, which LLVM does not support (multi-dim vectors are lowered
into arrays of aggregates at the LLVM level).

This patch relaxes that restriction when the trailing parallel vector
dimension is `1`, e.g., for `vector_sizes [[8], 1]`. Such cases are safe
since trailing unit dimensions can be collapsed. This relaxation is
necessary to support scalable vectorization for tensor.pack, where inner
tile sizes are `[8]` (scalable) and `1` (scalar).

(*) Transform Dialect notation


  Commit: a943922c0de52efb78e84e08dbc5d74f428b2377
      https://github.com/llvm/llvm-project/commit/a943922c0de52efb78e84e08dbc5d74f428b2377
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

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

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Remove duplicate instruction `FF 25 ...`. (#116894)

It appears already some lines above with this comment:
  "Cannot overwrite control-instruction. Return 0 to indicate failure.".

Replacing just the comment in the first appearance.

Found after creating the test in #113085.


  Commit: 9b2ec87f5bce57cc900cf52a99f805d999716053
      https://github.com/llvm/llvm-project/commit/9b2ec87f5bce57cc900cf52a99f805d999716053
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/test/Analysis/ctor-trivial-copy.cpp
    M clang/test/Analysis/explain-svals.cpp
    M clang/test/Analysis/iterator-modeling.cpp
    M clang/test/Analysis/stl-algorithm-modeling-aggressive-std-find-modeling.cpp
    M clang/test/Analysis/stl-algorithm-modeling.cpp
    M clang/test/Analysis/template-param-objects.cpp

  Log Message:
  -----------
  [analyzer] Avoid creating LazyCompoundVal when possible (#116840)

In #115916 I allowed copying empty structs.
Later in #115917 I changed how objects are copied, and basically when we
would want to copy a struct (an LCV) of a single symbol (likely coming
from an opaque fncall or invalidation), just directly bind that symbol
instead of creating an LCV referring to the symbol. This was an
optimization to skip a layer of indirection.

Now, it turns out I should have apply the same logic in #115916. I
should not have just blindly created an LCV by calling
`createLazyBinding()`, but rather check if I can apply the shortcut
described in #115917 and only create the LCV if the shortcut doesn't
apply.

In this patch I check if there is a single default binding that the copy
would refer to and if so, just return that symbol instead of creating an
LCV.

There shouldn't be any observable changes besides that we should have
fewer LCVs. This change may surface bugs in checkers that were
associating some metadata with entities in a wrong way. Notably,
STLAlgorithmModeling and DebugIteratorModeling checkers would likely
stop working after this change.
I didn't investigate them deeply because they were broken even prior to
this patch. Let me know if I should migrate these checkers to be just as
bugged as they were prior to this patch - thus make the tests pass.


  Commit: 352f8688d0ca250c9e8774321f6c3bcd4298cc09
      https://github.com/llvm/llvm-project/commit/352f8688d0ca250c9e8774321f6c3bcd4298cc09
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/Sema/SemaAttr.cpp
    M clang/test/AST/attr-lifetime-capture-by.cpp

  Log Message:
  -----------
  [clang] Fix incorrect inferred lifetime_capture_by attr on STL (#118013)

We incorrectly annotate the iterator parameter for `insert` method
(`void insert(const_iterator, const value_type& value)`), because
iterator is also a gsl-pointer type.

This patch fixes it.


  Commit: 27e01ee5aafb79a8aeca5fc9eb41e7f1243a7a46
      https://github.com/llvm/llvm-project/commit/27e01ee5aafb79a8aeca5fc9eb41e7f1243a7a46
  Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td

  Log Message:
  -----------
  [SPIR-V][NFC] Fix number of operands for cooperative matrix instructions (#118014)

This PR fixes number of operands of SPIR-V wrapper builtins for
cooperative matrix instructions.

Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>


  Commit: 26baa00908b2eb8b2925800af6bc64fbe53cac48
      https://github.com/llvm/llvm-project/commit/26baa00908b2eb8b2925800af6bc64fbe53cac48
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/AST/ByteCode/records.cpp
    A clang/test/SemaCXX/cxx20-warn-dangling-paren-list-agg-init.cpp
    M clang/test/SemaCXX/paren-list-agg-init.cpp

  Log Message:
  -----------
  [clang] Diagnose dangling references for parenthesized aggregate initialization. (#117690)

Unlike brace initialization, the parenthesized aggregate initialization
in C++20 does not extend the lifetime of a temporary object bound to a
reference in an aggreate. This can lead to dangling references:

```
struct A { const int& r; };
 A a1(1); // well-formed, but results in a dangling reference.
 ``` 

With this patch, clang will diagnose this common dangling issues.

Fixes #101957


  Commit: e9be21786c972de93206599d4e06b79c2ca8f772
      https://github.com/llvm/llvm-project/commit/e9be21786c972de93206599d4e06b79c2ca8f772
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/cmake/modules/GetHostTriple.cmake

  Log Message:
  -----------
  [CMake] Handle clang in MSVC mode in GetHostTriple (#116701)

When configuring CMake with Clang in MSVC mode, Clang can either be
invoked with the MSVC style driver (clang-cl) or the GNU style driver
(clang). When using the MSVC style driver, CMake sets the CMake variable
MSVC (which indicates the kind of command line interface), but when
using the GNU style driver, this variable isn't set, while Clang still
operates in MSVC mode.

Even though CMake doesn't set the variable MSVC, it still does set
CMAKE_C_COMPILER_ARCHITECTURE_ID, which it does set for MSVC and Clang
in MSVC mode, but not for Clang in MinGW mode.

For this configuration, use the MSVC style,
CMAKE_C_COMPILER_ARCHITECTURE_ID based GetHostTriple implementation.


  Commit: ed7f36e1ecc26d6360126fc6ed0514b592fcc029
      https://github.com/llvm/llvm-project/commit/ed7f36e1ecc26d6360126fc6ed0514b592fcc029
  Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] update a couple of struct/vector creation examples to use poison


  Commit: a174aa1e416c4e27945f5a8c646b119126dc8441
      https://github.com/llvm/llvm-project/commit/a174aa1e416c4e27945f5a8c646b119126dc8441
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp

  Log Message:
  -----------
  [clang-repl] Fix generation of wasm binaries while running clang-repl in browser (#117978)

Co-authored-by: Vassil Vassilev <v.g.vassilev at gmail.com>


  Commit: cb4f22c0a737b13c06f54566dac1e40cc4ec06c8
      https://github.com/llvm/llvm-project/commit/cb4f22c0a737b13c06f54566dac1e40cc4ec06c8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/pr114360.ll

  Log Message:
  -----------
  [X86] Adjust triple on test case for #114360

An attempt to fix a buildbot failure on clang-x64-windows-msvc


  Commit: 26ffca08439f23e8db43beeb021c4cae32716822
      https://github.com/llvm/llvm-project/commit/26ffca08439f23e8db43beeb021c4cae32716822
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/test/Dialect/Affine/ops.mlir

  Log Message:
  -----------
  [mlir][gpu]add AffineScope to gpu.func op. (#118010)

This PR in order to solve the following problem.
https://github.com/llvm/llvm-project/pull/117721.
To efficiently implement the thread-to-data mapping relationship, I
introduced AffineScope in gpu.func(Data or thread layout).


  Commit: 9c97aa5abb6aa4ce4055095a89ae7d72e1b61803
      https://github.com/llvm/llvm-project/commit/9c97aa5abb6aa4ce4055095a89ae7d72e1b61803
  Author: Richard Dzenis <richard at dzenis.dev>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
    A llvm/test/tools/llvm-objcopy/MachO/dysymtab-zero-indirectsym.test

  Log Message:
  -----------
  [llvm-objcopy] Always update indirectsymoff in MachO (#117726)

Let's say we've run llvm-strip over some MachO. The resulting MachO
became smaller and there are no indirect symbols anymore.

Then according to previous code we would not update indirectsymoff
field. This would lead to `MachOWriter::totalSize()` report size that is
larger than the new MachO. As a result we would get MachO that has zero
bytes past contents of the very last load command.

Codesign has a strict check that size of MachO file must be equal to

    lastLoadCommand.offset + lastLoadCommand.size

If this is not satisfied codesign reports the following error

    main executable failed strict validation

Fixes #117723


  Commit: 7ed36b9ec6147fbada27592292bca28f9f76c983
      https://github.com/llvm/llvm-project/commit/7ed36b9ec6147fbada27592292bca28f9f76c983
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/pr114360.ll

  Log Message:
  -----------
  [X86] Add missing REQUIRES to test case for #114360


  Commit: 0d1d1b363d9588c192152cec4f256f3edfea7e48
      https://github.com/llvm/llvm-project/commit/0d1d1b363d9588c192152cec4f256f3edfea7e48
  Author: itrofimow <i.trofimow at yandex.ru>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp

  Log Message:
  -----------
  [DebugInfo] Clean up LLVMSymbolizer::DemangleName API: const string& -> StringRef (#118056)


  Commit: b68340c83529bd8d13d1c4441777baa31863d1cf
      https://github.com/llvm/llvm-project/commit/b68340c83529bd8d13d1c4441777baa31863d1cf
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/SpillPlacement.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.h
    M llvm/lib/CodeGen/SpillPlacement.cpp
    R llvm/lib/CodeGen/SpillPlacement.h
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Port SpillPlacement analysis to NPM (#116618)


  Commit: 8dd0da5bd1c427a7ba2091b918c59b3ee7a8b79f
      https://github.com/llvm/llvm-project/commit/8dd0da5bd1c427a7ba2091b918c59b3ee7a8b79f
  Author: David Green <david.green at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp

  Log Message:
  -----------
  [AArch64] Silence warning with different types in ternary. NFC

This just casts the Register to an unsigned, to fit in with the other types
returned from the function.


  Commit: 5540eac4e5161d124ac547e4a9d3451408bb71e9
      https://github.com/llvm/llvm-project/commit/5540eac4e5161d124ac547e4a9d3451408bb71e9
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir][vector] Disable `from_elements` for scalable vectors (#117868)

Disables `vector.from_elements` for scalable vectors. Given that the
length of scalable vectors is unknown at compile time, the semantics of
this Op are unclear in this context.


  Commit: 044362215d5264280abc807ea1da6c652530c926
      https://github.com/llvm/llvm-project/commit/044362215d5264280abc807ea1da6c652530c926
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/mmx-cvt.ll

  Log Message:
  -----------
  [X86] Add test for new _mm_movpi64_epi64 lowering

With the MMX retirement, _mm_movpi64_epi64 now lowers to shuffle((__m64)(double)x,(__m64)0) pattern - which demonstrates a unnecessary FPU->GPU->FPU transfer


  Commit: 1784275e43976df2388a27805fb684def76c5c8a
      https://github.com/llvm/llvm-project/commit/1784275e43976df2388a27805fb684def76c5c8a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-masked.ll

  Log Message:
  -----------
  [X86] vector-shuffle-masked.ll - update extract_subvector shuffle tests to take poison arg instead of undef


  Commit: 568ae0afabe07837ecfae8f8fe9dacf0de74a1e5
      https://github.com/llvm/llvm-project/commit/568ae0afabe07837ecfae8f8fe9dacf0de74a1e5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/widen_shuffle-1.ll

  Log Message:
  -----------
  [X86] widen_shuffle-1.ll - update shuffle tests to take poison arg instead of undef


  Commit: e04d7549cca3b82fb0f71d2b073fa88654ae2212
      https://github.com/llvm/llvm-project/commit/e04d7549cca3b82fb0f71d2b073fa88654ae2212
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [llvm][docs] Link to correct maintainers file for clang-tools-extra

5eeb3fef61bf5542c3fdcb71622fc4e826527789 moved it from CODE_OWNERS.txt.


  Commit: 59f57be94f38758616b1339b293b43af845571af
      https://github.com/llvm/llvm-project/commit/59f57be94f38758616b1339b293b43af845571af
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  Revert "[libc++] Simplify the implementation of reserve() and shrink_to_fit() (#113453)"

This reverts commit d648eed5899c4be10f1f7866eebef2bc171e673f. Breaks
anything that relies on sized deallocation, e.g. asan and tcmalloc.


  Commit: 55dd475d1d89db5cd23534a4d9b200854410703d
      https://github.com/llvm/llvm-project/commit/55dd475d1d89db5cd23534a4d9b200854410703d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/mmx-cvt.ll

  Log Message:
  -----------
  [X86] Fold (v2i64 (scalar_to_vector (i64 (bitcast (double))))) -> (bitcast (v2f64 scalar_to_vector))

This can occur more frequently after the MMX retirement if anyone is still using MMX intrinsics that now wrap to SSE


  Commit: baaf1115ca007f95fd08c52dc8bec54d310f5b27
      https://github.com/llvm/llvm-project/commit/baaf1115ca007f95fd08c52dc8bec54d310f5b27
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ADT/BitmaskEnum.h
    M llvm/unittests/ADT/BitmaskEnumTest.cpp

  Log Message:
  -----------
  [BitmaskEnum] Add support for shift operators. (#118007)

For enums that describe a bitmask where successive bits within that mask
describe some enum value (as described in the same enum), it is useful
to support operator<< and operator>> as well.

For example:
```
  enum class E : unsigned {
    // 2 bits per option
    OptionA = 0,
    OptionB = 1,
    OptionC = 2,
    OptionD = 3,
    OptionMask = 3,

    // Given 3 values in the bitmask X, Y and Z, each is 2 bits in size
    // and represents a choice of OptionA..OptionD.
    ShiftX = 0,
    ShiftY = 2,
    ShiftZ = 4,
  };

  // The mask can be encoded with:
  E mask;
  mask |= getOptionFor(X) << E::ShiftX;
  mask |= getOptionFor(Y) << E::ShiftY;
  mask |= getOptionFor(Z) << E::ShiftZ;

  // And to extract a value:
  E OptionForX =  (mask >> E::ShiftX) & E::OptionMask;
  E OptionForY =  (mask >> E::ShiftY) & E::OptionMask;
  E OptionForZ =  (mask >> E::ShiftZ) & E::OptionMask;
```


  Commit: 9300274a12d758368c036812d903b73d70d64ea4
      https://github.com/llvm/llvm-project/commit/9300274a12d758368c036812d903b73d70d64ea4
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/xqcicsr-invalid.s
    M llvm/test/MC/RISCV/xqcicsr-valid.s
    M llvm/test/MC/RISCV/xqcisls-invalid.s
    M llvm/test/MC/RISCV/xqcisls-valid.s

  Log Message:
  -----------
  [RISCV][NFCI] Fix Xqci Line Endings

Changes the new files for `Xqci`, including `Xqcicsr` and `Xqcisls`, to
use Unix line endings rather than Windows line endings.


  Commit: bbea1dee28f4bd7cfa897a79e38c5331fca5d796
      https://github.com/llvm/llvm-project/commit/bbea1dee28f4bd7cfa897a79e38c5331fca5d796
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/CodeGen/X86/avx512cfmulsh-instrinsics.ll

  Log Message:
  -----------
  [X86][FP16] Fix masking problem of VF[,C]MADDCSH intrinsics (#118071)

Fixes: #98306


  Commit: 6f4b4f41ca41d7d0b44a32d9968aef7667c68184
      https://github.com/llvm/llvm-project/commit/6f4b4f41ca41d7d0b44a32d9968aef7667c68184
  Author: David Green <david.green at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-scatter.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/scatter-cost.ll

  Log Message:
  -----------
  [AArch64] Remove LoopVectorizer/AArch64/scatter-cost.ll test. NFC

This test checks the costs, not vectorization, so is better placed in the
existing gather/scatter cost modelling tests. An extra neoverse-v2 check line
has been added for both gathers and scatters.


  Commit: f4974e09312afc9549fcfc0304b738d235da9eca
      https://github.com/llvm/llvm-project/commit/f4974e09312afc9549fcfc0304b738d235da9eca
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/ashr-node-with-poison.ll

  Log Message:
  -----------
  [SLP] Add a check for poison value in AShrChecker

Need to check if the value in AShrChecker is a poison before casting it
to instruction to avoid compiler crash

Fixes #118030


  Commit: 2b3266c1701f315d7e89c81977800001563afacb
      https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (1/11) (#116259)

SVE2.2 introduces instructions with predicated forms with zeroing of the
inactive lanes. This allows in some cases to save a `movprfx` or a `mov`
instruction when emitting code for `_x` or `_z` variants of intrinsics.

This patch adds support for emitting the zeroing forms of `ABS`, `NEG`,
`FABS`, and `FNEG` instructions.


  Commit: e973f7ae52e753ebe53f5414ddf1c4d29e49deb5
      https://github.com/llvm/llvm-project/commit/e973f7ae52e753ebe53f5414ddf1c4d29e49deb5
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td

  Log Message:
  -----------
  [RISCV][Xqcicsr] Instructions have Side Effects (#118089)

Xqcicsr was added in #117169. I missed that `hasSideEffects` was set to
0, rather than 1 (which all other CSR-modifying instructions have).

This has no effect on the current assembly-only support, but I think is
worth fixing before I forget. I accidentally fixed the closing comment
in 9300274a12d758368c036812d903b73d70d64ea4.


  Commit: ef86a31a593a023946a2dc805948360efdad3930
      https://github.com/llvm/llvm-project/commit/ef86a31a593a023946a2dc805948360efdad3930
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/cmake/modules/GetHostTriple.cmake

  Log Message:
  -----------
  [CMake] Fix mismatched endif warning

Caused by https://github.com/llvm/llvm-project/pull/116701.

Seems like a lot of arguments to repeat, so just use a plain endif().


  Commit: 2a18162daa96e1cca5144a634bb03134405b52cb
      https://github.com/llvm/llvm-project/commit/2a18162daa96e1cca5144a634bb03134405b52cb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v32.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll

  Log Message:
  -----------
  [X86] update shuffle lowering tests to take poison arg instead of undef


  Commit: 5c181a9191bfb758575329ff7eb8db4fc46ffac9
      https://github.com/llvm/llvm-project/commit/5c181a9191bfb758575329ff7eb8db4fc46ffac9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-by-select-loop.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-512.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll

  Log Message:
  -----------
  [X86] update vector shift lowering tests to take poison arg instead of undef


  Commit: 38098b486e44ad077b674e512eee399fc6f5a30c
      https://github.com/llvm/llvm-project/commit/38098b486e44ad077b674e512eee399fc6f5a30c
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir][vector] Disable CompressStoreOp/ExpandLoadOp for scalable vectors (#117538)

These operations were introduced as counterparts to the following LLVM
intrinsics:

  * `@llvm.masked.expandload.*`,
  * `@llvm.masked.compressstore.*`.

Currently, there is minimal test coverage for scalable vector use cases
involving these Ops (both LLVM and MLIR). Additionally, the verifier is
flawed  - it incorrectly allows mixing fixed-width and scalable vectors.

To address these issues, scalable vector support for these Ops is being
disabled for now. This decision can be revisited if a clear need arises
for their use with scalable vectors in the future.


  Commit: b40714b01206abef4130d3a39a90ac82aa96f18f
      https://github.com/llvm/llvm-project/commit/b40714b01206abef4130d3a39a90ac82aa96f18f
  Author: Tyler Nowicki <tyler.nowicki at amd.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    A llvm/lib/Transforms/Coroutines/CoroCloner.h
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp

  Log Message:
  -----------
  [Coroutines][NFC] Refactor CoroCloner (#116885)

* Move CoroCloner to its own header. For now, the header is located in llvm/lib/Transforms/Coroutines
* Change private to protected to allow inheritance
* Create CoroSwitchCloner and move some of the switch specific code into this cloner. More code will follow in later commits.


  Commit: ef50d790c276600da609b465259a8e636e3531bc
      https://github.com/llvm/llvm-project/commit/ef50d790c276600da609b465259a8e636e3531bc
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M libcxx/utils/ci/run-buildbot-container

  Log Message:
  -----------
  [libc++] Update run-buildbot-container with up-to-date image information


  Commit: 31b7d4333a6c10aa8b7e1a7ca5aa0e281f124ec2
      https://github.com/llvm/llvm-project/commit/31b7d4333a6c10aa8b7e1a7ca5aa0e281f124ec2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/extract-insert.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
    M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
    M llvm/test/CodeGen/X86/load-partial.ll

  Log Message:
  -----------
  [DAG] Extend extract_element(bitcast(scalar_to_vector(X))) -> trunc(srl(X,C)) (#117900)

When extracting a smaller integer from a scalar_to_vector source, we were limited to only folding/truncating the lowest bits of the scalar source.

This patch extends the fold to handle extraction of any other element, by right shifting the source before truncation.

Fixes a regression from #117884


  Commit: fe042904829b83a61c1f4bc904f8f9e5b6da891e
      https://github.com/llvm/llvm-project/commit/fe042904829b83a61c1f4bc904f8f9e5b6da891e
  Author: David Green <david.green at arm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vf-hint.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-strict-fadd-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll

  Log Message:
  -----------
  [AArch64] Change the default vscale-for-tuning to 1. (#117174)

Most AArch64 cpus outside of Neoverse V1 (256) and A64FX (512) have an
SVE vector length of 128, and in environments like Android (where no
mcpu option is common) we would expect all cpus to match. This patch
changes the default vector length to 128 with -mcpu=generic, to match
the most common case.


  Commit: 8fb748b4a7c45b56c2e4f37c327fd88958ab3758
      https://github.com/llvm/llvm-project/commit/8fb748b4a7c45b56c2e4f37c327fd88958ab3758
  Author: Marina Taylor <marina_taylor at apple.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InlineCost.h
    M llvm/lib/Analysis/InlineCost.cpp
    A llvm/test/Transforms/Inline/AArch64/memcpy-constant-size.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll

  Log Message:
  -----------
  [Inliner] Don't count a call penalty for foldable __memcpy_chk and similar (#117876)

When the size is an appropriate constant, __memcpy_chk will turn into a
memcpy that gets folded away by InstCombine. Therefore this patch avoids
counting these as calls for purposes of inlining costs.

This is only really relevant on platforms whose headers redirect memcpy
to __memcpy_chk (such as Darwin). On platforms that use intrinsics,
memcpy and similar functions are already exempt from call penalties.


  Commit: 77c2b005539c4b0c0e2b7edeefd5f57b95019bc9
      https://github.com/llvm/llvm-project/commit/77c2b005539c4b0c0e2b7edeefd5f57b95019bc9
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    A .ci/metrics/Dockerfile
    A .ci/metrics/metrics.py
    A .ci/metrics/requirements.lock.txt
    A .ci/metrics/requirements.txt

  Log Message:
  -----------
  [CI] Upstream metrics script and container definition (#117461)

This patch includes the script that pulls information from Github and
pushes it to Grafana. This is currently running in the cluster and
pushes information to
https://llvm.grafana.net/public-dashboards/6a1c1969b6794e0a8ee5d494c72ce2cd.
This script is designed to accept other jobs relatively easily and can
be easily modified to look at other metrics.


  Commit: be75a14207ab0dac6ad9f9097957f14a918ac611
      https://github.com/llvm/llvm-project/commit/be75a14207ab0dac6ad9f9097957f14a918ac611
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    A clang/test/SemaTemplate/template-args-deduction-aggregates.cpp

  Log Message:
  -----------
  [Clang] fix crash due to incorrect argument position in merging deduced template arguments (#118041)

Fixes #113659


  Commit: 9ebab700cde7e47bd7b6c3386529262369e8fa2c
      https://github.com/llvm/llvm-project/commit/9ebab700cde7e47bd7b6c3386529262369e8fa2c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    A .github/workflows/build-metrics-container.yml

  Log Message:
  -----------
  [Github] Add new workflow to build metrics container (#117462)

This patch adds a new Github Actions workflow to build the metrics
container and push it to the Github Container Registry.


  Commit: 820403c4e04db1f4adc8528bec33d393a5be3856
      https://github.com/llvm/llvm-project/commit/820403c4e04db1f4adc8528bec33d393a5be3856
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/test/Analysis/initializer.cpp

  Log Message:
  -----------
  [analyzer] Never create Regions wrapping reference TypedValueRegions (NFCI) (#118096)

Like in the test case:
```c++
struct String {
  String(const String &) {}
};

struct MatchComponent {
  unsigned numbers[2];
  String prerelease;
  MatchComponent(MatchComponent const &) = default;
};

MatchComponent get();
void consume(MatchComponent const &);

MatchComponent parseMatchComponent() {
  MatchComponent component = get();
  component.numbers[0] = 10;
  component.numbers[1] = 20;
  return component; // We should have no stack addr escape warning here.
}

void top() {
  consume(parseMatchComponent());
}
```

When calling `consume(parseMatchComponent())` the
`parseMatchComponent()` would return a copy of a temporary of
`component`. That copy would invoke the
`MatchComponent::MatchComponent(const MatchComponent &)` ctor.

That ctor would have a (reference typed) ParamVarRegion, holding the
location (lvalue) of the object we are about to copy (&component). So
far so good, but just before evaluating the binding operation for
initializing the `numbers` field of the temporary, we evaluate the
ArrayInitLoopExpr representing the by-value elementwise copy of the
array `component.numbers`. This is represented by a LazyCompoundVal,
because we (usually) don't just copy large arrays and bind many
individual direct bindings. Rather, we take a snapshot by using a LCV.

However, notice that the LCV representing this copy would look like
this:
  lazyCompoundVal{ParamVarRegion{"reference param of cctor"}.numbers}

Notice that it refers to the numbers field of a reference. It would be
much better to desugar the reference to the actual object, thus it
should be: `lazyCompoundVal{component.numbers}`

Actually, when binding the result of the ArrayInitLoopExpr to the
`temp_object.numbers` in the compiler-generated member initializer of
the cctor, we should have two individual direct bindings because this is
a "small array":
```
  binding &Element{temp_object.numbers, 0} <- loadFrom(&Element{component.numbers, 0})
  binding &Element{temp_object.numbers, 1} <- loadFrom(&Element{component.numbers, 1})
```
Where `loadFrom(...)` would be:
```
  loadFrom(&Element{component.numbers, 0}): 10 U32b
  loadFrom(&Element{component.numbers, 1}): 20 U32b
```
So the store should look like this, after PostInitializer of
`temp_object.numbers`:
```
  temp_object at offset  0: 10 U32b
  temp_object at offset 32: 20 U32b
```

The lesson is that it's okay to have TypedValueRegions of references as
long as we don't form subregions of those. If we ever want to refer to a
subregion of a "reference" we actually meant to "desugar" the reference
and slice a subregion of the pointee of the reference instead.

Once this canonicalization is in place, we can also drop the special
handling of references in `ProcessInitializer`, because now reference
TypedValueRegions are eagerly desugared into their referee region when
forming a subregion of it.

There should be no practical differences, but there are of course bugs
that this patch may surface.


  Commit: b5132b7d044a5bc83eba9b09bd158cd77a511403
      https://github.com/llvm/llvm-project/commit/b5132b7d044a5bc83eba9b09bd158cd77a511403
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
    M llvm/test/CodeGen/SPIRV/instructions/ret-type.ll
    A llvm/test/CodeGen/SPIRV/pointers/builtin-ret-reg-type.ll
    A llvm/test/CodeGen/SPIRV/pointers/gep-types-1.ll
    A llvm/test/CodeGen/SPIRV/pointers/gep-types-2.ll
    A llvm/test/CodeGen/SPIRV/pointers/phi-chain-types.ll
    M llvm/test/CodeGen/SPIRV/pointers/phi-valid-operand-types.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-via-store-load-args-rev.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpGenericCastToPtr.ll
    M llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll
    A llvm/test/CodeGen/SPIRV/validate/sycl-hier-par-basic.ll

  Log Message:
  -----------
  [SPIR-V] Improve type inference: fix types of return values in call lowering (#116609)

Goals of the PR are:
* to ensure that correct types are applied to virtual registers which
were used as return values in call lowering. A reproducer is attached as
a new test case, before the PR it fails because spirv-val considers
output invalid due to wrong result/operand types in OpPhi's;
* improve type inference by speeding up postprocessing of types: by
limiting iterations by checking what remains to process, and processing
each instruction just once for any number of operands with uncomplete
types;
* improve type inference by more accurate work with uncomplete types
(pass uncomplete property to dependent operands, ensure consistency of
uncomplete-types data structure);
* change processing order and add traversing of PHI nodes when type
inference apply instructions results to specify/update/cast operands
type (fixes an issue with OpPhi's result type mismatch with operand
types).


  Commit: 2de2e7aa6f82ac283bc17945ca9750c01016a331
      https://github.com/llvm/llvm-project/commit/2de2e7aa6f82ac283bc17945ca9750c01016a331
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M .github/workflows/build-metrics-container.yml

  Log Message:
  -----------
  [Github] Fix build metrics container push (#118130)

This patch fixes a couple typos that were preventing the build metrics
container job from pushing the container to GHCR.


  Commit: cbf495fd12ba08c3a8e10dbcd482df1bf80736ed
      https://github.com/llvm/llvm-project/commit/cbf495fd12ba08c3a8e10dbcd482df1bf80736ed
  Author: Reno Dakota <paparodeo at proton.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/unsupported-option.c

  Log Message:
  -----------
  [Clang][Driver] report unsupported option error when link + compile in same process (#116476)

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

This change updates clang to report unsupported option errors regardless
of the command line argument order.

When clang is invoked with a source file and without `-c` it will both
compile and link. When an unsupported option is also part of the command
line clang should generated an error. However, if the source file name
comes before an object file, eg: `-lc`, the error is ignored.

```
$ clang --target=x86_64 -lc hello.c -mhtm
clang: error: unsupported option '-mhtm' for target 'x86_64'
$ echo $?
1
```

but if `-lc` comes after `hello.c` the error is dropped

```
$ clang --target=x86_64 hello.c -mhtm -lc
$ echo $?
0
```

after this change clang will report the error regardless of the command
line argument order.


  Commit: 0ad6be1927f89cef09aa5d0fb244873f687997c9
      https://github.com/llvm/llvm-project/commit/0ad6be1927f89cef09aa5d0fb244873f687997c9
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll

  Log Message:
  -----------
  [SLPVectorizer, TargetTransformInfo, SystemZ]  Improve SLP getGatherCost(). (#112491)

As vector element loads are free on SystemZ, this patch improves the cost
computation in getGatherCost() to reflect this.

getScalarizationOverhead() gets an optional parameter which can hold the actual
Values so that they in turn can be passed (by BasicTTIImpl) to
getVectorInstrCost().

SystemZTTIImpl::getVectorInstrCost() will now recognize a LoadInst and
typically return a 0 cost for it, with some exceptions.


  Commit: 6bfb6d4092a284e1fcd135625c0e713d019f0572
      https://github.com/llvm/llvm-project/commit/6bfb6d4092a284e1fcd135625c0e713d019f0572
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ADT/SmallPtrSet.h

  Log Message:
  -----------
  [SmallPtrSet] Optimize contains (NFC) (#118092)

Instead of going through find_imp(), implement a specialized
contains_imp() that directly returns a boolean instead of a pointer that
needs to be compared to EndPointer().

This gives a compile-time improvement of around 0.2-0.3%.


  Commit: 05ff6e7948df3c152982814ea2367c7b83138cea
      https://github.com/llvm/llvm-project/commit/05ff6e7948df3c152982814ea2367c7b83138cea
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/Symbols.cpp
    M lld/test/ELF/invalid-eh-frame3.s
    M lld/test/ELF/invalid-eh-frame6.s
    M lld/test/ELF/tls.s
    M lld/test/ELF/undef-multi.s
    M lld/test/ELF/undef.s

  Log Message:
  -----------
  [ELF] Use lower case offset in getObjMsg

to improve consistency with other diagnostics. While here, migrate to
use ELFSyncStream to drop toStr/getCtx uses and avoid string overhead.


  Commit: ae9b91acc76e03a3c38e2f92b59308c508901817
      https://github.com/llvm/llvm-project/commit/ae9b91acc76e03a3c38e2f92b59308c508901817
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv

  Log Message:
  -----------
  [libc++] Fix malformed CSV entry for C++26 LWG issue


  Commit: 2dc0de753b6df83e35f3d98e0e6a26c95e3399c0
      https://github.com/llvm/llvm-project/commit/2dc0de753b6df83e35f3d98e0e6a26c95e3399c0
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Hexagon.cpp

  Log Message:
  -----------
  [clang] recognize hexagon-*-ld.lld variants (#117338)

If we create a cross toolchain with a ${triple}-ld.lld symlink, clang
finds that symlink and when it uses it, it's not recognized as "lld".
Let's resolve that symlink and consider it when determining lld-ness.

For example, clang provides hexagon-link specific link arguments such as
`-mcpu=hexagonv65` and `-march=hexagon` when
hexagon-unknown-linux-musl-ld.lld is found. lld rejects this with the
following error:

hexagon-unknown-linux-musl-ld.lld: error: unknown emulation:
cpu=hexagonv65


  Commit: 52690db47da36a739ee506d3b3a7457fb918dc1e
      https://github.com/llvm/llvm-project/commit/52690db47da36a739ee506d3b3a7457fb918dc1e
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp

  Log Message:
  -----------
  [clang] Fix -Wdangling false negative regressions caused by 117315 (#118088)

A specialization declaration can have an attribute even if the primary
template does not, particularly when the specialization is instantiated
from an annotated using-alias declaration.

Fix #118064


  Commit: 8ac2b77a11c9db9879557ce1c26e38628e1ef45f
      https://github.com/llvm/llvm-project/commit/8ac2b77a11c9db9879557ce1c26e38628e1ef45f
  Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    R clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    R clang/test/Analysis/identical-expressions.cpp

  Log Message:
  -----------
  [analyzer] Remove alpha.core.IdenticalExpr Checker (#114715)

This change removes the alpha.core.IdenticalExpr static analysis checker
since it's checks are present in the clang-tidy checks
misc-redundant-expression and bugprone-branch-clone. This check was
implemented as a static analysis check using AST matching, and since
alpha and duplicated in 2 clang-tidy checks may be removed.

Co-authored-by: Vince Bridgers <vince.a.bridgers at ericsson.com>


  Commit: 666de79595dc2460b7abca0b99d79d058c10cadf
      https://github.com/llvm/llvm-project/commit/666de79595dc2460b7abca0b99d79d058c10cadf
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp

  Log Message:
  -----------
  [ELF] Move some ObjFile members to ELFFileBase to simplify getSrcMsg


  Commit: f28e071dc075fd5591344bc5aabd7b298aaecf50
      https://github.com/llvm/llvm-project/commit/f28e071dc075fd5591344bc5aabd7b298aaecf50
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp

  Log Message:
  -----------
  [rtsan] NFC: Fix style of some interceptors not using MAYBE (#118145)

There were a few interceptors that weren't using the newer MAYBE style -
fixed them up for uniform style.


  Commit: b22cc5a650deb729f4a1f18206e14971616d07ee
      https://github.com/llvm/llvm-project/commit/b22cc5a650deb729f4a1f18206e14971616d07ee
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8ac2b77a11c9


  Commit: 9df63b2651b2435c02a7d825953ca2ddc65c778e
      https://github.com/llvm/llvm-project/commit/9df63b2651b2435c02a7d825953ca2ddc65c778e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
    M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
    M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/decompose-call-graph-types.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Add 1:N `matchAndRewrite` overload (#116470)

This commit adds a new `matchAndRewrite` overload to `ConversionPattern`
to support 1:N replacements. This is the first of two main PRs that
merge the 1:1 and 1:N dialect conversion drivers.

The existing `matchAndRewrite` function supports only 1:1 replacements,
as can be seen from the `ArrayRef<Value>` parameter.
```c++
LogicalResult ConversionPattern::matchAndRewrite(
    Operation *op, ArrayRef<Value> operands /*adaptor values*/,
    ConversionPatternRewriter &rewriter) const;
```

This commit adds a `matchAndRewrite` overload that is called by the
dialect conversion driver. By default, this new overload dispatches to
the original 1:1 `matchAndRewrite` implementation. Existing
`ConversionPattern`s do not need to be changed as long as there are no
1:N type conversions or value replacements.
```c++
LogicalResult ConversionPattern::matchAndRewrite(
    Operation *op, ArrayRef<ValueRange> operands /*adaptor values*/,
    ConversionPatternRewriter &rewriter) const {
  // Note: getOneToOneAdaptorOperands produces a fatal error if at least one
  // ValueRange has 0 or more than 1 value.
  return matchAndRewrite(op, getOneToOneAdaptorOperands(operands), rewriter);
}
```

The `ConversionValueMapping`, which keeps track of value replacements
and materializations, still does not support 1:N replacements. We still
rely on argument materializations to convert N replacement values back
into a single value. The `ConversionValueMapping` will be generalized to
1:N mappings in the second main PR.

Before handing the adaptor values to a `ConversionPattern`, all argument
materializations are "unpacked". The `ConversionPattern` receives N
replacement values and does not see any argument materializations. This
implementation strategy allows us to use the 1:N infrastructure/API in
`ConversionPattern`s even though some functionality is still missing in
the driver. This strategy was chosen to keep the sizes of the PRs
smaller and to make it easier for downstream users to adapt to API
changes.

This commit also updates the the "decompose call graphs" transformation
and the "sparse tensor codegen" transformation to use the new 1:N
`ConversionPattern` API.

Note for LLVM conversion: If you are using a type converter with 1:N
type conversion rules or if your patterns are performing 1:N
replacements (via `replaceOpWithMultiple` or
`applySignatureConversion`), conversion pattern applications will start
failing (fatal LLVM error) with this error message: `pattern 'name' does
not support 1:N conversion`. The name of the failing pattern is shown in
the error message. These patterns must be updated to the new 1:N
`matchAndRewrite` API.


  Commit: 04ab599363eacc156e11238da9343c1d9d90db56
      https://github.com/llvm/llvm-project/commit/04ab599363eacc156e11238da9343c1d9d90db56
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp

  Log Message:
  -----------
  [clang-tidy] fix false positive in bugprone-return-const-ref-from-parameter (#117734)

Fix https://github.com/llvm/llvm-project/issues/115743


  Commit: 1f13713dbb323d678c37efd5aa98a69e8f633b26
      https://github.com/llvm/llvm-project/commit/1f13713dbb323d678c37efd5aa98a69e8f633b26
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/Target.cpp
    M lld/include/lld/Common/ErrorHandler.h

  Log Message:
  -----------
  [ELF] Change getSrcMsg to use ELFSyncStream. NFC


  Commit: 58389b220a9354ed6c34bdb9310a35165579c5e3
      https://github.com/llvm/llvm-project/commit/58389b220a9354ed6c34bdb9310a35165579c5e3
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir] Fix build after #116470 (#118147)

This should have been part of #116470.


  Commit: 10b98473e8f9e3886bd4a51966c755d760de14ed
      https://github.com/llvm/llvm-project/commit/10b98473e8f9e3886bd4a51966c755d760de14ed
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M lld/ELF/ICF.cpp

  Log Message:
  -----------
  [ELF] Simplify --print-icf-sections


  Commit: ee19eb3037c781361e6f82c524b500ed5f55be18
      https://github.com/llvm/llvm-project/commit/ee19eb3037c781361e6f82c524b500ed5f55be18
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M lld/ELF/Arch/Hexagon.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/Writer.cpp
    M lld/test/ELF/linkerscript/i386-sections-max-va-overflow.s
    M lld/test/ELF/linkerscript/locationcountererr-arm-exidx.test
    M lld/test/ELF/linkerscript/sections-max-va-overflow.s

  Log Message:
  -----------
  [ELF] Change some upper-case utohexstr to lower-case to improve consistency

The convention is to use lower-case addresses.


  Commit: b9ac390cc7ec208fc738a91540b070f499b292b8
      https://github.com/llvm/llvm-project/commit/b9ac390cc7ec208fc738a91540b070f499b292b8
  Author: antangelo <contact at antangelo.com>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-no-op-intrinsics.ll

  Log Message:
  -----------
  [GISel] Add generic implementation for @llvm.expect.with.probability when optimizations are disabled (#117835)

Handle @llvm.expect.with.probability in GlobalISel in the same way
@llvm.expect is handled, passing the value through as-is. This can be
encountered if the intrinsic is used without optimizations, which would
otherwise transform it out.

Fixes #115411 for GlobalISel


  Commit: 691e55643daa3470ff19b02a55e3e2503d2de0c9
      https://github.com/llvm/llvm-project/commit/691e55643daa3470ff19b02a55e3e2503d2de0c9
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-29 (Fri, 29 Nov 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp

  Log Message:
  -----------
  [Driver] BuildCompilation: remove unused BaseArg. NFC

setBaseArg, only used by -XArch_* options, are called in BuildJobs.
When processing --config and CL /clang:, BaseArg is always nullptr.

The unneeded parameter was introduced in https://reviews.llvm.org/D24933


  Commit: a348f223cab54b21a7b1c38dec7bc6aa2f81c949
      https://github.com/llvm/llvm-project/commit/a348f223cab54b21a7b1c38dec7bc6aa2f81c949
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrFormats.td
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/test/CodeGen/ARM/add-like-or.ll
    M llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll
    M llvm/test/CodeGen/ARM/atomic-64bit.ll
    M llvm/test/CodeGen/ARM/atomic-ops-v8.ll
    M llvm/test/CodeGen/ARM/atomicrmw-cond-sub-clamp.ll
    M llvm/test/CodeGen/ARM/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/ARM/atomicrmw_exclusive_monitor_ints.ll
    M llvm/test/CodeGen/ARM/bfi.ll
    M llvm/test/CodeGen/ARM/cmov_fp16.ll
    M llvm/test/CodeGen/ARM/cse-call.ll
    M llvm/test/CodeGen/ARM/cttz.ll
    M llvm/test/CodeGen/ARM/fadd-select-fneg-combine.ll
    M llvm/test/CodeGen/ARM/fcmp-xo.ll
    M llvm/test/CodeGen/ARM/fpclamptosat.ll
    M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
    M llvm/test/CodeGen/ARM/fpscr-multi-use.ll
    M llvm/test/CodeGen/ARM/fptoi-sat-store.ll
    M llvm/test/CodeGen/ARM/fptosi-sat-scalar.ll
    M llvm/test/CodeGen/ARM/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/ARM/funnel-shift-rot.ll
    M llvm/test/CodeGen/ARM/funnel-shift.ll
    M llvm/test/CodeGen/ARM/ifcvt1.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/ARM/neon_vabd.ll
    M llvm/test/CodeGen/ARM/overflow-intrinsic-optimizations.ll
    M llvm/test/CodeGen/ARM/sadd_sat.ll
    M llvm/test/CodeGen/ARM/sadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/select.ll
    M llvm/test/CodeGen/ARM/select_const.ll
    M llvm/test/CodeGen/ARM/shift-i64.ll
    M llvm/test/CodeGen/ARM/ssub_sat.ll
    M llvm/test/CodeGen/ARM/ssub_sat_plus.ll
    M llvm/test/CodeGen/ARM/sub-cmp-peephole.ll
    M llvm/test/CodeGen/ARM/uadd_sat.ll
    M llvm/test/CodeGen/ARM/uadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/ARM/umulo-64-legalisation-lowering.ll
    M llvm/test/CodeGen/ARM/usub_sat.ll
    M llvm/test/CodeGen/ARM/usub_sat_plus.ll
    M llvm/test/CodeGen/ARM/vselect_imax.ll
    M llvm/test/CodeGen/ARM/wide-compares.ll
    M llvm/test/CodeGen/Thumb/arm_q15_to_q31.ll
    M llvm/test/CodeGen/Thumb/select.ll
    M llvm/test/CodeGen/Thumb/smul_fix_sat.ll
    M llvm/test/CodeGen/Thumb/stack-guard-xo.ll
    M llvm/test/CodeGen/Thumb/umul_fix_sat.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/arm_cmplx_dot_prod_f32.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/exitcount.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
    M llvm/test/CodeGen/Thumb2/float-ops.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-doublereduct.ll
    M llvm/test/CodeGen/Thumb2/mve-float16regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-fmas.ll
    M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
    M llvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
    M llvm/test/CodeGen/Thumb2/mve-minmaxi.ll
    M llvm/test/CodeGen/Thumb2/mve-pipelineloops.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-or.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-xor.ll
    M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpf.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpfz.ll
    M llvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
    M llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll
    M llvm/test/CodeGen/Thumb2/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/Thumb2/umulo-64-legalisation-lowering.ll

  Log Message:
  -----------
  [ARM] Stop gluing ALU nodes to branches / selects (#116970)

Following #116547 and #116676, this PR changes the type of results and
operands of some nodes to accept / return a normal type instead of Glue.

Unfortunately, changing the result type of one node requires changing
the operand types of all potential consumer nodes, which in turn
requires changing the result types of all other possible producer nodes.
So this is a bulk change.

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


  Commit: a8a494faab8af60754c4647dbb7b24bc86a80aab
      https://github.com/llvm/llvm-project/commit/a8a494faab8af60754c4647dbb7b24bc86a80aab
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ADT/SmallPtrSet.h
    M llvm/lib/Support/SmallPtrSet.cpp

  Log Message:
  -----------
  [SmallPtrSet] Remove SmallArray member (NFC) (#118099)

Currently SmallPtrSet stores CurArray and SmallArray, with the former
pointing to the latter in small representation. Instead, only use
CurArray and a separate IsSmall boolean.

Most of the implementation doesn't need the separate SmallArray member
-- we only need it for copy/move/swap operations, where we may switch
back from large to small representation. In those cases, we explicitly
pass down the pointer to SmallStorage.

This reduces the size of SmallPtrSet and improves compile-time.


  Commit: 04cc492ec3e2792e3fa790750ff678baa90bd436
      https://github.com/llvm/llvm-project/commit/04cc492ec3e2792e3fa790750ff678baa90bd436
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M libcxx/include/__configuration/availability.h

  Log Message:
  -----------
  [libc++][NFC] Remove unused macros from <__configuration/availability.h>


  Commit: 39209724e66a20080bdebc609a051dfa0eb6b49f
      https://github.com/llvm/llvm-project/commit/39209724e66a20080bdebc609a051dfa0eb6b49f
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/unittests/Support/YAMLIOTest.cpp

  Log Message:
  -----------
  [YAML] Fix incorrect dash output in nested sequences (#116488)

Nested sequences could be defined but the YAML output was incorrect.
`Output::newLineCheck()` was not able to emit multiple dashes `- ` and
YAML parser sometimes didn't accept its output as the result.

This fixes for emitting corresponding dashes for consecutive
`inSeqFirstElement`, but suppresses emission to the top
`inSeqFirstElement`.

This also fixes for emitting flow elements onto nested sequences.


  Commit: 1c702d38540dd8bad50f22947b71769b4d0c1202
      https://github.com/llvm/llvm-project/commit/1c702d38540dd8bad50f22947b71769b4d0c1202
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll

  Log Message:
  -----------
  [SCEV] Add tests where one wrap predicate implies another.


  Commit: f89fa238faa6a63168997a8a1d03c15b71da8080
      https://github.com/llvm/llvm-project/commit/f89fa238faa6a63168997a8a1d03c15b71da8080
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp

  Log Message:
  -----------
  [clang-tidy][use-internal-linkage]fix false positives for global overloaded operator new and operator delete (#117945)


  Commit: 4148aa63e2285ec7198c67d9b231b9097076ba8e
      https://github.com/llvm/llvm-project/commit/4148aa63e2285ec7198c67d9b231b9097076ba8e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    A llvm/utils/merge-json.py
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [Reland][Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)

Summary:
When building a project in a runtime mode, the compilation database is a
separate CMake invocation. So its `compile_commands.json` file will be
placed elsewhere in the `runtimes/runtime-bins` directory. This is
somewhat annoying for ongoing development when a runtimes build is
necessary. This patch adds some CMake magic to merge the two files.

Fixed issue w/ standalone runtimes build by checking if the LLVM src and
CMake src are the same.


  Commit: 2e30df740ef0b9f8edb7075768540ce08678023d
      https://github.com/llvm/llvm-project/commit/2e30df740ef0b9f8edb7075768540ce08678023d
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [TableGen] Fix validateOperandClass for non Phyical Reg (#118146)

https://github.com/llvm/llvm-project/commit/b71704436e61
Rewrote the register operands handling,
but the Table only contains physical regs, we will SEGV when there are
non physical regs.

---------

Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>


  Commit: 9a0f25158c2eff539de1efbd55de71e711135db7
      https://github.com/llvm/llvm-project/commit/9a0f25158c2eff539de1efbd55de71e711135db7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/CodeGen/AArch64/selectopt-cast.ll

  Log Message:
  -----------
  [SelectOpt] Support ADD and SUB with zext operands. (#115489)

Extend the support for implicit selects in the form of OR with a ZExt
operand to support ADD and SUB binops as well. They similarly can form
implicit selects which can be profitable to convert back the branches.

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


  Commit: 92ba7e397377b8005206cb01a2052a750780827e
      https://github.com/llvm/llvm-project/commit/92ba7e397377b8005206cb01a2052a750780827e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/test/CodeGen/AMDGPU/bitop3.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Do not try to form v_bitop3_b32 for SGPR results (#117940)


  Commit: 1c7e4074b1efe7c3c9110f1d116b16f50fce9c88
      https://github.com/llvm/llvm-project/commit/1c7e4074b1efe7c3c9110f1d116b16f50fce9c88
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-11-30 (Sat, 30 Nov 2024)

  Changed paths:
    M lldb/unittests/debugserver/RNBSocketTest.cpp

  Log Message:
  -----------
  [lldb] Fix  warning: 'sprintf' is deprecated in RNBSocketTest

Fixes warning: 'sprintf' is deprecated: This function is provided for
compatibility reasons only.  Due to security concerns inherent in the
design of sprintf(3), it is highly recommended that you use snprintf(3)
instead.


  Commit: 6568ceb9fa1c49383b2fa102a04fd8fd3af01491
      https://github.com/llvm/llvm-project/commit/6568ceb9fa1c49383b2fa102a04fd8fd3af01491
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    A llvm/test/Transforms/CodeGenPrepare/X86/pr118172.ll

  Log Message:
  -----------
  [CodeGenPrepare] Drop nsw flags in `optimizeLoadExt` (#118180)

Alive2: https://alive2.llvm.org/ce/z/pMcD7q
Closes https://github.com/llvm/llvm-project/issues/118172.


  Commit: 017c75bfacdfa25594f8212a427627cff7aa98f3
      https://github.com/llvm/llvm-project/commit/017c75bfacdfa25594f8212a427627cff7aa98f3
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir] Fix typo in test vector transform pass descriptions (#118194)

Fix some typos in the description of vector transform passes.


  Commit: 6881c6d2a6ef2b9f1736afb124b2486d6b8bc603
      https://github.com/llvm/llvm-project/commit/6881c6d2a6ef2b9f1736afb124b2486d6b8bc603
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/MC/RISCV/xqcia-invalid.s
    A llvm/test/MC/RISCV/xqcia-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqcia (Arithmetic) extension (#118113)

This extension adds 11 instructions that perform integer arithmetic.

The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest

This patch adds assembler only support.


  Commit: 94df95de6bab20930c1a77bc785221ff2f670dba
      https://github.com/llvm/llvm-project/commit/94df95de6bab20930c1a77bc785221ff2f670dba
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll

  Log Message:
  -----------
  [TTI][X86] getShuffleCosts - for SK_PermuteTwoSrc, if the masks are known to be "inlane" no need to scale the costs by worst-case legalization (#117999)

SK_PermuteTwoSrc legalization has to assume any of the legalised source registers could be referenced in split shuffles, but if we already know that each 128-bit lane only references elements from the same lane of the source operands, then this scaling won't occur.

Hopefully this can help with #113356 without us having to get full processShuffleMasks canonicalization finished first.


  Commit: f7ef0721d60f85e1f699f8d1b83d4402ae19b122
      https://github.com/llvm/llvm-project/commit/f7ef0721d60f85e1f699f8d1b83d4402ae19b122
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/ScalarEvolution/pr117133.ll
    A llvm/test/Transforms/IndVarSimplify/pr117133.ll

  Log Message:
  -----------
  [SCEV] Do not allow refinement in the rewriting of BEValue (#117152)

See the following case:
```
; bin/opt -passes="print<scalar-evolution>" test.ll --disable-output
define i32 @widget() {
b:
  br label %b1

b1:                                              ; preds = %b5, %b
  %phi = phi i32 [ 0, %b ], [ %udiv6, %b5 ]
  %phi2 = phi i32 [ 1, %b ], [ %add, %b5 ]
  %icmp = icmp eq i32 %phi, 0
  br i1 %icmp, label %b3, label %b8

b3:                                              ; preds = %b1
  %udiv = udiv i32 10, %phi2
  %urem = urem i32 %udiv, 10
  %icmp4 = icmp eq i32 %urem, 0
  br i1 %icmp4, label %b7, label %b5

b5:                                              ; preds = %b3
  %udiv6 = udiv i32 %phi2, 0
  %add = add i32 %phi2, 1
  br label %b1

b7:                                              ; preds = %b3
  ret i32 5

b8:                                              ; preds = %b1
  ret i32 7
}
```
```
%phi2 = phi i32 [ 1, %b ], [ %add, %b5 ] -->  {1,+,1}<nuw><nsw><%b1>
%udiv6 = udiv i32 %phi2, 0 --> ({1,+,1}<nuw><nsw><%b1> /u 0)
%phi = phi i32 [ 0, %b ], [ %udiv6, %b5 ] --> ({0,+,1}<nuw><nsw><%b1> /u 0)
```
`ScalarEvolution::createAddRecFromPHI` gives a wrong SCEV result for
`%phi`:

https://github.com/llvm/llvm-project/blob/d7d6fb1804415b0f3e7f1cc9290bfb3d711cb707/llvm/lib/Analysis/ScalarEvolution.cpp#L5926-L5950
It converts `phi(0, ({1,+,1}<nuw><nsw><%b1> /u 0))` into `phi(0 / 0,
({1,+,1}<nuw><nsw><%b1> /u 0))`. Then it simplifies the expr into
`{0,+,1}<nuw><nsw><%b1> /u 0`.

As we did in
https://github.com/llvm/llvm-project/commit/acd700a24b6f767413db3d525e06d03e4245aa40,
this patch disallows udiv simplification if we cannot prove that the
denominator is a well-defined non-zero value.

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


  Commit: 22417ec6cca0ed8ccecb0c2b77011e591378fd2a
      https://github.com/llvm/llvm-project/commit/22417ec6cca0ed8ccecb0c2b77011e591378fd2a
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/codeview-column-info.c

  Log Message:
  -----------
  [Driver] Do not add gno-column-info when using sampling PGO (#117954)

Column info is important for sampling PGO to generate/load profile file.
On windows, it will be automatically added when using -gdwarf to
generate
profile file. It should also be generated when fprofile-sample-use= is
used.


  Commit: 1a3eace82a885fca01a70472b3816007dbee9d9f
      https://github.com/llvm/llvm-project/commit/1a3eace82a885fca01a70472b3816007dbee9d9f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/saturating-add-sub.ll

  Log Message:
  -----------
  [InstCombine] Fold `umax(X, C) + -C` into `usub.sat(X, C)` (#118195)

Alive2: https://alive2.llvm.org/ce/z/oSWe5S
Closes https://github.com/llvm/llvm-project/issues/118155


  Commit: 4a074330c6d587be51494f651f539c8055be201c
      https://github.com/llvm/llvm-project/commit/4a074330c6d587be51494f651f539c8055be201c
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp

  Log Message:
  -----------
  [rtsan] Intercept various file system functions (#118183)

Adds interceptors for
* chmod
* fchmod
* mkdir
* rmdir
* umask


  Commit: 82ed9c0319c9f0373bcb633a03ce6d35ebac3661
      https://github.com/llvm/llvm-project/commit/82ed9c0319c9f0373bcb633a03ce6d35ebac3661
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove APValue Result argument where unnecessary (#118199)

This is unneeded in almost all circumstances. We only return an APValue
back to clang when the evaluation is finished, and that is always done
by an EvalEmitter - which has its own implementation of the Ret
instructions.


  Commit: 31bde711c4098b3136edd1cb92dd4e0cc1d4d179
      https://github.com/llvm/llvm-project/commit/31bde711c4098b3136edd1cb92dd4e0cc1d4d179
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Support __builtin_reduce_add (#117672)


  Commit: 77767986ed423f868805d8ee9652f6dcc85c6adc
      https://github.com/llvm/llvm-project/commit/77767986ed423f868805d8ee9652f6dcc85c6adc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [LV] Use IsaPred in a few more places (NFC).

Simplifies the code slightly by removing explicit lambdas.


  Commit: 9becc4a3c966d46b95ddfcf856b3c433c030db1e
      https://github.com/llvm/llvm-project/commit/9becc4a3c966d46b95ddfcf856b3c433c030db1e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp

  Log Message:
  -----------
  [ELF] ObjFile::parse: check EM_AARCH64 for SHT_AARCH64_MEMTAG_GLOBAL_STATIC

and reorder sh_type checks to make SHT_PROGBITS/SHT_GROUP fast.


  Commit: 2a5e1da57a42fa2fc081bbc11970871a1eecb3b3
      https://github.com/llvm/llvm-project/commit/2a5e1da57a42fa2fc081bbc11970871a1eecb3b3
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrFormats.td
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/test/CodeGen/ARM/add-like-or.ll
    M llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll
    M llvm/test/CodeGen/ARM/atomic-64bit.ll
    M llvm/test/CodeGen/ARM/atomic-ops-v8.ll
    M llvm/test/CodeGen/ARM/atomicrmw-cond-sub-clamp.ll
    M llvm/test/CodeGen/ARM/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/ARM/atomicrmw_exclusive_monitor_ints.ll
    M llvm/test/CodeGen/ARM/bfi.ll
    M llvm/test/CodeGen/ARM/cmov_fp16.ll
    M llvm/test/CodeGen/ARM/cse-call.ll
    M llvm/test/CodeGen/ARM/cttz.ll
    M llvm/test/CodeGen/ARM/fadd-select-fneg-combine.ll
    M llvm/test/CodeGen/ARM/fcmp-xo.ll
    M llvm/test/CodeGen/ARM/fpclamptosat.ll
    M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
    M llvm/test/CodeGen/ARM/fpscr-multi-use.ll
    M llvm/test/CodeGen/ARM/fptoi-sat-store.ll
    M llvm/test/CodeGen/ARM/fptosi-sat-scalar.ll
    M llvm/test/CodeGen/ARM/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/ARM/funnel-shift-rot.ll
    M llvm/test/CodeGen/ARM/funnel-shift.ll
    M llvm/test/CodeGen/ARM/ifcvt1.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/ARM/neon_vabd.ll
    M llvm/test/CodeGen/ARM/overflow-intrinsic-optimizations.ll
    M llvm/test/CodeGen/ARM/sadd_sat.ll
    M llvm/test/CodeGen/ARM/sadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/select.ll
    M llvm/test/CodeGen/ARM/select_const.ll
    M llvm/test/CodeGen/ARM/shift-i64.ll
    M llvm/test/CodeGen/ARM/ssub_sat.ll
    M llvm/test/CodeGen/ARM/ssub_sat_plus.ll
    M llvm/test/CodeGen/ARM/sub-cmp-peephole.ll
    M llvm/test/CodeGen/ARM/uadd_sat.ll
    M llvm/test/CodeGen/ARM/uadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/ARM/umulo-64-legalisation-lowering.ll
    M llvm/test/CodeGen/ARM/usub_sat.ll
    M llvm/test/CodeGen/ARM/usub_sat_plus.ll
    M llvm/test/CodeGen/ARM/vselect_imax.ll
    M llvm/test/CodeGen/ARM/wide-compares.ll
    M llvm/test/CodeGen/Thumb/arm_q15_to_q31.ll
    M llvm/test/CodeGen/Thumb/select.ll
    M llvm/test/CodeGen/Thumb/smul_fix_sat.ll
    M llvm/test/CodeGen/Thumb/stack-guard-xo.ll
    M llvm/test/CodeGen/Thumb/umul_fix_sat.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/arm_cmplx_dot_prod_f32.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/exitcount.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
    M llvm/test/CodeGen/Thumb2/float-ops.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-doublereduct.ll
    M llvm/test/CodeGen/Thumb2/mve-float16regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-fmas.ll
    M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
    M llvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
    M llvm/test/CodeGen/Thumb2/mve-minmaxi.ll
    M llvm/test/CodeGen/Thumb2/mve-pipelineloops.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-or.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-xor.ll
    M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpf.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpfz.ll
    M llvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
    M llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll
    M llvm/test/CodeGen/Thumb2/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/Thumb2/umulo-64-legalisation-lowering.ll

  Log Message:
  -----------
  Revert "[ARM] Stop gluing ALU nodes to branches / selects" (#118232)

Reverts llvm/llvm-project#116970.

This change broke Wine compiled for armv7, causing segfaults when
starting Wine. See llvm/llvm-project#116970 for more detailed discussion
about the issue.


  Commit: 603d41ab7b4078a00a5d3b899d3b9d14eea2d8ff
      https://github.com/llvm/llvm-project/commit/603d41ab7b4078a00a5d3b899d3b9d14eea2d8ff
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M lld/ELF/InputSection.cpp

  Log Message:
  -----------
  [ELF] decompress: remove mutex

decompress() is in the parallel code path splitIntoPieces
and we should avoid mutex.


  Commit: a09df64f406be162b0bd096dbe2466603b7a4f29
      https://github.com/llvm/llvm-project/commit/a09df64f406be162b0bd096dbe2466603b7a4f29
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp

  Log Message:
  -----------
  [ELF] postParse: remove some branches in the fast path


  Commit: 73f087b3318a8f887cd867f27608f693fee6dc7b
      https://github.com/llvm/llvm-project/commit/73f087b3318a8f887cd867f27608f693fee6dc7b
  Author: antangelo <contact at antangelo.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    R llvm/test/CodeGen/Generic/builtin-expect-with-probability.ll
    M llvm/test/CodeGen/X86/fast-isel-expect.ll

  Log Message:
  -----------
  [NFC][SelectionDAG] Replace generic @llvm.expect.with.probability codegen test with X86 test (#117848)

Adds test case for X86 to check that the output of
@llvm.expect.with.probability's generic lowering is reasonable. This
replaces a generic test which only asserts that llc does not crash.


  Commit: 574f64ca61d252dbcf98621e056ab02b93d928bc
      https://github.com/llvm/llvm-project/commit/574f64ca61d252dbcf98621e056ab02b93d928bc
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Support/TimeProfiler.h

  Log Message:
  -----------
  [TimeProfiler] Remove unneeded check


  Commit: 92a4b443260ccf9237b873850a9b511fdcffd79a
      https://github.com/llvm/llvm-project/commit/92a4b443260ccf9237b873850a9b511fdcffd79a
  Author: Abdul Raheem <abdulraheembeigh at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td

  Log Message:
  -----------
  [MLIR][NFC] Fixed a typo of member variable static_basis (#117678)

-- Fixed a typo of member variable static_basis of
AffineDelinearizeIndexOp operation in AffineOps.td

Signed-off: Abdul Raheem Beigh <abdulraheembeigh at gmail.com>


  Commit: a4c3683b665c6ac875b4821f5c6a881fdf5fef70
      https://github.com/llvm/llvm-project/commit/a4c3683b665c6ac875b4821f5c6a881fdf5fef70
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/DestinationStyleOpInterface.td

  Log Message:
  -----------
  [mlir][NFC] Fix typo. (#118163)

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


  Commit: 427fb5cc5ac34414c4682c90d3db0c63c5a1b227
      https://github.com/llvm/llvm-project/commit/427fb5cc5ac34414c4682c90d3db0c63c5a1b227
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp

  Log Message:
  -----------
  [ORC] Track all dependencies on symbols that aren't Ready yet.

AsynchronousSymbolQuery tracks the symbols that it depends on in order to (1)
detach the query in the event of a failure, and (2) report those dependencies
to clients of the ExecutionSession::lookup method (via the RegisterDependencies
argument). Previously we tracked only dependencies on symbols that didn't meet
the required state (the only symbols that the query needs to be attached to),
but this is insufficient to report all necessary dependencies to lookup clients.
E.g. A lookup requiring SymbolState::Resolved where some matched symbol is
already Resolved but not yet Emitted or Ready would result in the dependency on
that symbol not being reported, which could result in illegal access in
concurrent JIT setups. (This bug was discovered by @mikaoP on discord with a
simple concurrent JIT setup).

This patch tracks and reports all dependencies on symbols that aren't Ready yet,
correcting the under-reporting issue. AsynchronousSymbolQuery::detach is updated
to stop asserting that all depended-upon symbols have a query attached.


  Commit: ed7a8f15564f11ce8ceabaa925a26842302b8450
      https://github.com/llvm/llvm-project/commit/ed7a8f15564f11ce8ceabaa925a26842302b8450
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M offload/test/mapping/map_both_pointer_pointee.c
    M offload/test/mapping/power_of_two_alignment.c

  Log Message:
  -----------
  [NFC][Offload] Correct the compile command of two C test files (#118243)

The compile command for the two C test files are `compilexx`, which is
actually
for C++ compilation.


  Commit: 8cb44859cc31929521c09fc6a8add66d53db44de
      https://github.com/llvm/llvm-project/commit/8cb44859cc31929521c09fc6a8add66d53db44de
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    R offload/test/mapping/power_of_two_alignment.c
    A offload/test/mapping/power_of_two_alignment.cpp

  Log Message:
  -----------
  FIX: Fix test failure in offload/test/mapping/power_of_two_alignment.c

A C file with `template` in it. Awesome.


  Commit: c4a1e0efe6b0767dfb5861a7e8814d7db0c0de8a
      https://github.com/llvm/llvm-project/commit/c4a1e0efe6b0767dfb5861a7e8814d7db0c0de8a
  Author: Richard Trieu <57020969+Weverything at users.noreply.github.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/test/Misc/diag-template-diffing-cxx98.cpp

  Log Message:
  -----------
  [clang] Remove redundant integer values in template type diffing

Look through SubstNonTypeTemplateParmExpr to find an IntegerLiteral
node when attempting to determine if extra info is printed via
the aka mechanism.  This will avoid printing types such as
"array<5 aka 5>" and will only show "array<5>".


  Commit: a9ad9e27caba2153b82fb3029694bfadaa5803cb
      https://github.com/llvm/llvm-project/commit/a9ad9e27caba2153b82fb3029694bfadaa5803cb
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
    M llvm/test/tools/llvm-readobj/ELF/reloc-types-aarch64.test

  Log Message:
  -----------
  [PAC][llvm-readobj][AArch64] Move PAuth GOT relocs out of private space (#118214)

Apply change from the spec
https://github.com/ARM-software/abi-aa/pull/300


  Commit: 010317e1731d76b91c00ed1241583e518380d65f
      https://github.com/llvm/llvm-project/commit/010317e1731d76b91c00ed1241583e518380d65f
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp

  Log Message:
  -----------
  [clang-tidy][use-internal-linkage]fix false positives for ExportDecl (#117901)

Fixed: #97190


  Commit: 91f69b70e075a475b550e3ef832816c47311e2bd
      https://github.com/llvm/llvm-project/commit/91f69b70e075a475b550e3ef832816c47311e2bd
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC] Remove redundant check from ObjectLinkingLayer.

Non-locally scoped symbols must have names.


  Commit: 0a44b24d6697ee8542583960c4a4166fc805883c
      https://github.com/llvm/llvm-project/commit/0a44b24d6697ee8542583960c4a4166fc805883c
  Author: Adam Yang <hanbyang at microsoft.com>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/group_memory_barrier_with_group_sync.ll
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic (#114349)

fixes #112974
partially fixes #70103

An earlier version of this change was reverted so some issues could be fixed.

### Changes
- Added new tablegen based way of lowering dx intrinsics to DXIL ops.
- Added int_dx_group_memory_barrier_with_group_sync intrinsic in
IntrinsicsDirectX.td
- Added expansion for int_dx_group_memory_barrier_with_group_sync in
DXILIntrinsicExpansion.cpp`
- Added DXIL backend test case

### Related PRs
* [[clang][HLSL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111883](https://github.com/llvm/llvm-project/pull/111883)
* [[SPIRV] Add GroupMemoryBarrierWithGroupSync intrinsic
#111888](https://github.com/llvm/llvm-project/pull/111888)


  Commit: d9d656edd4d6d7ca1be5c2f2e0cca4d1ef773dd5
      https://github.com/llvm/llvm-project/commit/d9d656edd4d6d7ca1be5c2f2e0cca4d1ef773dd5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-01 (Sun, 01 Dec 2024)

  Changed paths:
    M lld/ELF/Symbols.cpp

  Log Message:
  -----------
  [ELF] resolve LazySymbol: remove a branch in the fast path


  Commit: dd0d9561b8945d4128814bd7eda1bc470a1552f7
      https://github.com/llvm/llvm-project/commit/dd0d9561b8945d4128814bd7eda1bc470a1552f7
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    A clang/test/AST/ByteCode/altivec.c
    M clang/test/AST/ByteCode/vectors.cpp

  Log Message:
  -----------
  [clang][bytecode] Support vector-to-vector bitcasts (#118230)


  Commit: 08c1a6b3e181c3af019b18489139bfe4b03d9d08
      https://github.com/llvm/llvm-project/commit/08c1a6b3e181c3af019b18489139bfe4b03d9d08
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp

  Log Message:
  -----------
  Revert "[ORC] Track all dependencies on symbols that aren't Ready yet."

This reverts commit 427fb5cc5ac34414c4682c90d3db0c63c5a1b227 while I investigate
the bot failure in https://lab.llvm.org/buildbot/#/builders/95/builds/6835.


  Commit: eaa6cc547e7300b122efbbaf8940ee9d15f7964c
      https://github.com/llvm/llvm-project/commit/eaa6cc547e7300b122efbbaf8940ee9d15f7964c
  Author: Shankhin <44582011+firestrike007 at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libc/src/__support/threads/linux/rwlock.h

  Log Message:
  -----------
  Fixes #118231: Corrected spelling mistake in has_acitive_owner function (#118266)

Fixes #118231 
- Updated the method name to `has_active_owner` in
`llvm-project/libc/src/__support/threads/linux/rwlock.h`
- Verified usage and updated all references to the method.
- Ran tests:
    - `check-llvm-unit`
    - `check-all`


  Commit: 979a0356d4c90ec855be4f2d2f6687132cf10298
      https://github.com/llvm/llvm-project/commit/979a0356d4c90ec855be4f2d2f6687132cf10298
  Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/test/CodeGen/attr-counted-by.c
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    A llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
    M llvm/test/Transforms/InstCombine/minmax-fold.ll
    M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll

  Log Message:
  -----------
  [InstCombine] Fold `X Pred C2 ? X BOp C1 : C2 BOp C1` to `min/max(X, C2) BOp C1` (#116888)

Fixes #82414.

General Proof: https://alive2.llvm.org/ce/z/ERjNs4 
Proof for Tests: https://alive2.llvm.org/ce/z/K-934G

This PR transforms `select` instructions of the form `select (Cmp X C1)
(BOp X C2) C3` to `BOp (min/max X C1) C2` iff `C3 == BOp C1 C2`.

This helps in eliminating a noop loop in
https://github.com/rust-lang/rust/issues/123845 but does not improve
optimizations.


  Commit: 7bbc049688a1586827d87ad8e2fc7cb3638ef2fc
      https://github.com/llvm/llvm-project/commit/7bbc049688a1586827d87ad8e2fc7cb3638ef2fc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-value-equivalence.ll

  Log Message:
  -----------
  [InstCombine] Consolidate another fold into select value equivalence (#117746)

We had a separate fold that handled just the trivial case where we're
replacing exactly the argument of the select. Handle this in select
value equivalence by relaxing the infinite loop protection to allow a
replacement of a non-constant with a constant.

This also fixes https://github.com/llvm/llvm-project/issues/113301, as
the separate fold did not handle undef values correctly.


  Commit: 770adc56097342d3478c1b3b6d3e67cdf6d2c93e
      https://github.com/llvm/llvm-project/commit/770adc56097342d3478c1b3b6d3e67cdf6d2c93e
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaAttr.cpp
    M clang/test/AST/attr-lifetime-capture-by.cpp

  Log Message:
  -----------
  [clang] Infer lifetime_capture_by for map's subscript operator. (#118078)


  Commit: a545cf5c6da6decbde95287f95e1ffce40116d23
      https://github.com/llvm/llvm-project/commit/a545cf5c6da6decbde95287f95e1ffce40116d23
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    A flang/test/HLFIR/eval_in_mem-codegen.fir
    A flang/test/HLFIR/eval_in_mem.fir
    M flang/test/HLFIR/invalid.fir

  Log Message:
  -----------
  [flang][hlfir] add hlfir.eval_in_mem operation (#118067)

See HLFIROps.td change for the description of the operation.

The goal is to ease temporary storage elision for expression evaluation
(typically evaluating the RHS directly inside the LHS) for expressions
that do not have abtsractions in HLFIR and for which it is not clear
adding one would bring much. The case that is implemented in [the
following lowering
patch](https://github.com/llvm/llvm-project/pull/118070) is the array
call case, where adding a new hlfir.call would add complexity (needs to
deal with dispatch, inlining ....).


  Commit: 8201926ec0a61ea182e3b25c23e3dbaae6036dbf
      https://github.com/llvm/llvm-project/commit/8201926ec0a61ea182e3b25c23e3dbaae6036dbf
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/icmp-monotonic.ll

  Log Message:
  -----------
  [InstSimplify] Generalize simplification of icmps with monotonic operands (#69471)

InstSimplify currently folds patterns like `(x | y) uge x` and `(x & y)
ule x` to true. However, it cannot handle combinations of such
situations, such as `(x | y) uge (x & z)` etc.

To support this, recursively collect operands of monotonic instructions
(that preserve either a greater-or-equal or less-or-equal relationship)
and then check whether any of them match.

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


  Commit: 54fcf3ec26ad192e91b6ac924f6d3eb562e3647d
      https://github.com/llvm/llvm-project/commit/54fcf3ec26ad192e91b6ac924f6d3eb562e3647d
  Author: antangelo <contact at antangelo.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseDecl.cpp
    M clang/test/CXX/drs/cwg722.cpp
    A clang/test/Parser/cxx2c-oxford-variadic-comma.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang] Implement P3176R1: The Oxford variadic comma (#117524)

Emit a deprecation warning when a variadic parameter in a
parameter-declaration-clause is not preceded by a comma for C++26.


  Commit: 4851dbb8d6f1c00ad382ff4780293ca9a743c609
      https://github.com/llvm/llvm-project/commit/4851dbb8d6f1c00ad382ff4780293ca9a743c609
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    A llvm/test/CodeGen/Hexagon/addrmode-neg-offset.ll

  Log Message:
  -----------
  [Hexagon] Use getSignedConstant for RoundTo8 XForm

To handle negative offset addrmodes correctly.

Fixes https://github.com/llvm/llvm-project/pull/117558#issuecomment-2510208764.


  Commit: 98e747ba56b2f8b51a7c797a3f379d02c545c42b
      https://github.com/llvm/llvm-project/commit/98e747ba56b2f8b51a7c797a3f379d02c545c42b
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/AArch64/sve-vls-arith-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-bitwise-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-compare-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-shift-ops.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
    M clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c

  Log Message:
  -----------
  [clang] Use poison instead of undef as the placeholder when creating a new vector [NFC] (#117064)

Call `@llvm.vector.insert` with a `poison` vector when coercing a fixed
vector to a scalable vector with the same element type.


  Commit: 7be501c1d3b3153e08603670873e1b3b700c9598
      https://github.com/llvm/llvm-project/commit/7be501c1d3b3153e08603670873e1b3b700c9598
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ASTImporter.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang][ASTImporter] Allow import of similar friend template with different depth (#115734)

This fix applies to a case that occurs when the AST contains a friend
template that is contained within another template and this (outer)
template has specialization. (See the added test code in the commit.)


  Commit: 9cbbf15db925c8d588b998487115a46250954dc1
      https://github.com/llvm/llvm-project/commit/9cbbf15db925c8d588b998487115a46250954dc1
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp

  Log Message:
  -----------
  [AMDGPU] Only insert intrinsic declarations when needed (#117998)


  Commit: 085e7d2b22876ebc03948a0690580e0189cddcc1
      https://github.com/llvm/llvm-project/commit/085e7d2b22876ebc03948a0690580e0189cddcc1
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    R bolt/CODE_OWNERS.TXT
    A bolt/Maintainers.txt
    M llvm/Maintainers.md

  Log Message:
  -----------
  [bolt] Move CODE_OWNERS.txt to Maintainers.txt (#118082)

To align with: https://llvm.org/docs/DeveloperPolicy.html#maintainers

I have not changed the format of the file, my only goal here is that the
project have a `bolt/Maintainers.*` so it is easy to find.


  Commit: fec0eb4c3ef2a1fa2e0e413b0ea4871ee0bcebd1
      https://github.com/llvm/llvm-project/commit/fec0eb4c3ef2a1fa2e0e413b0ea4871ee0bcebd1
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    R compiler-rt/CODE_OWNERS.TXT
    A compiler-rt/Maintainers.txt
    M llvm/Maintainers.md

  Log Message:
  -----------
  [compiler-rt] Move CODE_OWNERS.txt to Maintainers.txt (#118086)

To align with https://llvm.org/docs/DeveloperPolicy.html#maintainers

No format change, I just want each project to have a `Maintainers.*`
file so it is easy to find.


  Commit: df10f1c6f79a77e45e44c62974a186decb0f1f33
      https://github.com/llvm/llvm-project/commit/df10f1c6f79a77e45e44c62974a186decb0f1f33
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp

  Log Message:
  -----------
  [RISCV] Use getRISCVInstructionCost for split cost in mask reductions. NFC

This is effectively the same due to how the mask instructions have an
LMUL of 1 and cost of 1, but matches how we use LT.first elsewhere in
RISCVTargetTransformInfo.cpp by using it to multiply another
instruction cost.


  Commit: 51003076ebc1ccc0cf339f9d96b2cfec84ab867c
      https://github.com/llvm/llvm-project/commit/51003076ebc1ccc0cf339f9d96b2cfec84ab867c
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/unittests/Core/CMakeLists.txt
    A bolt/unittests/Core/MemoryMaps.cpp
    M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn

  Log Message:
  -----------
  Reapply [BOLT] DataAggregator support for binaries with multiple text segments (#118023)

When a binary has multiple text segments, the Size is computed as the
difference of the last address of these segments from the BaseAddress.
The base addresses of all text segments must be the same.

Introduces flag 'perf-script-events' for testing, which allows passing
perf events without BOLT having to parse them by invoking 'perf script'.
The flag is used to pass a mock perf profile that has two memory
mappings for a mock binary that has two text segments. The mapping
size is updated as `parseMMapEvents` now processes all text segments.


  Commit: 7a7a426188eea0b181738436205759e13ad6fd7b
      https://github.com/llvm/llvm-project/commit/7a7a426188eea0b181738436205759e13ad6fd7b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll

  Log Message:
  -----------
  [LVI] Fix insertelement of constexpr

Bail out when evaluating an insertelement of a constant expression.
Unlike other ValueLattice kinds, these don't have implicit splat
semantics and we end up with type mismatches. If we actually wanted
to handle these, we should actually evaluate the insertion via
constant folding. I'm not bothering with that, as these should
get constant folded on construction already.


  Commit: 5248e1d4e1ee950d1703ec57141257b02446dd67
      https://github.com/llvm/llvm-project/commit/5248e1d4e1ee950d1703ec57141257b02446dd67
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/stack-hazard-windows.ll
    M llvm/test/CodeGen/AArch64/stack-hazard.ll

  Log Message:
  -----------
  [AArch64] Fix frame-pointer offset with hazard padding (#118091)

The `-aarch64-stack-hazard-size=<val>` option disables register paring
(as the hazard padding may mean the offset is too large for STP/LDP).

This broke setting the frame-pointer offset, as the code to find the
frame record looked for a (FP, LR) register pair.

This patch resolves this by looking for FP, LR as two unpaired registers
when hazard padding is enabled.


  Commit: ede570980a2534c4a21850777b92505c02924416
      https://github.com/llvm/llvm-project/commit/ede570980a2534c4a21850777b92505c02924416
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll

  Log Message:
  -----------
  [RISCV][TTI] Add llvm.vp.select into canSplatOperand. (#117982)

The second operand of llvm.vp.select is a splat operand , it can help
llvm.vp.select fold vv instructions to vx instructions.


  Commit: fe1c4f0106fe4fd6d61c38ba46e71fda8f4d1573
      https://github.com/llvm/llvm-project/commit/fe1c4f0106fe4fd6d61c38ba46e71fda8f4d1573
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td

  Log Message:
  -----------
  [mlir][vector][nfc] Remove redundant "`"


  Commit: 34d4cd8208b9378d5ec00f256d8ea898162430be
      https://github.com/llvm/llvm-project/commit/34d4cd8208b9378d5ec00f256d8ea898162430be
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ItaniumMangle.cpp
    A clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp

  Log Message:
  -----------
  [Clang][AArch64] Include SME attributes in the name mangling of function types (#114209)

Similar to arm_sve_vector_bits, the mangling of function types is
implemented as a pseudo template if there are any SME attributes
present, i.e.

  `__SME_ATTRS<normal_function_type, sme_state>`

For example, the following function:

  `void f(svint8_t (*fn)() __arm_streaming) { fn(); }`

would be mangled as:

  `_Z1fP11__SME_ATTRSIFu10__SVInt8_tELj1EE`

See https://github.com/ARM-software/acle/pull/358


  Commit: 541d5d911119d0268bc55fa1367ada5ef25f99c1
      https://github.com/llvm/llvm-project/commit/541d5d911119d0268bc55fa1367ada5ef25f99c1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Reject invalid FromTypes in emitBuiltinBitcast (#118274)

instead of silently accepting them and failing later.


  Commit: 6f285d31159501050de5563b1a844a3e1ac79a03
      https://github.com/llvm/llvm-project/commit/6f285d31159501050de5563b1a844a3e1ac79a03
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (2/11) (#116828)

SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.

This patch adds support for emitting the zeroing forms of certain
`FCVT`, and `BFCVT` instructions.


  Commit: 3348b4688f570d5be3180f80c888325958c37db7
      https://github.com/llvm/llvm-project/commit/3348b4688f570d5be3180f80c888325958c37db7
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [X86][compiler-rt] Split CPU names even they have the same subtype (#118237)

Fixes: #118205


  Commit: f8ce2e4bb38609033098714a467e25abe5b1f9d4
      https://github.com/llvm/llvm-project/commit/f8ce2e4bb38609033098714a467e25abe5b1f9d4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [Matrix] Only retrieve analyses if there are any matrix intrinsics (NFC)

Only request analyses if there are any matrix intrinics to avoid
computing them if there are no matrix intrinsics.


  Commit: 50c66e52f8946bc66147f615b1beaffff620e69e
      https://github.com/llvm/llvm-project/commit/50c66e52f8946bc66147f615b1beaffff620e69e
  Author: David Green <david.green at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/concat-vector.ll

  Log Message:
  -----------
  [AArch64] Add tests for concat(extract-high, extract-high). NFC


  Commit: f5bc6b47e856ec4b44026bb82bfbe244afcc1d98
      https://github.com/llvm/llvm-project/commit/f5bc6b47e856ec4b44026bb82bfbe244afcc1d98
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll

  Log Message:
  -----------
  [PhaseOrdering] Remove -enable-matrix flag from sub-xor.ll test.

The test does not use matrix intrinsics, so does not need enable-matrix.


  Commit: e6eac65ad6aa2c61475d65f13d6d938d0e3a7728
      https://github.com/llvm/llvm-project/commit/e6eac65ad6aa2c61475d65f13d6d938d0e3a7728
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/ARM/2012-03-13-DAGCombineBug.ll

  Log Message:
  -----------
  [ARM] 2012-03-13-DAGCombineBug.ll - regenerate checks


  Commit: 9a34a4f8d668b72868fde3b6a58bb3a57d72c0c9
      https://github.com/llvm/llvm-project/commit/9a34a4f8d668b72868fde3b6a58bb3a57d72c0c9
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py

  Log Message:
  -----------
  [lldb] fix fd leak during lldb testsuite (#118093)

During lldb testing dotest.py opens files to dump testcase results, but
doesn't close them.

This patch makes necessary changes to fix the file descriptors leak.


  Commit: 4930f69b78e215c60eb53e25596599c2f98b6564
      https://github.com/llvm/llvm-project/commit/4930f69b78e215c60eb53e25596599c2f98b6564
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/pr50609.ll

  Log Message:
  -----------
  [X86] canonicalizeShuffleWithOp - add initial shuffle(sint_to_fp(x)) -> sint_to_fp(shuffle(x)) handling

Another tentative step towards folding shuffles through conversion ops - initially limited to cases where the src/dst types are matching width.


  Commit: 0611fdd32046c41647a7719252166033f7bce2f2
      https://github.com/llvm/llvm-project/commit/0611fdd32046c41647a7719252166033f7bce2f2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Add simple __builtin_memcpy implementation (#118278)

Not handling all the special- and error cases yet. Just making sure the
bitcast code can be used for this as well.


  Commit: 16ec534989a7ec0f67b694c3b9b21914794d8aef
      https://github.com/llvm/llvm-project/commit/16ec534989a7ec0f67b694c3b9b21914794d8aef
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll

  Log Message:
  -----------
  [ValueTracking] Handle and/or of conditions in `computeKnownFPClassFromContext` (#118257)

Fix a typo introduced by
https://github.com/llvm/llvm-project/pull/83161.
This patch also supports decomposition of and/or expressions in
`computeKnownFPClassFromContext`.
Compile-time improvement:
http://llvm-compile-time-tracker.com/compare.php?from=688bb432c4b618de69a1d0e7807077a22f15762a&to=07493fc354b686f0aca79d6f817091a757bd7cd5&stat=instructions:u


  Commit: c1dcf75a7cf8840ddf20b622148c4ab0c3b16943
      https://github.com/llvm/llvm-project/commit/c1dcf75a7cf8840ddf20b622148c4ab0c3b16943
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_reduce_mul (#118287)


  Commit: e48c7fe49f8575b7737d07ac5a71d1fc924d37f7
      https://github.com/llvm/llvm-project/commit/e48c7fe49f8575b7737d07ac5a71d1fc924d37f7
  Author: Devajith <devajith.valaparambil.sreeramaswamy at cern.ch>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/include/llvm/LineEditor/LineEditor.h
    M llvm/lib/LineEditor/LineEditor.cpp

  Log Message:
  -----------
  Reland '[lineeditor] Add `setHistorySize()` method for adjusting history size' (#115442)

Reland: https://github.com/llvm/llvm-project/pull/110092

Buildbot was failing due to an unused variable warning as there were 2
implementations (with and without libedit). Compared to last version,
wrap the variable inside the `#ifdef HAVE_LIBEDIT`.

Apologies for the oversight @vgvassilev


  Commit: ccc471fe3eb825db76ec4248c4d0dfe447aa04b1
      https://github.com/llvm/llvm-project/commit/ccc471fe3eb825db76ec4248c4d0dfe447aa04b1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_reduce_and (#118289)


  Commit: da23a8372cd37e1a6280e9e0519bc0be60e2c209
      https://github.com/llvm/llvm-project/commit/da23a8372cd37e1a6280e9e0519bc0be60e2c209
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Support/FormattedStream.cpp

  Log Message:
  -----------
  [FormattedStream] Add ASCII fast path (#117892)

Printing IR spends a large amount of time updating the column count via
generic UTF-8 APIs. Speed it up by adding a fast path for the common
printable ASCII case.

This makes `-print-on-crash -print-module-scope` about two times faster.


  Commit: cbb49d4be676a251ca140db92aa2788dd5514569
      https://github.com/llvm/llvm-project/commit/cbb49d4be676a251ca140db92aa2788dd5514569
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/Target.h
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/test/Fir/target-rewrite-boxchar.fir
    M flang/test/Fir/target.fir

  Log Message:
  -----------
  [flang][fir] fix ABI bug 116844 (#118121)

Fix issue #116844.

The issue came from a look-up on the func.func for the sret attribute
when lowering fir.call with character arguments. This was broken because
the func.func may or may not have been rewritten when dealing with the
fir.call, but the lookup assumed it had not been rewritten yet. If the
func.func was rewritten and the result moved to a sret argument, the
call was lowered as if the character was meant to be the result, leading
to bad call code and an assert.

It turns out that the whole logic is actually useless since fir.boxchar
are never lowered as sret arguments, instead, lowering directly breaks
the character result into the first two `fir.ref<>, i64` arguments. So,
the sret case was actually never used, except in this bug.

Hence, instead of fixing the logic (probably by looking for argument
attributes on the call itself), just remove this logic that brings
unnecessary complexity.


  Commit: c2950982fe481091df91a06e59ab8a86af71509e
      https://github.com/llvm/llvm-project/commit/c2950982fe481091df91a06e59ab8a86af71509e
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv

  Log Message:
  -----------
  [libc++] Add Wroclaw straw polls (#118116)


  Commit: 2474cf7ad123ea14308293a2237e3552cddb1136
      https://github.com/llvm/llvm-project/commit/2474cf7ad123ea14308293a2237e3552cddb1136
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (3/11) (#116829)

SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.

This patch adds support for emitting the zeroing forms of certain
`FCVTLT`, and `FCVTX` instructions.


  Commit: 94488445cdd1657d1363a4994393b193c291b2cc
      https://github.com/llvm/llvm-project/commit/94488445cdd1657d1363a4994393b193c291b2cc
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp

  Log Message:
  -----------
  [flang][MLIR] Support delayed privatization for `wsloop` (PFT -> MLIR) (#118271)

Adds PFT to MLIR lowering for delayed privatization of `omp.wsloop` ops.
Lowering to LLVM IR will be added in a later PR.


  Commit: cdbd22876b71acad9e5eeceadc0d8859e6e73b18
      https://github.com/llvm/llvm-project/commit/cdbd22876b71acad9e5eeceadc0d8859e6e73b18
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Parser/OpenMP/allocators-unparse.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp

  Log Message:
  -----------
  [flang][OpenMP] Use new modifiers in ALLOCATE clause (#117627)

Again, this simplifies the semantic checks and lowering quite a bit.
Update the check for positive alignment to use a more informative
message, and to highlight the modifier itsef, not the whole clause.
Remove the checks for the allocator expression itself being positive:
there is nothing in the spec that says that it should be positive.

Remove the "simple" modifier from the AllocateT template, since both
simple and complex modifiers are the same thing, only differing in
syntax.


  Commit: 61a58fc676297756519412ddc1dfab6a75207b70
      https://github.com/llvm/llvm-project/commit/61a58fc676297756519412ddc1dfab6a75207b70
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp

  Log Message:
  -----------
  [flang] remove unused var after #118121 (#118295)

Fix https://lab.llvm.org/buildbot/#/builders/89/builds/11704


  Commit: 39337ff2dc366fde83b07193b72c294a846c5959
      https://github.com/llvm/llvm-project/commit/39337ff2dc366fde83b07193b72c294a846c5959
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll

  Log Message:
  -----------
  AMDGPU: Handle cvt_scale F32/F16->F4/F8 gfx950 hazard (#117844)

gfx950 SP changes doc says:
No 4 clk forwarding on opcodes that convert from
F32/F16->F8 or F32/F16->F4. Must insert a NOP or
instruction writing some other destination VREG
after a conversion to F4/F8 since it writes either
low/high half or bytes.

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Co-authored-by: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>


  Commit: 1288f6d405768f57bf2d2fd5914c5a20f902f5d6
      https://github.com/llvm/llvm-project/commit/1288f6d405768f57bf2d2fd5914c5a20f902f5d6
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_reduce_or (#118292)


  Commit: eae30a240e34e1fd31b57096a1b8bdbd8b84352d
      https://github.com/llvm/llvm-project/commit/eae30a240e34e1fd31b57096a1b8bdbd8b84352d
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    A compiler-rt/test/rtsan/syscall.cpp

  Log Message:
  -----------
  [rtsan] Add syscall interceptor (#118250)

This is a complex one - `syscall` is used when people want to bypass
libc and make the call directly

However, this call:
* Has a variable amount of arguments (up to 6, typically)
* Has arguments that can be any type, (think of whatever arguments go in
to the libc call, or see more details here
https://syscalls.mebeim.net/?table=x86/64/x64/latest)


I've tried to put in a couple tests to ensure we aren't mucking with the
underlying functionality and they seem to be working.


  Commit: b587b910d5b6fd27f4730ad933a8465528d6f5be
      https://github.com/llvm/llvm-project/commit/b587b910d5b6fd27f4730ad933a8465528d6f5be
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_reduce_xor (#118299)


  Commit: 03b5f8f0f0d10c412842ed04b90e2217cf071218
      https://github.com/llvm/llvm-project/commit/03b5f8f0f0d10c412842ed04b90e2217cf071218
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Lower/OpenMP/Todo/atomic-compare.f90
    A flang/test/Parser/OpenMP/atomic-compare.f90
    M flang/test/Parser/OpenMP/atomic-unparse.f90
    A flang/test/Semantics/OpenMP/atomic-compare.f90
    M flang/test/Semantics/OpenMP/atomic.f90

  Log Message:
  -----------
  [flang][OpenMP]Add parsing and semantics support for ATOMIC COMPARE (#117032)

This adds a minimalistic implementation of parsing and semantics for the
ATOMIC COMPARE feature from OpenMP 5.1.

There is no lowering, just a TODO for that part. Some of the Semantics
is also just a comment explaining that more is needed.


  Commit: 40fb74a8ff23c0ff042b5e80b330882b7a625e43
      https://github.com/llvm/llvm-project/commit/40fb74a8ff23c0ff042b5e80b330882b7a625e43
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/mul.i16.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] V_MUL_LO_U16 true16 test (#118118)

This is a NFC. Update and eable V_MUL_LO_U16 codegen test for
true16/fake16 flow


  Commit: aa7fe1c10e5d6d0d3aacdb345fed995de413e142
      https://github.com/llvm/llvm-project/commit/aa7fe1c10e5d6d0d3aacdb345fed995de413e142
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/test/SemaTemplate/address_space-dependent.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
    A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-vk.ll
    M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll

  Log Message:
  -----------
  [SPIR-V] Fixup storage class for global private (#116636)

Adds a new address spaces: `hlsl_private`. Variables with such address
space will be emitted with a `Private` storage class.
This is useful for variables global to a SPIR-V module, since up to now,
they were still emitted with a `Function` storage class, which is wrong.

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 4ad4d34a226043a5d594b261a9c2a50efd292a76
      https://github.com/llvm/llvm-project/commit/4ad4d34a226043a5d594b261a9c2a50efd292a76
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CXX/temp/temp.deduct.guide/p3.cpp

  Log Message:
  -----------
  Revert [Clang] prevent errors for deduction guides using deduced type aliases (#118165)

Reverts https://github.com/llvm/llvm-project/pull/117450

---

Revert https://github.com/llvm/llvm-project/pull/117450 because the
prior behavior aligns with the standard - _`template-name`_ in the
_`simple-template-id`_ in the return type shall be the actual name of a
class template rather than some equivalent alias template. Details
https://github.com/llvm/llvm-project/issues/54909#issuecomment-2508418355.


  Commit: 608f4ae113f94b0c4a9b3c944a2aa9f115a805b4
      https://github.com/llvm/llvm-project/commit/608f4ae113f94b0c4a9b3c944a2aa9f115a805b4
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Parser/OpenMP/bind-clause.f90
    M flang/test/Parser/OpenMP/declare_target-device_type.f90
    M flang/test/Parser/OpenMP/proc-bind.f90
    M flang/test/Parser/OpenMP/target-loop-unparse.f90

  Log Message:
  -----------
  [flang][OpenMP] Rename some `Type` members in OpenMP clauses (#117784)

The intent is to keep names in sync with the terminology from the OpenMP
spec:
```
  OmpBindClause::Type       -> Binding
  OmpDefaultClause::Type    -> DataSharingAttribute
  OmpDeviceTypeClause::Type -> DeviceTypeDescription
  OmpProcBindClause::Type   -> AffinityPolicy
```
Add more comments with references to the OpenMP specs.


  Commit: b27d97bef782a8405e80e7b9f60b44d0537f43b6
      https://github.com/llvm/llvm-project/commit/b27d97bef782a8405e80e7b9f60b44d0537f43b6
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/invalid.mlir

  Log Message:
  -----------
  [mlir][tensor] Add test for invalid tensor.unpack + update error msg (#118275)

Adds a new test for invalid `tensor.unpack` operations where the output
rank does not match the expected rank (input rank + num inner tile
sizes). For example:

```mlir
tensor.unpack %output
  inner_dims_pos = [0, 1]
  inner_tiles = [32, 16]
  into %input : tensor<64x32x16xf32> -> tensor<256x128xf32>
```

In addition, updates the corresponding error message to make it more
informative:

BEFORE:
```mlir
error: packed rank must equal unpacked rank + tiling factors}
```

AFTER:
```mlir
error: packed rank != (unpacked rank + num tiling factors), got 3 != 4
```


  Commit: b343f3f3faf5b732cc19c9c51d392389677477ce
      https://github.com/llvm/llvm-project/commit/b343f3f3faf5b732cc19c9c51d392389677477ce
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp

  Log Message:
  -----------
  [analyzer][NFC] Cleanup BranchNodeBuilder (#117898)

Previously `BranchNodeBuilder` had a machinery to mark the two possible
branches (true, false) as infeasible, but this was completely useless in
practice, because the `BranchNodeBuilder` objects where short-lived
local variables so the `markInfeasible()` calls did not affect any later
calls.

The only theoretical exception was that in `ExprEngine::processBranch`
the methods of `BranchNodeBuilder` were called within a `for` loop that
iterates over the nodes created by the `check::BranchCondition`
callbacks.

However, currently only two checkers listen to `check::BranchCondition`
and neither of them produces multiple out nodes. This is fortunate,
because if the `for` loop had multiple iterations, then the lingering
effects of `markInfeasible()` would have caused wildly incorrect
behavior.

_For example, let's assume that a hypothetical `check::BranchCondition`
callback transitions to two different states, and the condition
expression happens to be true in the first and false in the second. In
this situation the first iteration of the loop would mark the false
branch as 'infeasible' and then in the second iteration the analyzer
would skip creating the transition to the false branch (from the state
where that is the 'right' path forward)._

After removing `markInfeasible()`, it became clear that the
`isFeasible()` calls in `ExprEngine::processBranch` are redundant
because they only guarded a `generateNode` call -- which immediately
calls `isFeasible()` and does nothing on an infeasible branch.

At this point in the refactoring the only code writing the feasibility
data members is their initialization in the constructors of
`BranchNodeBuilder` and the only code reading them is the check at the
beginning of `BranchNodeBuilder::generateNode`, so it was
straightforward to remove them completely and simplify the logic of
`generateNode()` to let it directly check the nullness of the
`CFGBlock*` pointer that it wants to use.

Finally, after these changes it became clear that in
`ExprEngine::processBranch` the `else` branch
(corresponding to the case when `assumeCondition` fails) is equivalent
to the "normal" case, so I eliminated it as well.

I also update the capitalization of a few variables that are already
affected by this change.


  Commit: 637a1ae85538554b98973861802e842fc30d0f91
      https://github.com/llvm/llvm-project/commit/637a1ae85538554b98973861802e842fc30d0f91
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_elementwise_popcount (#118307)


  Commit: 21d27b3aabf3d06f7e8b1002b34bb467f6ab66d8
      https://github.com/llvm/llvm-project/commit/21d27b3aabf3d06f7e8b1002b34bb467f6ab66d8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll

  Log Message:
  -----------
  [LoopUnroll] Add tests for loop unrolling on Apple platforms.

Add first set of tests where runtime unrolling can be highly beneficial
on Apple Silicon CPUs.


  Commit: 97f94af3560d3ae046f6c3d7ec74b03d1d2493d0
      https://github.com/llvm/llvm-project/commit/97f94af3560d3ae046f6c3d7ec74b03d1d2493d0
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [Github] Upload built docs as artifact from test build docs job (#118159)

This patch makes the test documentation build job upload the docs that
have been built as artifacts. This makes it much easier to take a peek
at the resulting documentation rather than just being able to see that
it builds.


  Commit: 071da9261b7e94c2d2d4e9d3d4eba1f29115e8ae
      https://github.com/llvm/llvm-project/commit/071da9261b7e94c2d2d4e9d3d4eba1f29115e8ae
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/alias.cpp

  Log Message:
  -----------
  [Clang] ensure mangled names are valid identifiers before being suggested in ifunc/alias attributes notes (#118170)

Fixes #112205

--- 

Commit that introduced this feature -
https://github.com/llvm/llvm-project/commit/9306ef9750b7a319d59f6d3e4977e01e39b8f161


  Commit: f8b4182f076f8fe55f9d5f617b5a25008a77b22f
      https://github.com/llvm/llvm-project/commit/f8b4182f076f8fe55f9d5f617b5a25008a77b22f
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/test/SemaTemplate/address_space-dependent.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    R llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
    R llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-vk.ll
    M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll

  Log Message:
  -----------
  Revert "[SPIR-V] Fixup storage class for global private (#116636)" (#118312)

This reverts commit aa7fe1c10e5d6d0d3aacdb345fed995de413e142.


  Commit: 8935165659b7c31914e86059b91c9da8389cf19a
      https://github.com/llvm/llvm-project/commit/8935165659b7c31914e86059b91c9da8389cf19a
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    A llvm/test/MachineVerifier/RISCV/lit.local.cfg
    M llvm/test/MachineVerifier/RISCV/subreg-liveness.mir

  Log Message:
  -----------
  [NFCI][test] Use lit.local.cfg in test/MachineVerifier/RISCV to gate tests (#118217)

87cc4b48c08a627f330396f941b84671c5e591d5 added `REQUIRES:
riscv64-registered-target` to the only test in this directory. It seems
better (and also reflects what we do elsewhere, including in the AMDGPU/
subdir in MachineVerifier) to gate for all files in the directory via
lit.local.cfg.


  Commit: fcfdabfea18b4d2dd98a1c5b52d5b33aff77ae1a
      https://github.com/llvm/llvm-project/commit/fcfdabfea18b4d2dd98a1c5b52d5b33aff77ae1a
  Author: Ian Wood <ianwood2024 at u.northwestern.edu>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [MLIR] Improve compose expand(collapse) pattern (#117768)

If expand(collapse) has a dimension that gets collapsed and then
expanded to the same shape, the pattern would fail to canonicalize this
to a single collapse shape. Line 341 was changed because the
expand(collapse) could be a reinterpret-cast like sequence where the
shapes differ but the rank is the same. This cannot be represented by a
single `collapse_shape` op.

Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>


  Commit: ac7fe426163adf9123473aeb94448cf3e84f6d09
      https://github.com/llvm/llvm-project/commit/ac7fe426163adf9123473aeb94448cf3e84f6d09
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [Clang][AArch64]Refactor typespec handling in SveEmitter.cpp (#117717)

- Switch to an enumerated type approach, which is less error-prone as we
continue to add new types. This is similar to NeonEmitter.
- Fix existing faulty typespec modifiers


  Commit: fed07a05454d53763c10d482cd6e853509eee252
      https://github.com/llvm/llvm-project/commit/fed07a05454d53763c10d482cd6e853509eee252
  Author: Paul Osmialowski <pawel.osmialowski at arm.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/test/builtins/Unit/atomic_test.c

  Log Message:
  -----------
  [compiler-rt][tests] Make this test case pass on AArch64 (#117628)

See also D92832 and GCC bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80878


  Commit: 05096590e0ce68bdc6d32aac9ddbe8728e7514ae
      https://github.com/llvm/llvm-project/commit/05096590e0ce68bdc6d32aac9ddbe8728e7514ae
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/test/Parser/OpenMP/affinity-clause.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Parser/OpenMP/target_device_unparse.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90

  Log Message:
  -----------
  [flang][OpenMP] Use new modifiers with AFFINITY/ALIGNED/DEVICE (#117786)

This is a mostly mechanical change from specific modifiers embedded
directly in a clause to the Modifier variant.

Additional comments and references to the OpenMP specs were added.


  Commit: a951e76fbed642dbe3f51965d17ca566be586cc5
      https://github.com/llvm/llvm-project/commit/a951e76fbed642dbe3f51965d17ca566be586cc5
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py

  Log Message:
  -----------
  [lldb] Added an exponential algorithm for the sleep time in connect_to_debug_monitor() (#118222)

Reduced MAX_ATTEMPTS to 10.
The sleep time will be 3, 3.6, 4.3, ..., 13, 15.
The total sleep time is 78 + 0.5 * MAX_CONNECT_ATTEMPTS * MAX_ATTEMPTS = 128.
Note the timeout is 600, so the rest time must be enough.
Increased the port range (12000..20000).


  Commit: 582754280c73f3b3ead67603df6b896d3ad058d8
      https://github.com/llvm/llvm-project/commit/582754280c73f3b3ead67603df6b896d3ad058d8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Papers.csv

  Log Message:
  -----------
  [libc++][NFC] Fix slightly incorrect row in the CSV files


  Commit: d898ff650ae09e3ef942592aee2e87627f45d7c6
      https://github.com/llvm/llvm-project/commit/d898ff650ae09e3ef942592aee2e87627f45d7c6
  Author: Perry Gibson <Wheest at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M mlir/python/mlir/dialects/func.py
    M mlir/test/python/dialects/func.py

  Log Message:
  -----------
  [mlir,python] Fix case when `FuncOp.arg_attrs` is not set (#117188)

FuncOps can have `arg_attrs`, an array of dictionary attributes
associated with their arguments.

E.g., 

```mlir
func.func @main(%arg0: tensor<8xf32> {test.attr_name = "value"}, %arg1: tensor<8x16xf32>)
```

These are exposed via the MLIR Python bindings with
`my_funcop.arg_attrs`.

In this case, it would return `[{test.attr_name = "value"}, {}]`, i.e.,
`%arg1` has an empty `DictAttr`.

However, if I try and access this property from a FuncOp with an empty
`arg_attrs`, e.g.,

```mlir
func.func @main(%arg0: tensor<8xf32>, %arg1: tensor<8x16xf32>)
```

This raises the error:

```python
    return ArrayAttr(self.attributes[ARGUMENT_ATTRIBUTE_NAME])
                     ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'attempt to access a non-existent attribute'
```

This PR fixes this by returning the expected `[{}, {}]`.


  Commit: 73186546f0c0209c65c4b4ef1379a4832545b871
      https://github.com/llvm/llvm-project/commit/73186546f0c0209c65c4b4ef1379a4832545b871
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/RISCV/rv64-float-convert-strict.ll
    M llvm/test/CodeGen/RISCV/rv64-float-convert.ll
    M llvm/test/CodeGen/RISCV/rv64-half-convert-strict.ll
    M llvm/test/CodeGen/RISCV/rv64-half-convert.ll

  Log Message:
  -----------
  [LegalizeTypes][RISCV] Call setTypeListBeforeSoften from ExpandIntRes_FP_TO_XINT if the FP type needs to be softened (#118269)

This avoids an unnecessary sext.w before the libcall.


  Commit: bee33b5291a28aec76e98c0da25349266c7b653c
      https://github.com/llvm/llvm-project/commit/bee33b5291a28aec76e98c0da25349266c7b653c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV][GISel] Support f32/f64 powi. (#117937)

Need to force libcall legalization to treat the integer argument as
signed so that it can be promoted to XLen in call lowering for RV64.
Alternatively we could promote the operand before converting to libcall,
but going through call lowering is closer to what SelectionDAG does.


  Commit: c16c0e26236d0468a2411cb3bce219d3c70650e9
      https://github.com/llvm/llvm-project/commit/c16c0e26236d0468a2411cb3bce219d3c70650e9
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp

  Log Message:
  -----------
  [AMDGPU][SIOptimizeVGPRLiveRange] Add setpreservesCFG in the legacy pass flow. (#118256)


  Commit: c9fa3195f0f012a5606ec3e403a1f111b3a4e0c7
      https://github.com/llvm/llvm-project/commit/c9fa3195f0f012a5606ec3e403a1f111b3a4e0c7
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/compressstore.ll

  Log Message:
  -----------
  [RISCV] Use LiveIntervals to determine if AVL dominates when coalescing (#118285)

In order to coalesce a vsetvli with a register AVL into a previous
vsetvli, we need to make sure that the AVL register is reachable at the
previous vsetvli.

Back in pre-RA vsetvli insertion we just checked to see if the two
virtual registers were the same virtual register, and then this was
hacked around in the move to post-RA. We can instead use live intervals
to check that the reaching definition is the same at both instructions.

On its own this doesn't have much of an impact, but helps a lot in
#118283 and enables coalescing in about 60 of the test cases from that
PR.


  Commit: a6fa51f5ce8f31a088f04d7c14690bb0de3259f1
      https://github.com/llvm/llvm-project/commit/a6fa51f5ce8f31a088f04d7c14690bb0de3259f1
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M lld/Common/ErrorHandler.cpp

  Log Message:
  -----------
  [lld] Move handling of message separator to reportDiagnostic()

This ensures that it is also updated when calling log() and not just for
errors and warnings. This was noticed in the downstream CHERI fork where
a test using CHECK-NEXT was seeing empty lines after single-line log()
messages.

Reviewed By: MaskRay

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


  Commit: 57452bb3a92d77f260296669269815e057b19b6e
      https://github.com/llvm/llvm-project/commit/57452bb3a92d77f260296669269815e057b19b6e
  Author: Raphael Moreira Zinsly <6718397+rzinsly at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h

  Log Message:
  -----------
  [NFC][RISCV] Remove CFIIndex argument from allocateStack (#117871)

Calculates CFIIndex inside RISCVFrameLowering::allocateStack instead of
sending it by argument.


  Commit: 1b03747ed85cd4a6573b728674e88f4bd3fa844d
      https://github.com/llvm/llvm-project/commit/1b03747ed85cd4a6573b728674e88f4bd3fa844d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libcxx/utils/synchronize_csv_status_files.py

  Log Message:
  -----------
  [libc++] Augment Github - CSV synchronization script to auto-create new Github issues (#118139)

This makes it easier to create the Github issues and add them to the
libc++ conformance project after a WG21 meeting.


  Commit: d33dc14833b581d276a712a8425ab8f62a59c589
      https://github.com/llvm/llvm-project/commit/d33dc14833b581d276a712a8425ab8f62a59c589
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/test/builtins/Unit/extendhfxf2_test.c
    M compiler-rt/test/builtins/Unit/fp_test.h

  Log Message:
  -----------
  [compiler-rt] Allow running extendhfxf2_test without int128 support

We don't need 128-bit integers here, instead rewrite the fp_test.h helpers
to avoid the need for __int128. Also change the high argument for
compareResultF80() and F80FromRep80() to be uint16_t since values greater
than this do not make any sense. This should allow the compiler to detect
accidentally swapping the arguments.

Reviewed By: biabbas, alexander-shaposhnikov

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


  Commit: 02eaeec1ac61b3933bf10a40abdeff4e2958a4a5
      https://github.com/llvm/llvm-project/commit/02eaeec1ac61b3933bf10a40abdeff4e2958a4a5
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libcxx/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Remove obsolete CMake variable (#118119)

That variable is not referenced anywhere anymore, so it can be removed.


  Commit: 1f2aeef97bf229821b1b254d7ce4e3d1c7f8683f
      https://github.com/llvm/llvm-project/commit/1f2aeef97bf229821b1b254d7ce4e3d1c7f8683f
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copy-clause.c
    A clang/test/SemaOpenACC/combined-construct-copy-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copyin-clause.c
    A clang/test/SemaOpenACC/combined-construct-copyin-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copyout-clause.c
    A clang/test/SemaOpenACC/combined-construct-copyout-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-create-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-create-clause.c
    A clang/test/SemaOpenACC/combined-construct-create-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-default-clause.c
    M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-default-clause.c

  Log Message:
  -----------
  [OpenACC] Enable copy/create clauses for combined constructs

This is the last set of 'no op' changes, and are all incredibly similar,
so they are being done together.  They work the exact same for combined
constructs as they do for compute constructs, so this adds tests and
enables them.


  Commit: de6d0d2de0e2df72bd77f29d27addf13ebfbc997
      https://github.com/llvm/llvm-project/commit/de6d0d2de0e2df72bd77f29d27addf13ebfbc997
  Author: Luke Quinn <lquinn2015 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/float-fclass.ll

  Log Message:
  -----------
  [RISCV][GISel] Add FCLASS to onlyUsesFP for register bank selection (#118021)

Bug fix FCLASS instruction in RISCV. The bug is due the fact that FCLASS
has an input float register and output GPR this caused reg bank select
regression.


  Commit: 94316dd5415fbeb7ce7432620ffbbb4b2fc03237
      https://github.com/llvm/llvm-project/commit/94316dd5415fbeb7ce7432620ffbbb4b2fc03237
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/ssubsat.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] saddsat/ssubsat sdag for true16 format (#118245)

saddsat and ssubsat SDAG codeGen pattern for True16 format


  Commit: 3d437893c3b8431a35f5edb65409f0d0fb0e2d95
      https://github.com/llvm/llvm-project/commit/3d437893c3b8431a35f5edb65409f0d0fb0e2d95
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libcxx/include/chrono
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Re-enable Clang-tidy checks in the CI (#110026)

Now that we've gained control of our CI docker image again,
we can re-enable the clang-tidy tests.


  Commit: a796f597cd445bf6577c09efcac710b568f29d92
      https://github.com/llvm/llvm-project/commit/a796f597cd445bf6577c09efcac710b568f29d92
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll

  Log Message:
  -----------
  AMDGPU: Allow f16/bf16 for DS_READ_TR16_B64 gfx950 builtins (#118297)

Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>


  Commit: 468fb5fc7ebc42820cf8a2114d20f321a9ede0ee
      https://github.com/llvm/llvm-project/commit/468fb5fc7ebc42820cf8a2114d20f321a9ede0ee
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/CodeGen/AMDGPU/register-coalescer--set-undef-full-reg-use-implicit-def-erase-issue109249.mir

  Log Message:
  -----------
  RegisterCoalescer: Set undef on full register uses when coalescing implicit_def (#118321)

Previously this would delete the IMPLICIT_DEF and not introduce the undef
flag on the use operand.

Fixes sub-issue found while reducing #109294


  Commit: 75452831948d86674374f645df75c543f4587635
      https://github.com/llvm/llvm-project/commit/75452831948d86674374f645df75c543f4587635
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/cmake/base-config-ix.cmake

  Log Message:
  -----------
  [compiler-rt] Don't detect a versioned clang test compiler as GCC

I was trying to build compiler-rt with /usr/bin/clang-17 and the testsuite
failed due to the code in lit.common.cfg.py:
```
# GCC-ASan uses dynamic runtime by default (since config.bits is not set).
if config.compiler_id == "GNU":
    gcc_dir = os.path.dirname(config.clang)
    libasan_dir = os.path.join(gcc_dir, "..", "lib" + config.bits)
    push_dynamic_library_lookup_path(config, libasan_dir)
```

Fix this in two ways: First, if the test compiler matches the library
compiler, set COMPILER_RT_TEST_COMPILER_ID to CMAKE_C_COMPILER_ID. Second,
relax the regex detecting clang to allow any kind of suffix.

Reviewed By: compnerd

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


  Commit: 681bd84563cf559fca4eea3ae8ac064e0ae833f5
      https://github.com/llvm/llvm-project/commit/681bd84563cf559fca4eea3ae8ac064e0ae833f5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/InstCombine/AMDGPU/lane-index-simplify-demanded-bits.ll

  Log Message:
  -----------
  AMDGPU: Add baseline test for lane index simplification (#117962)


  Commit: b36f1c8e9b0c9b9151be15b36a0f8d59ea8fc989
      https://github.com/llvm/llvm-project/commit/b36f1c8e9b0c9b9151be15b36a0f8d59ea8fc989
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/xtensa-char.c

  Log Message:
  -----------
  [Xtensa] Default to unsigned char

This matches GCC.

Partially addresses https://github.com/llvm/llvm-project/pull/115964

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


  Commit: 93d2a2caf63ee9c3dab8b3e0a1b54a9ba484714d
      https://github.com/llvm/llvm-project/commit/93d2a2caf63ee9c3dab8b3e0a1b54a9ba484714d
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
    A llvm/test/CodeGen/DirectX/finalize-linkage-intrinsics.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [DirectX] Run DXILFinalizeLinkage earlier in the pipeline (#117950)

This moves DXILFinalizeLinkage before the DXIL op lowering passes so
that it doesn't end up internalizing any of the `dx.op.*` functions.
This also exposed a bug when the pass is run on a module with intrinsics
in them - marking the intrinsics as internal will fail the validator.

Fixes #117761


  Commit: 0fe1f8524e02a2d28946e8356615f16166670474
      https://github.com/llvm/llvm-project/commit/0fe1f8524e02a2d28946e8356615f16166670474
  Author: stma247 <184293860+stma247 at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    A llvm/test/tools/llvm-cov/branch-export-lcov-unify-instances.test
    M llvm/test/tools/llvm-cov/branch-export-lcov.test
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-cov/CoverageExporterLcov.cpp
    M llvm/tools/llvm-cov/CoverageViewOptions.h

  Log Message:
  -----------
  [llvm-cov] Fix branch counts of template functions (#111743) (#113925)

Added option "--unify-instantiations" to llvm-cov export to combine
branch execution counts of C++ template instantiations.

on-behalf-of: @e-solutions-GmbH <info at esolutions.de>


  Commit: 6baf0023ce7f880a15aa89eaea2dcbea59abfa16
      https://github.com/llvm/llvm-project/commit/6baf0023ce7f880a15aa89eaea2dcbea59abfa16
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/expr-errors06.f90

  Log Message:
  -----------
  [flang] Downgrade recently added error to a warning (#117217)

An empty array shouldn't be subscripted, but sometimes they are in
zero-trip loops in real applications. So change a recently added error
message to a warning (off by default).


  Commit: c1c9929028004a717d8dea3cdf416260ef97bea8
      https://github.com/llvm/llvm-project/commit/c1c9929028004a717d8dea3cdf416260ef97bea8
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Common/Fortran-features.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/call14.f90
    M flang/test/Semantics/resolve58.f90

  Log Message:
  -----------
  [flang] Allow a few irrelevant attributes, with warning (#117374)

INTENT, VALUE, and OPTIONAL attributes apply only to dummy arguments. A
couple older compilers accept them, usually with a warning, if they are
applied to names that are not dummy arguments, and they show up in some
older non-portable source code. Change these cases into stern warnings
by default.


  Commit: 8115454aa05caf4ebfaa98466a8c8b7aa274cefd
      https://github.com/llvm/llvm-project/commit/8115454aa05caf4ebfaa98466a8c8b7aa274cefd
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/type-parsers.h
    A flang/test/Parser/decl-char-length.f90

  Log Message:
  -----------
  [flang] Extension: accept "var*length(bounds)" (#117399)

A character length specifier in an entity declaration or a component
declaration is required by the standard to follow any array bounds or
coarray bounds that are present. Several Fortran compilers allow the
character length specifier to follow the name and appear before the
bounds.

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


  Commit: dfbc80febb45544710b12cc05f268f40ef88cd6e
      https://github.com/llvm/llvm-project/commit/dfbc80febb45544710b12cc05f268f40ef88cd6e
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    A flang/test/Preprocessing/bug117297.F90

  Log Message:
  -----------
  [flang] Fix continuation when line begins with empty macro expansion (#117407)

A free form source line that begins with a macro should still be
classified as a source line, and have its continuation lines work, even
if the macro expands to an empty replacement.

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


  Commit: 9b64811e27f8377b77f8561cf678c9d2f2d67393
      https://github.com/llvm/llvm-project/commit/9b64811e27f8377b77f8561cf678c9d2f2d67393
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/runtime/edit-input.cpp

  Log Message:
  -----------
  [flang][runtime] Skip unused truncated list-directed character input (#118320)

When reading non-delimited list-directed character input, read the whole
field even if it doesn't fit into the variable.

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


  Commit: 91f5f974cb75309a94c9efc76238ef98abcf1582
      https://github.com/llvm/llvm-project/commit/91f5f974cb75309a94c9efc76238ef98abcf1582
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/exports
    A offload/include/Shared/RPCOpcodes.h
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/common/src/RPC.cpp
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    A offload/test/api/omp_host_call.c
    R offload/test/libc/host_call.c

  Log Message:
  -----------
  [OpenMP] Unconditionally provide an RPC client interface for OpenMP (#117933)

Summary:
This patch adds an RPC interface that lives directly in the OpenMP
device runtime. This allows OpenMP to implement custom opcodes.
Currently this is only providing the host call interface, which is the
raw version of reverse offloading. Previously this lived in `libc/` as
an extension which is not the correct place.

The interface here uses a weak symbol for the RPC client by the same
name that the `libc` interface uses. This means that it will defer to
the libc one if both are present so we don't need to set up multiple
instances.

The presense of this symbol is what controls whether or not we set up
the RPC server. Because this is an external symbol it normally won't be
optimized out, so there's a special pass in OpenMPOpt that deletes this
symbol if it is unused during linking. That means at `O0` the RPC server
will always be present now, but will be removed trivially if it's not
used at O1 and higher.


  Commit: 0aef005c94f91a91edc77a4f43337950e66bc462
      https://github.com/llvm/llvm-project/commit/0aef005c94f91a91edc77a4f43337950e66bc462
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/combined-construct-collapse-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c

  Log Message:
  -----------
  [OpenACC] Implement 'collapse' for combined constructs.

Most of the restrictions on 'collapse' involve the contents of the loop,
so this extends enforcement of all of that to all combined construct
loops, and alters the diagnostics to better reflect the construct it is
associated with.


  Commit: 15676ec552c7028ce3c902cec19efe9c99d7f303
      https://github.com/llvm/llvm-project/commit/15676ec552c7028ce3c902cec19efe9c99d7f303
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt

  Log Message:
  -----------
  AMDGPU: Add support for V_CVT_PK_F16_F32 instruction for gfx950 (#118300)

Co-authored-by: Shilei Tian <shilei.tian at amd.com>


  Commit: f3af593d6f0ed0243c4f483e120974ab2c2eb334
      https://github.com/llvm/llvm-project/commit/f3af593d6f0ed0243c4f483e120974ab2c2eb334
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  AMDGPU: Create InstrMapping from VGPR MFMA to equivalent AGPR instruction (#117102)

This provides infrastructure for a future optimization.


  Commit: eaa4eb281d4a0e34c7b4c2dac50cd151c3cb27e6
      https://github.com/llvm/llvm-project/commit/eaa4eb281d4a0e34c7b4c2dac50cd151c3cb27e6
  Author: David Olsen <dolsen at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp

  Log Message:
  -----------
  [CIR] Fix warning in CIRGenAction.cpp (#118389)

Fix a compiler warning in `CIRGenConsumer::HandleTranslationUnit` in
`clang/lib/CIR/FrontendAction/CIRGenAction.cpp`. The warning was about a
`default:` section in a switch statement that already covered all the
values of an enum. Delete the `default:` section.


  Commit: bde79c0e27fd0fb1e31c9b8b34ae71716c51a8e8
      https://github.com/llvm/llvm-project/commit/bde79c0e27fd0fb1e31c9b8b34ae71716c51a8e8
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/parse-tree.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/test/Parser/OpenMP/depobj-construct.f90
    M flang/test/Parser/OpenMP/taskloop.f90
    M flang/test/Semantics/OpenMP/depend05.f90
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h

  Log Message:
  -----------
  [flang][OpenMP] Use new modifiers in DEPEND/GRAINSIZE/NUM_TASKS (#117917)

The usual changes, added more references to OpenMP specs.


  Commit: a15400d05d23dd45a8ed583da857d1b02329eb40
      https://github.com/llvm/llvm-project/commit/a15400d05d23dd45a8ed583da857d1b02329eb40
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV][GISel] Support f32/f64 ldexp. (#117941)

The existing libcall lowering in LegalizerHelper.cpp did not account
for one operand being integer. Reuse the G_FPOWI code to fix this.


  Commit: 0aa7892772a94b0395cb5a7fce077ab2348ecaa5
      https://github.com/llvm/llvm-project/commit/0aa7892772a94b0395cb5a7fce077ab2348ecaa5
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    A clang/test/SemaOpenACC/combined-construct-tile-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-tile-clause.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'tile' for combined constructs

Like collapse, this clause has only mild changes that need to be made.
Most of the associated work for the RAII container was already done
previously, so this is mostly just updating the diagnostics to properly
emit the right construct.


  Commit: 2c88ac9da9f842875592b232ba957da341e62ea5
      https://github.com/llvm/llvm-project/commit/2c88ac9da9f842875592b232ba957da341e62ea5
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/test/CodeGen/DirectX/BufferStore.ll

  Log Message:
  -----------
  [DirectX] Clean up extra vectors when lowering to buffer store (#116721)

DXILOpLowering runs after scalarization but `@llvm.dx.typedbuffer.store`
takes a vector, so the argument is usually an artifact. Avoid creating a
vector just to extract elements from it immediately.


  Commit: 4226e0a0c75e5cfd784eff429f93101c03a1995c
      https://github.com/llvm/llvm-project/commit/4226e0a0c75e5cfd784eff429f93101c03a1995c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp

  Log Message:
  -----------
  [TTI] Add SCEVExpansionBudget to loop unrolling options. (#118316)

Add an extra know to UnrollingPreferences to let backends control the
maximum budget for SCEV expansions.

This gives backends more fine-grained control on the cost of the runtime
checks for runtime unrolling.

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


  Commit: a6ef0debb1d60966b5bcc69f7d58a2b75c9c621d
      https://github.com/llvm/llvm-project/commit/a6ef0debb1d60966b5bcc69f7d58a2b75c9c621d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libc/shared/rpc_opcodes.h
    M libc/src/__support/GPU/allocator.cpp
    M libc/src/__support/OSUtil/gpu/exit.cpp
    M libc/src/__support/OSUtil/gpu/io.cpp
    M libc/src/gpu/rpc_host_call.cpp
    M libc/src/stdio/gpu/clearerr.cpp
    M libc/src/stdio/gpu/fclose.cpp
    M libc/src/stdio/gpu/feof.cpp
    M libc/src/stdio/gpu/ferror.cpp
    M libc/src/stdio/gpu/fflush.cpp
    M libc/src/stdio/gpu/fgets.cpp
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fopen.cpp
    M libc/src/stdio/gpu/fseek.cpp
    M libc/src/stdio/gpu/ftell.cpp
    M libc/src/stdio/gpu/puts.cpp
    M libc/src/stdio/gpu/remove.cpp
    M libc/src/stdio/gpu/rename.cpp
    M libc/src/stdio/gpu/ungetc.cpp
    M libc/src/stdio/gpu/vfprintf_utils.h
    M libc/src/stdlib/gpu/abort.cpp
    M libc/src/stdlib/gpu/system.cpp
    M libc/test/integration/startup/gpu/rpc_test.cpp
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/server/rpc_server.cpp
    M offload/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [libc][NFC] Rename RPC opcodes to better reflect their usage

Summary:
RPC_ is a generic prefix here, use LIBC_ to indicate that these are
opcodes used to implement the C library


  Commit: 56cb5cbfcdc09499d366046d6ea2ea6655fc11ef
      https://github.com/llvm/llvm-project/commit/56cb5cbfcdc09499d366046d6ea2ea6655fc11ef
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll

  Log Message:
  -----------
  [RISCV] Remove RISCVISD::VNSRL_VL and adjust deinterleave lowering to match (#118391)

Instead of directly lowering to vnsrl_vl and having custom pattern
matching for that case, we can just lower to a (legal) shift and
truncate, and let generic pattern matching produce the vnsrl.

The major motivation for this is that I'm going to reuse this logic to
handle e.g. deinterleave4 w/ i8 result.

The test changes aren't particularly interesting. They're minor code
improvements - I think because we do slightly better with the
insert_subvector patterns, but that's mostly irrelevant.


  Commit: c906907d871d840b176cd0101863b7be3f33dee9
      https://github.com/llvm/llvm-project/commit/c906907d871d840b176cd0101863b7be3f33dee9
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake

  Log Message:
  -----------
  [hexagon][cmake] Disable ctx_profile (#117965)

Since #105495, we will build sanitizer_common when
COMPILER_RT_BUILD_CTX_PROFILE is set. But we have outstanding failures
when building sanitizer_common, so for now we'll disable ctx_profile
too.


  Commit: 92f5314706319a2a654a914c54ba6e73563fa906
      https://github.com/llvm/llvm-project/commit/92f5314706319a2a654a914c54ba6e73563fa906
  Author: Alan Phipps <a-phipps at ti.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    R llvm/test/tools/llvm-cov/branch-export-lcov-unify-instances.test
    M llvm/test/tools/llvm-cov/branch-export-lcov.test
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-cov/CoverageExporterLcov.cpp
    M llvm/tools/llvm-cov/CoverageViewOptions.h

  Log Message:
  -----------
  Revert "[llvm-cov] Fix branch counts of template functions (#111743)" (#118398)

Reverts llvm/llvm-project#113925

Reverting to address buildbot failures.


  Commit: 1250a1db1a378736afda389c94d2846d7a254576
      https://github.com/llvm/llvm-project/commit/1250a1db1a378736afda389c94d2846d7a254576
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/test/API/commands/dwim-print/Makefile
    M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
    R lldb/test/API/commands/dwim-print/main.c
    A lldb/test/API/commands/dwim-print/main.cpp

  Log Message:
  -----------
  [lldb] Update dwim-print to support limited variable expression paths (#117452)

`frame variable` supports nested variable access, which the API calls "variable
expression paths". This change updates `dwim-print` to support a subset of supported
variable expression paths.

Consider the expression `a->b`. In C++, the arrow operator can be overloaded, and where
that is the case, expression evaluation must be used to evaluate it, not frame variable.
Likewise, the subscript operator can be overloaded.

To avoid those cases, this change introduces a limited support for variable expression
paths. Use of the dot operator is allowed.

Additionally, this change allows `dwim-print` to directly access children of `this` and
`self` (see AllowDirectIVarAccess). This functionality is also provided by the same
`GetValueForVariableExpressionPath` method.

rdar://104348908


  Commit: bd92e46204331b9af296f53abb708317e72ab7a8
      https://github.com/llvm/llvm-project/commit/bd92e46204331b9af296f53abb708317e72ab7a8
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
    M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    A clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td

  Log Message:
  -----------
  [HLSL] Implement RWBuffer::operator[] via __builtin_hlsl_resource_getpointer (#117017)

This introduces `__builtin_hlsl_resource_getpointer`, which lowers to
`llvm.dx.resource.getpointer` and is used to implement indexing into
resources.

This will only work through the backend for typed buffers at this point,
but the changes to structured buffers should be correct as far as the
frontend is concerned.

Note: We probably want this to return a reference in the HLSL device
address space, but for now we're just using address space 0. Creating a
device address space and updating this code can be done later as
necessary.

Fixes #95956


  Commit: 0c98776159cea0d1f391a8e1ac290483d4490240
      https://github.com/llvm/llvm-project/commit/0c98776159cea0d1f391a8e1ac290483d4490240
  Author: llvmssh <shaosenhao at huawei.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Object/RecordStreamer.h

  Log Message:
  -----------
  Use MapVector to fix lld thinLTO "nondeterminism" issue. (#117551)

When the ModuleSymbolTable is generated, the binary consistency problem occurs due to the
data structure for collecting asm symbols was ordered by memory pointers.


  Commit: b8daa45a566b15d929a812d85f3f1ff8c868c889
      https://github.com/llvm/llvm-project/commit/b8daa45a566b15d929a812d85f3f1ff8c868c889
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/llvm-libc-macros/time-macros.h
    M libc/newhdrgen/yaml/time.yaml
    M libc/spec/stdc.td
    M libc/src/time/CMakeLists.txt
    A libc/src/time/baremetal/CMakeLists.txt
    A libc/src/time/baremetal/timespec_get.cpp
    M libc/src/time/gpu/CMakeLists.txt
    A libc/src/time/gpu/timespec_get.cpp
    M libc/src/time/linux/CMakeLists.txt
    A libc/src/time/linux/timespec_get.cpp
    A libc/src/time/timespec_get.h
    M libc/test/src/time/CMakeLists.txt
    A libc/test/src/time/timespec_get_test.cpp

  Log Message:
  -----------
  [libc] Implement `timespec_get` (#116102)

`timespec_get` is C standard counterpart to POSIX `clock_gettime`. On
Linux we simply use `clock_gettime`. On baremetal we introduce a new
external API `__llvm_libc_timespec_get_utc` that should be implemented
by the vendor.


  Commit: 33faa8285f3dc5ca10e35770b288770b4bbc2bc1
      https://github.com/llvm/llvm-project/commit/33faa8285f3dc5ca10e35770b288770b4bbc2bc1
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/CMakeLists.txt
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/test/Parser/OpenMP/if-clause-unparse.f90
    M flang/test/Parser/OpenMP/if-clause.f90
    M flang/test/Parser/OpenMP/lastprivate-clause.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/if-clause.f90

  Log Message:
  -----------
  [flang][OpenMP] Use new modifiers in IF/LASTPRIVATE (#118128)

The usual changes, added more references to OpenMP specs.


  Commit: da5f330e84d74aeacdbb801c46282b9eebec6793
      https://github.com/llvm/llvm-project/commit/da5f330e84d74aeacdbb801c46282b9eebec6793
  Author: Niels Dekker <N.Dekker at lumc.nl>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst

  Log Message:
  -----------
  [clang-tidy] Adjust size-empty doc because C++11 size() is constant-time (#117629)

>From C++11, a conforming `size()` method is guaranteed to be a
constant-time function. `empty()` is not _generally_ more efficient than
`size()`. It might even be implemented in terms of `size()`.

----

Notes:
- Microsoft's STL had implemented `empty()` as `return size() == 0`,
until May 2021: https://github.com/microsoft/STL/pull/1836/files
- The time complexity of `size()` (specifically for `std::set`) was
discussed by the library working group in 2007-2009:
https://cplusplus.github.io/LWG/issue632


  Commit: 5f881b7139bba1b8cd5c09ea021c78b92d1e72c9
      https://github.com/llvm/llvm-project/commit/5f881b7139bba1b8cd5c09ea021c78b92d1e72c9
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [libc] Deprecate LLVM_ENABLE_PROJECTS in favor of LLVM_ENABLE_RUNTIMES. (#117265)

We plan to make this a hard error in the LLVM 21 release.

Link: #78479


  Commit: 867a1d621d1c6146dc29fa6b471407327d8f1bff
      https://github.com/llvm/llvm-project/commit/867a1d621d1c6146dc29fa6b471407327d8f1bff
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp

  Log Message:
  -----------
  [sanitizer_common] mark __elf_aux_vector as weak on FreeBSD (#118110)

At some point FreeBSD introduced libsys as a wrapper between syscalls
and libc, and then linking sanitized programs started failing with:

```text
  # c++ -fsanitize=address main.cc
  ld: error: undefined symbol: __elf_aux_vector
  >>> referenced by sanitizer_linux_libcdep.cpp:950 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:950)
  >>>               sanitizer_linux_libcdep.o:(__sanitizer::ReExec()) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a
  c++: error: linker command failed with exit code 1 (use -v to see invocation)
```

Mark `__elf_aux_vector` as weak in the internal sanitizer declaration,
so the linker will accept it at link time. The dynamic linker will then
take care of the symbol at run time.


  Commit: fdc7ccf5432f72e6c87a78625bb55f8d4ceaea16
      https://github.com/llvm/llvm-project/commit/fdc7ccf5432f72e6c87a78625bb55f8d4ceaea16
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll

  Log Message:
  -----------
  [RISCV][GISel] Allow fp128 function arguments.

Add more testing for large arguments.


  Commit: f500ed5646bef11b9daa74ee79188af0de6ab0be
      https://github.com/llvm/llvm-project/commit/f500ed5646bef11b9daa74ee79188af0de6ab0be
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Add separate tests for getOperandInfo. NFC (#116170)

This adds separate tests for getOperandInfo to try and get better
coverage over all the possible operands.

It's done in MIR as it makes checking incompatible EEWs and EMULs
easier, which is difficult (but not impossible) to do in LLVM IR.

It tests each instruction "format", e.g. vop.vv/vwop.vv/vwop.wv etc.,
and for each format it tests the individual operands.

For each operand it tests when the EEW and EMUL match, when the EEW
doesn't match, and when the EMUL doesn't match.


  Commit: 7267c85959aa2490e2950f7fb817a76af7e94043
      https://github.com/llvm/llvm-project/commit/7267c85959aa2490e2950f7fb817a76af7e94043
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    R mlir/include/mlir/Dialect/Func/Transforms/DecomposeCallGraphTypes.h
    M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
    M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp

  Log Message:
  -----------
  [mlir][Func] Delete `DecomposeCallGraphTypes.cpp` (#117424)

`DecomposeCallGraphTypes.cpp` was a workaround around missing 1:N
support in the dialect conversion. Now that 1:N support was added, the
workaround can be deleted. The test remains in place, as an example for
how to write such a transformation with the dialect conversion
framework.

Note for LLVM integration: If you are using
`DecomposeCallGraphTypes.cpp`, switch to the patterns that are used in
`TestDecomposeCallGraphTypes.cpp`.


  Commit: 6faf17b7626bfdeea977a7a333c6e20ed677615d
      https://github.com/llvm/llvm-project/commit/6faf17b7626bfdeea977a7a333c6e20ed677615d
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/ModuleSummaryIndex.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/import_callee_declaration.ll

  Log Message:
  -----------
  [ThinLTO]Supports declaration import for global variables in distributed ThinLTO (#117616)

When `-import-declaration` option is enabled, declaration import is
supported for functions. https://github.com/llvm/llvm-project/pull/88024
has the context for this option.

This patch supports declaration import for global variables in
distributed ThinLTO. The motivating use case is to propagate `dso_local`
attribute of global variables across modules, to optimize global
variable access when a binary is built with
`-fno-direct-access-external-data`.
* With `-fdirect-access-external-data`, non thread-local global
variables will [have `dso_local`
attributes](https://github.com/llvm/llvm-project/blob/fe3c23b439b9a2d00442d9bc6a4ca86f73066a3d/clang/lib/CodeGen/CodeGenModule.cpp#L1730-L1746).
This optimizes the global variable access as shown by
https://gcc.godbolt.org/z/vMzWcKdh3


  Commit: b2dd4fabacd72d650a15116f361b1aa0020e2368
      https://github.com/llvm/llvm-project/commit/b2dd4fabacd72d650a15116f361b1aa0020e2368
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/ThinLTO/X86/distributed_indexes.ll

  Log Message:
  -----------
  [NFC]Update a ThinLTO test case (#117584)

Run `function-import` pass in a similar way that it runs in a ThinLTO
distributed backend compile and checks that function alias is imported
as a definition. More accurately, the function alias
[is](https://github.com/llvm/llvm-project/blob/0c98776159cea0d1f391a8e1ac290483d4490240/llvm/lib/Transforms/IPO/FunctionImport.cpp#L1912)
a
[clone](https://github.com/llvm/llvm-project/blob/0c98776159cea0d1f391a8e1ac290483d4490240/llvm/lib/Transforms/IPO/FunctionImport.cpp#L1782)
of the aliasee function.


  Commit: b80a157d12ebeebb85fa0a1e53beb5b46dc16d36
      https://github.com/llvm/llvm-project/commit/b80a157d12ebeebb85fa0a1e53beb5b46dc16d36
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    A llvm/test/CodeGen/AMDGPU/v_ashr_pk.ll

  Log Message:
  -----------
  AMDGPU: Add codegen support for gfx950 v_ashr_pk_i8/u8_i32 (#118304)

Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>


  Commit: 0a96161beb161933e64e188bfb0754df494c3a58
      https://github.com/llvm/llvm-project/commit/0a96161beb161933e64e188bfb0754df494c3a58
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
    M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp
    M lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp

  Log Message:
  -----------
  [lldb] Simplify DumpValueObjectOptions::PointerDepth (NFC) (#117504)

`Mode::Always` and `Mode::Default` are handled identically.
`Mode::Never` is the same as having a count of 0.


  Commit: 897dbdeab7e86248183f2e20cb1ae35e59551f62
      https://github.com/llvm/llvm-project/commit/897dbdeab7e86248183f2e20cb1ae35e59551f62
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

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

  Log Message:
  -----------
  [gn] port 51003076ebc1


  Commit: a2cb2088e766eaadfd6d573d379d5c692262e24f
      https://github.com/llvm/llvm-project/commit/a2cb2088e766eaadfd6d573d379d5c692262e24f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll

  Log Message:
  -----------
  [RISCV] Fix a typo in a deinterleave test

This was supposed to test a deinterleave Factor=4, Offset=1, but had an
off by one in the shuffle mask.


  Commit: f71ea4bc1b01fd7e29048db82b3e21fba74e8dab
      https://github.com/llvm/llvm-project/commit/f71ea4bc1b01fd7e29048db82b3e21fba74e8dab
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [SLP][REVEC] reorderNodeWithReuses should not be called if all users of a TreeEntry are ShuffleVectorInst. (#118260)


  Commit: c3536b263f253a69fb336fb0617ee33a01a5c5dd
      https://github.com/llvm/llvm-project/commit/c3536b263f253a69fb336fb0617ee33a01a5c5dd
  Author: Dan Gohman <dev at sunfishcode.online>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M lld/test/wasm/compress-relocs.ll
    M lld/test/wasm/import-table-explicit.s
    M lld/test/wasm/invalid-mvp-table-use.s
    M lld/test/wasm/lto/Inputs/libcall-archive.ll
    M lld/test/wasm/lto/libcall-archive.ll
    M lld/test/wasm/lto/stub-library-libcall.s
    M lld/test/wasm/multi-table.s
    M lld/wasm/InputFiles.cpp
    M lld/wasm/SyntheticSections.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/test/CodeGen/WebAssembly/call-indirect.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/disable-feature.ll
    M llvm/test/CodeGen/WebAssembly/function-pointer64.ll
    M llvm/test/CodeGen/WebAssembly/reference-types.ll
    M llvm/test/CodeGen/WebAssembly/target-features-attrs.ll
    M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
    M llvm/test/CodeGen/WebAssembly/target-features-tls.ll
    M llvm/test/MC/WebAssembly/extern-functype-intrinsic.ll
    M llvm/test/MC/WebAssembly/function-alias.ll
    M llvm/test/MC/WebAssembly/libcall.ll

  Log Message:
  -----------
  [WebAssembly] Define call-indirect-overlong and bulk-memory-opt features (#117087)

This defines some new target features. These are subsets of existing
features that reflect implementation concerns:

- "call-indirect-overlong" - implied by "reference-types"; just the
overlong encoding for the `call_indirect` immediate, and not the actual
reference types.

- "bulk-memory-opt" - implied by "bulk-memory": just `memory.copy` and
`memory.fill`, and not the other instructions in the bulk-memory
proposal.

This is split out from https://github.com/llvm/llvm-project/pull/112035.

---------

Co-authored-by: Heejin Ahn <aheejin at gmail.com>


  Commit: 7907292daa781aaba2be531a8599998f5fd3f645
      https://github.com/llvm/llvm-project/commit/7907292daa781aaba2be531a8599998f5fd3f645
  Author: fengfeng <153487255+fengfeng09 at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AArch64/apply-disjoint-flag-in-dagcombine.ll

  Log Message:
  -----------
  [DAG] Apply Disjoint flag. (#118045)

or disjoint (or disjoint (x, c0), c1)
-->
or disjont x, or (c0, c1)
Alive2: https://alive2.llvm.org/ce/z/3wPth5

---------

Signed-off-by: feng.feng <feng.feng at iluvatar.com>


  Commit: 814ed93e48db4d95965258e64e8580056828a264
      https://github.com/llvm/llvm-project/commit/814ed93e48db4d95965258e64e8580056828a264
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/Sema/constant_builtins_vector.cpp

  Log Message:
  -----------
  [clang] constexpr built-in elementwise bitreverse function. (#118177)

Part of #51787.

This patch adds constexpr support for the built-in elementwise
bitreverse function.


  Commit: 1724188c19f363c877fcf1bca86d92af3864b338
      https://github.com/llvm/llvm-project/commit/1724188c19f363c877fcf1bca86d92af3864b338
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml

  Log Message:
  -----------
  [ObjectYAML][ELF] Take alignment into account when generating notes (#118157)

The [System V ABI](https://www.sco.com/developers/gabi/latest/ch5.pheader.html#note_section)
states that the note entries and their descriptor fields must be aligned
to 4 or 8 bytes for 32-bit or 64-bit objects respectively. In practice,
64-bit systems can use both alignments, with the actual format being
determined by the alignment of the segment. For example, the
[Linux gABI extension](https://github.com/hjl-tools/linux-abi/wiki/linux-abi-draft.pdf)
contains a special note on this, see 2.1.7 "Alignment of Note Sections".

This patch adjusts the format of the generated notes to the specified
section alignment. Since `llvm-readobj` was fixed in a similar way in
[D150022](https://reviews.llvm.org/D150022), "[Object] Fix handling of
Elf_Nhdr with sh_addralign=8", the generated notes can now be parsed
successfully by the tool.


  Commit: fb140125ac679c33c2c663062c6409e09fc885b9
      https://github.com/llvm/llvm-project/commit/fb140125ac679c33c2c663062c6409e09fc885b9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp

  Log Message:
  -----------
  [ORC] Fix typo in comment. NFC.


  Commit: 9ea993f975b045679907a0789d6fd4d7180593a0
      https://github.com/llvm/llvm-project/commit/9ea993f975b045679907a0789d6fd4d7180593a0
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/lambda-capture-type-deduction.cpp

  Log Message:
  -----------
  [Clang] Recover GLTemplateParameterList for generic lambdas in RebuildLambdaScopeInfo (#118176)

The NTTP argument appearing inside a trailing return type of a generic
lambda would have us check for potential lambda captures, where the
function needs GLTemplateParameterList of the current LSI to tell
whether the lambda is generic.

The lambda scope in this context is rebuilt by the
LambdaScopeForCallOperatorInstantiationRAII when substituting the lambda
operator during template argument deduction. Thus, I think the template
parameter list should be preserved in the rebuilding process, as it
seems otherwise innocuous to me.

Fixes #115931


  Commit: eb3f1aec6eff08ce1c76259bb0801f6457a55400
      https://github.com/llvm/llvm-project/commit/eb3f1aec6eff08ce1c76259bb0801f6457a55400
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
    M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll
    M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll

  Log Message:
  -----------
  [TTI][RISCV] Implement cost of some intrinsics with LMUL (#117874)

Intrinsics include:
sadd_sat/ssub_sat/uadd_sat/usub_sat/fabs/fsqrt/cttz/ctlz/ctpop


  Commit: 95979717e1122d4bb473efef2447ae92c24c9381
      https://github.com/llvm/llvm-project/commit/95979717e1122d4bb473efef2447ae92c24c9381
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml

  Log Message:
  -----------
  Revert "[ObjectYAML][ELF] Take alignment into account when generating notes (#118157)"

This reverts commit 1724188c19f363c877fcf1bca86d92af3864b338.

Some build bots reported a failure in the updated test


  Commit: fc9052ee258e35c5aaba3dc2c1419870975f3a7a
      https://github.com/llvm/llvm-project/commit/fc9052ee258e35c5aaba3dc2c1419870975f3a7a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Check __builtin_memcpy for null pointers (#118313)


  Commit: 2af2634c64b1c6f34c4905b24863b930effe3b9c
      https://github.com/llvm/llvm-project/commit/2af2634c64b1c6f34c4905b24863b930effe3b9c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [RISCV] Use vcompress in deinterleave2 intrinsic lowering (#118325)

This is analogous to febbf91 which added shuffle lowering using
vcompress; we can do the same thing in the deinterleave2 lowering path
which is used for scalable vectors.

Note that we can further improve this for high lmul usage by adjusting
how we materialize the mask (whose result is at most m1 with a known bit
pattern). I am deliberately staging the work so that the changes to
reduce register pressure are more easily evaluated on their own merit.


  Commit: 2f5bfb41e2e0c4178627a3492beed35f8143ce2f
      https://github.com/llvm/llvm-project/commit/2f5bfb41e2e0c4178627a3492beed35f8143ce2f
  Author: hstk30-hw <hanwei62 at huawei.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-objdump/ELF/AArch64/mattr.s
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm-objdump] Default to --mattr=+all for AArch64be and AArch64_32 (#118311)

GNU objdump disassembles all unknown instructions by default. 
Complement for [D128030](https://reviews.llvm.org/D128030)。


  Commit: 877b934831d491e4388b82794cded417b1b11862
      https://github.com/llvm/llvm-project/commit/877b934831d491e4388b82794cded417b1b11862
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake

  Log Message:
  -----------
  [CompilerRT] Remove sanitizer support for i386 watchsim (#117013)

This patch removes remaining support for i386 simulators, watch was the
only one left though.

resolves: rdar://102741146


  Commit: 295d6b18f77fc67c186c031204a82ff82cf59daa
      https://github.com/llvm/llvm-project/commit/295d6b18f77fc67c186c031204a82ff82cf59daa
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/lshr.ll

  Log Message:
  -----------
  [InstCombine] Fold `(X * (Y << K)) u>> K -> X * Y` when highbits are not demanded (#111151)

Alive2: https://alive2.llvm.org/ce/z/Z7QgjH


  Commit: 6ef4990daa1da215b25b1802f5d03cf1044f72bf
      https://github.com/llvm/llvm-project/commit/6ef4990daa1da215b25b1802f5d03cf1044f72bf
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp

  Log Message:
  -----------
  Re-apply "[ORC] Track all dependencies on symbols that aren't..." with fixes.

This reapplies 427fb5cc5ac, which was reverted in 08c1a6b3e18 due to bot
failures.

The fix was to remove an incorrect assertion: In IL_emit, during the initial
worklist loop, an EDU can have all of its dependencies removed without becoming
ready (because it may still have implicit dependencies that will be added back
during the subsequent propagateExtraEmitDeps operation). The EDU will be marked
Ready at the end of IL_emit if its Dependencies set is empty at that point.
Prior to that we can only assert that it's either Emitted or Ready (which is
already covered by other assertions).


  Commit: aba6bb0820b247d4caf4b5e00810909214a58053
      https://github.com/llvm/llvm-project/commit/aba6bb0820b247d4caf4b5e00810909214a58053
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC][JITLink] Add jitlink::Scope::SideEffectsOnly, use it in ORC Platforms.

SideEffectsOnly is a new jitlink::Scope value that corresponds to the
JITSymbolFlags::MaterializationSideEffectsOnly flag: Symbols with this scope
can be looked up (and form part of the initial interface of a LinkGraph) but
never actually resolve to an address (so can only be looked up with a
WeaklyReferencedSymbol lookup).

Previously ObjectLinkingLayer implicitly treated JITLink symbols as having this
scope, regardless of a Symbol's actual scope, if the
MaterializationSideEffectsOnly flag was set on the corresponding symbol in the
MaterializationResponsibility object. Using an explicit scope in JITLink for
this (1) allows JITLink plugins to identify and correctly handle
side-effects-only symbols, and (2) allows raw LinkGraphs to define
side-effects-only symbols without clients having to manually modify their
`MaterializationUnit::Interface`.


  Commit: 28e2a8912102ac442166a593f2efb15c5bd30346
      https://github.com/llvm/llvm-project/commit/28e2a8912102ac442166a593f2efb15c5bd30346
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  Revert "[ORC][JITLink] Add jitlink::Scope::SideEffectsOnly, use it in ORC Platforms."

This reverts commit aba6bb0820b247d4caf4b5e00810909214a58053 while I investigate bot
failures (e.g. https://lab.llvm.org/buildbot/#/builders/143/builds/3848)


  Commit: dac9736d05f51b47633b51d599a07ff8d1d65df3
      https://github.com/llvm/llvm-project/commit/dac9736d05f51b47633b51d599a07ff8d1d65df3
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Diagnose no-constexpr memcpy/strlen versions (#118429)


  Commit: de415fbb450d0e15c535f0ccc135e2368a15bf6f
      https://github.com/llvm/llvm-project/commit/de415fbb450d0e15c535f0ccc135e2368a15bf6f
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
    M llvm/test/Transforms/InstCombine/fcmp-select.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/minmax-fp.ll
    M llvm/test/Transforms/InstCombine/unordered-fcmp-select.ll

  Log Message:
  -----------
  [InstCombine][FP] Fix nnan preservation for transform fcmp + sel => fmax/fmin (#117977)

Preserve `nnan` constraint only if present on both `fcmp` and `select`.

Alive2: https://alive2.llvm.org/ce/z/ZNDjzt


  Commit: 45162635bf657eb0a6cdebc6398fada974981c64
      https://github.com/llvm/llvm-project/commit/45162635bf657eb0a6cdebc6398fada974981c64
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
    M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-amdgpu-cvt-f32-ubyte.mir
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll

  Log Message:
  -----------
  [GlobalISel] Combine [s,z]ext of undef into 0 (#117439)

Alternative for https://github.com/llvm/llvm-project/pull/113764

It builds on a minimalistic approach with the legality check in match
and a blind apply. The precise patterns are used for better compile-time
and modularity. It also moves the pattern check into combiner. While
unary_undef_to_zero and propagate_undef_any_op rely on custom C++ code
for pattern matching.

Is there a limit on the number of patterns?

G_ANYEXT of undef -> undef
G_SEXT of undef -> 0
G_ZEXT of undef -> 0

The combine is not a member of the post legalizer combiner for AArch64.

Test:
llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir


  Commit: 789551362e20c1adf1f292a256b7276c2045d4e1
      https://github.com/llvm/llvm-project/commit/789551362e20c1adf1f292a256b7276c2045d4e1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Handle memmove like memcpy (#118431)

This is the same thing for us, except for diagnostic differences.


  Commit: e776484a02194986028424ef5a5a782de0a681c2
      https://github.com/llvm/llvm-project/commit/e776484a02194986028424ef5a5a782de0a681c2
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Support/InstructionCost.h

  Log Message:
  -----------
  [InstructionCost] Optimize operator==

`!(*this < RHS) && !(RHS < *this)` is difficult for the optimizer to
reason about.


  Commit: 83cbb170449b17aa3e1ada514c94d9e9b4f0fca6
      https://github.com/llvm/llvm-project/commit/83cbb170449b17aa3e1ada514c94d9e9b4f0fca6
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp

  Log Message:
  -----------
  [AMDGPU] Refine AMDGPUAtomicOptimizerImpl class. NFC. (#118302)

Use references instead of pointers for most state and common up some of
the initialization between the legacy and new pass manager paths.


  Commit: 9692242f51eda6a8c33860d2879ffa291a27e3ca
      https://github.com/llvm/llvm-project/commit/9692242f51eda6a8c33860d2879ffa291a27e3ca
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-02 (Mon, 02 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll

  Log Message:
  -----------
  [RISCV][GISel] Support f64->f32 fptrunc and f32->f64 fpext without D extension.

Add RUN lines to float-convert.ll and double-convert.ll without F
extension.


  Commit: d09707070c7460d0887eae8f7022e816510d5eb1
      https://github.com/llvm/llvm-project/commit/d09707070c7460d0887eae8f7022e816510d5eb1
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  Re-apply "[ORC][JITLink] Add jitlink::Scope::SideEffectsOnly" with fixes.

This reapplies aba6bb0820b, which was reverted in 28e2a891210 due to bot
failures. It contains fixes to silence warnings for uncovered switches,
and for incorrect initializer-symbol handling on ELF and COFF.


  Commit: c1ad064dd3b9a1bf503bb8cd6d0d0418a05d10e8
      https://github.com/llvm/llvm-project/commit/c1ad064dd3b9a1bf503bb8cd6d0d0418a05d10e8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-binop.ll
    M llvm/test/Transforms/InstCombine/icmp.ll
    M llvm/test/Transforms/InstCombine/pr17827.ll

  Log Message:
  -----------
  [InstCombine] Fold `icmp spred (and X, highmask), C1` into `icmp spred X, C2` (#118197)

Alive2: https://alive2.llvm.org/ce/z/Ffg64g
Closes https://github.com/llvm/llvm-project/issues/104772.


  Commit: 46446bb2d31a7e3b2f857613b190150d41734696
      https://github.com/llvm/llvm-project/commit/46446bb2d31a7e3b2f857613b190150d41734696
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Diagnose non-constexpr builtin strcmp calls (#118442)


  Commit: e30d304d72ac9a70671268c50ee850c2f0c42ba3
      https://github.com/llvm/llvm-project/commit/e30d304d72ac9a70671268c50ee850c2f0c42ba3
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/MemCpyOpt/memset-memmove-redundant-memmove.ll

  Log Message:
  -----------
  [MemCpyOpt] Introduce test for PR101930 (NFC)


  Commit: 1d6ab189be031bf723abf35f772fbd5d4c86c612
      https://github.com/llvm/llvm-project/commit/1d6ab189be031bf723abf35f772fbd5d4c86c612
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/memset-memmove-redundant-memmove.ll

  Log Message:
  -----------
  [MemCpyOpt] Drop dead `memmove` calls on `memset`'d source data

When a memmove happens to clobber source data, and such data have
been previously memset'd, the memmove may be redundant.


  Commit: 5b0f4f2cb040f472d41870ba99ae45fc1022188f
      https://github.com/llvm/llvm-project/commit/5b0f4f2cb040f472d41870ba99ae45fc1022188f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Transforms/GVN/setjmp.ll

  Log Message:
  -----------
  [BasicAA] Treat returns_twice functions as clobbering unescaped objects (#117902)

Effectively this models all the accesses that occur between the first
and second return as happening at the point of the call.

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


  Commit: a871124f8709f6b5e837c6044ce7df056f52292a
      https://github.com/llvm/llvm-project/commit/a871124f8709f6b5e837c6044ce7df056f52292a
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    A flang/test/HLFIR/opt-bufferization-eval_in_mem.fir

  Log Message:
  -----------
  [flang][hlfir] optimize hlfir.eval_in_mem bufferization (#118069)

This patch extends the optimize bufferization to deal with the new
hlfir.eval_in_mem and move the evaluation contained in its body to
operate directly over the LHS when it can prove there are no access to
the LHS inside the region (and that the LHS is contiguous).

This will allow the array function call optimization when lowering is
changed to produce an hlfir.eval_in_mem in the next patch.


  Commit: cd7e65398fbbd9642573013800dc3ae1e7307f82
      https://github.com/llvm/llvm-project/commit/cd7e65398fbbd9642573013800dc3ae1e7307f82
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M flang/include/flang/Lower/ConvertCall.h
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/test/HLFIR/order_assignments/where-scheduling.f90
    A flang/test/Lower/HLFIR/calls-array-results.f90
    M flang/test/Lower/HLFIR/where-nonelemental.f90
    M flang/test/Lower/explicit-interface-results-2.f90
    M flang/test/Lower/explicit-interface-results.f90
    M flang/test/Lower/forall/array-constructor.f90

  Log Message:
  -----------
  [flang] optimize array function calls using hlfir.eval_in_mem (#118070)

This patch encapsulate array function call lowering into
hlfir.eval_in_mem and allows directly evaluating the call into the LHS
when possible.

The conditions are: LHS is contiguous, not accessed inside the function,
it is not a whole allocatable, and the function results needs not to be
finalized. All these conditions are tested in the previous hlfir.eval_in_mem
optimization (#118069) that is leveraging the extension of getModRef to
handle function calls(#117164).

This yields a 25% speed-up on polyhedron channel2 benchmark (from 1min
to 45s measured on an X86-64 Zen 2).


  Commit: fed3a9b8f81f5f4450e515f4499ecfda95804e95
      https://github.com/llvm/llvm-project/commit/fed3a9b8f81f5f4450e515f4499ecfda95804e95
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A mlir/include/mlir/IR/VectorTypes.h
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp

  Log Message:
  -----------
  [mlir] Add ScalableVectorType and FixedVectorType (#87986)

This PR adds two small convenience Vector types:

  * `ScalableVectorType` and `FixedVectorType`.

The goal of these new types is two-fold:
  * Enable idiomatic checks like `isa<ScalableVectorType>(...)`.
  * Make the split into "Scalable" and "Fixed-wdith" vectors a bit more
    explicit and more visible in the code-base.


The new types are added in mlir/include/mlir/IR (instead of e.g.
mlir/include/mlir/Dialect/Vector) so that the new types can be used
without requiring any new dependency (e.g. on the Vector dialect).


  Commit: 59bb9b915ef9137709313190395da56364b92db6
      https://github.com/llvm/llvm-project/commit/59bb9b915ef9137709313190395da56364b92db6
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/API/SBAddressRangeList.h
    M lldb/include/lldb/API/SBFunction.h
    M lldb/include/lldb/Core/AddressRangeListImpl.h
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/API/SBFunction.cpp
    M lldb/source/Core/AddressRangeListImpl.cpp
    A lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s

  Log Message:
  -----------
  [lldb] Expose discontinuous functions through SBFunction::GetRanges (#117532)

SBFunction::GetEndAddress doesn't really make sense for discontinuous
functions, so I'm declaring it deprecated. GetStartAddress sort of makes
sense, if one uses it to find the functions entry point, so I'm keeping
that undeprecated.

I've made the test a Shell tests because these make it easier to create
discontinuous functions regardless of the host os and architecture. They
do make testing the python API harder, but I think I've managed to come
up with something not entirely unreasonable.


  Commit: 78e35e4c0eea6c2f8184f7b98e6a385e981512db
      https://github.com/llvm/llvm-project/commit/78e35e4c0eea6c2f8184f7b98e6a385e981512db
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h

  Log Message:
  -----------
  [ValueTracking] Fix typo in `isKnownNegative` and `MaskedValueIsZero` NFC. (#118438)

Fix typos introduced by
https://github.com/llvm/llvm-project/commit/d9e8ae7d2f74fff629a8be10835677ce8039d452
and
https://github.com/llvm/llvm-project/commit/42b6c8ed3ae44ed61af5ba81bdaa5b81a9ce61ad.


  Commit: dd2b2b8bbbf4e917a84efe94cbeaaab2ed350fc9
      https://github.com/llvm/llvm-project/commit/dd2b2b8bbbf4e917a84efe94cbeaaab2ed350fc9
  Author: Adam Yang <hanbyang at microsoft.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
    A clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl

  Log Message:
  -----------
  [clang][HLSL] Add GroupMemoryBarrierWithGroupSync intrinsic (#111883)

partially fixes #70103 

### Changes
* Implemented `GroupMemoryBarrierWithGroupSync` clang builtin
* Linked `GroupMemoryBarrierWithGroupSync` clang builtin with
`hlsl_intrinsics.h`
* Added sema checks for `GroupMemoryBarrierWithGroupSync` to
`CheckHLSLBuiltinFunctionCall` in
`SemaChecking.cpp`
* Add codegen for `GroupMemoryBarrierWithGroupSync` to
`EmitHLSLBuiltinExpr` in `CGBuiltin.cpp`
* Add codegen tests to
`clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl`
* Add sema tests to
`clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl`

### Related PRs
* [[DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111884](https://github.com/llvm/llvm-project/pull/111884)
* [[SPIRV] Add GroupMemoryBarrierWithGroupSync intrinsic
#111888](https://github.com/llvm/llvm-project/pull/111888)


  Commit: 89a0ee89973c3d213c4bc11c26b41eab67e06da0
      https://github.com/llvm/llvm-project/commit/89a0ee89973c3d213c4bc11c26b41eab67e06da0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Handle __builtin_wcslen (#118446)

... just like strlen.


  Commit: ba14dac481564000339ba22ab867617590184f4c
      https://github.com/llvm/llvm-project/commit/ba14dac481564000339ba22ab867617590184f4c
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
    M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test

  Log Message:
  -----------
  [lldb] Use the function block as a source for function ranges (#117996)

This is a follow-up/reimplementation of #115730. While working on that
patch, I did not realize that the correct (discontinuous) set of ranges
is already stored in the block representing the whole function. The
catch -- ranges for this block are only set later, when parsing all of
the blocks of the function.

This patch changes that by populating the function block ranges eagerly
-- from within the Function constructor. This also necessitates a
corresponding change in all of the symbol files -- so that they stop
populating the ranges of that block. This allows us to avoid some
unnecessary work (not parsing the function DW_AT_ranges twice) and also
results in some simplification of the parsing code.


  Commit: 2526d5b1689389da9b194b5ec2878cfb2f4aca93
      https://github.com/llvm/llvm-project/commit/2526d5b1689389da9b194b5ec2878cfb2f4aca93
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
    M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test

  Log Message:
  -----------
  Revert "[lldb] Use the function block as a source for function ranges (#117996)"

This reverts commit ba14dac481564000339ba22ab867617590184f4c. I guess
"has no conflicts" doesn't mean "it will build".


  Commit: bfb26202e05ee2932b4368b5fca607df01e8247f
      https://github.com/llvm/llvm-project/commit/bfb26202e05ee2932b4368b5fca607df01e8247f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll

  Log Message:
  -----------
  LV/test: clean up a test and regen with UTC (#118394)


  Commit: 4849d593ab07c47f9f520bea636f62d159d57006
      https://github.com/llvm/llvm-project/commit/4849d593ab07c47f9f520bea636f62d159d57006
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  [clang] Warn [[clang::lifetimebound]] misusages on types (#118281)

Emit the "cannot be applied to types" warning instead of silently
ignoring the attribute when it's attempted to be used on a type (instead
of a function argument or the function definition).

Before this commit, the warning has been printed when the attribute was
(mis)used on a decl-specifier, but not in other places in a declarator.

Examples where the warning starts being emitted with this commit:

```
  int * [[clang::lifetimebound]] x;

  void f(int * [[clang::lifetimebound]] x);

  void g(int * [[clang::lifetimebound]]);
```

Note that the last example is the case of an unnamed function parameter.
While in theory Clang could've supported the `[[clang::lifetimebound]]`
analysis for unnamed parameters, it doesn't currently, so the commit at
least makes the situation better by highlighting this as a warning
instead of a silent ignore - which was reported at #96034.


  Commit: 0f4dc4276f8dd5c5e33c22096612702ede3c81ed
      https://github.com/llvm/llvm-project/commit/0f4dc4276f8dd5c5e33c22096612702ede3c81ed
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Initialize elements in __builtin_elementwise_popcount (#118457)


  Commit: 4dafb091a0336a6669e6369cb69ef1ea1b39578d
      https://github.com/llvm/llvm-project/commit/4dafb091a0336a6669e6369cb69ef1ea1b39578d
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Config/abi-breaking.h.cmake

  Log Message:
  -----------
  Revert "Add symbol visibility macros to abi-breaking.h.cmake" (#118464)

Reverts llvm/llvm-project#110898

This change has caused a cyclic module dependency `fatal error: cyclic
dependency in module 'LLVM_Utils': LLVM_Utils ->
LLVM_Config_ABI_Breaking -> LLVM_Utils`. Reverting for now until we the
right fix.


  Commit: 7d7252590916bcd540c7bd4158b9d52af7a0d547
      https://github.com/llvm/llvm-project/commit/7d7252590916bcd540c7bd4158b9d52af7a0d547
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/stack-tagging-merge-past-memcpy.mir

  Log Message:
  -----------
  [AArch64] Fix STG instruction being moved past memcpy (#117191)

When merging STG instructions used for AArch64 stack tagging, we were
stopping on reaching a load or store instruction, but not calls, so it
was possible for an STG to be moved past a call to memcpy.
 
This test case (reduced from fuzzer-generated C code) was the result of
StackColoring merging allocas A and B into one stack slot, and
StackSafetyAnalysis proving that B does not need tagging, so we end up
with tagged and untagged objects in the same stack slot. The tagged
object (A) is live first, so it is important that it's memory is
restored to the background tag before it gets reused to hold B.


  Commit: 9c5a84b394518cb8087eb0b14e9b55244adb61e7
      https://github.com/llvm/llvm-project/commit/9c5a84b394518cb8087eb0b14e9b55244adb61e7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-gep.ll

  Log Message:
  -----------
  [InstCombine] Support nusw in icmp of gep with base

Proof: https://alive2.llvm.org/ce/z/omnQXt


  Commit: bdc6faf775bc52b5225013312149dfba21f88aa2
      https://github.com/llvm/llvm-project/commit/bdc6faf775bc52b5225013312149dfba21f88aa2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-gep.ll

  Log Message:
  -----------
  [InstCombine] Support nusw in icmp of two geps with same base

Proof: https://alive2.llvm.org/ce/z/BYNQ7s


  Commit: 3f39c5df08d4ca1e7f852908e9fb255db24538da
      https://github.com/llvm/llvm-project/commit/3f39c5df08d4ca1e7f852908e9fb255db24538da
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Reject memcpy dummy pointers after null check (#118460)

To match the diagnostic output of the current interpreter.


  Commit: 51b74bb9f6457cbe53776a2a35296189c5db52f3
      https://github.com/llvm/llvm-project/commit/51b74bb9f6457cbe53776a2a35296189c5db52f3
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/API/SBFunction.cpp
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
    M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
    M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test

  Log Message:
  -----------
  Reapply "[lldb] Use the function block as a source for function ranges (#117996)"

This reverts commit 2526d5b1689389da9b194b5ec2878cfb2f4aca93, reapplying
ba14dac481564000339ba22ab867617590184f4c after fixing the conflict with
 #117532. The change is that Function::GetAddressRanges now recomputes
the returned value instead of returning the member. This means it now
returns a value instead of a reference type.


  Commit: 9a4c5a59d4ec0c582f56b221a64889c077f68376
      https://github.com/llvm/llvm-project/commit/9a4c5a59d4ec0c582f56b221a64889c077f68376
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp

  Log Message:
  -----------
  Revert "Re-apply [lldb] Do not use LC_FUNCTION_STARTS data to determine symbol size as symbols are created (#117079)"

This reverts commit ba668eb99c5dc37d3c5cf2775079562460fd7619.

Below test started failing again on x86_64 macOS CI. We're unsure
if this patch is the exact cause, but since this patch has broken
this test before, we speculatively revert it to see if it was indeed
the root cause.
```
FAIL: lldb-shell :: Unwind/trap_frame_sym_ctx.test (1692 of 2162)
******************** TEST 'lldb-shell :: Unwind/trap_frame_sym_ctx.test' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 7: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/clang --target=specify-a-target-or-use-a-_host-substitution --target=x86_64-apple-darwin22.6.0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -fmodules-cache-path=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-clang/lldb-shell /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/call-asm.c /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/trap_frame_sym_ctx.s -o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp
+ /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/clang --target=specify-a-target-or-use-a-_host-substitution --target=x86_64-apple-darwin22.6.0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -fmodules-cache-path=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-clang/lldb-shell /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/call-asm.c /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/trap_frame_sym_ctx.s -o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp
clang: warning: argument unused during compilation: '-fmodules-cache-path=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-clang/lldb-shell' [-Wunused-command-line-argument]
RUN: at line 8: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/lldb --no-lldbinit -S /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/lit-lldb-init-quiet /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp -s /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test -o exit | /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/FileCheck /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test
+ /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/lldb --no-lldbinit -S /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/lit-lldb-init-quiet /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp -s /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test -o exit
+ /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/FileCheck /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test
/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test:21:10: error: CHECK: expected string not found in input
         ^
<stdin>:26:64: note: scanning from here
 frame #1: 0x0000000100003ee9 trap_frame_sym_ctx.test.tmp`tramp
                                                               ^
<stdin>:27:2: note: possible intended match here
 frame #2: 0x00007ff7bfeff6c0
 ^

Input file: <stdin>
Check file: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            .
            .
            .
           21:  0x100003ed1 <+0>: pushq %rbp
           22:  0x100003ed2 <+1>: movq %rsp, %rbp
           23: (lldb) thread backtrace -u
           24: * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
           25:  * frame #0: 0x0000000100003ecc trap_frame_sym_ctx.test.tmp`bar
           26:  frame #1: 0x0000000100003ee9 trap_frame_sym_ctx.test.tmp`tramp
check:21'0                                                                    X error: no match found
           27:  frame #2: 0x00007ff7bfeff6c0
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:21'1      ?                             possible intended match
           28:  frame #3: 0x0000000100003ec6 trap_frame_sym_ctx.test.tmp`main + 22
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           29:  frame #4: 0x0000000100003ec6 trap_frame_sym_ctx.test.tmp`main + 22
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           30:  frame #5: 0x00007ff8193cc41f dyld`start + 1903
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           31: (lldb) exit
check:21'0     ~~~~~~~~~~~~
>>>>>>
```


  Commit: f4ce7e037828eaf3720c9169e94e85b7a106deba
      https://github.com/llvm/llvm-project/commit/f4ce7e037828eaf3720c9169e94e85b7a106deba
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [MLIR][TOSA] Update PowOp output name from z to output (#118407)

To match the latest specification:
https://www.mlplatform.org/tosa/tosa_spec.html#_pow

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 356df2dd72e8299b5de58e9390283110c19f7c76
      https://github.com/llvm/llvm-project/commit/356df2dd72e8299b5de58e9390283110c19f7c76
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  Revert "[clang] Warn [[clang::lifetimebound]] misusages on types (#118281)"

Temporarily revert the patch to give downstream teams some time to clean up their codebases.

This reverts commit 4849d593ab07c47f9f520bea636f62d159d57006.


  Commit: 62923275565e3a0f288146f2ce0569fe2ac26bf5
      https://github.com/llvm/llvm-project/commit/62923275565e3a0f288146f2ce0569fe2ac26bf5
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    R lld/CODE_OWNERS.TXT
    A lld/Maintainers.md
    M llvm/Maintainers.md

  Log Message:
  -----------
  [lld] Convert CODE_OWNERS.txt to Maintainers.md (#118084)

To align with https://llvm.org/docs/DeveloperPolicy.html#maintainers

I've moved the file and changed it to markdown to match `llvm/`'s file.


  Commit: aec9ecbcca2a3337a7d52130ab8f61a2ff151429
      https://github.com/llvm/llvm-project/commit/aec9ecbcca2a3337a7d52130ab8f61a2ff151429
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github] Change "code owners" note to refer to "maintainers" (#118087)


  Commit: b2df0074134add80ba3a483a479601b00a9f9fc7
      https://github.com/llvm/llvm-project/commit/b2df0074134add80ba3a483a479601b00a9f9fc7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    A llvm/test/CodeGen/X86/no-trap-after-noreturn-fastisel.ll

  Log Message:
  -----------
  [FastISel] Support unreachable with NoTrapAfterNoReturn (#118296)

Currently FastISel triggers a fallback if there is an unreachable
terminator and the TrapUnreachable option is enabled (the ISD::TRAP
selection does not actually work).

Add handling for NoTrapAfterNoReturn, in which case we don't actually
need to emit a trap. The test is just there to make sure there is no
FastISel fallback (which is why I'm not testing the case without
noreturn). We have other tests that check the actual unreachable codegen
variations.


  Commit: 61c2ac03d85f731d75cda23d1918f03d0cb962dc
      https://github.com/llvm/llvm-project/commit/61c2ac03d85f731d75cda23d1918f03d0cb962dc
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  Revert "[clang][bytecode] Handle __builtin_wcslen (#118446)"

This reverts commit 89a0ee89973c3d213c4bc11c26b41eab67e06da0.

This breaks builders:
https://lab.llvm.org/buildbot/#/builders/13/builds/3885


  Commit: 807544561310d49b51915f365b7521412d68c219
      https://github.com/llvm/llvm-project/commit/807544561310d49b51915f365b7521412d68c219
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    A llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll

  Log Message:
  -----------
  [LoopVectorize] Add tests for dereferenceable loads in more loops (#118470)

* Adds tests for strided accesses.
* Adds tests for reverse loops.

As part of this I've moved one of the negative tests from
load-deref-pred-align.ll into a new file
(load-deref-pred-neg-off.ll) because the pointer type had a
size of 16 bits and I realised it's probably not sensible for
allocas that are >16 bits in size!


  Commit: 5f99eb9b138d7059b2a1f53adea0a58314761f65
      https://github.com/llvm/llvm-project/commit/5f99eb9b138d7059b2a1f53adea0a58314761f65
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
    A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-vk.ll
    M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll

  Log Message:
  -----------
  [SPIR-V] Fixup storage class for global private (#118318)

Re-land of #116636
Adds a new address spaces: hlsl_private. Variables with such address
space will be emitted with a Private storage class.
This is useful for variables global to a SPIR-V module, since up to now,
they were still emitted with a Function storage class, which is wrong.

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 4a6ecd38218219ede3df34eeea72f3ffccec3413
      https://github.com/llvm/llvm-project/commit/4a6ecd38218219ede3df34eeea72f3ffccec3413
  Author: Viktoria Maximova <viktoria.maksimova at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_media_block_io/builtin-op-wrappers.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_media_block_io/cl_intel_media_block_io.ll

  Log Message:
  -----------
  Add support for SPIR-V extension: SPV_INTEL_media_block_io (#118024)

This changes implements SPV_INTEL_media_block_io extension in SPIR-V
backend.


  Commit: a63931292bad148a3498fdb30bbccb43844aee86
      https://github.com/llvm/llvm-project/commit/a63931292bad148a3498fdb30bbccb43844aee86
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [X86] Fix typo of gracemont (#118486)


  Commit: 81d82cac8c4cbd006bf991fd7380de2d72858d1c
      https://github.com/llvm/llvm-project/commit/81d82cac8c4cbd006bf991fd7380de2d72858d1c
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    A flang/test/Driver/pp-fixed-form.f90

  Log Message:
  -----------
  [flang] Treat pre-processed input as fixed (#117563)

Fixes an issue introduced by

9fb2db1e1f42 [flang] Retain spaces when preprocessing fixed-form source

Where flang -fc1 fails to parse preprocessor output because it now
remains in fixed form.


  Commit: f33536468b7f05c05c8cf8088427b0b5b665eb65
      https://github.com/llvm/llvm-project/commit/f33536468b7f05c05c8cf8088427b0b5b665eb65
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-gep.ll

  Log Message:
  -----------
  [InstCombine] Support gep nuw in icmp folds (#118472)

Unsigned icmp of gep nuw folds to unsigned icmp of offsets. Unsigned
icmp of gep nusw nuw folds to unsigned samesign icmp of offsets.

Proofs: https://alive2.llvm.org/ce/z/VEwQY8


  Commit: 51a895aded890e90493be59f7af0fa5a3b9b85aa
      https://github.com/llvm/llvm-project/commit/51a895aded890e90493be59f7af0fa5a3b9b85aa
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    A llvm/include/llvm/IR/CmpPredicate.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/unittests/IR/InstructionsTest.cpp

  Log Message:
  -----------
  IR: introduce struct with CmpInst::Predicate and samesign (#116867)

Introduce llvm::CmpPredicate, an abstraction over a floating-point
predicate, and a pack of an integer predicate with samesign information,
in order to ease extending large portions of the codebase that take a
CmpInst::Predicate to respect the samesign flag.

We have chosen to demonstrate the utility of this new abstraction by
migrating parts of ValueTracking, InstructionSimplify, and InstCombine
from CmpInst::Predicate to llvm::CmpPredicate. There should be no
functional changes, as we don't perform any extra optimizations with
samesign in this patch, or use CmpPredicate::getMatching.

The design approach taken by this patch allows for unaudited callers of
APIs that take a llvm::CmpPredicate to silently drop the samesign
information; it does not pose a correctness issue, and allows us to
migrate the codebase piece-wise.


  Commit: ff0babc9172b42a3e9f552d6959f9d98ae450633
      https://github.com/llvm/llvm-project/commit/ff0babc9172b42a3e9f552d6959f9d98ae450633
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/literals.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix discarded pointer subtractions (#118477)

We need to pop the value.


  Commit: 2a0ee090dbb9af80222bc796ac34fd4b7cba421b
      https://github.com/llvm/llvm-project/commit/2a0ee090dbb9af80222bc796ac34fd4b7cba421b
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  IVDesc: strip redundant arg in getOpcode call (NFC) (#118476)


  Commit: e1cb316cfd99208363b5eb9bf96430ca28020be0
      https://github.com/llvm/llvm-project/commit/e1cb316cfd99208363b5eb9bf96430ca28020be0
  Author: Vladislav Belov <vladislav.belov at syntacore.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/CXXInheritance.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  Reapply "[clang] Fix name lookup for dependent bases" (#118003)

Unlike the previous version
(https://github.com/llvm/llvm-project/pull/114978), this patch also
removes an unnecessary assert that causes Clang to crash when compiling
such tests. (clang/lib/AST/DeclCXX.cpp)

https://lab.llvm.org/buildbot/#/builders/52/builds/4021

```c++
template <class T> 
class X {
public:
  X() = default;
  virtual ~X() = default;

  virtual int foo(int x, int y, T &entry) = 0;

  void bar() {
    struct Y : public X<T> {
      Y() : X() {}

      int foo(int, int, T &) override {
        return 42;
      }
    };
  }
};
```

the assertions: 

```c++
llvm-project/clang/lib/AST/DeclCXX.cpp:2508: void clang::CXXMethodDecl::addOverriddenMethod(const CXXMethodDecl *): Assertion `!MD->getParent()->isDependentContext() && "Can't add an overridden method to a class template!"' failed.
```

I believe that this assert is unnecessary and contradicts the logic of
this patch. After its removal, Clang was successfully built using
itself, and all tests passed.


  Commit: 7802fb5f514be327576b69569556ec9096e5fdd7
      https://github.com/llvm/llvm-project/commit/7802fb5f514be327576b69569556ec9096e5fdd7
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/vectors.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix `__extension__` handling for vector operators (#118482)

Don't reject them, but delegate to the subexpression.


  Commit: 8c749ff8aa787049cea4d4f7331493ee17565344
      https://github.com/llvm/llvm-project/commit/8c749ff8aa787049cea4d4f7331493ee17565344
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-type.cpp

  Log Message:
  -----------
  [lldb] Fix "exact match" debug_names type queries (#118465)

.. in the global namespace

The problem was the interaction of #116989 with an optimization in
GetTypesWithQuery. The optimization was only correct for non-exact
matches, but that didn't matter before this PR due to the "second layer
of defense". After that was removed, the query started returning more
types than it should.


  Commit: 57907c1a96e82c17b16111b919ab7c0f3d4370ab
      https://github.com/llvm/llvm-project/commit/57907c1a96e82c17b16111b919ab7c0f3d4370ab
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp

  Log Message:
  -----------
  [clang-tidy] ignore `[[clang::lifetimebound]]` param in return-const-ref-from-parameter (#118315)

Fixed #117696


  Commit: c7e14689dd8bdf4b18dccb18895a9b80c225dc53
      https://github.com/llvm/llvm-project/commit/c7e14689dd8bdf4b18dccb18895a9b80c225dc53
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll

  Log Message:
  -----------
  [SPIR-V] Add XFAIL to the broken test (#118487)

The test case llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
fails due to https://github.com/llvm/llvm-project/issues/118011


  Commit: a7fda0e1e4dfd17ccf4a1bb80024acca2da6424e
      https://github.com/llvm/llvm-project/commit/a7fda0e1e4dfd17ccf4a1bb80024acca2da6424e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h

  Log Message:
  -----------
  [VPlan] Introduce VPScalarPHIRecipe, use for can & EVL IV codegen (NFC). (#114305)

Introduce a general recipe to generate a scalar phi. Lower
VPCanonicalIVPHIRecipe and VPEVLBasedIVRecipe to VPScalarIVPHIrecipe
before plan execution, avoiding the need for duplicated ::execute
implementations. There are other cases that could benefit, including
in-loop reduction phis and pointer induction phis.

Builds on a similar idea as
https://github.com/llvm/llvm-project/pull/82270.

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


  Commit: 10223c72a9c2afc3ae86eb7995f0dc47f5f9ad44
      https://github.com/llvm/llvm-project/commit/10223c72a9c2afc3ae86eb7995f0dc47f5f9ad44
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll

  Log Message:
  -----------
  [ConstraintElim] Use nusw flag for GEP decomposition

Check for nusw instead of inbounds when decomposing GEPs.

In this particular case, we can also look through multiple nusw
flags, because we will ultimately be working in the unsigned
constraint system.


  Commit: db4cbe50696798e94585cafec1a24764e9dcf199
      https://github.com/llvm/llvm-project/commit/db4cbe50696798e94585cafec1a24764e9dcf199
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/pointers/tangled-ret.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
    A llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll

  Log Message:
  -----------
  [SPIR-V] Fix generation of invalid SPIR-V in cases of of bitcasts between pointers and multiple null pointers used in the input LLVM IR (#118298)

This PR resolved the following issues:
(1) There are rare but possible cases when there are bitcasts between
pointers intertwined in a sophisticated way with loads, stores, function
calls and other instructions that are part of type deduction. In this
case we must account for inserted bitcasts between pointers rather than
just ignore them.
(2) Null pointers have the same constant representation but different
types. Type info from Intrinsic::spv_track_constant() refers to the
opaque (untyped) pointer, so that each MF/v-reg pair would fall into the
same Const record in Duplicate Tracker and would be represented by a
single OpConstantNull instruction, unless we use precise pointee type
info. We must be able to distinguish one constant (null) pointer from
another to avoid generating invalid code with inconsistent types of
operands.


  Commit: 4e6f812e9134a99320546d3805f628683b4ed334
      https://github.com/llvm/llvm-project/commit/4e6f812e9134a99320546d3805f628683b4ed334
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td

  Log Message:
  -----------
  [mlir][llvm] Align linkage enum order with LLVM (NFC) (#118484)

This change doesn't introduce any functional differences but aligns the
implementation more closely with LLVM's representation. Previously, the
code generated a lookup table to map MLIR enums to LLVM enums due to the
lack of one-to-one correspondence. With this refactoring, the generated
code now casts directly from one enum to another.


  Commit: 874b4fb6adf742344fabd7df898be31360a563b9
      https://github.com/llvm/llvm-project/commit/874b4fb6adf742344fabd7df898be31360a563b9
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/bitcast.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_optnone.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_optnone.ll
    M llvm/test/CodeGen/SPIRV/pointers/PtrCast-in-OpSpecConstantOp.ll
    M llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll

  Log Message:
  -----------
  [SPIR-V] Fix emission of debug and annotation instructions and add SPV_EXT_optnone SPIR-V extension (#118402)

This PR fixes:
* emission of OpNames (added newly inserted internal intrinsics and
basic blocks)
* emission of function attributes (SRet is added)
* implementation of SPV_INTEL_optnone so that it emits OptNoneINTEL
Function Control flag, and add implementation of the SPV_EXT_optnone
SPIR-V extension.


  Commit: af35e21cfe3f7cfc7ddd7a2f535e775e9205f61d
      https://github.com/llvm/llvm-project/commit/af35e21cfe3f7cfc7ddd7a2f535e775e9205f61d
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [flang] Update CommandTest for AIX (NFC) (#118403)

With the change in commit e335563, the behavior for `ECLGeneralErrorCommandErrorSync` 
on AIX is the same as on Linux.


  Commit: 9ad09b2930ef2e95bf8772c91f623881d1c14733
      https://github.com/llvm/llvm-project/commit/9ad09b2930ef2e95bf8772c91f623881d1c14733
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp

  Log Message:
  -----------
  [AMDGPU] Refine AMDGPUCodeGenPrepareImpl class. NFC. (#118461)

Use references instead of pointers for most state, initialize it all in
the constructor, and common up some of the initialization between the
legacy and new pass manager paths.


  Commit: c7babfa6a375d1094cf5e5d7ce4b36b2b9a6b717
      https://github.com/llvm/llvm-project/commit/c7babfa6a375d1094cf5e5d7ce4b36b2b9a6b717
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Find libc relative to DeviceRTL path (#118497)

This was discussed as a potential solution in
https://github.com/llvm/llvm-project/pull/118173


  Commit: 866b9f43a0772faee64aa421886eb101118f3167
      https://github.com/llvm/llvm-project/commit/866b9f43a0772faee64aa421886eb101118f3167
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    R llvm/test/Analysis/CostModel/SystemZ/reduce-add.ll
    A llvm/test/Analysis/CostModel/SystemZ/vector-reductions.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fadd.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmin-fmax.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmul.ll

  Log Message:
  -----------
  [SystemZ] Add realistic cost estimates for vector reduction intrinsics (#118319)

This PR adds more realistic cost estimates for these reduction
intrinsics

- `llvm.vector.reduce.umax`
- `llvm.vector.reduce.umin`
- `llvm.vector.reduce.smax`
- `llvm.vector.reduce.smin`
- `llvm.vector.reduce.fadd`
- `llvm.vector.reduce.fmul`
- `llvm.vector.reduce.fmax`
- `llvm.vector.reduce.fmin`
- `llvm.vector.reduce.fmaximum`
- `llvm.vector.reduce.fminimum`
- `llvm.vector.reduce.mul
`
The pre-existing cost estimates for `llvm.vector.reduce.add` are moved
to `getArithmeticReductionCosts` to reduce complexity in
`getVectorIntrinsicInstrCost` and enable other passes, like the SLP
vectorizer, to benefit from these updated calculations.

These are not expected to provide noticable performance improvements and
are rather provided for the sake of completeness and correctness. This
PR is in draft mode pending benchmark confirmation of this.

This also provides and/or updates cost tests for all of these
intrinsics.

This PR was co-authored by me and @JonPsson1 .


  Commit: 17cfd016b4621b8ae52bc7cc27570dd6fa8c0129
      https://github.com/llvm/llvm-project/commit/17cfd016b4621b8ae52bc7cc27570dd6fa8c0129
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU][Doc] Add `gfx950` to `gfx9-4-generic` in the document


  Commit: c9fbabfdc92f12b2b0148762e6e789157a172e4d
      https://github.com/llvm/llvm-project/commit/c9fbabfdc92f12b2b0148762e6e789157a172e4d
  Author: mandymi <131526806+mandymimi at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp

  Log Message:
  -----------
  [ASTMatcher] Fix redundant macro expansion checks in getExpansionLocOfMacro (#117143)

A performance issue was descibed in #114521 

**Root Cause**: The function getExpansionLocOfMacro is responsible for
finding the expansion location of macros. When dealing with macro
parameters, it recursively calls itself to check the expansion of macro
arguments. This recursive logic redundantly checks previous macro
expansions, leading to significant performance degradation when macros
are heavily nested.
Solution
**Modification**: Track already processed macros during recursion.
Implementation Details:
Introduced a data structure to record processed macros.
Before each recursive call, check if the macro has already been
processed to avoid redundant calculations.
**Testing**: 
1. refer to #114521 
Finder->addMatcher(expr(isExpandedFromMacro("NULL")).bind("E"), this);
run clang-tidy on freecad/src/Mod/Path/App/AreaPyImp.cpp 
clang-tidy src/Mod/Path/App/AreaPyImp.cpp -checks=-*,testchecker
-p=build/compile_commands.json
checker runs normally
2. check-clang-unit pass


  Commit: 8da490320f6dcb99b4efef2cdb3d21002db1d2f7
      https://github.com/llvm/llvm-project/commit/8da490320f6dcb99b4efef2cdb3d21002db1d2f7
  Author: Callum Fare <callum at codeplay.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    A offload/liboffload/API/APIDefs.td
    A offload/liboffload/API/CMakeLists.txt
    A offload/liboffload/API/Common.td
    A offload/liboffload/API/Device.td
    A offload/liboffload/API/OffloadAPI.td
    A offload/liboffload/API/Platform.td
    A offload/liboffload/API/README.md
    A offload/liboffload/CMakeLists.txt
    A offload/liboffload/README.md
    A offload/liboffload/exports
    A offload/liboffload/include/OffloadImpl.hpp
    A offload/liboffload/include/generated/OffloadAPI.h
    A offload/liboffload/include/generated/OffloadEntryPoints.inc
    A offload/liboffload/include/generated/OffloadFuncs.inc
    A offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    A offload/liboffload/include/generated/OffloadPrint.hpp
    A offload/liboffload/src/Helpers.hpp
    A offload/liboffload/src/OffloadImpl.cpp
    A offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/offload-tblgen/default_returns.td
    A offload/test/tools/offload-tblgen/entry_points.td
    A offload/test/tools/offload-tblgen/functions_basic.td
    A offload/test/tools/offload-tblgen/functions_code_loc.td
    A offload/test/tools/offload-tblgen/functions_ranged_param.td
    A offload/test/tools/offload-tblgen/print_enum.td
    A offload/test/tools/offload-tblgen/print_function.td
    A offload/test/tools/offload-tblgen/type_tagged_enum.td
    A offload/tools/offload-tblgen/APIGen.cpp
    A offload/tools/offload-tblgen/CMakeLists.txt
    A offload/tools/offload-tblgen/EntryPointGen.cpp
    A offload/tools/offload-tblgen/FuncsGen.cpp
    A offload/tools/offload-tblgen/GenCommon.hpp
    A offload/tools/offload-tblgen/Generators.hpp
    A offload/tools/offload-tblgen/PrintGen.cpp
    A offload/tools/offload-tblgen/RecordTypes.hpp
    A offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    A offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/common/Environment.cpp
    A offload/unittests/OffloadAPI/common/Environment.hpp
    A offload/unittests/OffloadAPI/common/Fixtures.hpp
    A offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    A offload/unittests/OffloadAPI/device/olGetDevice.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Reland of #108413: [Offload] Introduce offload-tblgen and initial new API implementation (#118503)

This is another attempt to reland the changes from #108413

The previous two attempts introduced regressions and were reverted. This
PR has been more thoroughly tested with various configurations so
shouldn't cause any problems this time. If anyone is aware of any likely
remaining problems then please let me know.

The changes are identical other than the fixes contained in the last 5
commits.

---


### New API

Previous discussions at the LLVM/Offload meeting have brought up the
need for a new API for exposing the functionality of the plugins. This
change introduces a very small subset of a new API, which is primarily
for testing the offload tooling and demonstrating how a new API can fit
into the existing code base without being too disruptive. Exact designs
for these entry points and future additions can be worked out over time.

The new API does however introduce the bare minimum functionality to
implement device discovery for Unified Runtime and SYCL. This means that
the `urinfo` and `sycl-ls` tools can be used on top of Offload. A
(rough) implementation of a Unified Runtime adapter (aka plugin) for
Offload is available
[here](https://github.com/callumfare/unified-runtime/tree/offload_adapter).
Our intention is to maintain this and use it to implement and test
Offload API changes with SYCL.

### Demoing the new API

```sh
# From the runtime build directory
$ ninja LibomptUnitTests
$ OFFLOAD_TRACE=1 ./offload/unittests/OffloadAPI/offload.unittests 
```


### Open questions and future work
* Only some of the available device info is exposed, and not all the
possible device queries needed for SYCL are implemented by the plugins.
A sensible next step would be to refactor and extend the existing device
info queries in the plugins. The existing info queries are all strings,
but the new API introduces the ability to return any arbitrary type.
* It may be sensible at some point for the plugins to implement the new
API directly, and the higher level code on top of it could be made
generic, but this is more of a long-term possibility.


  Commit: 50249263a173d43475a60ca658048cf3b6206aba
      https://github.com/llvm/llvm-project/commit/50249263a173d43475a60ca658048cf3b6206aba
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  MLRegAlloc: Do not use float to count number of used registers [NFC] (#118489)


  Commit: af31aa44551f1fd78aa0f177947cb523373ff2d9
      https://github.com/llvm/llvm-project/commit/af31aa44551f1fd78aa0f177947cb523373ff2d9
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll

  Log Message:
  -----------
  [LV] Pre-commit tests for fixed width VF fully unrolled loop cost model change


  Commit: 1f20eee6dc367bd202895e3eedb03974a628ef16
      https://github.com/llvm/llvm-project/commit/1f20eee6dc367bd202895e3eedb03974a628ef16
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll

  Log Message:
  -----------
  [SPIR-V] Emit OpConstant instead of OpConstantNull to conform to NonSemantic.Shader.DebugInfo.100 DebugTypeBasic's flags definition (#118333)

This PR is to fix https://github.com/llvm/llvm-project/issues/118011 by
emitting OpConstant instead of OpConstantNull to conform to
NonSemantic.Shader.DebugInfo.100 DebugTypeBasic's flags definition.


  Commit: 68112f0f5b2209e14aae9a891481cba5709873a2
      https://github.com/llvm/llvm-project/commit/68112f0f5b2209e14aae9a891481cba5709873a2
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libc/src/__support/OSUtil/linux/exit.cpp
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  libc: fixup include path and bazel stale comments (#118510)

Downstream builders are having issues with this local include. Use a
fuller
path that's more standard throughout the codebase.

Also some of the comments in the bazel overlay are stale. Remove them.

Reported-by: Brooks Moses <bmoses at google.com>


  Commit: 56ab56c85729976f29d5de2fd73912449cb6da7c
      https://github.com/llvm/llvm-project/commit/56ab56c85729976f29d5de2fd73912449cb6da7c
  Author: Jim B <d3x0r at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ClangFormat.rst
    M clang/lib/Format/Format.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format] Add support for `.cjs` as JavaScript file extension (#118188)

Node uses `.cjs` as an extension for 'common javascript' modules.


  Commit: 5ae613c9b9dc37ec1b0a6d76714099375288d772
      https://github.com/llvm/llvm-project/commit/5ae613c9b9dc37ec1b0a6d76714099375288d772
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [NFC] Remove trailing white spaces in `clang/include/clang/Driver/Options.td`


  Commit: afe75b4d5fcebd6fdd292ca1797de1b35cb687b0
      https://github.com/llvm/llvm-project/commit/afe75b4d5fcebd6fdd292ca1797de1b35cb687b0
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/docs/Bindings/Python.md
    M mlir/examples/standalone/python/CMakeLists.txt
    R mlir/examples/standalone/python/StandaloneExtension.cpp
    A mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
    A mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp
    R mlir/examples/standalone/python/mlir_standalone/dialects/standalone.py
    A mlir/examples/standalone/python/mlir_standalone/dialects/standalone_nanobind.py
    A mlir/examples/standalone/python/mlir_standalone/dialects/standalone_pybind11.py
    M mlir/examples/standalone/test/python/smoketest.py
    A mlir/include/mlir/Bindings/Python/Diagnostics.h
    A mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/Bindings/Python/TransformInterpreter.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/dialects/python_test.py
    M mlir/python/requirements.txt
    M mlir/test/python/dialects/python_test.py
    M mlir/test/python/lib/CMakeLists.txt
    R mlir/test/python/lib/PythonTestModule.cpp
    A mlir/test/python/lib/PythonTestModuleNanobind.cpp
    A mlir/test/python/lib/PythonTestModulePybind11.cpp
    M utils/bazel/WORKSPACE
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    A utils/bazel/third_party_build/nanobind.BUILD
    A utils/bazel/third_party_build/robin_map.BUILD

  Log Message:
  -----------
  [mlir python] Add nanobind support for standalone dialects. (#117922)

This PR allows out-of-tree dialects to write Python dialect modules
using nanobind instead of pybind11.

It may make sense to migrate in-tree dialects and some of the ODS Python
infrastructure to nanobind, but that is a topic for a future change.

This PR makes the following changes:
* adds nanobind to the CMake and Bazel build systems. We also add
robin_map to the Bazel build, which is a dependency of nanobind.
* adds a PYTHON_BINDING_LIBRARY option to various CMake functions, such
as declare_mlir_python_extension, allowing users to select a Python
binding library.
* creates a fork of mlir/include/mlir/Bindings/Python/PybindAdaptors.h
named NanobindAdaptors.h. This plays the same role, using nanobind
instead of pybind11.
* splits CollectDiagnosticsToStringScope out of PybindAdaptors.h and
into a new header mlir/include/mlir/Bindings/Python/Diagnostics.h, since
it is code that is no way related to pybind11 or for that matter,
Python.
* changed the standalone Python extension example to have both pybind11
and nanobind variants.
* changed mlir/python/mlir/dialects/python_test.py to have both pybind11
and nanobind variants.

Notes:
* A slightly unfortunate thing that I needed to do in the CMake
integration was to use FindPython in addition to FindPython3, since
nanobind's CMake integration expects the Python_ names for variables.
Perhaps there's a better way to do this.


  Commit: 04996a28b7639a333c5d04bf4d10d70bda3e0173
      https://github.com/llvm/llvm-project/commit/04996a28b7639a333c5d04bf4d10d70bda3e0173
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/SyntheticSections.cpp

  Log Message:
  -----------
  [ELF] Rename target-specific RelExpr enumerators

RelExpr enumerators are named `R_*`, which can be confused with ELF
relocation type names. Rename the target-specific ones to `RE_*` to
avoid confusion.

For consistency, the target-independent ones can be renamed as well, but
that's not urgent. The relocation processing mechanism with RelExpr has
non-trivial overhead compared with mold's approach, and we might make
more code into Arch/*.cpp files and decrease the enumerators.

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


  Commit: 61bf308cf2fc32452f14861c102ace89f5f36fec
      https://github.com/llvm/llvm-project/commit/61bf308cf2fc32452f14861c102ace89f5f36fec
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/docs/Bindings/Python.md
    M mlir/examples/standalone/python/CMakeLists.txt
    A mlir/examples/standalone/python/StandaloneExtension.cpp
    R mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
    R mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp
    A mlir/examples/standalone/python/mlir_standalone/dialects/standalone.py
    R mlir/examples/standalone/python/mlir_standalone/dialects/standalone_nanobind.py
    R mlir/examples/standalone/python/mlir_standalone/dialects/standalone_pybind11.py
    M mlir/examples/standalone/test/python/smoketest.py
    R mlir/include/mlir/Bindings/Python/Diagnostics.h
    R mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/Bindings/Python/TransformInterpreter.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/dialects/python_test.py
    M mlir/python/requirements.txt
    M mlir/test/python/dialects/python_test.py
    M mlir/test/python/lib/CMakeLists.txt
    A mlir/test/python/lib/PythonTestModule.cpp
    R mlir/test/python/lib/PythonTestModuleNanobind.cpp
    R mlir/test/python/lib/PythonTestModulePybind11.cpp
    M utils/bazel/WORKSPACE
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    R utils/bazel/third_party_build/nanobind.BUILD
    R utils/bazel/third_party_build/robin_map.BUILD

  Log Message:
  -----------
  Revert "[mlir python] Add nanobind support for standalone dialects." (#118517)

Reverts llvm/llvm-project#117922 because deps aren't met on some of the
post-commit build bots.


  Commit: 95a4d30b0d64c544106acf306c3d3fa5fde99c02
      https://github.com/llvm/llvm-project/commit/95a4d30b0d64c544106acf306c3d3fa5fde99c02
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [NFC] Remove trailing white spaces in `clang/docs/ReleaseNotes.rst`


  Commit: eb257fe37ba1ea41bd162e2fbd0ee4cd33fcdcea
      https://github.com/llvm/llvm-project/commit/eb257fe37ba1ea41bd162e2fbd0ee4cd33fcdcea
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    A clang/test/SemaOpenACC/combined-construct-num_gangs-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
    A clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
    A clang/test/SemaOpenACC/combined-construct-vector_length-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-vector_length-clause.c

  Log Message:
  -----------
  [OpenACC] Enable 3 more clauses for combined constructs.

'num_gangs', 'num_workers', and 'vector_length' are similar to
eachother, and are all the same implementation as for compute
constructs, so this patch just enables them and adds the necessary
testing to ensure they work correctly.  These will get more complicated
when they get combined with 'gang', 'worker', 'vector' and 'reduction',
but those restrictions will be implemented when those clauses are
enabled.


  Commit: d1f4f6368064d8d7bf09fbd5be8d74846d532c30
      https://github.com/llvm/llvm-project/commit/d1f4f6368064d8d7bf09fbd5be8d74846d532c30
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/test/ELF/systemz-gotent-relax-und-dso.s
    M lld/test/ELF/systemz-gotent-relax.s
    M lld/test/ELF/systemz-plt.s
    M lld/test/ELF/systemz-tls-gd.s
    M lld/test/ELF/systemz-tls-ld.s
    M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
    M llvm/test/MC/Disassembler/SystemZ/insns-pcrel.txt
    M llvm/test/MC/Disassembler/SystemZ/insns.txt
    M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
    M llvm/test/MC/SystemZ/insn-good.s

  Log Message:
  -----------
  [SystemZ] Use nop mnemonics for disassembly

To match the behavior of GNU binutils, output the nop family
of mnemonic aliases when disassembling.


  Commit: ce416a073be6da06be7fd2d427b896b380fb3877
      https://github.com/llvm/llvm-project/commit/ce416a073be6da06be7fd2d427b896b380fb3877
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [Github] fix libc documentation path (#118514)

Running `ninja docs-libc-html` produces content in
{build_dir}/libc/docs, not
{build_dir}/docs. Presubmit jobs for "Test documentation build" were
failing as
a result of commit 97f94af3560d ("[Github] Upload built docs as artifact
from
test build docs job (#118159)")

Link: #118159
Link: #117220


  Commit: f44bee78c471df8f0a258c656a921a082d7e836a
      https://github.com/llvm/llvm-project/commit/f44bee78c471df8f0a258c656a921a082d7e836a
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
    A lldb/test/Shell/SymbolFile/DWARF/x86/dwp-index-cache.cpp

  Log Message:
  -----------
  [lldb] Fix the DWARF index cache when index is partial. (#118390)

The ManualDWARFIndex class can create a index cache if the LLDB index
cache is enabled. This used to save the index to the same file,
regardless of wether the cache was a full index (no .debug_names) or a
partial index (have .debug_names, but not all .o files were had
.debug_names). So we could end up saving an index cache that was
partial, and then later load that partial index as if it were a full
index if the user set the 'settings set
plugin.symbol-file.dwarf.ignore-file-indexes true'. This would cause us
to ignore the .debug_names section, and if the index cache was enabled,
we could end up loading the partial index as if it were a full DWARF
index.

This patch detects when the ManualDWARFIndex is being used with
.debug_names, and saves out a cache file with a suffix of "-full" or
"-partial" to avoid this issue.


  Commit: e8b9e1354accf33ced45321abdd8c8bc65d025cc
      https://github.com/llvm/llvm-project/commit/e8b9e1354accf33ced45321abdd8c8bc65d025cc
  Author: Augie Fackler <augie at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M utils/bazel/llvm_configs/abi-breaking.h.cmake

  Log Message:
  -----------
  [bazel] update config.h.cmake

for 4dafb091a0336a6669e6369cb69ef1ea1b39578d
reverts 1a1de2465d8399b178149e7e23c7450fdc5dde9f


  Commit: 2a1a02461a8d4ae9f560a4215fe85a1f085b4d82
      https://github.com/llvm/llvm-project/commit/2a1a02461a8d4ae9f560a4215fe85a1f085b4d82
  Author: Luke Riddle <35970909+lukejriddle at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i
    M lldb/test/API/python_api/find_in_memory/TestFindInMemory.py

  Log Message:
  -----------
  Make SBMemoryRegionInfoList iterable with Python SWIG (#117358)

This PR fixes a simple SWIG issue with SBMemoryRegionInfoList not being
iterable out-of-the-box. This is mostly because of limitations to the
`lldb_iter` function, which doesn't allow for specifying arguments to
the size / iter functions passed.

Before:
```
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> for region in lldb.process.GetMemoryRegions():
...   print(region)
...
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/opt/llvm/stable/Toolchains/llvm-sand.xctoolchain/usr/lib/python3.10/site-packages/lldb/__init__.py", line 114, in lldb_iter
    yield elem(i)
TypeError: SBMemoryRegionInfoList.GetMemoryRegionAtIndex() missing 1 required positional argument: 'region_info'
```

After:
```
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> for region in lldb.process.GetMemoryRegions():
...   print(region)
... 
[0x0000000000200000-0x00000000002cf000 R--]
[0x00000000002cf000-0x0000000000597000 R-X]
[0x0000000000597000-0x00000000005ad000 R--]
[0x00000000005ad000-0x00000000005b1000 RW-]
[0x00000000005b1000-0x0000000000b68000 RW-]
[0x000000007fff7000-0x000000008fff7000 RW-]
[0x000002008fff7000-0x000010007fff8000 RW-]
[0x0000503000000000-0x0000503000010000 RW-]
[0x0000503e00000000-0x0000503e00010000 RW-]
[0x0000504000000000-0x0000504000010000 RW-]
[0x0000504e00000000-0x0000504e00010000 RW-]
[0x000050d000000000-0x000050d000010000 RW-]
[0x000050de00000000-0x000050de00010000 RW-]
[0x000050e000000000-0x000050e000010000 RW-]
[0x000050ee00000000-0x000050ee00010000 RW-]
[0x0000511000000000-0x0000511000010000 RW-]
[0x0000511e00000000-0x0000511e00010000 RW-]
[0x0000513000000000-0x0000513000010000 RW-]
...
```


  Commit: 935bbbbde4b2661ed7f8f2975a39bda360572572
      https://github.com/llvm/llvm-project/commit/935bbbbde4b2661ed7f8f2975a39bda360572572
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-str.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-rodata.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-used-with-stringpool.ll
    M llvm/test/CodeGen/PowerPC/mergeable-string-pool-exceptions.ll
    M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll

  Log Message:
  -----------
  [PPC] Remove missed cases of ppc-merge-string-pool (#117626)

PPCMergeStringPool was replaced with GlobalMerge with commit aaa37d6.
Some cases of option ppc-merge-string-pool were missed being removed.


  Commit: 0ca8a593e5da5d00100db8f735b4c4babeb36eb8
      https://github.com/llvm/llvm-project/commit/0ca8a593e5da5d00100db8f735b4c4babeb36eb8
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Target/Platform.h

  Log Message:
  -----------
  [lldb][NFC] Remove unused field Platform::m_remote_url (#118411)

Related:
https://discourse.llvm.org/t/rfc-lldb-a-proposal-to-refactor-platform/82697


  Commit: 0c6457b781ae8365ef2169376ae78675b5b4896b
      https://github.com/llvm/llvm-project/commit/0c6457b781ae8365ef2169376ae78675b5b4896b
  Author: Mason Remy <masonr at microsoft.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/TableGen/intrinsic-overload-conflict.td
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Refine overloaded intrinsic suffix check (#117957)

Previously the check comments indicated that [pi][0-9]+ would match as a
type suffix, however the check itself was looking for [pi][0-9]* and
hence an 'i' suffix in isolation was being considered as a type suffix
despite it not having a bitwidth.

This change makes the check consistent with the comment and looks for
[pi][0-9]+


  Commit: deed1b0664e85cd3bb33451a81db52459d9f7663
      https://github.com/llvm/llvm-project/commit/deed1b0664e85cd3bb33451a81db52459d9f7663
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp

  Log Message:
  -----------
  [SystemZ] Fix address parsing in HLASM mode

When parsing an address that contains only a single register
for an instruction that actually has both a base and an index
register, the parsed register is treated as base by AsmParser.

This is correct when emulating the GNU assembler, but not when
emulating HLASM, as the latter treat the register as index in
this case.


  Commit: 9791f258079a4334c61c64cb62d9746a3db2c25c
      https://github.com/llvm/llvm-project/commit/9791f258079a4334c61c64cb62d9746a3db2c25c
  Author: Aidan Goldfarb <47676355+AidanGoldfarb at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/Features.def
    M clang/test/Sema/enum.c

  Log Message:
  -----------
  [clang][sema] Add support and documentation for `__has_extension(c_fixed_enum)` (#117507)

This PR addresses #116880 

Updated
[LanguageExtensions.rst](https://github.com/llvm/llvm-project/blob/main/clang/docs/LanguageExtensions.rst)
to include support for C++11 enumerations with a fixed underlying type
in C. Included a note that this is only a language extension prior to
C23.

Updated
[Features.def](https://github.com/llvm-mirror/clang/blob/master/include/clang/Basic/Features.def)
to support for `__has_extension(c_fixed_enum)` by added it as a feature
(for C23) and an extension (for <C23).

Updated
[enum.c](https://github.com/llvm/llvm-project/blob/main/clang/test/Sema/enum.c)
to ensure support of C++11 enumerations with a fixed underlying type in
both <C23 and C23, as well as the functionality of
`__has_extension(c_fixed_enum)`.

---

In enum.c, I encountered a warning when testing enumerations with a
fixed underlying type in pre-C23 modes. Specifically, the test produces
the warning: `enumeration types with a fixed underlying type are a C23
extension`. I am unsure if this warning is expected behavior, as
enumerations with a fixed underlying type should behave identically in
pre-C23 and C23 modes. I expected that adding `c_fixed_enum` as an
extension would fix this warning. Feedback on whether this is correct or
requires adjustment would be appreciated.

I was also unsure of the best location for the additions in
`Features.def`, I would appreciate advice on this as well

Note that this is my first PR to LLVM, so please liberally critique it!


  Commit: acf3b1aa932b2237c181686e52bc61584a80a3ff
      https://github.com/llvm/llvm-project/commit/acf3b1aa932b2237c181686e52bc61584a80a3ff
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    A llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    R llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Reland [NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)

Moved the IR unit test to the CodeGen folder to resolve linker errors:

`error: undefined reference to 'vtable for
llvm::DroppedVariableStatsIR'`

This patch is trying to reland
https://github.com/llvm/llvm-project/pull/115563


  Commit: 4dd5ac906f9efdba3034b70acdda406348dc6f53
      https://github.com/llvm/llvm-project/commit/4dd5ac906f9efdba3034b70acdda406348dc6f53
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll

  Log Message:
  -----------
  [RISCV] Improve coverage for spread(N) shuffles

I'd already included a few cases for spread(N) in the decompress(N) variants,
but rename for clarity and add a couple more edge cases.

i.e. spread(N, 0) produces a, undef, b, undef, ...


  Commit: b8805c88ce09fe8cc7e469162cbef05722559566
      https://github.com/llvm/llvm-project/commit/b8805c88ce09fe8cc7e469162cbef05722559566
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Clang-format a few lines to remove diff in a nearby patch


  Commit: 4b9bf660f3a3db3b22dd33aa5b23986748b09ec3
      https://github.com/llvm/llvm-project/commit/4b9bf660f3a3db3b22dd33aa5b23986748b09ec3
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

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


  Commit: 25b1896686177673dcd548489e92c7880d576948
      https://github.com/llvm/llvm-project/commit/25b1896686177673dcd548489e92c7880d576948
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/test/Sema/enum.c

  Log Message:
  -----------
  Fix test for bots where -std=c99 is the default

Amends 9791f258079a4334c61c64cb62d9746a3db2c25c

This addresses the issue found by:
https://lab.llvm.org/buildbot/#/builders/144/builds/13023


  Commit: f7151248579330df8ea68003f60b778149e0f262
      https://github.com/llvm/llvm-project/commit/f7151248579330df8ea68003f60b778149e0f262
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Fix the vscode-uninstall command

The command was using the wrong publisher name ("llvm" rather than
"llvm-vs-code-extensions") resulting in the command complaining:

```
npm run vscode-uninstall

> lldb-dap at 0.2.6 vscode-uninstall
> code --uninstall-extension llvm.lldb-dap

Extension 'llvm.lldb-dap' is not installed.
Make sure you use the full extension ID, including the publisher, e.g.: ms-dotnettools.csharp
```


  Commit: 0ccd18ead138e9efc56b6c16ded6c3f4df86ae91
      https://github.com/llvm/llvm-project/commit/0ccd18ead138e9efc56b6c16ded6c3f4df86ae91
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  Typo fix; NFC


  Commit: 384562495bae44be053c1bbd40c359ef4b82d803
      https://github.com/llvm/llvm-project/commit/384562495bae44be053c1bbd40c359ef4b82d803
  Author: John Harrison <harjohn at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Host/Socket.h
    M lldb/include/lldb/Host/common/TCPSocket.h
    M lldb/include/lldb/Host/posix/DomainSocket.h
    M lldb/source/Host/common/TCPSocket.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/unittests/Host/SocketTest.cpp

  Log Message:
  -----------
  [lldb] For a host socket, add a method to print the listening address. (#118330)

This is most useful if you are listening on an address like
'localhost:0' and want to know the resolved ip + port of the socket
listener.


  Commit: fc11b6790e7439edc5399d1c9626c538d5520e6c
      https://github.com/llvm/llvm-project/commit/fc11b6790e7439edc5399d1c9626c538d5520e6c
  Author: nawrinsu <nawrin.sultana at intel.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Update LLVM maintainers for OpenMP runtime (#118521)


  Commit: cd04653c4e7d66e9d3cc8e442c4fd6ef124702a9
      https://github.com/llvm/llvm-project/commit/cd04653c4e7d66e9d3cc8e442c4fd6ef124702a9
  Author: wldfngrs <wldfngrs at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/newhdrgen/yaml/math.yaml
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/sincosf16_utils.h
    A libc/src/math/generic/sinf16.cpp
    M libc/src/math/generic/tanpif16.cpp
    A libc/src/math/sinf16.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/sinf16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/sinf16_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add sinf16 C23 math function (#116674)

Co-authored-by: OverMighty <its.overmighty at gmail.com>


  Commit: 2d57333da432921762323718351a21532867588c
      https://github.com/llvm/llvm-project/commit/2d57333da432921762323718351a21532867588c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [flang] Fix crash in HLFIR generation (#118399)

Structure constructors with multiple components would crash when
components were from parent types. The search for the right parent
component must be done anew for each component.

Fixes https://github.com/llvm/llvm-project/issues/118270,
https://github.com/llvm/llvm-project/issues/96994, and
https://github.com/llvm/llvm-project/issues/105848.


  Commit: d6cd214dd6ae35ea50be4fdc296ef9091f762375
      https://github.com/llvm/llvm-project/commit/d6cd214dd6ae35ea50be4fdc296ef9091f762375
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [ThinLTO][LowerTypeTests] Don't compute address taken set unless CFI (NFC) (#118508)

The AddressTaken set used for CFI with regular LTO was being computed on
the ExportSummary regardless of whether any CFI metadata existed. In the
case of ThinLTO, the ExportSummary is the global summary index for the
target, and the lack of guard in this code meant this was being computed
on the ThinLTO index even when there was an empty regular LTO module,
since the backend is called on the combined module to generate the
expected output file (normally this is trivial as there is no IR).

Move the computation of the AddressTaken set into the condition checking
for CFI to avoid this overhead. This change resulted in a 20% speedup in
the thin link of a large target. It looks like the outer loop has
existed here for several years, but likely became a larger overhead
after the inner loop was added very recently in PR113987.

I will send a separate patch to refactor the ThinLTO backend handling to
avoid invoking the opt pipeline if the module is empty, in case there
are other summary-based analyses in some of the passes now or in the
future. This change is still desireable as by default regular LTO
modules contain summaries, or we can have split thin and regular LTO
modules, and if they don't involve CFI these would still unnecessarily
compute the AddressTaken set.


  Commit: fdd09e9de579e6915d467c1b72efb8c653739602
      https://github.com/llvm/llvm-project/commit/fdd09e9de579e6915d467c1b72efb8c653739602
  Author: Rashmi Mudduluru <r_mudduluru at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp

  Log Message:
  -----------
  [ASTMatchers] AST matcher support for ObjC pointers (#117021)

Add `ObjCInterfaceDecl` to the list of types supported by the `hasType`
and `hasDeclaration` matchers, `ObjCObjectPointerType` to the list of
types supported by `pointee`.
These AST matcher improvements will help the new WebKit checker for
unsafe casts
([https://github.com/llvm/llvm-project/pull/114606](https://github.com/llvm/llvm-project/pull/114606))
match on unsafe Objective-C pointer casts.


  Commit: e0ae7793fca0c78919bc41ffd407acb62146ad47
      https://github.com/llvm/llvm-project/commit/e0ae7793fca0c78919bc41ffd407acb62146ad47
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    R libc/config/baremetal/api.td
    R libc/config/gpu/api.td
    R libc/config/linux/api.td
    R libc/config/public_api.td
    M libc/docs/dev/header_generation.rst
    M libc/docs/gpu/building.rst
    M libc/include/CMakeLists.txt
    R libc/spec/bsd_ext.td
    R libc/spec/gnu_ext.td
    R libc/spec/gpu_ext.td
    R libc/spec/linux.td
    R libc/spec/llvm_libc_ext.td
    R libc/spec/llvm_libc_stdfix_ext.td
    R libc/spec/posix.td
    R libc/spec/spec.td
    R libc/spec/stdc.td
    R libc/spec/stdc_ext.td
    M libc/test/src/CMakeLists.txt
    R libc/utils/HdrGen/CMakeLists.txt
    R libc/utils/HdrGen/Command.cpp
    R libc/utils/HdrGen/Command.h
    R libc/utils/HdrGen/Generator.cpp
    R libc/utils/HdrGen/Generator.h
    R libc/utils/HdrGen/IncludeFileCommand.cpp
    R libc/utils/HdrGen/IncludeFileCommand.h
    R libc/utils/HdrGen/Main.cpp
    R libc/utils/HdrGen/PrototypeTestGen/CMakeLists.txt
    R libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
    R libc/utils/HdrGen/PublicAPICommand.cpp
    R libc/utils/HdrGen/PublicAPICommand.h
    R libc/utils/HdrGen/README.md
    R libc/utils/LibcTableGenUtil/APIIndexer.cpp
    R libc/utils/LibcTableGenUtil/APIIndexer.h
    R libc/utils/LibcTableGenUtil/CMakeLists.txt
    M llvm/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [libc] delete hdrgen (#117220)

Thanks to the effort of @RoseZhang03 and @aaryanshukla under the
guidance of
@michaelrj-google and @amykhuang, we now have newhdrgen and no longer
have a
dependency on TableGen and thus LLVM in order to start bootstrapping a
full
build.

This PR removes:
- LIBC_HDRGEN_EXE; the in tree newhdrgen is the only hdrgen that can be
used.
- LIBC_USE_NEW_HEADER_GEN; newhdrgen is the default and only option.
- LIBC_HDRGEN_ONLY; there is no need to have a distinct build step for
old
  hdrgen.
- libc-api-test and libc-api-test-tidy build targets.
- Deletes all .td files.

It does not rename newhdrgen to just hdrgen. Will follow up with a
distinct PR
for that.

Link: #117209
Link: #117254
Fixes: #117208


  Commit: a0c4f854cad2b97e44a1b58dc1fd982e1c4d60f3
      https://github.com/llvm/llvm-project/commit/a0c4f854cad2b97e44a1b58dc1fd982e1c4d60f3
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libc/src/__support/ctype_utils.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/ctype/isxdigit.cpp
    M libc/src/ctype/isxdigit_l.cpp
    M libc/src/ctype/toupper.cpp
    M libc/src/ctype/toupper_l.cpp
    M libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_hex_converter.h
    M libc/src/stdio/printf_core/float_inf_nan_converter.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/scanf_core/converter_utils.h
    M libc/src/stdio/scanf_core/float_converter.cpp
    M libc/src/stdio/scanf_core/int_converter.cpp
    M libc/src/stdio/scanf_core/ptr_converter.cpp
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/src/__support/CPP/stringview_test.cpp
    M libc/test/src/ctype/isalnum_test.cpp
    M libc/test/src/ctype/isalpha_test.cpp
    M libc/test/src/ctype/isdigit_test.cpp
    M libc/test/src/ctype/islower_test.cpp
    M libc/test/src/ctype/isupper_test.cpp
    M libc/test/src/ctype/isxdigit_test.cpp
    M libc/test/src/ctype/tolower_test.cpp
    M libc/test/src/ctype/toupper_test.cpp
    M libc/test/src/stdlib/StrtolTest.h
    M libc/test/src/string/strcmp_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel

  Log Message:
  -----------
  [libc] Change ctype to be encoding independent (#110574)

The previous implementation of the ctype functions assumed ASCII.
This patch changes to a switch/case implementation that looks odd, but
actually is easier for the compiler to understand and optimize.


  Commit: 249755cedb17ffa707253edcef1a388f807caa35
      https://github.com/llvm/llvm-project/commit/249755cedb17ffa707253edcef1a388f807caa35
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/CodeGen/MachineFunctionPass.h
    M llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/CodeGen/MachineFunctionPass.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp

  Log Message:
  -----------
  Reland "Add a pass to collect dropped var stats for MIR" (#117044)

Moved the MIR Test to the unittests/CodeGen folder

This is patch is part of a stack of patches, and follows
https://github.com/llvm/llvm-project/pull/117042

I moved the MIR test to the unittests/CodeGen folder 

I am trying to reland https://github.com/llvm/llvm-project/pull/115566


  Commit: 51553227f010e3a9a439b2e57af15a6797f69a90
      https://github.com/llvm/llvm-project/commit/51553227f010e3a9a439b2e57af15a6797f69a90
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    R offload/liboffload/API/APIDefs.td
    R offload/liboffload/API/CMakeLists.txt
    R offload/liboffload/API/Common.td
    R offload/liboffload/API/Device.td
    R offload/liboffload/API/OffloadAPI.td
    R offload/liboffload/API/Platform.td
    R offload/liboffload/API/README.md
    R offload/liboffload/CMakeLists.txt
    R offload/liboffload/README.md
    R offload/liboffload/exports
    R offload/liboffload/include/OffloadImpl.hpp
    R offload/liboffload/include/generated/OffloadAPI.h
    R offload/liboffload/include/generated/OffloadEntryPoints.inc
    R offload/liboffload/include/generated/OffloadFuncs.inc
    R offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    R offload/liboffload/include/generated/OffloadPrint.hpp
    R offload/liboffload/src/Helpers.hpp
    R offload/liboffload/src/OffloadImpl.cpp
    R offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    R offload/test/tools/offload-tblgen/default_returns.td
    R offload/test/tools/offload-tblgen/entry_points.td
    R offload/test/tools/offload-tblgen/functions_basic.td
    R offload/test/tools/offload-tblgen/functions_code_loc.td
    R offload/test/tools/offload-tblgen/functions_ranged_param.td
    R offload/test/tools/offload-tblgen/print_enum.td
    R offload/test/tools/offload-tblgen/print_function.td
    R offload/test/tools/offload-tblgen/type_tagged_enum.td
    R offload/tools/offload-tblgen/APIGen.cpp
    R offload/tools/offload-tblgen/CMakeLists.txt
    R offload/tools/offload-tblgen/EntryPointGen.cpp
    R offload/tools/offload-tblgen/FuncsGen.cpp
    R offload/tools/offload-tblgen/GenCommon.hpp
    R offload/tools/offload-tblgen/Generators.hpp
    R offload/tools/offload-tblgen/PrintGen.cpp
    R offload/tools/offload-tblgen/RecordTypes.hpp
    R offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    R offload/unittests/OffloadAPI/CMakeLists.txt
    R offload/unittests/OffloadAPI/common/Environment.cpp
    R offload/unittests/OffloadAPI/common/Environment.hpp
    R offload/unittests/OffloadAPI/common/Fixtures.hpp
    R offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    R offload/unittests/OffloadAPI/device/olGetDevice.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    R offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    R offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    R offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Revert "Reland of #108413: [Offload] Introduce offload-tblgen and initial new API implementation" (#118541)

Reverts llvm/llvm-project#118503

Broke bot
https://lab.llvm.org/staging/#/builders/131/builds/9701/steps/5/logs/stdio


  Commit: d8b5af45040431c44c1766aa505a6edb786ef81b
      https://github.com/llvm/llvm-project/commit/d8b5af45040431c44c1766aa505a6edb786ef81b
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/CodeGen/MachineFunctionPass.h
    M llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/CodeGen/MachineFunctionPass.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    R llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp

  Log Message:
  -----------
  Revert "Reland "Add a pass to collect dropped var stats for MIR" (#117044)"

This reverts commit 249755cedb17ffa707253edcef1a388f807caa35.

Broke https://lab.llvm.org/buildbot/#/builders/160/builds/9420

Note: This is test shard 99 of 154.
[==========] Running 2 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 1 test from DroppedVariableStatsMIR
[ RUN      ] DroppedVariableStatsMIR.InlinedAt

--
exit: -11


  Commit: 80987ef4b609301c0f4cf2de62f91aff6d32418f
      https://github.com/llvm/llvm-project/commit/80987ef4b609301c0f4cf2de62f91aff6d32418f
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    R llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    R llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Revert "Reland [NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)"

This reverts commit acf3b1aa932b2237c181686e52bc61584a80a3ff.

Broke https://lab.llvm.org/buildbot/#/builders/76/builds/5002

tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/BackendUtil.cpp.o:(.toc+0x258): undefined reference to `vtable for llvm::DroppedVariableStatsIR'


  Commit: 9bf6365237f3a8a401afc0a69d2fb6d1b809ce68
      https://github.com/llvm/llvm-project/commit/9bf6365237f3a8a401afc0a69d2fb6d1b809ce68
  Author: Lee Wei <lee10202013 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/ObjCARC/allocas.ll
    M llvm/test/Transforms/ObjCARC/basic.ll
    M llvm/test/Transforms/ObjCARC/cfg-hazards.ll
    M llvm/test/Transforms/ObjCARC/contract-testcases.ll
    M llvm/test/Transforms/ObjCARC/empty-block.ll
    M llvm/test/Transforms/ObjCARC/path-overflow.ll
    M llvm/test/Transforms/Reassociate/2011-01-26-UseAfterFree.ll
    M llvm/test/Transforms/Reassociate/2012-06-08-InfiniteLoop.ll
    M llvm/test/Transforms/Reassociate/add_across_block_crash.ll
    M llvm/test/Transforms/Reassociate/infloop-deadphi.ll
    M llvm/test/Transforms/Reassociate/reassociate-landingpad.ll
    M llvm/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll
    M llvm/test/Transforms/SCCP/2006-10-23-IPSCCP-Crash.ll
    M llvm/test/Transforms/SCCP/2008-01-27-UndefCorrelate.ll
    M llvm/test/Transforms/SCCP/PR26044.ll
    M llvm/test/Transforms/SCCP/crash.ll
    M llvm/test/Transforms/SCCP/domtree-update.ll
    M llvm/test/Transforms/SCCP/fp-bc-icmp-const-fold.ll
    M llvm/test/Transforms/SCCP/ipsccp-preserve-pdt.ll
    M llvm/test/Transforms/SCCP/pr49582-iterator-invalidation.ll
    M llvm/test/Transforms/SCCP/return-zapped.ll
    M llvm/test/Transforms/SCCP/solve-after-each-resolving-undefs-for-function.ll
    M llvm/test/Transforms/SCCP/switch-constantfold-crash.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/trunc-insertion.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_7zip.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet3.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_flop7.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_lencod-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_mandeltext.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_sim4b1.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_smallpt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cse.ll
    M llvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
    M llvm/test/Transforms/SLPVectorizer/X86/no-scheduled-instructions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ordering.ll
    M llvm/test/Transforms/SLPVectorizer/X86/partail.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi_overalignedtype.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr16571.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_unsupported.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_reordered_users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reuse-extracts-in-wider-vect.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/value-bug-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/value-bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
    M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
    M llvm/test/Transforms/Scalarizer/crash-bug.ll
    M llvm/test/Transforms/Scalarizer/dbgloc-bug-inseltpoison.ll
    M llvm/test/Transforms/Scalarizer/dbgloc-bug.ll
    M llvm/test/Transforms/Scalarizer/phi-unreachable-pred.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2011-06-02-CritSwitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2012-04-30-LoopUnswitch-LPad-Crash.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2015-09-18-Addrspace.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/delete-dead-blocks.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/formDedicatedAfterTrivial1.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/guards.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/pr37888.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/preserve-analyses.ll
    M llvm/test/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll
    M llvm/test/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll
    M llvm/test/Transforms/SimplifyCFG/branch-on-undef.ll
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
    M llvm/test/Transforms/SimplifyCFG/pr34131.ll
    M llvm/test/Transforms/Sink/dead-user.ll
    M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
    M llvm/test/Transforms/StructurizeCFG/loop-continue-phi.ll

  Log Message:
  -----------
  [llvm] Remove `br i1 undef` from some regression tests [NFC] (#118419)

This PR removes tests with `br i1 undef` under
`llvm/tests/Transforms/ObjCARC, Reassociate, SCCP, SLPVectorizer...`.
After this PR, I'll continue to fix tests under `llvm/tests/CodeGen`,
which has more UB tests than `llvm/tests/Transforms`.


  Commit: fef54d0393fda144a23d764f96d42f5e1d17ab3e
      https://github.com/llvm/llvm-project/commit/fef54d0393fda144a23d764f96d42f5e1d17ab3e
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Add skeletons for new register bank select passes (#112862)

New register bank select for AMDGPU will be split in two passes:
- AMDGPURegBankSelect: select banks based on machine uniformity analysis
- AMDGPURegBankLegalize: lower instructions that can't be inst-selected
  with register banks assigned by AMDGPURegBankSelect.
AMDGPURegBankLegalize is similar to legalizer but with context of
uniformity analysis. Does not change already assigned banks.
Main goal of AMDGPURegBankLegalize is to provide high level table-like
overview of how to lower generic instructions based on available target
features and uniformity info (uniform vs divergent).
See RegBankLegalizeRules.

Summary of new features:
At the moment register bank select assigns register bank to output
register using simple algorithm:
- one of the inputs is vgpr output is vgpr
- all inputs are sgpr output is sgpr.
When function does not contain divergent control flow propagating
register banks like this works. In general, first point is still correct
but second is not when function contains divergent control flow.
Examples:
- Phi with uniform inputs that go through divergent branch
- Instruction with temporal divergent use.
To fix this AMDGPURegBankSelect will use machine uniformity analysis
to assign vgpr to each divergent and sgpr to each uniform instruction.
But some instructions are only available on VALU (for example floating
point instructions before gfx1150) and we need to assign vgpr to them.
Since we are no longer propagating register banks we need to ensure that
uniform instructions get their inputs in sgpr in some way.
In AMDGPURegBankLegalize uniform instructions that are only available on
VALU will be reassigned to vgpr on all operands and read-any-lane vgpr
output to original sgpr output.


  Commit: 45ff28746f5f6350a95d8d9a3e3b3a62b932bce9
      https://github.com/llvm/llvm-project/commit/45ff28746f5f6350a95d8d9a3e3b3a62b932bce9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstraintSystem.h
    M llvm/test/Transforms/ConstraintElimination/constraint-overflow.ll

  Log Message:
  -----------
  [ConstraintSystem] Fix signed overflow in negate.

Use AddOverflow for potentially overflowing addition to fixed signed
integer overflow.

Compile-time impact is in the noise
https://llvm-compile-time-tracker.com/compare.php?from=bfb26202e05ee2932b4368b5fca607df01e8247f&to=195b0707148b567c674235e59712458e7ce1bb0e&stat=instructions:u


  Commit: 69e9ceb04343ee661b53a49d61158a0e81250d32
      https://github.com/llvm/llvm-project/commit/69e9ceb04343ee661b53a49d61158a0e81250d32
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [gn build] Port 80987ef4b609


  Commit: 7417ba67305747469e9636af68476faf12eefbcc
      https://github.com/llvm/llvm-project/commit/7417ba67305747469e9636af68476faf12eefbcc
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn

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


  Commit: b5b15c1973935da943e8cee26dc961c6dbe339b9
      https://github.com/llvm/llvm-project/commit/b5b15c1973935da943e8cee26dc961c6dbe339b9
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/tools/dump_ast_matchers.py

  Log Message:
  -----------
  [ast matcher][NFC] make dump_ast_matchers.py run in any path (#117942)


  Commit: d5956fb8f999e60af8bede8b17b02ca3a7b7cf4f
      https://github.com/llvm/llvm-project/commit/d5956fb8f999e60af8bede8b17b02ca3a7b7cf4f
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/test/AArch64/veneer-lld-abs.s

  Log Message:
  -----------
  [BOLT][AArch64] Add support for short LLD thunks/veneers (#118422)

When a callee function is closer than 256MB from its call site, LLD
linker can strategically create a short thunk for the function with a
single branch instruction (that covers +/-128MB). Detect and convert
such thunks into direct calls in BOLT.


  Commit: a9bf16d961e9bb0923b401bc26697c6ca707a1f5
      https://github.com/llvm/llvm-project/commit/a9bf16d961e9bb0923b401bc26697c6ca707a1f5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp

  Log Message:
  -----------
  [StaticAnalyzer] Migrate away from PointerUnion::{is,get} (NFC) (#118421)

Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.


  Commit: c8060423fe153fcb8febbebc4a043123b7a29a7b
      https://github.com/llvm/llvm-project/commit/c8060423fe153fcb8febbebc4a043123b7a29a7b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libcxx/include/__atomic/atomic.h

  Log Message:
  -----------
  [libc++] Drop dependency on __functional/operations.h from <atomic> (#117302)

This should reduce the preprocessed size of the atomic header and other
headers in the synchronization library.


  Commit: 5522d2462ed261a9c60fda2d56c65978a70a1793
      https://github.com/llvm/llvm-project/commit/5522d2462ed261a9c60fda2d56c65978a70a1793
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][cuda] Allow AbstractResult to run in gpu.module (#118529)

in CUDA Fortran, device function are converted to `gpu.func` inside the
`gpu.module` operation. Update the AbstractResult pass to be able to run
on `func.func` and `gpu.func` operations inside the `gpu.module`.


  Commit: 0c8928d456ac3ef23ed25bfc9e5d491dd7b62a11
      https://github.com/llvm/llvm-project/commit/0c8928d456ac3ef23ed25bfc9e5d491dd7b62a11
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    A 0001-Reland-Add-a-pass-to-collect-dropped-var-stats-for-M.patch
    A 0001-Reland-NFC-Move-DroppedVariableStats-to-its-own-file.patch
    A llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    A llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    R llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Reland "[NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)" (#118546)

Removed the virtual destructor in the derived
class DroppedVariableStatsIR


  Commit: 1e7171f692d0fad37aad0674c6b7c904540a9a0c
      https://github.com/llvm/llvm-project/commit/1e7171f692d0fad37aad0674c6b7c904540a9a0c
  Author: David Green <david.green at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/concat-vector.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64] Add tablegen patterns for concat(extract-high, extract-high) (#118286)

A `concat(extract-high(x), extract-high(y))` is the top half of x
inserted into the bottom half of y. This patch adds a tablegen pattern
to make sure that we generate a single i64 lane insert.


  Commit: e2472d3b120659ba7cd0e0dd0c6bf1260957fe47
      https://github.com/llvm/llvm-project/commit/e2472d3b120659ba7cd0e0dd0c6bf1260957fe47
  Author: Matthias Braun <matze at braunis.de>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/test/CodeGen/attr-target-x86.c

  Log Message:
  -----------
  Rework attr-target-x86 test (#117091)

Rework the attr-target-x86 test so the CHECK lines for the attributes
are next to their corresponding `__attribute__`.


  Commit: b206ba1867763a2b09e33649446599538c84d334
      https://github.com/llvm/llvm-project/commit/b206ba1867763a2b09e33649446599538c84d334
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [gn build] Port 0c8928d456ac


  Commit: f2fa9ac6169758268bc16c46ec80da2e88ad7f2c
      https://github.com/llvm/llvm-project/commit/f2fa9ac6169758268bc16c46ec80da2e88ad7f2c
  Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [nfc][MSan] Change for-loop to ArgNo instead of drop_begin (#117553)

As discussed in
https://github.com/llvm/llvm-project/pull/109284#discussion_r1838830571
Changed for loop to use `ArgNo` instead of `drop_begin` to keep loop
code consistent with other helpers.

Co-authored-by: Kamil Kashapov <kashapov at ispras.ru>


  Commit: c7d38591be8b5c581c228313d2972cb758221cc2
      https://github.com/llvm/llvm-project/commit/c7d38591be8b5c581c228313d2972cb758221cc2
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp

  Log Message:
  -----------
  [ast matcher] add `ExportDecl` in dynamically matchers (#118258)


  Commit: ea6cdb9a0708330089d583ce20aeaf81eec94ff7
      https://github.com/llvm/llvm-project/commit/ea6cdb9a0708330089d583ce20aeaf81eec94ff7
  Author: Matthias Braun <matze at braunis.de>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp
    M clang/test/CodeGen/attr-target-x86.c

  Log Message:
  -----------
  allow prefer 256 bit attribute target (#117092)

This allows
`__attribute__((target("prefer-256-bit")))` /
`__attribute__((target("no-prefer-256-bit")))` to create variants of a
functions with 256/512 bit vector sizes within the same application.


  Commit: c8b7ec2edd8d84729070e455002d1e78bdceddc5
      https://github.com/llvm/llvm-project/commit/c8b7ec2edd8d84729070e455002d1e78bdceddc5
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/test/Lexer/gnu-flags.c
    M clang/test/Preprocessor/macro_fn.c

  Log Message:
  -----------
  Define a diagnostic group for missing variadic macro arguments (#116855)

Make the new diagnostic group a subgroup of the following diagnostic
groups:

-Wpre-c23-compat
-Wgnu-zero-variadic-macro-arguments
-Wc++20-extensions
-Wc23-extensions

This change is needed as 5231005193afb8db01afe9a8a1aa308d25f60ba1 made
it impossible to use -Wno-gnu-zero-variadic-macro-argumentsis to silence
the warning.

rdar://139234984


  Commit: 1afb81dfaf902c1c42bd91fec1a7385e6e1529d3
      https://github.com/llvm/llvm-project/commit/1afb81dfaf902c1c42bd91fec1a7385e6e1529d3
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/StructuralHash.h
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/IR/StructuralHash.cpp
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-nsconst.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-objc.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-string.ll
    A llvm/test/CodeGen/AArch64/cgdata-outline-gvar.ll

  Log Message:
  -----------
  [StructuralHash] Global Variable (#118412)

This update enhances the implementation of structural hashing for global
variables, using their initial contents. Private global variables or
constants are often used for metadata, where their names are not unique.
This can lead to the creation of different hash results although they
could be merged by the linker as they are effectively identical.
- Refine the hashing of GlobalVariables for strings or certain
Objective-C metadata cases that have section names. This can be further
extended to other scenarios.
- Expose StructuralHash for GlobalVariable so that this API can be
utilized by MachineStableHashing, which is also employed in the global
function outliner.

This change significantly improves size reduction by an additional 1% on
the LLD binary when the global function outliner and merger are enabled
together. As discussed in the RFC
https://discourse.llvm.org/t/loh-conflicting-with-machineoutliner/83279/8?u=kyulee-com,
if we disable or relocate the LOH pass, the size impact could increase
to 4%.


  Commit: a201ba1b57aa57df8e31603b496793fa39d31936
      https://github.com/llvm/llvm-project/commit/a201ba1b57aa57df8e31603b496793fa39d31936
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [mlir][Vector] Add support for 0-d shapes in extract-shape_cast folder (#116650)

The extract <-> shape cast folder was conservatively asserting and
failing on 0-d vectors. This pr fixes this.

This pr also adds more tests for 0d cases and updates related tests to
better reflect what they test.


  Commit: e9dc6c5fbb6d2c2c93095acb6ff4ca0b515057ed
      https://github.com/llvm/llvm-project/commit/e9dc6c5fbb6d2c2c93095acb6ff4ca0b515057ed
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  CodeGen: Don't assert when printing null GlobalAddress operands (#115531)


  Commit: 35cce408eef1a253df12c0023c993d78b180b1f3
      https://github.com/llvm/llvm-project/commit/35cce408eef1a253df12c0023c993d78b180b1f3
  Author: Dan Gohman <dev at sunfishcode.online>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll

  Log Message:
  -----------
  [WebAssembly] Support the new "Lime1" CPU (#112035)

This adds WebAssembly support for the new [Lime1 CPU].

First, this defines some new target features. These are subsets of
existing
features that reflect implementation concerns:

- "call-indirect-overlong" - implied by "reference-types"; just the
overlong
encoding for the `call_indirect` immediate, and not the actual reference
   types.

 - "bulk-memory-opt" - implied by "bulk-memory": just `memory.copy` and
   `memory.fill`, and not the other instructions in the bulk-memory
    proposal.

Next, this defines a new target CPU, "lime1", which enables
mutable-globals,
bulk-memory-opt, multivalue, sign-ext, nontrapping-fptoint,
extended-const,
and call-indirect-overlong. Unlike the default "generic" CPU, "lime1" is
meant
to be frozen, and followed up by "lime2" and so on when new features are
desired.

[Lime1 CPU]:
https://github.com/WebAssembly/tool-conventions/blob/main/Lime.md#lime1

---------

Co-authored-by: Heejin Ahn <aheejin at gmail.com>


  Commit: 410cbe3cf28913cca2fc61b3437306b841d08172
      https://github.com/llvm/llvm-project/commit/410cbe3cf28913cca2fc61b3437306b841d08172
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    A clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
    A clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_abi_version_600.bc
    A clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_abi_version_600.bc
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    A llvm/test/CodeGen/AMDGPU/default_amdhsa_code_object_version.ll
    M offload/plugins-nextgen/common/src/Utils/ELF.cpp

  Log Message:
  -----------
  [AMDGPU] Use COV6 by default (#118515)


  Commit: 259bdc0033d1abacc80ad34f0a8ed86f6e218571
      https://github.com/llvm/llvm-project/commit/259bdc0033d1abacc80ad34f0a8ed86f6e218571
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    R 0001-Reland-Add-a-pass-to-collect-dropped-var-stats-for-M.patch
    R 0001-Reland-NFC-Move-DroppedVariableStats-to-its-own-file.patch
    R llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    R llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Revert "Reland "[NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)" (#118546)"

This reverts commit 0c8928d456ac3ef23ed25bfc9e5d491dd7b62a11.

Broke Bot: https://lab.llvm.org/buildbot/#/builders/76/builds/5008

error: undefined reference to `vtable for llvm::DroppedVariableStatsIR'


  Commit: 67d8e1754d7707c90aa15a15ea5bbb430108a162
      https://github.com/llvm/llvm-project/commit/67d8e1754d7707c90aa15a15ea5bbb430108a162
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [gn build] Port 259bdc0033d1


  Commit: 14a259f85b6cbe6827677d94990c8803e31c847d
      https://github.com/llvm/llvm-project/commit/14a259f85b6cbe6827677d94990c8803e31c847d
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    A llvm/test/Transforms/GlobalOpt/malloc-promote-addrspace.ll

  Log Message:
  -----------
  GlobalOpt: Use the correct address space when creating a "*.init" global. (#118562)


  Commit: 68bcba6d7a1cc18996c0bcb7c62267c62d2040d0
      https://github.com/llvm/llvm-project/commit/68bcba6d7a1cc18996c0bcb7c62267c62d2040d0
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
    R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_abi_version_600.bc
    R clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_abi_version_600.bc
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    R llvm/test/CodeGen/AMDGPU/default_amdhsa_code_object_version.ll
    M offload/plugins-nextgen/common/src/Utils/ELF.cpp

  Log Message:
  -----------
  Revert "[AMDGPU] Use COV6 by default (#118515)"

This reverts commit 410cbe3cf28913cca2fc61b3437306b841d08172 because some
buildbots are not ready yet.


  Commit: 6a0d6fc2e92bcfb7cb01a4c6cdd751a9b4b4c159
      https://github.com/llvm/llvm-project/commit/6a0d6fc2e92bcfb7cb01a4c6cdd751a9b4b4c159
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/StructuralHash.h
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/IR/StructuralHash.cpp
    R llvm/test/CodeGen/AArch64/cgdata-merge-gvar-nsconst.ll
    R llvm/test/CodeGen/AArch64/cgdata-merge-gvar-objc.ll
    R llvm/test/CodeGen/AArch64/cgdata-merge-gvar-string.ll
    R llvm/test/CodeGen/AArch64/cgdata-outline-gvar.ll

  Log Message:
  -----------
  Revert "[StructuralHash] Global Variable (#118412)"

This reverts commit 1afb81dfaf902c1c42bd91fec1a7385e6e1529d3.


  Commit: 46de3a7064250bd2dfc7f8dc6e300474afa9fa97
      https://github.com/llvm/llvm-project/commit/46de3a7064250bd2dfc7f8dc6e300474afa9fa97
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/AST/HLSL/ArrayOutArgExpr.hlsl
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
    M clang/test/SemaHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/Language/ArrayOutputArgs-errors.hlsl

  Log Message:
  -----------
  [HLSL] get inout/out ABI for array parameters working (#111047)

Get inout/out parameters working for HLSL Arrays.
Utilizes the fix from #109323, and corrects the assignment behavior
slightly to allow for Non-LValues on the RHS.
Closes #106917

---------

Co-authored-by: Chris B <beanz at abolishcrlf.org>


  Commit: f6f16b5f541773bb074dd042746456deff169de2
      https://github.com/llvm/llvm-project/commit/f6f16b5f541773bb074dd042746456deff169de2
  Author: Augie Fackler <augie at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel

  Log Message:
  -----------
  [bazel] update for a0c4f854cad2b97e44a1b58dc1fd982e1c4d60f3


  Commit: caa8aa551bf8d2f29e76aad4ac6dcea6940eef13
      https://github.com/llvm/llvm-project/commit/caa8aa551bf8d2f29e76aad4ac6dcea6940eef13
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  [SelectionDAG] Rename CallOptions::IsSExt to IsSigned. NFC (#118574)

This is eventually passed to shouldSignExtendTypeInLibCall which calls
it IsSigned.


  Commit: 3dc97557d1ac0cd7924b9679efbfc8f916f5365e
      https://github.com/llvm/llvm-project/commit/3dc97557d1ac0cd7924b9679efbfc8f916f5365e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M llvm/cmake/modules/CrossCompile.cmake

  Log Message:
  -----------
  [libc] Fix the GPU build when building inside the NATIVE project (#118573)

Summary:
We use the NATIVE directory for cross-compiling tools that need to be
run on the host. This was not forwarding the CMake arguments we used to
check if this was a GPU compile that created its own tools. Forward that
and simplify.

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


  Commit: e08e5e2c426467342dbe79fbf3ea9723c17a07d1
      https://github.com/llvm/llvm-project/commit/e08e5e2c426467342dbe79fbf3ea9723c17a07d1
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/Transforms/remove-dead-values.mlir

  Log Message:
  -----------
  [mlir][transforms] Use `isExternal` instead of `isDeclaration` for `FunctionOpInterface` (#116573)

This PR fixes a bug in `RemoveDeadValues` where the
`FunctionOpInterface` does not have the `isDeclaration` method. As a
result, we should use the `isExternal` method instead. Fixes #116347.


  Commit: a93b77ce49978dd8fb0d60d9aec8e300b67ce0b8
      https://github.com/llvm/llvm-project/commit/a93b77ce49978dd8fb0d60d9aec8e300b67ce0b8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h

  Log Message:
  -----------
  [memprof] Fix IndexedMemProfRecord::clear (#118533)

This patch ensures that IndexedMemProfRecord::clear clears every field
of IndexedMemProfRecord.

This fix is not critical at the moment.  The only use of this function
is in RecordWriterTrait::EmitData to release the memory we are done
with.  That is, we never clear the data structure for the purpose of
reusing it.


  Commit: c1afcaf33b03638fd533d14b0d3f65cd5c50755c
      https://github.com/llvm/llvm-project/commit/c1afcaf33b03638fd533d14b0d3f65cd5c50755c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll

  Log Message:
  -----------
  [RISCV] Match deinterleave(4,8) shuffles to SHL/TRUNC when legal (#118509)

We can extend the existing SHL+TRUNC lowering used for deinterleave2 for
deinterleave4, and deinterleave8 when the result types are small enough
to allow the shift to be legal. On RV64, this means i8 and i16 results
for deinterleave4 and i8 results for deinterleave8.


  Commit: f947d5afd951fe0883e8afe2d00c00d6a97e29bd
      https://github.com/llvm/llvm-project/commit/f947d5afd951fe0883e8afe2d00c00d6a97e29bd
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll

  Log Message:
  -----------
  [RISCV] Reduce redundancy in vnsrl tests

Triggered by discussion on pr118509.


  Commit: 95566af789d208b8fc422644ab282a43911041f2
      https://github.com/llvm/llvm-project/commit/95566af789d208b8fc422644ab282a43911041f2
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M clang/lib/AST/MicrosoftMangle.cpp
    A clang/test/CodeGenCXX/ms-uneval-context-crash.cpp

  Log Message:
  -----------
  [Clang][AST] Fix MS Mangle concept uneval context template instantiation crash (#117845)

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

MSVC mangling got inadvertently broken here,
https://github.com/llvm/llvm-project/pull/83997, when it was fixed what
decl context a lambda is apart of for uneval contexts.

https://godbolt.org/z/K6jb5v145 for reference.

Given the following code snippet
```
template <typename T>
concept C = requires(const T& t)
{
    { T::test([](){}) };
};

template<typename T, typename = void>
struct Widget;

template <C T>
struct Widget<T> {};

struct Baz
{
    template<typename F>
    static constexpr decltype(auto) test(F&& f) {}
};

void test()
{
    Widget<Baz> w;
}
```
`Baz::test` has a deduced return type which means we must instantiate
that template even in an unevaluated context.
The lambda inside the concept is within the decl context of `struct
Widget<T> {};`. So we end up needing to mangle a name of
`Baz::test<Widget<template-type-0-0>::lambda()>>()` since the lambda
isn't apart of an instantiated substituted class `Widget` yet at the
point the lambda is instantiated.

Upon template instantation of `test` we end up asking for the mangled
name so we can add this instantiation to `CodeGenModule::DefferredDecls`
since `test` is now referenced but not yet used.

I think the longer term more correct solution is to key `DefferedDecls`
off of something else than the mangled name to avoid having to mangle
names for instantations that are referenced but will never be used since
they are only instantiated from an unevaluated context.

As a fix for the regression I just created a custom mangling scheme for
this case since MSVC has no comparable naming scheme as such a template
will never be emitted into the resulting obj as it will never be used.


  Commit: 982575fd0668aca94d400ea575c1b5d3ea398e37
      https://github.com/llvm/llvm-project/commit/982575fd0668aca94d400ea575c1b5d3ea398e37
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    M lld/COFF/Symbols.cpp
    M lld/COFF/Symbols.h

  Log Message:
  -----------
  [lld-link] Add context-aware diagnostic functions (#118430)

Similar to #112319 for ELF. While there is some initial boilerplate, it
can simplify some call sites that use Twine, especially when a printed
element uses `ctx` or toString.


  Commit: 442ee78cb414cd7101482bb677e62631e94e5480
      https://github.com/llvm/llvm-project/commit/442ee78cb414cd7101482bb677e62631e94e5480
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap] Fix Markdown tables in README.md

The markdown tables in the README aren't getting rendered correctly on
the LLDB-DAP page in the Visual Studio arketplace [1]. This is a
somewhat speculative fix as the table itself appears to be correct. Even
if this change doesn't fix it, the new formatting significantly improves
the readability.

[1] https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.lldb-dap


  Commit: 3e11ae69abd17a80759ae1d9565d555f6a869304
      https://github.com/llvm/llvm-project/commit/3e11ae69abd17a80759ae1d9565d555f6a869304
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp

  Log Message:
  -----------
  [ORC] Merge ostream operators for SymbolStringPtrs into SymbolStringPool.h. NFC.

These are simple and commonly used. Having them in the SymbolStringPool header
saves clients from having to #include "DebugUtils.h" everywhere.


  Commit: 932c5249ff6b3f31f3b67d944cf5ead156b5dd2c
      https://github.com/llvm/llvm-project/commit/932c5249ff6b3f31f3b67d944cf5ead156b5dd2c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [CodeGen] Fix warning after #115531


  Commit: bc66e9aaa69cf50634929f3bf10e40b336a6abb6
      https://github.com/llvm/llvm-project/commit/bc66e9aaa69cf50634929f3bf10e40b336a6abb6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/PDB.cpp

  Log Message:
  -----------
  [lld-link] Replace message(...) with Msg(ctx)

to avoid the global ctx.


  Commit: 4f41862c5a5241654a37ee994ed0074a815d3633
      https://github.com/llvm/llvm-project/commit/4f41862c5a5241654a37ee994ed0074a815d3633
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/StructuralHash.h
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/IR/StructuralHash.cpp
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-nsconst.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-objc.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-string.ll
    A llvm/test/CodeGen/AArch64/cgdata-outline-gvar.ll

  Log Message:
  -----------
  Reapply "[StructuralHash] Global Variable (#118412)"

This reverts commit 6a0d6fc2e92bcfb7cb01a4c6cdd751a9b4b4c159.


  Commit: 109e4a147faa80aa0ef4da92da203dd6732ee415
      https://github.com/llvm/llvm-project/commit/109e4a147faa80aa0ef4da92da203dd6732ee415
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/vector-tuple-zeroinitializer.ll

  Log Message:
  -----------
  [RISCV] Handle zeroinitializer of vector tuple Type (#113995)

It doesn't make sense to add a new generic ISD to handle riscv tuple
type. Instead we use `SPLAT_VECTOR` for ISD and further lower to
`VMV_V_X`.

Note: If there's `visitSPLAT_VECTOR` in generic DAG combiner, it needs
to skip riscv vector tuple type.

Stack on https://github.com/llvm/llvm-project/pull/114329


  Commit: 9c9d4b9e73c19842c4fde581cec0295abed8c977
      https://github.com/llvm/llvm-project/commit/9c9d4b9e73c19842c4fde581cec0295abed8c977
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/Shared/SymbolStringPool.cpp

  Log Message:
  -----------
  [ORC] Move ostream operator for SymbolStringPtrBase into OrcShared.

This will allow clients outside ORC (e.g. JITLink) to use the operator without
taking a dependence on ORC.


  Commit: 5e7c88bf4cca17080dd50556b4b57efa2ca569b0
      https://github.com/llvm/llvm-project/commit/5e7c88bf4cca17080dd50556b4b57efa2ca569b0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/Shared/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 9c9d4b9e73c1


  Commit: b076fbb8443d93fd4a6815cb9828559e5af14cfb
      https://github.com/llvm/llvm-project/commit/b076fbb8443d93fd4a6815cb9828559e5af14cfb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp

  Log Message:
  -----------
  [TargetLowering] Use Type* instead of EVT in shouldSignExtendTypeInLibCall. (#118587)

I want to use this function for GISel too so Type * is a better common
interface. All of the callers already convert EVT to Type * as needed
by calling lowering anyway.


  Commit: 7be3326200ef382705d8e6b2d7dc5378af96b34a
      https://github.com/llvm/llvm-project/commit/7be3326200ef382705d8e6b2d7dc5378af96b34a
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/XRefs.h
    M clang-tools-extra/clangd/index/Background.cpp
    M clang-tools-extra/clangd/index/Background.h
    M clang-tools-extra/clangd/index/FileIndex.cpp
    M clang-tools-extra/clangd/index/FileIndex.h
    M clang-tools-extra/clangd/index/Index.cpp
    M clang-tools-extra/clangd/index/Index.h
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/MemIndex.h
    M clang-tools-extra/clangd/index/Merge.cpp
    M clang-tools-extra/clangd/index/Merge.h
    M clang-tools-extra/clangd/index/ProjectAware.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/Serialization.cpp
    M clang-tools-extra/clangd/index/Serialization.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.h
    M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
    M clang-tools-extra/clangd/index/remote/Client.cpp
    M clang-tools-extra/clangd/index/remote/Index.proto
    M clang-tools-extra/clangd/index/remote/Service.proto
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DexTests.cpp
    M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
    M clang-tools-extra/clangd/unittests/IndexTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/TestTU.cpp
    M clang-tools-extra/clangd/unittests/TestWorkspace.cpp

  Log Message:
  -----------
  [clangd] Re-land "support outgoing calls in call hierarchy" (#117673)

Co-authored-by: Quentin Chateau <quentin.chateau at gmail.com>


  Commit: 52aff97f40c19671be7d1f5eecc2985ebf260a49
      https://github.com/llvm/llvm-project/commit/52aff97f40c19671be7d1f5eecc2985ebf260a49
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/wasm/Driver.cpp

  Log Message:
  -----------
  [lld][wasm] Clear lazyBitcodeFiles while resetting context (#118440)

Hi @sbc100 

I was looking into a use case involving the link function (which got my
attention to reset).

I see that `lazyBitcodeFiles` variable was introduced here
https://github.com/llvm/llvm-project/pull/114327 but I don't see it
being reset while destroying the context eventually. Hopefully this
should be the correct way to address it.


  Commit: 1534f456945060e27861000f5f2b16bc1b9e0c1e
      https://github.com/llvm/llvm-project/commit/1534f456945060e27861000f5f2b16bc1b9e0c1e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/COFF/DebugTypes.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [lld-link] Replace warn(...) with Warn(ctx)


  Commit: 59bc03cf8e9df134e591c989abb1c068e4201008
      https://github.com/llvm/llvm-project/commit/59bc03cf8e9df134e591c989abb1c068e4201008
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M lld/COFF/PDB.cpp

  Log Message:
  -----------
  [lld-link] Simplify warnUnusable. NFC


  Commit: 92ed7e292443de1d89754a59a533ded160d544eb
      https://github.com/llvm/llvm-project/commit/92ed7e292443de1d89754a59a533ded160d544eb
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassRegistry.def

  Log Message:
  -----------
  [CodeGen][PM] Use errs() instead of dbgs() in printer passes (#118469)

Printing passes is not exactly a debug activity, it is used in release (and dbgs() is errs() in release)


  Commit: ff281f7d37ead15bdbdbfccb4b82ea93013b1a00
      https://github.com/llvm/llvm-project/commit/ff281f7d37ead15bdbdbfccb4b82ea93013b1a00
  Author: ronryvchin <94285266+ronryvchin at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M compiler-rt/include/profile/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    A llvm/test/Transforms/PGOProfile/loop_entries_gen.ll
    A llvm/test/Transforms/PGOProfile/loop_entries_use.ll
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [PGO] Add option to always instrumenting loop entries (#116789)

This patch extends the PGO infrastructure with an option to prefer the
instrumentation of loop entry blocks.
This option is a generalization of
https://github.com/llvm/llvm-project/commit/19fb5b467bb97f95eace1f3637d2d1041cebd3ce,
and helps to cover cases where the loop exit is never executed.
An example where this can occur are event handling loops.

Note that change does NOT change the default behavior.


  Commit: 5cd3e9736266a86f730f6cfbdb83226b6c78b149
      https://github.com/llvm/llvm-project/commit/5cd3e9736266a86f730f6cfbdb83226b6c78b149
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/test/MachineVerifier/RISCV/subreg-liveness.mir
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vmv.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/vmv.s

  Log Message:
  -----------
  [RISCV] Mark vmvNr.v as implicitly using vtype (#118414)

This was pointed out in
https://github.com/llvm/llvm-project/pull/118283#issuecomment-2512895919.
We cannot move these between vtype definitions as they depend on SEW and
require vill to be clear.


  Commit: 94d6b1cce5bb9449971a027e352385e72b059a3a
      https://github.com/llvm/llvm-project/commit/94d6b1cce5bb9449971a027e352385e72b059a3a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

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

  Log Message:
  -----------
  [clangd] Fix warnings

This patch fixes:

  clang-tools-extra/clangd/XRefs.cpp:2360:11: error: unused type alias
  'SK' [-Werror,-Wunused-local-typedef]

  clang-tools-extra/clangd/XRefs.cpp:2361:10: error: unused variable
  'Kind' [-Werror,-Wunused-variable]


  Commit: 154c7c0bf272adc67d3ffc541a01fe8025843fd2
      https://github.com/llvm/llvm-project/commit/154c7c0bf272adc67d3ffc541a01fe8025843fd2
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/lambda-capture-type-deduction.cpp

  Log Message:
  -----------
  [Clang] Don't add top-level const qualifiers to captured function types (#118050)

This aligns with the logic in `TreeTransform::RebuildQualifiedType()`
where we refrain from adding const qualifiers to function types.
Previously, we seemed to overlook this edge case when copy-capturing a
variable that is of function type within a const-qualified lambda.

This issue also reveals other related problems as in incorrect type
printout and a suspicious implementation in DeduceTemplateArguments. I
decide to leave them in follow-up work.

Fixes #84961


  Commit: b1a48af56a62b8c0d5636c9404251700264fcd70
      https://github.com/llvm/llvm-project/commit/b1a48af56a62b8c0d5636c9404251700264fcd70
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/PowerPC/pr38087.ll
    M llvm/test/CodeGen/X86/avx10_2fptosi_satcvtds.ll
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
    M llvm/test/CodeGen/X86/freeze-vector.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll
    M llvm/test/CodeGen/X86/widen_conv-3.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedVectorElts - add handling for INT<->FP conversions (#117884)


  Commit: 455b4fd01ae9b2a78be98bcd26db2b700709c545
      https://github.com/llvm/llvm-project/commit/455b4fd01ae9b2a78be98bcd26db2b700709c545
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll

  Log Message:
  -----------
  [AMDGPU] Emit amdgcn.if.break in the same BB as amdgcn.loop (#118081)

Before this change if.break was placed in wrong loop level which
resulted in accumulating values only from last iteration of the inner
loop.


  Commit: 2a30bfcef368667247ebbe30be84f73b92dbe800
      https://github.com/llvm/llvm-project/commit/2a30bfcef368667247ebbe30be84f73b92dbe800
  Author: Markus Böck <markus.boeck02 at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
    M mlir/test/Dialect/SCF/invalid.mlir
    M mlir/test/Dialect/SPIRV/IR/memory-ops.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir] Improve error message when number of operands and types differ (#118488)

If using a variadic operand, the error message given if the number of
types and operands do not match would be along the lines of:
```
3 operands present, but expected 2
```

This error message is confusing for multiple reasons, particular for
beginners:
* If the intention is to have 3 operands, it does not point out why it
expects 2. The user may actually just want to add a type to the type
list
* It reads as if a verifier error rather than a parser error, giving the
impression the Op only supports 2 operands.

This PR attempts to improve the error message by first noting the issue
("number of operands and types mismatch") and mentioning how many
operands and types it received.


  Commit: 4df18ab7da17953277c7879782a37f4ed8e39beb
      https://github.com/llvm/llvm-project/commit/4df18ab7da17953277c7879782a37f4ed8e39beb
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/unittests/Target/LLVM/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Specify deps via `LLVM_LINK_COMPONENTS` (#118542)

This specifies the dependencies to link against with
`LLVM_LINK_COMPONENTS` for the
`mlir/test/Target/LLVM/MLIRTargetLLVMTests` binary.

Before, the dependencies where directly added to the
`target_link_libraries()` call which caused the problems I describe
next.

When doing a build of LLVM with MLIR I want to link against `libLLVM.so`
instead of statically linking `libLLVMSupport.a`. MLIR on the other side
seems to statically link against `libLLVMSupport.a` because when I link
to the shared library `libLLVM.so` I get:

```
CommandLine Error: Option 'aarch64-ptrauth-auth-checks' registered more than once!
```

This error indicates that the `Support` library is linked twice in the
`MLIRTargetLLVMTest` binary.

Here's the creation of the `MLIRTargetLLVMTest` binary before (Notice
the `libLLVMSupport.a`):

```
[6535/6847] : && /usr/bin/clang++ -O2 -flto=thin -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS --config=/usr/lib/rpm/redhat/redhat-hardened-clang.cfg -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -D_DEFAULT_SOURCE -Dasm=__asm__ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -O2 -g -DNDEBUG -Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now --config=/usr/lib/rpm/redhat/redhat-hardened-clang-ld.cfg  -flto=thin -ffat-lto-objects -Wl,--build-id=sha1    -Wl,--gc-sections  -fno-lto tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeNVVMTarget.cpp.o tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeROCDLTarget.cpp.o tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeToLLVMBitcode.cpp.o -o tools/mlir/unittests/Target/LLVM/MLIRTargetLLVMTests  -Wl,-rpath,/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/lib64  lib64/libllvm_gtest_main.a  lib64/libllvm_gtest.a  lib64/libMLIRTargetLLVM.a  lib64/libMLIRNVVMTarget.a  lib64/libMLIRROCDLTarget.a  lib64/libMLIRGPUDialect.a  lib64/libMLIRNVVMDialect.a  lib64/libMLIRLLVMDialect.a  lib64/libMLIRLLVMToLLVMIRTranslation.a  lib64/libMLIRBuiltinToLLVMIRTranslation.a  lib64/libMLIRNVVMToLLVMIRTranslation.a  lib64/libMLIRROCDLToLLVMIRTranslation.a  lib64/libMLIRGPUToLLVMIRTranslation.a  lib64/libLLVMAArch64CodeGen.a  lib64/libLLVMAArch64Desc.a  lib64/libLLVMAArch64Info.a  -lpthread  lib64/libMLIRTargetLLVM.a  lib64/libMLIRROCDLDialect.a  lib64/libMLIRExecutionEngineUtils.a  lib64/libMLIRGPUDialect.a  lib64/libMLIRMemRefDialect.a  lib64/libMLIRArithUtils.a  lib64/libMLIRDialectUtils.a  lib64/libMLIRComplexDialect.a  lib64/libMLIRArithAttrToLLVMConversion.a  lib64/libMLIRArithDialect.a  lib64/libMLIRCastInterfaces.a  lib64/libMLIRDialect.a  lib64/libMLIRInferIntRangeCommon.a  lib64/libMLIRUBDialect.a  lib64/libMLIRShapedOpInterfaces.a  lib64/libMLIRTargetLLVMIRExport.a  lib64/libMLIRDLTIDialect.a  lib64/libMLIRLLVMIRTransforms.a  lib64/libMLIRNVVMDialect.a  lib64/libMLIRLLVMDialect.a  lib64/libMLIRFuncDialect.a  lib64/libMLIRTransforms.a  lib64/libMLIRMemorySlotInterfaces.a  lib64/libMLIRCopyOpInterface.a  lib64/libMLIRRuntimeVerifiableOpInterface.a  lib64/libMLIRTranslateLib.a  lib64/libMLIRParser.a  lib64/libMLIRBytecodeReader.a  lib64/libMLIRAsmParser.a  lib64/libMLIRTransformUtils.a  lib64/libMLIRSubsetOpInterface.a  lib64/libMLIRValueBoundsOpInterface.a  lib64/libMLIRDestinationStyleOpInterface.a  lib64/libMLIRRewrite.a  lib64/libMLIRRewritePDL.a  lib64/libMLIRPDLToPDLInterp.a  lib64/libMLIRPass.a  lib64/libMLIRAnalysis.a  lib64/libMLIRControlFlowInterfaces.a  lib64/libMLIRInferIntRangeInterface.a  lib64/libMLIRCallInterfaces.a  lib64/libMLIRDataLayoutInterfaces.a  lib64/libMLIRViewLikeInterface.a  lib64/libMLIRLoopLikeInterface.a  lib64/libMLIRPresburger.a  lib64/libMLIRPDLInterpDialect.a  lib64/libMLIRFunctionInterfaces.a  lib64/libMLIRPDLDialect.a  lib64/libMLIRSideEffectInterfaces.a  lib64/libMLIRInferTypeOpInterface.a  lib64/libMLIRIR.a  lib64/libMLIRSupport.a  lib64/libLLVM.so.19.1  lib64/libLLVMAArch64Utils.a  lib64/libLLVMAsmPrinter.a  lib64/libLLVMCFGuard.a  lib64/libLLVMGlobalISel.a  lib64/libLLVMSelectionDAG.a  lib64/libLLVMCodeGen.a  lib64/libLLVMScalarOpts.a  lib64/libLLVMAggressiveInstCombine.a  lib64/libLLVMInstCombine.a  lib64/libLLVMBitWriter.a  lib64/libLLVMObjCARCOpts.a  lib64/libLLVMCodeGenTypes.a  lib64/libLLVMTarget.a  lib64/libLLVMVectorize.a  lib64/libLLVMTransformUtils.a  lib64/libLLVMAnalysis.a  lib64/libLLVMProfileData.a  lib64/libLLVMSymbolize.a  lib64/libLLVMDebugInfoDWARF.a  lib64/libLLVMDebugInfoPDB.a  lib64/libLLVMObject.a  lib64/libLLVMMCParser.a  lib64/libLLVMMC.a  lib64/libLLVMIRReader.a  lib64/libLLVMBitReader.a  lib64/libLLVMAsmParser.a  lib64/libLLVMTextAPI.a  lib64/libLLVMDebugInfoCodeView.a  lib64/libLLVMDebugInfoMSF.a  lib64/libLLVMDebugInfoBTF.a  lib64/libLLVMCore.a  lib64/libLLVMBinaryFormat.a  lib64/libLLVMRemarks.a  lib64/libLLVMBitstreamReader.a  lib64/libLLVMTargetParser.a  lib64/libLLVMSupport.a  lib64/libLLVMDemangle.a  -lrt  -ldl  -lm  /usr/lib64/libz.so  /usr/lib64/libzstd.so && :
```

Here's the full error:

```
[24/25] cd /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test && /usr/bin/python3 /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/./bin/llvm-lit -vv /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test
: CommandLine Error: Option 'aarch64-ptrauth-auth-checks' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
llvm-lit: /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/unittests/Target/LLVM/./MLIRTargetLLVMTests': Command '['/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/unittests/Target/LLVM/./MLIRTargetLLVMTests', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
error: filter did not match any tests (of 2704 discovered).  Use '--allow-empty-runs' to suppress this error.
FAILED: tools/mlir/test/CMakeFiles/check-mlir /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test/CMakeFiles/check-mlir
```

Here's the CMake invocation:

```
/usr/bin/cmake -S . -B redhat-linux-build -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -G Ninja '' -DCLANG_BUILD_EXAMPLES:BOOL=OFF -DCLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang/ -DCLANG_DEFAULT_PIE_ON_LINUX=OFF -DCLANG_DEFAULT_UNWINDLIB=libgcc -DCLANG_ENABLE_ARCMT:BOOL=ON -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON -DCLANG_INCLUDE_DOCS:BOOL=ON -DCLANG_INCLUDE_TESTS:BOOL=ON -DCLANG_LINK_CLANG_DYLIB=ON -DCLANG_PLUGIN_SUPPORT:BOOL=ON '-DCLANG_REPOSITORY_STRING=Fedora 19.1.3-5.fc42' -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../clang-tools-extra -DCLANG_RESOURCE_DIR=../lib/clang/19 -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF -DCOMPILER_RT_INSTALL_PATH=/usr/lib/clang/19 -DLLVM_ENABLE_DOXYGEN:BOOL=OFF -DLLVM_ENABLE_SPHINX:BOOL=ON -DLLVM_BUILD_DOCS:BOOL=ON -DSPHINX_EXECUTABLE=/usr/bin/sphinx-build-3 -DSPHINX_OUTPUT_HTML:BOOL=OFF -DSPHINX_OUTPUT_MAN:BOOL=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF -DLLDB_DISABLE_CURSES:BOOL=OFF -DLLDB_DISABLE_LIBEDIT:BOOL=OFF -DLLDB_DISABLE_PYTHON:BOOL=OFF -DLLDB_ENFORCE_STRICT_TEST_REQUIREMENTS:BOOL=ON -DLLVM_APPEND_VC_REV:BOOL=OFF -DLLVM_BUILD_EXAMPLES:BOOL=OFF -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON -DLLVM_BUILD_RUNTIME:BOOL=ON -DLLVM_BUILD_TOOLS:BOOL=ON -DLLVM_BUILD_UTILS:BOOL=ON -DLLVM_COMMON_CMAKE_UTILS=/usr/share/llvm/cmake -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-redhat-linux-gnu -DLLVM_DYLIB_COMPONENTS=all -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_FFI:BOOL=ON -DLLVM_ENABLE_LIBCXX:BOOL=OFF -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON '-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;lld;lldb;mlir' -DLLVM_ENABLE_RTTI:BOOL=ON '-DLLVM_ENABLE_RUNTIMES=compiler-rt;openmp;offload' -DLLVM_ENABLE_ZLIB:BOOL=ON -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_EXAMPLES:BOOL=ON -DLLVM_INCLUDE_TOOLS:BOOL=ON -DLLVM_INCLUDE_UTILS:BOOL=ON -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF -DLLVM_INSTALL_UTILS:BOOL=ON -DLLVM_LINK_LLVM_DYLIB:BOOL=ON -DLLVM_PARALLEL_LINK_JOBS=1 -DLLVM_TARGETS_TO_BUILD=all -DLLVM_TOOLS_INSTALL_DIR:PATH=bin -DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF -DLLVM_USE_PERF:BOOL=ON -DLLVM_UTILS_INSTALL_DIR:PATH=bin -DMLIR_INCLUDE_DOCS:BOOL=ON -DMLIR_INCLUDE_TESTS:BOOL=ON -DMLIR_INCLUDE_INTEGRATION_TESTS:BOOL=OFF -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF -DMLIR_BUILD_MLIR_C_DYLIB=ON -DMLIR_ENABLE_BINDINGS_PYTHON:BOOL=ON -DOPENMP_INSTALL_LIBDIR=lib64 -DLIBOMP_INSTALL_ALIASES=OFF -DLLVM_BUILD_TESTS:BOOL=ON -DLLVM_INCLUDE_TESTS:BOOL=ON -DLLVM_INSTALL_GTEST:BOOL=ON -DLLVM_LIT_ARGS=-vv -DLLVM_UNITTEST_LINK_FLAGS=-fno-lto -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_LINKER_BUILD_ID:BOOL=ON -DOFFLOAD_INSTALL_LIBDIR=lib64 -DPython3_EXECUTABLE=/usr/bin/python3 -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON -DLLVM_LIBDIR_SUFFIX=64 -DLLVM_BINUTILS_INCDIR=/usr/include -DLLVM_VERSION_SUFFIX=
```


  Commit: 3b0cb8979624bc052587712650bfd52f77eb69d3
      https://github.com/llvm/llvm-project/commit/3b0cb8979624bc052587712650bfd52f77eb69d3
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/tools/clang-repl/CMakeLists.txt

  Log Message:
  -----------
  [clang-repl][CMake][MSVC] Use LINKER: instead of `-Wl` (#118518)

This should be more portable, and avoids passing the option to
`clang-cl` when linking, because `clang-cl` accepts any `-W` flags
(normally warning flags) during linking (#118516).


  Commit: d9b4bdbff597d0ed98dd82674e456ac4c751a6a0
      https://github.com/llvm/llvm-project/commit/d9b4bdbff597d0ed98dd82674e456ac4c751a6a0
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveDebugVariables.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.h
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/LoongArch/LoongArchDeadRegisterDefinitions.cpp
    M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Port LiveDebugVariables to NPM (#115468)

The existing analysis was already a pimpl wrapper.

I have extracted legacy pass logic to a LDVImpl wrapper named
`LiveDebugVariables` which is the analysis::Result now. This controls
whether to activate the LDV (depending on `-live-debug-variables` and
DIsubprogram) itself.

The legacy and new analysis only construct the LiveDebugVariables.

VirtRegRewriter will test this.


  Commit: 2137ded301adb430e0616cd835da9838e4fd79ce
      https://github.com/llvm/llvm-project/commit/2137ded301adb430e0616cd835da9838e4fd79ce
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/Maintainers.md
    A openmp/Maintainers.md

  Log Message:
  -----------
  [OpenMP] Add Maintainers.md file


  Commit: bba2507c19ff678c5d7b18e0b220406be87451fe
      https://github.com/llvm/llvm-project/commit/bba2507c19ff678c5d7b18e0b220406be87451fe
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [compiler-rt][MSVC][CMake] Wrap Linker flags for ICX (#118496)

RFC:
https://discourse.llvm.org/t/rfc-cmake-linker-flags-need-wl-equivalent-for-intel-c-icx-on-windows/82446

My previous pass missed some flags because I used
`-Werror=unknown-argument`, but `/D`, `/I` and `/O` are accepted by
clang (even when only linking), but mean different things than intended
for `link.exe`.


  Commit: 720864907d1acd9766b5f8140065938c1083cba8
      https://github.com/llvm/llvm-project/commit/720864907d1acd9766b5f8140065938c1083cba8
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  [TOSA] Use attributes for unsigned rescale (#118075)

Unsigned integer types are uncommon enough in MLIR that there is no
operation to cast a scalar from signless to unsigned and vice versa.
Currently tosa.rescale uses builtin.unrealized_conversion_cast which
does not lower. Instead, this commit introduces optional attributes to
indicate unsigned input or output, named similarly to those in the TOSA
specification. This is more in line with the rest of MLIR where specific
operations rather than values are signed/unsigned.


  Commit: 73731d6873b6fb0757c3065aaf2452eaccd0eebc
      https://github.com/llvm/llvm-project/commit/73731d6873b6fb0757c3065aaf2452eaccd0eebc
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    A llvm/test/TableGen/dag-isel-instrument.td
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp

  Log Message:
  -----------
  [llvm-tblgen] Increase Coverage Index Size (#118329)


  Commit: f68b0e36997322eeda8fd199ea80deb1b49c5410
      https://github.com/llvm/llvm-project/commit/f68b0e36997322eeda8fd199ea80deb1b49c5410
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/test/Transforms/AggressiveInstCombine/AArch64/or-load.ll
    M llvm/test/Transforms/AggressiveInstCombine/X86/or-load.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Use APInt and avoid truncation when folding loads

A miscompilation issue has been addressed with improved handling.

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


  Commit: 46829e5430aa3f086389549538d5289769d67076
      https://github.com/llvm/llvm-project/commit/46829e5430aa3f086389549538d5289769d67076
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-or.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
    M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll

  Log Message:
  -----------
  [RISCV][CostModel] Correct the cost of some reductions (#118072)

Reductions include: and/or/max/min


  Commit: 69b47845403e78f61987945033e1fd72e9dc044a
      https://github.com/llvm/llvm-project/commit/69b47845403e78f61987945033e1fd72e9dc044a
  Author: Rin Dobrescu <irina.dobrescu at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/512tvb-sve-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-zero-lat-movs.s

  Log Message:
  -----------
  [AArch64] Fix scheduling information for arithmetic and logical instructions. (#113542)

This patch corrects scheduling information relating to Neoverse-V2
arithmetic and logical instructions.


  Commit: 2c739dfd53fde0995f91c8a2c11ec803041bac86
      https://github.com/llvm/llvm-project/commit/2c739dfd53fde0995f91c8a2c11ec803041bac86
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir

  Log Message:
  -----------
  [MLIR][Arith] Add ExpandOps to convertArithToLLVM (#117305)

Arith Floor and Ceil ops would not get lowered when running
--convert-arith-to-llvm.


  Commit: 5cbc42142714a31ecb4ef7f674ba577946202e6e
      https://github.com/llvm/llvm-project/commit/5cbc42142714a31ecb4ef7f674ba577946202e6e
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [bazel] Port 9c9d4b9e73c1


  Commit: 03aae4fbaea4d3bf9364bc04bcbb5898816ab5ae
      https://github.com/llvm/llvm-project/commit/03aae4fbaea4d3bf9364bc04bcbb5898816ab5ae
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [MLIR][TOSA] Update CustomOp input and output names (#118408)

Update input name from input to input_list
Update output name from outputs to output_list

To match specification:
https://www.mlplatform.org/tosa/tosa_spec.html#_custom

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: caf8942cd9e52fca35992ab34af0a1cec1866759
      https://github.com/llvm/llvm-project/commit/caf8942cd9e52fca35992ab34af0a1cec1866759
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    A mlir/test/Transforms/invalid-outer-loop-size.mlir
    M mlir/test/lib/Dialect/SCF/TestLoopParametricTiling.cpp

  Log Message:
  -----------
  [mlir][transform] Guard parametric loop tiling pass from no option (#118254)

`test-extract-fixed-outer-loops` pass always crash without any
`test-outer-loop-sizes` option. We need to keep the pass from crash by
checking the option existence.

Fix https://github.com/llvm/llvm-project/issues/61716,
https://github.com/llvm/llvm-project/issues/116360

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>


  Commit: 2202f0e093d84081ff098c6720bc8e2302a56061
      https://github.com/llvm/llvm-project/commit/2202f0e093d84081ff098c6720bc8e2302a56061
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/store-constant.ll

  Log Message:
  -----------
  [SLP][X86] Add test coverage for #111126

This needs to be expanded to a wider range of tests but for now just focus on #111126


  Commit: 78db4e9f7b93953e425b3b69636925a557bff7eb
      https://github.com/llvm/llvm-project/commit/78db4e9f7b93953e425b3b69636925a557bff7eb
  Author: Jan Ječmen <JanJecmen at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [NFC][IRCE] Don't require LoopStructure to determine IRCE profitability (#116384)

This refactoring hoists the profitability check earlier in the pipeline,
so that for loops that are not profitable to transform there is no
iteration over the basic blocks or LoopStructure computation.

Motivated by PR #104659 that tweaks how the profitability of individual
branches is evaluated.


  Commit: 4b5e7fa4de54e00df007ae5e2675393fd046aa59
      https://github.com/llvm/llvm-project/commit/4b5e7fa4de54e00df007ae5e2675393fd046aa59
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    A clang/lib/AST/ByteCode/BitcastBuffer.cpp
    A clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/CMakeLists.txt
    A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/CMakeLists.txt

  Log Message:
  -----------
  [clang][bytecode] Handle bitcasts involving bitfields (#116843)

Copy the data one bit at a time, leaving optimizations for future work.
Adds a BitcastBuffer that takes care of pushing the bits in the right
order.


  Commit: 4675db5f394ebadd8a56bb17e2344da5c7779a68
      https://github.com/llvm/llvm-project/commit/4675db5f394ebadd8a56bb17e2344da5c7779a68
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    A llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
    M llvm/test/CodeGen/X86/vselect.ll

  Log Message:
  -----------
  [DAGCombiner] Add support for scalarising extracts of a vector setcc (#117566)

For IR like this:

%icmp = icmp ult <4 x i32> %a, splat (i32 5)
%res = extractelement <4 x i1> %icmp, i32 1

where there is only one use of %icmp we can take a similar approach
to what we already do for binary ops such add, sub, etc. and convert
this into

%ext = extractelement <4 x i32> %a, i32 1
%res = icmp ult i32 %ext, 5

For AArch64 targets at least the scalar boolean result will almost
certainly need to be in a GPR anyway, since it will probably be
used by branches for control flow. I've tried to reuse existing code
in scalarizeExtractedBinop to also work for setcc.

NOTE: The optimisations don't apply for tests such as
extract_icmp_v4i32_splat_rhs in the file

CodeGen/AArch64/extract-vector-cmp.ll

because scalarizeExtractedBinOp only works if one of the input
operands is a constant.


  Commit: adf892d743d91afc1af7893f97c770db31c26916
      https://github.com/llvm/llvm-project/commit/adf892d743d91afc1af7893f97c770db31c26916
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 4b5e7fa4de54


  Commit: 52b9d0beb6225d1ffe89e2921774f0df0b3e7969
      https://github.com/llvm/llvm-project/commit/52b9d0beb6225d1ffe89e2921774f0df0b3e7969
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir

  Log Message:
  -----------
  Revert "[MLIR][Arith] Add ExpandOps to convertArithToLLVM (#117305)"

Failing bot:
  * https://lab.llvm.org/buildbot/#/builders/138/builds/729

Also, not all discussions have been resolved:
  * https://github.com/llvm/llvm-project/pull/117305#discussion_r1861194201

This reverts commit 2c739dfd53fde0995f91c8a2c11ec803041bac86.


  Commit: 54db16221c92eb52efbea90ad5b5d2a1d00cda3e
      https://github.com/llvm/llvm-project/commit/54db16221c92eb52efbea90ad5b5d2a1d00cda3e
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    R clang/lib/AST/ByteCode/BitcastBuffer.cpp
    R clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/CMakeLists.txt
    R clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    R clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/CMakeLists.txt

  Log Message:
  -----------
  Revert "[clang][bytecode] Handle bitcasts involving bitfields (#116843)"

This reverts commit 4b5e7fa4de54e00df007ae5e2675393fd046aa59.

This breaks builders:
https://lab.llvm.org/buildbot/#/builders/154/builds/8464

I guess some more testing on 32 bit hosts is needed.


  Commit: a30f7e190b8a4b6cdb9d9c050be4af660f237931
      https://github.com/llvm/llvm-project/commit/a30f7e190b8a4b6cdb9d9c050be4af660f237931
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 54db16221c92


  Commit: ecbe4d1e360e25c0634a3a62fbd01e8df5bb0c1b
      https://github.com/llvm/llvm-project/commit/ecbe4d1e360e25c0634a3a62fbd01e8df5bb0c1b
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/test/CodeGen/X86/cx-complex-range.c
    M clang/test/CodeGen/cx-complex-range.c
    M clang/test/CodeGen/matrix-type-operators-fast-math.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M clang/test/CodeGenHIP/printf_nonhostcall.cpp
    M clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Operator.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/test/Assembler/fast-math-flags.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/Transforms/InstCombine/fpcast.ll

  Log Message:
  -----------
  [IR] Allow fast math flags on fptrunc and fpext (#115894)

This consists of:
 * Make these instructions part of FPMathOperator.
* Adjust bitcode/ir readers/writers to expect fast math flags on these
instructions.
 * Make IRBuilder set the fast math flags on these instructions.
 * Update langref and release notes.
* Update a bunch of tests. Some of these are due to InstCombineCasts
incorrectly adding fast math flags to fptrunc, which will be fixed in a
later patch.


  Commit: 12ca72ba7f11fb880794a37cffdea5f47e3062f4
      https://github.com/llvm/llvm-project/commit/12ca72ba7f11fb880794a37cffdea5f47e3062f4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    A clang/lib/AST/ByteCode/BitcastBuffer.cpp
    A clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/CMakeLists.txt
    A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/CMakeLists.txt

  Log Message:
  -----------
  Reapply "[clang][bytecode] Handle bitcasts involving bitfields (#116843)"

This reverts commit 54db16221c92eb52efbea90ad5b5d2a1d00cda3e.

Check for existence of __SIZOEF_INT128__ so we don't run those
tests on targets that don't have int128.


  Commit: 8c46413f343d0a5b8db48d958890b9038f03b70d
      https://github.com/llvm/llvm-project/commit/8c46413f343d0a5b8db48d958890b9038f03b70d
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/utils/vim/ftplugin/llvm.vim

  Log Message:
  -----------
  [vim] Improve iskeyword for LLVM IR (#117905)

This patch sets the 'iskeyword' variable to characters found in LLVM IR
identifiers. Keywords are used in many places in vim, most notably being
treated as word boundaries for commands like 'w' and '*'. The aim with
this is to improve the navigability and editability of LLVM IR files as
now one is able to: skip over entire identifiers with motions (e.g.,
`w/e/b`); yank/delete whole identifiers (e.g., `diw`); highlight/search
for the identifier under the cursor (`*`), etc.

More complicated LLVM identifiers including quotation marks are not
supported. The 'iskeyword' variable is just a list of characters, not a
regex, and including quotation marks and all the characters permitted in
quoted identifiers would expand the scope to almost everything and
become less usable. These types of identifiers are rare by comparison.

Note that this does change how words are considered across the entire
LLVM IR file, so including strings, comments, names, etc. Given that the
majority of editing/navigating LLVM IR is working with and across
values, this is arguably a worthwhile trade-off.


  Commit: 4d70f5fe130d129efc0157342fb027f7b7b3bc22
      https://github.com/llvm/llvm-project/commit/4d70f5fe130d129efc0157342fb027f7b7b3bc22
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 12ca72ba7f11


  Commit: 04b26f0eb7c3822fd5349b31e5ad544ea5a7929e
      https://github.com/llvm/llvm-project/commit/04b26f0eb7c3822fd5349b31e5ad544ea5a7929e
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/test/CMakeLists.txt

  Log Message:
  -----------
  [offload] Standalone build fixes (#118173)

A fair number of fixes to get standalone builds of offload working —
mostly copying missing bits from openmp. It's almost ready — I still
need to figure out why some of the tsts aren't linking to the right
libraries.


  Commit: 0adab6b1af5b1874099b1e97fdcea2ce5020d79a
      https://github.com/llvm/llvm-project/commit/0adab6b1af5b1874099b1e97fdcea2ce5020d79a
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/init-aarch64.c
    A clang/test/Sema/aarch64-sve-intrinsics/acle_neon_sve_bridge.cpp

  Log Message:
  -----------
  [AArch64][Clang] Define __ARM_NEON_SVE_BRIDGE unconditionally (#118272)

The meaning of `__ARM_NEON_SVE_BRIDGE` was changed here:
https://github.com/ARM-software/acle/pull/362

Such that it should be defined to `1` if the `arm_neon_sve_bridge.h`
header file is available, which is the case for Clang.


  Commit: 041e5c96c4bd247a3dd6099f49143ee66d9205d8
      https://github.com/llvm/llvm-project/commit/041e5c96c4bd247a3dd6099f49143ee66d9205d8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [X86] getMemoryOpCost - ensure we pass through OpInfo / Instruction args to base getMemoryOpCost calls

Nothing really uses these yet, but we shouldn't be losing the info.

We can also pass on the OpInfo arg to the getMemoryOpCost constant load call to indicate if its constant/uniform/pow2 etc.

Prep cleanup for #111126


  Commit: 148fdc519cd25b36db9da61a6c6cabe86268dc58
      https://github.com/llvm/llvm-project/commit/148fdc519cd25b36db9da61a6c6cabe86268dc58
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
    A llvm/test/MachineVerifier/test_abd_su.mir
    M llvm/test/TableGen/GlobalISelEmitter.td

  Log Message:
  -----------
  [GlobalISel] Add G_ABDS and G_ABDU instructions (#118122)

The DAG has the same instructions: the signed and unsigned absolute
difference of it's input. For AArch64, they map to uabd and sabd for
Neon and SVE. The Neon and SVE instructions will require custom
patterns.

They are pseudo opcodes and are not imported by the IRTranslator. We
need combines to create them.

PowerPC, ARM, and AArch64 have native instructions.

/// i.e trunc(abs(sext(Op0) - sext(Op1))) becomes abds(Op0, Op1) 
///  or trunc(abs(zext(Op0) - zext(Op1))) becomes abdu(Op0, Op1)

For GlobalISel, we are going to write the combines in MIR patterns.

see:
llvm/test/CodeGen/AArch64/abd-combine.ll

- [ ] combine into abd
- [ ] legalize and add td patterns


  Commit: 9d952422b49b4519a293744533735967d43995b0
      https://github.com/llvm/llvm-project/commit/9d952422b49b4519a293744533735967d43995b0
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Semantics/OpenMP/do21.f90

  Log Message:
  -----------
  [Flang][OpenMP] Issue an error for loop directive without a loop (#118039)

Fixes #107500


  Commit: 75af62839b60a10439e8a31362d234b02c3958ba
      https://github.com/llvm/llvm-project/commit/75af62839b60a10439e8a31362d234b02c3958ba
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll

  Log Message:
  -----------
  [ConstraintElim] Add tests for gep nuw (NFC)


  Commit: 140df02aa2917fd9971af3bbf3145e513c1a8b2b
      https://github.com/llvm/llvm-project/commit/140df02aa2917fd9971af3bbf3145e513c1a8b2b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/store-constant.ll

  Log Message:
  -----------
  [SLP][X86] Update test coverage for #111126

I'd copied the test case from #118016 instead of the original #111126 test case


  Commit: a88653a2cd4f22ff2ac4cb25214caf3e5fd27aff
      https://github.com/llvm/llvm-project/commit/a88653a2cd4f22ff2ac4cb25214caf3e5fd27aff
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/test/Transforms/GVN/opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/gep-vector-indices.ll
    M llvm/test/Transforms/InstSimplify/gep.ll

  Log Message:
  -----------
  [LLVM][IR] When evaluating GEP offsets don't assume ConstantInt is a scalar. (#117162)


  Commit: 920ea4af64d92486b75dc13e25bff32deda287b4
      https://github.com/llvm/llvm-project/commit/920ea4af64d92486b75dc13e25bff32deda287b4
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp

  Log Message:
  -----------
  [SPIR-V] Replace assert with report_fatal (#118617)

Irreducible must always be rejected, not only in debug builds.

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 026fbe519e16a4993601d2bac509e182081fc068
      https://github.com/llvm/llvm-project/commit/026fbe519e16a4993601d2bac509e182081fc068
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/www/hacking.html

  Log Message:
  -----------
  [clang][www] Remove ClangDataFormat.py from docs (#117943)

The script was removed in
https://github.com/llvm/llvm-project/pull/96385.

Instead, mention the LLVM formatter as it's still very useful for
Clang's code.


  Commit: 2e85138c0d06c0cc17569d375ce7a75e60cc6dd0
      https://github.com/llvm/llvm-project/commit/2e85138c0d06c0cc17569d375ce7a75e60cc6dd0
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/AttrIterator.h
    M clang/lib/CodeGen/CGLoopInfo.cpp

  Log Message:
  -----------
  [clang][NFC] Generalize getSpecificAttr for const attributes (#116606)

This patch allows using `getSpecificAttr` for getting `const`
attributes. Previously, if users of this API would want to get a const
Attribute pointer, they had to pass `getSpecificAttr<const XYZ>()`, to
get it compile. It feels like an arbitrary limitation as the constness
was already encoded in the Attribute container's value type.


  Commit: 8271195de05742ed7079d7882fbebc2daecbd7e2
      https://github.com/llvm/llvm-project/commit/8271195de05742ed7079d7882fbebc2daecbd7e2
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/new-delete.cpp

  Log Message:
  -----------
  [Clang] Deleting an incomplete enum type is not an error (#118455)

The changes introduced in #97733 accidentally prevented to delete an
incomplete enum (the validity of which has been confirmed by CWG2925

Fixes #99278


  Commit: 99b862efba9c2db5ec0aa32f62b5bc78df61d7a4
      https://github.com/llvm/llvm-project/commit/99b862efba9c2db5ec0aa32f62b5bc78df61d7a4
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/ARM/vector-trunc.ll

  Log Message:
  -----------
  [DAGISel][ARM] Fix vector truncate combine for big-endian (#118101)

This DAG combine was incorrect for big-endian targets, because it
assumes that when a bitcast changes the lane width, the
least-significant bits of the wider lanes are in the lower-numbered
lanes of the smaller type, which is only true for little-endian.


  Commit: 7235ac90517b61f8a5b5bd4e6a55437c094d6156
      https://github.com/llvm/llvm-project/commit/7235ac90517b61f8a5b5bd4e6a55437c094d6156
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/COFF/Writer.cpp
    A lld/test/COFF/deploadflag-cfg-short.s

  Log Message:
  -----------
  [LLD][COFF] Check load config size before setting its DependentLoadFlags (#118535)

Merge prepareLoadConfig and checkLoadConfigGuardData to share helper
macros.


  Commit: 7b6e0d9fc3993f3e3df596fd16d97e2ed2e1d0aa
      https://github.com/llvm/llvm-project/commit/7b6e0d9fc3993f3e3df596fd16d97e2ed2e1d0aa
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-transpose-int.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting.ll

  Log Message:
  -----------
  [Matrix] Use DenseMap for ShapeMap instead of ValueMap. (#118282)

ValueMap automatically updates entries with the new value if they have
been RAUW. This can lead to instructions that are expected to not have
shape info to be added to the map (e.g. shufflevector as in the added
test case).

This leads to incorrect results. Originally it was used for transpose
optimizations, but they now all use updateShapeAndReplaceAllUsesWith,
which takes care of updating the shape info as needed.

This fixes a crash in the newly added test cases.

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


  Commit: a608607fd70503c20854bbc0f6f5182b51489b4f
      https://github.com/llvm/llvm-project/commit/a608607fd70503c20854bbc0f6f5182b51489b4f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll

  Log Message:
  -----------
  [ConstraintElim] Add support for decomposing gep nuw (#118639)

ConstraintElimination currently only supports decomposing gep nusw with
non-negative indices (with "non-negative" possibly being enforced via
pre-condition).

Add support for gep nuw, which directly gives us the necessary
guarantees for the decomposition.


  Commit: 3b904ae5ac5e9d759f3629e9a6b98f14bbfb304c
      https://github.com/llvm/llvm-project/commit/3b904ae5ac5e9d759f3629e9a6b98f14bbfb304c
  Author: Jérôme Duval <jerome.duval at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M libunwind/src/CMakeLists.txt
    M libunwind/src/UnwindCursor.hpp

  Log Message:
  -----------
  [libunwind][Haiku] Improve support (#115462)

* Signal frame unwinding on x86_64 from X512
* Header search for commpage_defs.h on non-standard paths

Unwind supported tests pass on Haiku x86_64

---------

Co-authored-by: Trung Nguyen <trungnt282910 at gmail.com>


  Commit: 7aec6dc477f8148ed066d10dfc7a012a51b6599c
      https://github.com/llvm/llvm-project/commit/7aec6dc477f8148ed066d10dfc7a012a51b6599c
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/Record.h
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp

  Log Message:
  -----------
  [clang][bytecode] Initialize bases when bitcasting (#117179)

Base pointers do not get passed to the callback, so initialize them when iterating bases.


  Commit: 4e80c532c613cc93a43dcf71eaf6a30f96c27b6c
      https://github.com/llvm/llvm-project/commit/4e80c532c613cc93a43dcf71eaf6a30f96c27b6c
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/Makefile
    M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/Makefile
    M lldb/test/API/functionalities/process_save_core_minidump/Makefile
    M lldb/test/API/tools/lldb-dap/threads/Makefile

  Log Message:
  -----------
  [lldb][tests] Fix passing pthread library to a linker for some API tests (#118530)

Specify ENABLE_THREADS := YES within test's Makefile instead of passing
-lpthread explicitly via the compiler's CFLAGS options.

Refactoring fix.

Co-authored-by: Vladimir Vereschaka <vvereschaka at accesssoftek.com>


  Commit: 4a7abfe0a7b9b43cc60115caab810f4c24e53f1c
      https://github.com/llvm/llvm-project/commit/4a7abfe0a7b9b43cc60115caab810f4c24e53f1c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/sub-gep.ll

  Log Message:
  -----------
  [InstCombine] Preserve nuw in OptimizePointerDifference

If both the geps and the subs are nuw the new sub is also nuw.

Proof: https://alive2.llvm.org/ce/z/mM8UvF


  Commit: ba43a102a929eb8aae60580e14f3192a705e1805
      https://github.com/llvm/llvm-project/commit/ba43a102a929eb8aae60580e14f3192a705e1805
  Author: cmtice <cmtice at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/source/ValueObject/ValueObject.cpp

  Log Message:
  -----------
  [LLDB] Fix error returns in CastToBasicType and CastToEnumType in ValueObject. (#117401)

Update the error returns in ValueObject::CastToBasicType and
ValueObject::CastToEnumType to create new errors and return a
ValueObjectConstResult with the error, rather tnan updating the error in
(and returning) the input ValueObject.


  Commit: b79007d8a6fed51ec2e06aeaec31968122cfcd09
      https://github.com/llvm/llvm-project/commit/b79007d8a6fed51ec2e06aeaec31968122cfcd09
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/IR/Operator.cpp
    M llvm/unittests/IR/InstructionsTest.cpp

  Log Message:
  -----------
  [IR] Fix accumulateConstantOffset() on zero-index GEP

These are degenerate but not malformed, so make sure we don't
crash.


  Commit: 66ed8fb9739402ae51b790a3541a07dfa85ff174
      https://github.com/llvm/llvm-project/commit/66ed8fb9739402ae51b790a3541a07dfa85ff174
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp

  Log Message:
  -----------
  [InstCombine] Fix use after free

Make sure we only access cached nowrap flags.


  Commit: 95e44d3670f402e0cb9b78fa3cce20d8edc1ac77
      https://github.com/llvm/llvm-project/commit/95e44d3670f402e0cb9b78fa3cce20d8edc1ac77
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/X86/sse41-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/sse41-intrinsics-i386.ll

  Log Message:
  -----------
  [msan] Add handling for sse41_round_pd/sse41_round_ps (#118441)

Add handling for sse41_round_pd/sse41_round_ps similarly to
maybeHandleSimpleNomemIntrinsic.

Test plan: ninja check-all


  Commit: 1b95e76d8f10725f73c706881ccc49669e151f38
      https://github.com/llvm/llvm-project/commit/1b95e76d8f10725f73c706881ccc49669e151f38
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [Instrumentation] Fix a warning

This patch fixes:

  llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp:3840:14:
  error: unused variable 'NumArgOperands' [-Werror,-Wunused-variable]


  Commit: 85d15bd130930c96533419b0fc2e66d86b84af42
      https://github.com/llvm/llvm-project/commit/85d15bd130930c96533419b0fc2e66d86b84af42
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/store-constant.ll

  Log Message:
  -----------
  [TTI][X86] getMemoryOpCost - reduced costs when loading uniform values due to value reuse (#118642)

Similar to what we do for broadcast shuffles, when legalising load costs, if the value is known to be uniform, then we will only load a single vector and reuse this across the split legalised registers.

Fixes #111126


  Commit: 0a2116f4f96efc83bc729f0ed1a3d944b86cf1cb
      https://github.com/llvm/llvm-project/commit/0a2116f4f96efc83bc729f0ed1a3d944b86cf1cb
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir

  Log Message:
  -----------
  [mlir][spirv][vector] Support converting vector.from_elements to SPIR-V (#118540)

Closes #118098.


  Commit: d5ba143a6d8e8726c900dbfc381dab0e7d8b6a65
      https://github.com/llvm/llvm-project/commit/d5ba143a6d8e8726c900dbfc381dab0e7d8b6a65
  Author: John Harrison <harjohn at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/source/Host/common/TCPSocket.cpp
    M lldb/unittests/Host/SocketTest.cpp

  Log Message:
  -----------
  [lldb] Correct an issue when using Socket to listen on `localhost:0` on ipv4 and ipv6.  (#118565)

On systems supporting ting ipv4 and ipv6 the second socket to initialize 
will not update the listening address correctly after the call to `bind`.

This results in the second address listed in
`Socket::GetListeningConnectionURI` to have port `:0`, which is
incorrect.

To fix this, correct which address is used to detect the port and update
the unit tests to cover this use case.

Additionally, I updated the SocketTest's to only parameterize tests that
can work on ipv4 or ipv6. This means tests like
`SocketTest::DecodeHostAndPort` are only run once, instead of twice
since they do not change behavior based on parameters.

I also included a new unit test to cover listening on `localhost:0`,
validating both sockets correctly list the updated port.


  Commit: 06c831d7fbb02600ded1f793eaaa142d849db2a2
      https://github.com/llvm/llvm-project/commit/06c831d7fbb02600ded1f793eaaa142d849db2a2
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/source_tree_layout.rst
    A libc/hdrgen/CMakeLists.txt
    A libc/hdrgen/class_implementation/classes/enumeration.py
    A libc/hdrgen/class_implementation/classes/function.py
    A libc/hdrgen/class_implementation/classes/macro.py
    A libc/hdrgen/class_implementation/classes/object.py
    A libc/hdrgen/class_implementation/classes/type.py
    A libc/hdrgen/gpu_headers.py
    A libc/hdrgen/header.py
    A libc/hdrgen/tests/expected_output/test_header.h
    A libc/hdrgen/tests/input/test_small.h.def
    A libc/hdrgen/tests/input/test_small.yaml
    A libc/hdrgen/tests/test_integration.py
    A libc/hdrgen/yaml/arpa/inet.yaml
    A libc/hdrgen/yaml/assert.yaml
    A libc/hdrgen/yaml/ctype.yaml
    A libc/hdrgen/yaml/dirent.yaml
    A libc/hdrgen/yaml/dlfcn.yaml
    A libc/hdrgen/yaml/elf.yaml
    A libc/hdrgen/yaml/errno.yaml
    A libc/hdrgen/yaml/fcntl.yaml
    A libc/hdrgen/yaml/features.yaml
    A libc/hdrgen/yaml/fenv.yaml
    A libc/hdrgen/yaml/float.yaml
    A libc/hdrgen/yaml/gpu/rpc.yaml
    A libc/hdrgen/yaml/inttypes.yaml
    A libc/hdrgen/yaml/limits.yaml
    A libc/hdrgen/yaml/link.yaml
    A libc/hdrgen/yaml/locale.yaml
    A libc/hdrgen/yaml/malloc.yaml
    A libc/hdrgen/yaml/math.yaml
    A libc/hdrgen/yaml/pthread.yaml
    A libc/hdrgen/yaml/sched.yaml
    A libc/hdrgen/yaml/search.yaml
    A libc/hdrgen/yaml/setjmp.yaml
    A libc/hdrgen/yaml/signal.yaml
    A libc/hdrgen/yaml/spawn.yaml
    A libc/hdrgen/yaml/stdbit.yaml
    A libc/hdrgen/yaml/stdckdint.yaml
    A libc/hdrgen/yaml/stdfix.yaml
    A libc/hdrgen/yaml/stdint.yaml
    A libc/hdrgen/yaml/stdio.yaml
    A libc/hdrgen/yaml/stdlib.yaml
    A libc/hdrgen/yaml/string.yaml
    A libc/hdrgen/yaml/strings.yaml
    A libc/hdrgen/yaml/sys/auxv.yaml
    A libc/hdrgen/yaml/sys/epoll.yaml
    A libc/hdrgen/yaml/sys/ioctl.yaml
    A libc/hdrgen/yaml/sys/mman.yaml
    A libc/hdrgen/yaml/sys/prctl.yaml
    A libc/hdrgen/yaml/sys/random.yaml
    A libc/hdrgen/yaml/sys/resource.yaml
    A libc/hdrgen/yaml/sys/select.yaml
    A libc/hdrgen/yaml/sys/sendfile.yaml
    A libc/hdrgen/yaml/sys/socket.yaml
    A libc/hdrgen/yaml/sys/stat.yaml
    A libc/hdrgen/yaml/sys/statvfs.yaml
    A libc/hdrgen/yaml/sys/syscall.yaml
    A libc/hdrgen/yaml/sys/time.yaml
    A libc/hdrgen/yaml/sys/types.yaml
    A libc/hdrgen/yaml/sys/utsname.yaml
    A libc/hdrgen/yaml/sys/wait.yaml
    A libc/hdrgen/yaml/termios.yaml
    A libc/hdrgen/yaml/threads.yaml
    A libc/hdrgen/yaml/time.yaml
    A libc/hdrgen/yaml/uchar.yaml
    A libc/hdrgen/yaml/unistd.yaml
    A libc/hdrgen/yaml/wchar.yaml
    A libc/hdrgen/yaml_functions_sorted.py
    A libc/hdrgen/yaml_to_classes.py
    M libc/include/CMakeLists.txt
    R libc/newhdrgen/CMakeLists.txt
    R libc/newhdrgen/class_implementation/classes/enumeration.py
    R libc/newhdrgen/class_implementation/classes/function.py
    R libc/newhdrgen/class_implementation/classes/macro.py
    R libc/newhdrgen/class_implementation/classes/object.py
    R libc/newhdrgen/class_implementation/classes/type.py
    R libc/newhdrgen/gpu_headers.py
    R libc/newhdrgen/header.py
    R libc/newhdrgen/tests/expected_output/test_header.h
    R libc/newhdrgen/tests/input/test_small.h.def
    R libc/newhdrgen/tests/input/test_small.yaml
    R libc/newhdrgen/tests/test_integration.py
    R libc/newhdrgen/yaml/arpa/inet.yaml
    R libc/newhdrgen/yaml/assert.yaml
    R libc/newhdrgen/yaml/ctype.yaml
    R libc/newhdrgen/yaml/dirent.yaml
    R libc/newhdrgen/yaml/dlfcn.yaml
    R libc/newhdrgen/yaml/elf.yaml
    R libc/newhdrgen/yaml/errno.yaml
    R libc/newhdrgen/yaml/fcntl.yaml
    R libc/newhdrgen/yaml/features.yaml
    R libc/newhdrgen/yaml/fenv.yaml
    R libc/newhdrgen/yaml/float.yaml
    R libc/newhdrgen/yaml/gpu/rpc.yaml
    R libc/newhdrgen/yaml/inttypes.yaml
    R libc/newhdrgen/yaml/limits.yaml
    R libc/newhdrgen/yaml/link.yaml
    R libc/newhdrgen/yaml/locale.yaml
    R libc/newhdrgen/yaml/malloc.yaml
    R libc/newhdrgen/yaml/math.yaml
    R libc/newhdrgen/yaml/pthread.yaml
    R libc/newhdrgen/yaml/sched.yaml
    R libc/newhdrgen/yaml/search.yaml
    R libc/newhdrgen/yaml/setjmp.yaml
    R libc/newhdrgen/yaml/signal.yaml
    R libc/newhdrgen/yaml/spawn.yaml
    R libc/newhdrgen/yaml/stdbit.yaml
    R libc/newhdrgen/yaml/stdckdint.yaml
    R libc/newhdrgen/yaml/stdfix.yaml
    R libc/newhdrgen/yaml/stdint.yaml
    R libc/newhdrgen/yaml/stdio.yaml
    R libc/newhdrgen/yaml/stdlib.yaml
    R libc/newhdrgen/yaml/string.yaml
    R libc/newhdrgen/yaml/strings.yaml
    R libc/newhdrgen/yaml/sys/auxv.yaml
    R libc/newhdrgen/yaml/sys/epoll.yaml
    R libc/newhdrgen/yaml/sys/ioctl.yaml
    R libc/newhdrgen/yaml/sys/mman.yaml
    R libc/newhdrgen/yaml/sys/prctl.yaml
    R libc/newhdrgen/yaml/sys/random.yaml
    R libc/newhdrgen/yaml/sys/resource.yaml
    R libc/newhdrgen/yaml/sys/select.yaml
    R libc/newhdrgen/yaml/sys/sendfile.yaml
    R libc/newhdrgen/yaml/sys/socket.yaml
    R libc/newhdrgen/yaml/sys/stat.yaml
    R libc/newhdrgen/yaml/sys/statvfs.yaml
    R libc/newhdrgen/yaml/sys/syscall.yaml
    R libc/newhdrgen/yaml/sys/time.yaml
    R libc/newhdrgen/yaml/sys/types.yaml
    R libc/newhdrgen/yaml/sys/utsname.yaml
    R libc/newhdrgen/yaml/sys/wait.yaml
    R libc/newhdrgen/yaml/termios.yaml
    R libc/newhdrgen/yaml/threads.yaml
    R libc/newhdrgen/yaml/time.yaml
    R libc/newhdrgen/yaml/uchar.yaml
    R libc/newhdrgen/yaml/unistd.yaml
    R libc/newhdrgen/yaml/wchar.yaml
    R libc/newhdrgen/yaml_functions_sorted.py
    R libc/newhdrgen/yaml_to_classes.py
    M libc/src/math/docs/add_math_function.md

  Log Message:
  -----------
  [libc] rename newhdrgen to just hdrgen (#118545)

Link: #117208
Fixes: #117254


  Commit: 9e662066388318dbce65514c98aa5c9d70d7d264
      https://github.com/llvm/llvm-project/commit/9e662066388318dbce65514c98aa5c9d70d7d264
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
    A llvm/include/llvm/Transforms/Utils/ExtraPassManager.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [Passes] Generalize ShouldRunExtraVectorPasses to allow re-use (NFCI). (#118323)

Generalize ShouldRunExtraVectorPasses to ShouldRunExtraPasses, to allow
re-use for other transformations.

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


  Commit: e2c3d16282aca0f7e13f58170140647632d627c9
      https://github.com/llvm/llvm-project/commit/e2c3d16282aca0f7e13f58170140647632d627c9
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/docs/CodingStandards.rst

  Log Message:
  -----------
  [NFC] Eliminate need of Emacs tag and file name in file header (#118553)

- Simplify file header to not require file name and C++ Emacs tag.

See
https://discourse.llvm.org/t/is-c-in-header-files-still-relevant/83124/1


  Commit: 87c21bf0644c640e34c3eaa2e9a7c97eda0bf4a4
      https://github.com/llvm/llvm-project/commit/87c21bf0644c640e34c3eaa2e9a7c97eda0bf4a4
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Preserve `noundef` and `range` during kernel argument loads (#118395)

This commit ensures than noundef (which is frequently a prerequisite for
other annotations) and range() annotations on kernel arguments are
copied onto their corresponding load from the kernel argument structure.


  Commit: 4639a9a06387b7ae3b21255d2ac3545e6b183236
      https://github.com/llvm/llvm-project/commit/4639a9a06387b7ae3b21255d2ac3545e6b183236
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/COFF/DebugTypes.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/ICF.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/PDB.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [lld-link] Replace log(...) with Log


  Commit: bb9bb686741feeb2c65097ef750126477f96ff30
      https://github.com/llvm/llvm-project/commit/bb9bb686741feeb2c65097ef750126477f96ff30
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir

  Log Message:
  -----------
  [mlir][spirv] Handle vectors of integers of unsupported width (#118663)

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


  Commit: a8f927161bc25fe70d367c64e44211a15767d03e
      https://github.com/llvm/llvm-project/commit/a8f927161bc25fe70d367c64e44211a15767d03e
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][Vector] Fix vector.extract lowering to llvm for 0-d vectors (#117731)

The current implementation of lowering to llvm for vector.extract
incorrectly assumes that if the number of indices is zero, the operation
can be folded away. This PR removes this condition and relies on the
folder to do it instead.

This PR also unifies the logic for scalar extracts and slice extracts,
which as a side effect also enables vector.extract lowering for n-d
vector.extract with dynamic inner most dimension. (This was only
prevented by a conservative check in the old implementation)


  Commit: ef164ecedf01dc87805b62b7d14a91da42453d69
      https://github.com/llvm/llvm-project/commit/ef164ecedf01dc87805b62b7d14a91da42453d69
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [libc++][libunwind] Fix documentation CI job after #118159 (#118555)


  Commit: ed2db3be619ddc0f459ab5ea4ad6ee36e006b759
      https://github.com/llvm/llvm-project/commit/ed2db3be619ddc0f459ab5ea4ad6ee36e006b759
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90

  Log Message:
  -----------
  [flang][cuda] Do not register global constants (#118582)

Global constants have no symbols in library files. They are replaced
with literal constants during lowering before kernels are moved into a
GPU module. Do not register them because they will result in unresolved
symbols.


  Commit: ff5953804ea5b430710b07f1dae395bfcf6d35d0
      https://github.com/llvm/llvm-project/commit/ff5953804ea5b430710b07f1dae395bfcf6d35d0
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/tools/lldb-dap/package.json
    M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
    M lldb/tools/lldb-dap/src-ts/extension.ts
    R lldb/tools/lldb-dap/src-ts/types.ts

  Log Message:
  -----------
  [lldb-dap] Support finding the lldb-dap binary (#118547)

Support finding the lldb-dap binary with `xcrun` on Darwin or in PATH on
all other platforms.

Unfortunately, this PR is larger than I would like because it removes
the `lldbDapOptions`. I believe these options are not necessary, and as
previously implemented, they caused a spurious warning with this change.
The problem was that the options were created before the custom factory.
By moving the creation logic into the factory, we make sure it's only
called after the factory has been registered. The upside is that this
simplifies the code and removes a level of indirection.


  Commit: b8d857efac57dc508873e8edbad44595f1980cd0
      https://github.com/llvm/llvm-project/commit/b8d857efac57dc508873e8edbad44595f1980cd0
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [win/asan] Populate test for function GetInstructionSize. (#118204)

This puts the content of GetInstructionSize into a test.
There are 5 cases missing, which I have already or would like to propose
a fix later.


  Commit: e51a0b2e26b7c8c790ee4bf1176ba571bbe0d440
      https://github.com/llvm/llvm-project/commit/e51a0b2e26b7c8c790ee4bf1176ba571bbe0d440
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst-2.ll

  Log Message:
  -----------
  [llvm][AArch64] Fix a crash in performPostLD1Combine (#118538)

rdar://138004275


  Commit: 842d56315108a10a0b5f866d7a44dc676f5d2586
      https://github.com/llvm/llvm-project/commit/842d56315108a10a0b5f866d7a44dc676f5d2586
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M .github/workflows/libcxx-restart-preempted-jobs.yaml

  Log Message:
  -----------
  [libc++][CI] Also restart failed jobs when they fail for a spurious reason

Since we moved to a Docker-in-Docker setup, CI jobs sometimes fail due
to the Docker VM dying with 'context cancelled' errors. This is currently
not recognized as a spurious failure, which leads to the job not being
automatically restarted. This patch fixes that.

This commit only adds a test job with the new logic since this workflow
triggers on workflow_run, which means that the changes need to be on
`main` before they can be tested. Once this is tested to work properly,
I'll make it the default definition for the workflow.


  Commit: fe4bba65785072047f4dadba9b77f3cdf37e4ace
      https://github.com/llvm/llvm-project/commit/fe4bba65785072047f4dadba9b77f3cdf37e4ace
  Author: Oliver Hunt <github at nerget.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  Add support for referencable labels for attribute documentation (#118428)

The existing mechanism being used is to manually add a reference in the
documentation. These references link to the beginning of the text rather
than the heading for the attribute which is what this PR allows.

---------

Co-authored-by: Sirraide <aeternalmail at gmail.com>


  Commit: d057b53a7db43f33f4a9fd832115e613ebe0a67b
      https://github.com/llvm/llvm-project/commit/d057b53a7db43f33f4a9fd832115e613ebe0a67b
  Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_bf16.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_checked.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_get_coord.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_packed.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_prefetch.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_tf32.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix/cooperative_matrix.ll

  Log Message:
  -----------
  [SPIR-V] Add SPV_INTEL_joint_matrix extension (#118578)

The spec is available here:
https://github.com/intel/llvm/pull/12497

The PR doesn't add OpCooperativeMatrixApplyFunctionINTEL instruction as
it's still experimental and not properly tested E2E.

The PR also fixes few bugs in the related code:
1. CooperativeMatrixMulAddKHR optional operand must be literal, not a
constant;
2. Fixed available capabilities table creation for a case, when a single
extension adds few capabilities, that occupy not contiguous op codes.

---------

Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>


  Commit: cd92c6a89541cbbb67b39142d93a76caae0f79bf
      https://github.com/llvm/llvm-project/commit/cd92c6a89541cbbb67b39142d93a76caae0f79bf
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    A flang/test/Fir/CUDA/cuda-target-rewrite.mlir

  Log Message:
  -----------
  [flang][cuda] Run target rewrite in gpu.module (#118592)

Apply signature conversion for `func.func` in the gpu.module. More work
will need to be done for gpu.func op and implement the NVVM ABI for
conversion in the gpu module.


  Commit: 7748492c3749b7ba0b1d1a0203d2641413ec5d9b
      https://github.com/llvm/llvm-project/commit/7748492c3749b7ba0b1d1a0203d2641413ec5d9b
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/test/CodeGen/Hexagon/trap-crash.ll

  Log Message:
  -----------
  [hexagon] Add support for llvm.debugtrap (#117049)

Also: set `hasSideEffects` on `Y2_break` instruction.


  Commit: 8c36a823c2cc39740f7711da2d08ef85b0ace314
      https://github.com/llvm/llvm-project/commit/8c36a823c2cc39740f7711da2d08ef85b0ace314
  Author: hidekisaito <hidekido at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp

  Log Message:
  -----------
  Fix to account for multiple ISA enumeration (#118676)


  Commit: 77908345d06e05816c5e46b2c092022f9f6c90cf
      https://github.com/llvm/llvm-project/commit/77908345d06e05816c5e46b2c092022f9f6c90cf
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/fsxor-alignment.ll

  Log Message:
  -----------
  [X86] fsxor-alignment.ll - add nounwind to prevent cfi noise in an upcoming change


  Commit: 2567feaa13416d1d8c90c1dca6a176a57622c1d6
      https://github.com/llvm/llvm-project/commit/2567feaa13416d1d8c90c1dca6a176a57622c1d6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/combine-fabs.ll
    M llvm/test/CodeGen/X86/combine-fneg.ll

  Log Message:
  -----------
  [X86] Add fabs/fneg rmw style test coverage for #117557

Missed opportunity to avoid use of fpu for store(fabs(load()) style patterns


  Commit: 2757dc33ee4eea977d2194fa0ca79f7627b39030
      https://github.com/llvm/llvm-project/commit/2757dc33ee4eea977d2194fa0ca79f7627b39030
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    R flang/test/Fir/CUDA/cuda-target-rewrite.mlir

  Log Message:
  -----------
  Revert "[flang][cuda] Run target rewrite in gpu.module" (#118679)

Reverts llvm/llvm-project#118592


  Commit: 3dcc52d4646494664f2cec0b2475811947d449b0
      https://github.com/llvm/llvm-project/commit/3dcc52d4646494664f2cec0b2475811947d449b0
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp

  Log Message:
  -----------
  [flang][OpenMP] Add comments to IsContiguous, improve formatting, NFC


  Commit: ee9e7867178bee16cc0976a83a8303c99c2f5326
      https://github.com/llvm/llvm-project/commit/ee9e7867178bee16cc0976a83a8303c99c2f5326
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/intrin.h
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c

  Log Message:
  -----------
  [aarch64] Add support for the __{inc|add}x18{byte|word|dword|qword intrinsics (#117752)

Adds support for the following MSVC intrinsics:
* `__addx18byte`
* `__addx18word`
* `__addx18dword`
* `__addx18qword`
* `__incx18byte`
* `__incx18word`
* `__incx18dword`
* `__incx18qword`

These are documented at:
<https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170>


  Commit: 7347e5e89a671d675ba144e181e3d24bd072f527
      https://github.com/llvm/llvm-project/commit/7347e5e89a671d675ba144e181e3d24bd072f527
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Analysis/reference.cpp
    M clang/test/Sema/warn-stringcompare.c
    M clang/test/SemaCXX/deprecated.cpp
    A clang/test/SemaCXX/warn-array-comparion.cpp
    M clang/test/SemaCXX/warn-self-comparisons.cpp

  Log Message:
  -----------
  [Clang] Add '-Warray-compare' flag for C++ below version 20 (#118031)

Currently, we support `-wdeprecated-array-compare` for C++20 or above
and don't report any warning for older versions, this PR supports
`-Warray-compare` for older versions and for GCC compatibility.

Fixes #114770


  Commit: e3446b9a079f1d911c96ae84d899d9ccd55a9951
      https://github.com/llvm/llvm-project/commit/e3446b9a079f1d911c96ae84d899d9ccd55a9951
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp

  Log Message:
  -----------
  [OpenACC] Fix bug with worker/vector/gang clause inside another

The original implementation rejected some valid constructs.  The rule is
supposed to be:

Gang-on-Kernel cannot have a gang in its region

Worker cannot have a worker or gang in its region

Vector cannot have worker, gang, or vector in its region.

The previous implementation improperly implemented that vector wasnt'
allowed in the other two.  This patch fixes it and adds testing for it.


  Commit: fd02693fb61ecc7630c66f9bad62bcdb143b9b91
      https://github.com/llvm/llvm-project/commit/fd02693fb61ecc7630c66f9bad62bcdb143b9b91
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    A flang/test/Fir/CUDA/cuda-target-rewrite.mlir

  Log Message:
  -----------
  Reland "[flang][cuda] Run target rewrite in gpu.module" (#118682)

#118679


  Commit: 0d1e762da7ad22e31e98cf372a692027ff0bb610
      https://github.com/llvm/llvm-project/commit/0d1e762da7ad22e31e98cf372a692027ff0bb610
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/abs.ll

  Log Message:
  -----------
  [InstSimplify] Refine `abs(min/undef, true)` to `poison` (#118669)

Calls to `@llvm.abs(undef, i1 true)` and `@llvm.abs(INT_MIN, i1 true)`
can be optimized to `poison` instead of `undef`.

[Alive2](https://alive2.llvm.org/ce/z/Hg-2ug)


  Commit: 4cf2cf18c97d17c8e5662955c7048d072c711415
      https://github.com/llvm/llvm-project/commit/4cf2cf18c97d17c8e5662955c7048d072c711415
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV][GISel] Stop over promoting G_SITOFP/UITOFP libcalls on RV64. (#118597)

When we have legal instructions we want to promote to sXLen and let isel
pattern matching removing the and/sext_inreg.

When using a libcall we want to use a 'si' libcall for small types
instead of 'di'. To match the RV64 ABI, we need to sign extend `unsigned
int` arguments. We reuse the shouldSignExtendTypeInLibCall hook from
SelectionDAG.


  Commit: 4b11ff72ab85c32e86e63b4d5e2c563eb85c2ccd
      https://github.com/llvm/llvm-project/commit/4b11ff72ab85c32e86e63b4d5e2c563eb85c2ccd
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/test/Fir/CUDA/cuda-target-rewrite.mlir

  Log Message:
  -----------
  [flang][cuda] Fix test cuda-target-rewrite.mlir

Fix after buildbots issue


  Commit: 095c3c9d6ec349815563d47f951d4590b3d18333
      https://github.com/llvm/llvm-project/commit/095c3c9d6ec349815563d47f951d4590b3d18333
  Author: cmtice <cmtice at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    A lldb/test/API/commands/target/anon-struct/Makefile
    A lldb/test/API/commands/target/anon-struct/TestTargetVarAnonStruct.py
    A lldb/test/API/commands/target/anon-struct/main.cpp

  Log Message:
  -----------
  [LLDB] Fix crash in TypeSystemClang::GetIndexofChildMemberWithName. (#117808)

LLDB can crash in TypeSystemClang::GetIndexOfChildMemberWithName, at a
point where it pushes an index onto the child_indexes vector, tries to
call itself recursively, then tries to pop the entry from child_indexes.
The problem is that the recursive call can clear child_indexes, so that
this code ends up trying to pop an already empty vector. This change
saves the old vector before the push, then restores the saved vector
rather than trying to pop.


  Commit: c282d790243cf56e3ac8487b1b47430673957112
      https://github.com/llvm/llvm-project/commit/c282d790243cf56e3ac8487b1b47430673957112
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp

  Log Message:
  -----------
  [flang][OpenMP] Use range-for to iterate over SymbolSourceMap, NFC

Avoid iterators, use structured bindings to unpack the [key, value]
pairs.


  Commit: 9302043bef24519b95ffce86569ca7c7c97300e9
      https://github.com/llvm/llvm-project/commit/9302043bef24519b95ffce86569ca7c7c97300e9
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap] Fix links to LLVM issue tracker and pull requests (#118681)

Currently, the link to the issue tracker takes you to the Github source
repository, rather than the Github issue tracker. This fixes the link
and includes the lldb-dap label in both the issue and PR URL.


  Commit: 9c5217c4edf945838ecf70ebc6004cc40c097232
      https://github.com/llvm/llvm-project/commit/9c5217c4edf945838ecf70ebc6004cc40c097232
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/list.h
    M compiler-rt/lib/scudo/standalone/secondary.h

  Log Message:
  -----------
  [scudo] Use internal list to manage the LRU cache (#117946)


  Commit: c3d15188cfe243900895a4f2c4f36b84e14928b7
      https://github.com/llvm/llvm-project/commit/c3d15188cfe243900895a4f2c4f36b84e14928b7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/MemProfReader.cpp

  Log Message:
  -----------
  [memprof] Move YAML traits to MemProf.h (NFC) (#118668)

This patch moves the MemProf YAML traits to MemProf.h so that the YAML
writer can access them from outside MemProfReader.cpp in the future.


  Commit: a6e7749ea9e60f6b76b367d18ed90d09ea441581
      https://github.com/llvm/llvm-project/commit/a6e7749ea9e60f6b76b367d18ed90d09ea441581
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll

  Log Message:
  -----------
  [RISCV] Improve lowering of spread(2) shuffles (#118658)

A spread(2) shuffle is just a interleave with an undef lane. The
existing lowering was reusing the even lane for the undef value. This
was entirely legal, but non-optimal.


  Commit: 048fc2bc102cff806613592829ff275c0f2b826f
      https://github.com/llvm/llvm-project/commit/048fc2bc102cff806613592829ff275c0f2b826f
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/MC/MCRegisterInfo.cpp
    M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
    M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
    M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll

  Log Message:
  -----------
  [LiveIntervals] Ignore artificial regs when adding kill flags (#116963)

If parts of a physical register for a given liverange, as assigned by
the register allocator, can be used to store other values not
represented by this liverange, then `LiveIntervals::addKillFlags`
normally avoids adding a kill flag on the use of this register
when the value's liverange ends.

However, if all the other regunits are artificial, then we can
still safely add the kill flag, since those parts of the register
can never be accessed independently.


  Commit: d57892a2a153ab71a796f07e39d939eae6910c21
      https://github.com/llvm/llvm-project/commit/d57892a2a153ab71a796f07e39d939eae6910c21
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    R llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
    M llvm/test/CodeGen/X86/vselect.ll

  Log Message:
  -----------
  Revert "[DAGCombiner] Add support for scalarising extracts of a vector setcc" (#118693)

Reverts llvm/llvm-project#117566

Breaks libc++ tests with HWASAN
https://lab.llvm.org/buildbot/#/builders/55/builds/3959


  Commit: 5e769fb2342f2ff5986f62cc50550b8b4ab1985f
      https://github.com/llvm/llvm-project/commit/5e769fb2342f2ff5986f62cc50550b8b4ab1985f
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    A libc/config/windows/headers.txt

  Log Message:
  -----------
  [libc] add headers.txt for windows (#118675)

Link:
https://github.com/llvm/llvm-project/pull/117220#issuecomment-2518126598

---------

Co-authored-by: Michael Jones <michaelrj at google.com>


  Commit: e84c918cb42f9f0d1f7fda44bfacdaae13723e64
      https://github.com/llvm/llvm-project/commit/e84c918cb42f9f0d1f7fda44bfacdaae13723e64
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/include/mlir/IR/VectorTypes.h
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp

  Log Message:
  -----------
  [mlir] Use new VectorType wrappers CommonTypeConstraints.td (#118645)

As a follow-on for #87986, moves the VectorType convenience wrappers
(`FixedVectorType` and `ScalableVectorType`) to BuiltinTypes.h. This
allows us to use the new wrappers in "CommonTypeConstraints.td".


  Commit: e0f52538c9739d945e316eac0ddd92d26e4e380a
      https://github.com/llvm/llvm-project/commit/e0f52538c9739d945e316eac0ddd92d26e4e380a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll

  Log Message:
  -----------
  AMDGPU: Change bitop3 intrinsic operand to i32 (#118647)


  Commit: 431581b22a5269c2cd05c0a8e2155072d52f85a7
      https://github.com/llvm/llvm-project/commit/431581b22a5269c2cd05c0a8e2155072d52f85a7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td

  Log Message:
  -----------
  AMDGPU: Simplify definition of bitop3 operand. NFC. (#118648)

Co-authored-by: Jay Foad <jay.foad at amd.com>


  Commit: 7954a0514ba7de40dba6c598af830fd1b7a8bf0c
      https://github.com/llvm/llvm-project/commit/7954a0514ba7de40dba6c598af830fd1b7a8bf0c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGen/tbaa-reference.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
    M clang/unittests/CodeGen/TBAAMetadataTest.cpp

  Log Message:
  -----------
  [Clang] Enable -fpointer-tbaa by default. (#117244)

Support for more precise TBAA metadata has been added a while ago
(behind the -fpointer-tbaa flag). The more precise TBAA metadata allows
treating accesses of different pointer types as no-alias.

This helps to remove more redundant loads and stores in a number of
workloads.

Some highlights on the impact across llvm-test-suite's MultiSource,
SPEC2006 & SPEC2017 include:
 * +2% more NoAlias results for memory accesses
 * +3% more stores removed by DSE,
 * +4% more loops vectorized.

This closes a relatively big gap to GCC, which has been supporting
disambiguating based on pointer types for a long time.
(https://clang.godbolt.org/z/K7Wbhrz4q)

Pointer-TBAA support for pointers to builtin types has been added in
https://github.com/llvm/llvm-project/pull/76612.

Support for user-defined types has been added in
https://github.com/llvm/llvm-project/pull/110569.

There are 2 recent PRs with bug fixes for special cases uncovered during
testing:
 * https://github.com/llvm/llvm-project/pull/116991
 * https://github.com/llvm/llvm-project/pull/116596

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


  Commit: ce0f11325e0c62c5b81391589e9b93b412a85bc1
      https://github.com/llvm/llvm-project/commit/ce0f11325e0c62c5b81391589e9b93b412a85bc1
  Author: Augie Fackler <augie at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/XRefs.h
    M clang-tools-extra/clangd/index/Background.cpp
    M clang-tools-extra/clangd/index/Background.h
    M clang-tools-extra/clangd/index/FileIndex.cpp
    M clang-tools-extra/clangd/index/FileIndex.h
    M clang-tools-extra/clangd/index/Index.cpp
    M clang-tools-extra/clangd/index/Index.h
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/MemIndex.h
    M clang-tools-extra/clangd/index/Merge.cpp
    M clang-tools-extra/clangd/index/Merge.h
    M clang-tools-extra/clangd/index/ProjectAware.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/Serialization.cpp
    M clang-tools-extra/clangd/index/Serialization.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.h
    M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
    M clang-tools-extra/clangd/index/remote/Client.cpp
    M clang-tools-extra/clangd/index/remote/Index.proto
    M clang-tools-extra/clangd/index/remote/Service.proto
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DexTests.cpp
    M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
    M clang-tools-extra/clangd/unittests/IndexTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/TestTU.cpp
    M clang-tools-extra/clangd/unittests/TestWorkspace.cpp

  Log Message:
  -----------
  Revert "[clangd] Re-land "support outgoing calls in call hierarchy" (#117673)"

This reverts commit 7be3326200ef382705d8e6b2d7dc5378af96b34a.

Per https://protobuf.dev/programming-guides/dos-donts/#add-required
this will re-land tomorrow without the required fields.


  Commit: 2e425bf629f80c8f8582c266d25a384e7549198d
      https://github.com/llvm/llvm-project/commit/2e425bf629f80c8f8582c266d25a384e7549198d
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    A lldb/test/Shell/SymbolFile/DWARF/x86/simplified-template-names.cpp
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp

  Log Message:
  -----------
  Reapply "[lldb][dwarf] Compute fully qualified names on simplified template names with DWARFTypePrinter (#117071)"

9de73b20404f0b2db1cbf70d164cfe0789d5bb94 lands a fix to DWARFTypePrinter that is used by lldb in this change.


  Commit: ac5dd455caaf286625f61b604291f2eaed9702f0
      https://github.com/llvm/llvm-project/commit/ac5dd455caaf286625f61b604291f2eaed9702f0
  Author: George Stagg <georgestagg at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/MC/WasmObjectWriter.cpp
    A llvm/test/MC/WebAssembly/init-array.s

  Log Message:
  -----------
  [WebAssembly] Support multiple `.init_array` fragments when writing Wasm objects (#111008)


  Commit: 6003be7ef14bd95647e1ea6ec9685c1310f8ce58
      https://github.com/llvm/llvm-project/commit/6003be7ef14bd95647e1ea6ec9685c1310f8ce58
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Lower/PFTBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/target.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/runtime/exceptions.cpp
    M flang/test/Evaluate/fold-ieee.f90
    M flang/test/Evaluate/folding18.f90
    A flang/test/Lower/Intrinsics/ieee_underflow.f90

  Log Message:
  -----------
  [flang] IEEE_GET_UNDERFLOW_MODE, IEEE_SET_UNDERFLOW_MODE (#118551)

Implement IEEE_GET_UNDERFLOW_MODE and IEEE_SET_UNDERFLOW_MODE. Update
IEEE_SUPPORT_UNDERFLOW_CONTROL to enable support for indvidual REAL
kinds.


  Commit: e6bd00c0f7017cf9652fec573d6554a3a95d4e28
      https://github.com/llvm/llvm-project/commit/e6bd00c0f7017cf9652fec573d6554a3a95d4e28
  Author: Marina Taylor <marina_taylor at apple.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

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

  Log Message:
  -----------
  [Inliner] Add a helper around `SimplifiedValues.lookup`. NFCI (#118646)


  Commit: 7efd6139f2d1139e3b434a21992967531f469acc
      https://github.com/llvm/llvm-project/commit/7efd6139f2d1139e3b434a21992967531f469acc
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/CUFOpConversion.h
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    A flang/test/Fir/CUDA/cuda-global-addr.mlir

  Log Message:
  -----------
  [flang][cuda] Get device address in fir.declare (#118591)

Add pattern that update fir.declare memref when it comes from a device
global and is not a descriptor. In that case, we recover the device
address that needs to be used in ops like `fir.array_coor` and so on.


  Commit: a7da702377ef857a6b2dccf5f07f77b489be1dd1
      https://github.com/llvm/llvm-project/commit/a7da702377ef857a6b2dccf5f07f77b489be1dd1
  Author: lntue <lntue at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M libc/src/__support/macros/optimization.h
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/inv_trigf_utils.h

  Log Message:
  -----------
  [libc][math] Add small code size options for atan2f. (#118532)


  Commit: 35c7df1a219e99bc0e2aa2034e77f4e9c90566d3
      https://github.com/llvm/llvm-project/commit/35c7df1a219e99bc0e2aa2034e77f4e9c90566d3
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsARM.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/intrin0.h
    M clang/test/CodeGen/ms-intrinsics.c

  Log Message:
  -----------
  [aarch64][arm] Add support for the _Interlocked[Compare]ExchangePointer_{acq|nf|rel} MS intrinsics (#117645)

Adds support for the following MSVC intrinsics:
* `_InterlockedCompareExchangePointer_acq`
* `_InterlockedCompareExchangePointer_rel`
* `_InterlockedExchangePointer_acq`
* `_InterlockedExchangePointer_nf`
* `_InterlockedExchangePointer_rel`

These are documented at:
<https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170#interlocked-intrinsics>

NOTE: `_InterlockedCompareExchangePointer_nf` is not being added since
it already exists, although it was incorrectly added for all
architectures instead of being Arm & AArch64 specific.

This change also unifies how the pointer and non-pointer interlocked
compare-exchange intrinsics are being handled.


  Commit: 261d4bbb3bb847b90b9734daefe13618dea91613
      https://github.com/llvm/llvm-project/commit/261d4bbb3bb847b90b9734daefe13618dea91613
  Author: Luke Quinn <quic_lquinn at quicinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
    M llvm/test/CodeGen/RISCV/double-zfa.ll
    M llvm/test/CodeGen/RISCV/float-zfa.ll
    M llvm/test/CodeGen/RISCV/half-zfa.ll

  Log Message:
  -----------
  [RISCV] f32 roundeven pattern missed for Zfa (#118672)

f32 roundeven pattern was missing from RISCVInstrInfoZfa.td. Tests for
roundeven.f32/f16/f64 were missing.


  Commit: 004e75ef17c76598f7307adbe9a39d5ae6d5375a
      https://github.com/llvm/llvm-project/commit/004e75ef17c76598f7307adbe9a39d5ae6d5375a
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/test/Driver/linux-ld.c

  Log Message:
  -----------
  Pack relocations for Android API >= 28 (#117624)

Patch copied from:
https://github.com/android/ndk/issues/909#issuecomment-649872696
Fixes: https://github.com/android/ndk/issues/909


  Commit: 8cffab821c4b96c73fc4ad5e8ca2417ced953c5a
      https://github.com/llvm/llvm-project/commit/8cffab821c4b96c73fc4ad5e8ca2417ced953c5a
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake

  Log Message:
  -----------
  [Fuchsia] Remove libc from LLVM_ENABLE_PROJECTS (#118704)

This was only needed for old hdrgen which is no longer being used.


  Commit: b86a5993bc7be59b49879a0e768f53b7330f71b2
      https://github.com/llvm/llvm-project/commit/b86a5993bc7be59b49879a0e768f53b7330f71b2
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/cmake/modules/CrossCompile.cmake

  Log Message:
  -----------
  [libc] remove references to LIBC_HDRGEN_EXE (#118670)

Further cleanups from old hdrgen removal. I didn't realize there were
cmake
variables related to old hdrgen spread out throughout more of the source
tree.

Link: #117220
Link: #117208


  Commit: e6aec2c12095cc7debd1a8004c8535eef41f4c36
      https://github.com/llvm/llvm-project/commit/e6aec2c12095cc7debd1a8004c8535eef41f4c36
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M llvm/lib/Target/AMDGPU/AMDGPUAttributes.def
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
    A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
    A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
    M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
    M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll

  Log Message:
  -----------
  [AMDGPU] Infer amdgpu-no-flat-scratch-init attribute in AMDGPUAttributor (#94647)

The AMDGPUAnnotateKernelFeatures pass infers the "amdgpu-calls" and
"amdgpu-stack-objects" attributes, which are used to infer whether we
need to initialize flat scratch. This is, however, not precise. Instead,
we should use AMDGPUAttributor and infer amdgpu-no-flat-scratch-init on
kernels. Refer to https://github.com/llvm/llvm-project/issues/63586 .


  Commit: 1b4cdc401a19e7c9f7679c94540a41340eb4e548
      https://github.com/llvm/llvm-project/commit/1b4cdc401a19e7c9f7679c94540a41340eb4e548
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC]update vop3 dasm test with latest script (#118686)

This is a NFC. Update dasm test for VOP3 using latest update script


  Commit: a2fc276ed2556c5da59f8b039bbb6d97f3003134
      https://github.com/llvm/llvm-project/commit/a2fc276ed2556c5da59f8b039bbb6d97f3003134
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp

  Log Message:
  -----------
  [libc] Remove complicated header guards on HSA include

Summary:
This is much more standard now, we already require new HSA with what we
use, so no point checking for this.


  Commit: 2fea1ccb6221238674562533684c51b63de248d4
      https://github.com/llvm/llvm-project/commit/2fea1ccb6221238674562533684c51b63de248d4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

  Log Message:
  -----------
  [RISCV][GISel] Correct the widening predicate for G_SITOFP/G_UITOFP.

This happened to coincidentally work due to D and Zfh both depending
on the F extension.

It breaks when I tried to add fp128 libcall support.


  Commit: f50ce316ec434f1e2f061287a48d85acde801a3d
      https://github.com/llvm/llvm-project/commit/f50ce316ec434f1e2f061287a48d85acde801a3d
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp

  Log Message:
  -----------
  [llvm][NFC] `APFloat`: Add missing semantics to enum (#117291)

* Add missing semantics to the `Semantics` enum.
* Move all documentation of the semantics to the header file.
* Also rename some functions for consistency.


  Commit: fc201d6133bef41b306cc39da0e4aed2112656b0
      https://github.com/llvm/llvm-project/commit/fc201d6133bef41b306cc39da0e4aed2112656b0
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-gep.ll

  Log Message:
  -----------
  Revert "[InstCombine] Support gep nuw in icmp folds" (#118698)

Reverts llvm/llvm-project#118472

Breaks profile tests on i386
https://lab.llvm.org/buildbot/#/builders/66/builds/7009


  Commit: 758107f70a78d8d9c97438264c06ae7aa9e7cc5f
      https://github.com/llvm/llvm-project/commit/758107f70a78d8d9c97438264c06ae7aa9e7cc5f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll

  Log Message:
  -----------
  [RISCV] Improve spread(N) shuffle testing

Rework them now that spread(2) is special cased to ensure we still have
non-zero shift coverage.


  Commit: 09f4c26262a35c1e428cf8b01b6239c6f605a4c1
      https://github.com/llvm/llvm-project/commit/09f4c26262a35c1e428cf8b01b6239c6f605a4c1
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/test/Driver/fuchsia.c

  Log Message:
  -----------
  [Driver][Fuchsia] Avoid "argument unused" warnings (#118416)

There should not be an error or warning reported for using
redundant options to control what goes into the link.  For
example, -nolibc -nostdlib.


  Commit: 1ef9410a96c1d9669a6feaf03fcab8d0a4a13bd5
      https://github.com/llvm/llvm-project/commit/1ef9410a96c1d9669a6feaf03fcab8d0a4a13bd5
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M llvm/lib/Target/AMDGPU/AMDGPUAttributes.def
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
    R llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
    R llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
    M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
    M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Infer amdgpu-no-flat-scratch-init attribute in AMDGPUAttributor (#94647)"

This reverts commit e6aec2c12095cc7debd1a8004c8535eef41f4c36.  Commit breaks "ninja check-llvm" on x86 host.


  Commit: 659834df0e86ac6e605a50118c12e99cfb61eb19
      https://github.com/llvm/llvm-project/commit/659834df0e86ac6e605a50118c12e99cfb61eb19
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M libc/docs/fenv.rst
    M libc/docs/setjmp.rst
    M libc/docs/signal.rst
    M libc/docs/stdbit.rst
    M libc/docs/threads.rst
    M libc/utils/docgen/docgen.py
    M libc/utils/docgen/setjmp.json

  Log Message:
  -----------
  docgen refresh (#118709)

- **[libc][docgen] Use Macro for macro table name**
- **fix setjmp json, otherwise can't regen**
- **regen all docs**


  Commit: 17f99accf23e1486404b6833a18d0d78a1ecd098
      https://github.com/llvm/llvm-project/commit/17f99accf23e1486404b6833a18d0d78a1ecd098
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/test/Evaluate/fold-ieee.f90
    M flang/test/Evaluate/folding18.f90
    R flang/test/Lower/Intrinsics/ieee_underflow.f90

  Log Message:
  -----------
  [flang] build test fix/suppression (#118716)


  Commit: 32b821cab3064ae9a77a0f1d9916a286c7543735
      https://github.com/llvm/llvm-project/commit/32b821cab3064ae9a77a0f1d9916a286c7543735
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/AST/MicrosoftMangle.cpp

  Log Message:
  -----------
  [AST] Fix a warning

This patch fixes:

  clang/lib/AST/MicrosoftMangle.cpp:1006:11: error: enumeration value
  'S_PPCDoubleDoubleLegacy' not handled in switch [-Werror,-Wswitch]


  Commit: df43af40ec1d139caa5cb870c7e35ff6b91cdbc3
      https://github.com/llvm/llvm-project/commit/df43af40ec1d139caa5cb870c7e35ff6b91cdbc3
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/test/Evaluate/fold-ieee.f90

  Log Message:
  -----------
  Vkd1 (#118721)


  Commit: af4ae12780099d3df0b89bccc80fd69b240f345e
      https://github.com/llvm/llvm-project/commit/af4ae12780099d3df0b89bccc80fd69b240f345e
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    A compiler-rt/test/rtsan/fork_exec.cpp

  Log Message:
  -----------
  [rtsan] Add fork/execve interceptors (#117198)


  Commit: 970d6d20967258528980c9b7feaaf3dd3acf9aa3
      https://github.com/llvm/llvm-project/commit/970d6d20967258528980c9b7feaaf3dd3acf9aa3
  Author: pcc <peter at pcc.me.uk>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/pack-dyn-relocs-ifunc.s

  Log Message:
  -----------
  ELF: Have __rela_iplt_{start,end} surround .rela.iplt with --pack-dyn-relocs=android.

In #86751 we moved the IRELATIVE relocations to .rela.plt when
--pack-dyn-relocs=android was enabled but we neglected to also move
the __rela_iplt_{start,end} symbols. As a result, static binaries
linked with this flag were unable to find their IRELATIVE relocations.
Fix it by having the symbols surround the correct section.

Reviewers: MaskRay, smithp35

Reviewed By: MaskRay

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


  Commit: 7d1c661381d36018fd105f4ad4c2d6dc45e7288b
      https://github.com/llvm/llvm-project/commit/7d1c661381d36018fd105f4ad4c2d6dc45e7288b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/include/flang/Runtime/allocator-registry.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/descriptor.cpp
    M flang/runtime/allocatable.cpp
    M flang/runtime/array-constructor.cpp
    M flang/runtime/descriptor.cpp
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/polymorphic.f90
    M flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp

  Log Message:
  -----------
  [flang] Allow to pass an async id to allocate the descriptor (#118713)

This is a patch in preparation for the support stream ordered memory
allocator in CUDA Fortran.

This patch adds an asynchronous id to the AllocatableAllocate runtime
function and to Descriptor::Allocate so it can be passed down to the
registered allocator. It is up to the allocator to use this value or
not.

A follow up patch will implement that asynchronous allocator for CUDA
Fortran.


  Commit: 00d8ea3a4c8eba9aa0f14c352192e94cc40f8e2d
      https://github.com/llvm/llvm-project/commit/00d8ea3a4c8eba9aa0f14c352192e94cc40f8e2d
  Author: hev <wangrui at loongson.cn>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/fp16-promote.ll

  Log Message:
  -----------
  [LoongArch] Supports FP_TO_SINT operation for fp16 (#118303)

Fixes #118301


  Commit: 740ac4f0ffbab304e3f74ce8d1d0505479d0f800
      https://github.com/llvm/llvm-project/commit/740ac4f0ffbab304e3f74ce8d1d0505479d0f800
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml

  Log Message:
  -----------
  Reland "[ObjectYAML][ELF] Take alignment into account when generating notes" (#118434)

This relands #118157 with a fix for the use of an uninitialized
variable and additional tests.

The System V ABI
(https://www.sco.com/developers/gabi/latest/ch5.pheader.html#note_section)
states that the note entries and their descriptor fields must be aligned
to 4 or 8 bytes for 32-bit or 64-bit objects respectively. In practice,
64-bit systems can use both alignments, with the actual format being
determined by the alignment of the segment. For example, the Linux
gABI extension (https://github.com/hjl-tools/linux-abi/wiki/linux-abi-draft.pdf)
contains a special note on this, see 2.1.7 "Alignment of Note Sections".

This patch adjusts the format of the generated notes to the specified
section alignment. Since `llvm-readobj` was fixed in a similar way in
https://reviews.llvm.org/D150022, "[Object] Fix handling of Elf_Nhdr
with sh_addralign=8", the generated notes can now be parsed
successfully by the tool.


  Commit: f98c9a9b3665c75a6bf01577734f16185710009d
      https://github.com/llvm/llvm-project/commit/f98c9a9b3665c75a6bf01577734f16185710009d
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp

  Log Message:
  -----------
  [mutation analyzer][NFC] combine `ConditionalOperator` `BinaryConditionalOperator` (#118602)


  Commit: 7b8cf147addf7d3fb4630475c40153226f5fdbd0
      https://github.com/llvm/llvm-project/commit/7b8cf147addf7d3fb4630475c40153226f5fdbd0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Update YAML traits for writer purposes (#118720)

For Frames, we prefer the inline notation for the brevity.

For PortableMemInfoBlock, we go through all member fields and print
out those that are populated.


  Commit: 7f72d71de7c3b7d36d9f463b1459a6d2f6c989e6
      https://github.com/llvm/llvm-project/commit/7f72d71de7c3b7d36d9f463b1459a6d2f6c989e6
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Refactor reduction initialization logic into one util (#118447)

This refactors the logic needed to emit init logic for reductions by
moving some duplicated code into a shared util. The logic for doing is
quite involved and is needed for any construct that has reductions.
Moreover, when a construct has both private and reduction clauses, both
sets of clauses need to cooperate with each other when emitting the
logic needed for allocation and initialization. Therefore, this PR
clearly sets the boundaries for the logic needed to initialize
reductions.


  Commit: 50f8580e2cded758627b8d9478b56d5443aa6d7c
      https://github.com/llvm/llvm-project/commit/50f8580e2cded758627b8d9478b56d5443aa6d7c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Add IndexedMemProfData::addFrame (#118724)

This patch adds a helper function to replace an idiom like:

  FrameId Id = F.hash();
  MemProfData.Frames.try_emplace(Id, F);
  // Do something with Id.


  Commit: 0993335134dd893bcad31f7a4a24b00b7c11476a
      https://github.com/llvm/llvm-project/commit/0993335134dd893bcad31f7a4a24b00b7c11476a
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    A mlir/test/Target/LLVMIR/openmp-wsloop-private.mlir

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Add delayed privatization support for `wsloop` (#118463)

Extend MLIR to LLVM lowering by adding support for `omp.wsloop` for
delayed privatization. This also refactors a few bit of code to isolate
the logic needed for `firstprivate` initialization in a shared util that
can be used across constructs that need it. The same is done for
`dealloc`
regions.

Parent PR: https://github.com/llvm/llvm-project/pull/118447. Only latest
commit is relevant for this PR.


  Commit: 44be794658f9cd477ffd718b0322d1970c534274
      https://github.com/llvm/llvm-project/commit/44be794658f9cd477ffd718b0322d1970c534274
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    A clang/test/AST/ByteCode/amdgpu-nullptr.cl

  Log Message:
  -----------
  [clang][bytecode] Not all null pointers are 0 (#118601)

Get the Value from the ASTContext instead.


  Commit: a996a15b4c5287892f79c0ae029ea9319c8e44a5
      https://github.com/llvm/llvm-project/commit/a996a15b4c5287892f79c0ae029ea9319c8e44a5
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/cmake/caches/CrossWinToARMLinux.cmake

  Log Message:
  -----------
  [CMake] Allow parametrizing of the static libraries in Cross ARM CMake cache. NFC. (#118737)

In order to support the cross-arm remote tests for LLDB project

(see 'lldb-remote-linux-*' public builders for details).


  Commit: dba0861cd7aa2717b0f36c76d77c097765f6ad57
      https://github.com/llvm/llvm-project/commit/dba0861cd7aa2717b0f36c76d77c097765f6ad57
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AVR/AVRInstrFormats.td
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.h
    M llvm/test/CodeGen/AVR/inline-asm/loadstore.ll

  Log Message:
  -----------
  [AVR] Simplify eocoding of load/store instructions (#118279)

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


  Commit: 3e0e1c13ce96dfe291ffaf9edc9876cdd5016a0d
      https://github.com/llvm/llvm-project/commit/3e0e1c13ce96dfe291ffaf9edc9876cdd5016a0d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll

  Log Message:
  -----------
  [RISCV][GISel] Support fp128 arithmetic and conversion for RV64. (#118707)

We can support these via libcalls in libgcc/compiler-rt or integer
operations for fneg/fabs/fcopysign. fp128 values will be passed in two
64-bit GPRs according to the psABI.

Supporting RV32 requires sret which is not supported by libcall handling
in LegalizerHelper.cpp yet. It doesn't call canLowerReturn.


  Commit: abc27039be63ce31afe42fc10510921b559db4fe
      https://github.com/llvm/llvm-project/commit/abc27039be63ce31afe42fc10510921b559db4fe
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Pass __builtin_memcpy size along (#118649)

To DoBitCastPtr, so we know how many bytes we want to read.


  Commit: 0629e9e352fa8a2204e6165c61ce617f7096778e
      https://github.com/llvm/llvm-project/commit/0629e9e352fa8a2204e6165c61ce617f7096778e
  Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/Transforms/remove-dead-values.mlir

  Log Message:
  -----------
  [MLIR] Removing dead values for branches (#117501)

Fixing RemoveDeadValues to properly remove arguments from
BranchOpInterface operations.
This is a follow-up for:
https://github.com/llvm/llvm-project/pull/117405
cc: @joker-eph @codemzs

---------

Co-authored-by: Renat Idrisov <parsifal-47 at users.noreply.github.com>


  Commit: 71ac1eb50955fdcddfb77f2daa9a213839ff1a3e
      https://github.com/llvm/llvm-project/commit/71ac1eb50955fdcddfb77f2daa9a213839ff1a3e
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
    M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-amdgpu-cvt-f32-ubyte.mir
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll

  Log Message:
  -----------
  Revert "[GlobalISel] Combine [s,z]ext of undef into 0" (#118746)

Reverts llvm/llvm-project#117439


  Commit: f7560ee97b7441eb3f5b2d0744aad857fafa5855
      https://github.com/llvm/llvm-project/commit/f7560ee97b7441eb3f5b2d0744aad857fafa5855
  Author: Iuri Chaer <ichaer at splunk.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Format/CMakeLists.txt

  Log Message:
  -----------
  [clang-format] Add cmake target clang-format-style-options for updating ClangFormatStyleOptions.rst (#111513)

* Create a new `clang-format-style-options` build target which
re-generates ClangFormatStyleOptions.rst from its source header files.

As discussed in
https://github.com/llvm/llvm-project/pull/96804#discussion_r1718407404

---------

Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: 6bec1806c9cc90f6e72fc04698f4221c86c5f95e
      https://github.com/llvm/llvm-project/commit/6bec1806c9cc90f6e72fc04698f4221c86c5f95e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/lib/Format/CMakeLists.txt

  Log Message:
  -----------
  [clang-format] Add plurals.txt to DEPENDS of style_options_depends


  Commit: a9a4a83b6132f076fd14ac31268deaa4bf1381d5
      https://github.com/llvm/llvm-project/commit/a9a4a83b6132f076fd14ac31268deaa4bf1381d5
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M clang/docs/tools/dump_format_style.py
    A clang/test/Format/docs_updated.test
    M clang/test/Format/lit.local.cfg

  Log Message:
  -----------
  [clang-format] Add test to ensure formatting options docs are updated (#118154)

This patch adds a lit test to clang format to ensure that the
ClangFormatStyleOptions doc page has been updated appropriately. The
test just runs the automatic update script and diffs the outputs to
ensure they are the same.


  Commit: 636beb6a2833ee0290935f679252c1b662721b31
      https://github.com/llvm/llvm-project/commit/636beb6a2833ee0290935f679252c1b662721b31
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M lld/ELF/Arch/X86_64.cpp
    M lld/test/ELF/invalid/broken-relaxation-x64.test
    M lld/test/ELF/pack-dyn-relocs-tls-x86-64.s
    M lld/test/ELF/tls-opt.s
    A lld/test/ELF/x86-64-tls-ie-err.s
    M lld/test/ELF/x86-64-tls-ie-local.s

  Log Message:
  -----------
  [X86][LLD] Handle R_X86_64_CODE_6_GOTTPOFF relocation type (#117675)

For

    add %reg1, name at GOTTPOFF(%rip), %reg2
    add name at GOTTPOFF(%rip), %reg1, %reg2
    {nf} add %reg1, name at GOTTPOFF(%rip), %reg2
    {nf} add name at GOTTPOFF(%rip), %reg1, %reg2
    {nf} add name at GOTTPOFF(%rip), %reg

add

    R_X86_64_CODE_6_GOTTPOFF = 50

in #117277.

Linker can treat R_X86_64_CODE_6_GOTTPOFF as R_X86_64_GOTTPOFF or
convert the instructions above to

    add $name at tpoff, %reg1, %reg2
    add $name at tpoff, %reg1, %reg2
    {nf} add $name at tpoff, %reg1, %reg2
    {nf} add $name at tpoff, %reg1, %reg2
    {nf} add $name at tpoff, %reg

if the first byte of the instruction at the relocation offset - 6 is
0x62 (namely, encoded w/EVEX prefix) when possible.

Binutils patch: bminor/binutils-gdb at 5bc71c2
Binutils mailthread:
https://sourceware.org/pipermail/binutils/2024-February/132351.html
ABI discussion:
https://groups.google.com/g/x86-64-abi/c/FhEZjCtDLFw/m/VHDjN4orAgAJ
Blog: https://kanrobert.github.io/rfc/All-about-APX-relocation


  Commit: fd3907ccb583df99e9c19d2fe84e4e7c52d75de9
      https://github.com/llvm/llvm-project/commit/fd3907ccb583df99e9c19d2fe84e4e7c52d75de9
  Author: Callum Fare <callum at codeplay.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/OpenMPTesting.cmake
    A offload/liboffload/API/APIDefs.td
    A offload/liboffload/API/CMakeLists.txt
    A offload/liboffload/API/Common.td
    A offload/liboffload/API/Device.td
    A offload/liboffload/API/OffloadAPI.td
    A offload/liboffload/API/Platform.td
    A offload/liboffload/API/README.md
    A offload/liboffload/CMakeLists.txt
    A offload/liboffload/README.md
    A offload/liboffload/exports
    A offload/liboffload/include/OffloadImpl.hpp
    A offload/liboffload/include/generated/OffloadAPI.h
    A offload/liboffload/include/generated/OffloadEntryPoints.inc
    A offload/liboffload/include/generated/OffloadFuncs.inc
    A offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    A offload/liboffload/include/generated/OffloadPrint.hpp
    A offload/liboffload/src/Helpers.hpp
    A offload/liboffload/src/OffloadImpl.cpp
    A offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/offload-tblgen/default_returns.td
    A offload/test/tools/offload-tblgen/entry_points.td
    A offload/test/tools/offload-tblgen/functions_basic.td
    A offload/test/tools/offload-tblgen/functions_code_loc.td
    A offload/test/tools/offload-tblgen/functions_ranged_param.td
    A offload/test/tools/offload-tblgen/print_enum.td
    A offload/test/tools/offload-tblgen/print_function.td
    A offload/test/tools/offload-tblgen/type_tagged_enum.td
    A offload/tools/offload-tblgen/APIGen.cpp
    A offload/tools/offload-tblgen/CMakeLists.txt
    A offload/tools/offload-tblgen/EntryPointGen.cpp
    A offload/tools/offload-tblgen/FuncsGen.cpp
    A offload/tools/offload-tblgen/GenCommon.hpp
    A offload/tools/offload-tblgen/Generators.hpp
    A offload/tools/offload-tblgen/PrintGen.cpp
    A offload/tools/offload-tblgen/RecordTypes.hpp
    A offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    A offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/common/Environment.cpp
    A offload/unittests/OffloadAPI/common/Environment.hpp
    A offload/unittests/OffloadAPI/common/Fixtures.hpp
    A offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    A offload/unittests/OffloadAPI/device/olGetDevice.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp

  Log Message:
  -----------
  Reland #118503: [Offload] Introduce offload-tblgen and initial new API implementation (#118614)

Reland #118503. Added a fix for builds with `-DBUILD_SHARED_LIBS=ON`
(see last commit). Otherwise the changes are identical.

---


### New API

Previous discussions at the LLVM/Offload meeting have brought up the
need for a new API for exposing the functionality of the plugins. This
change introduces a very small subset of a new API, which is primarily
for testing the offload tooling and demonstrating how a new API can fit
into the existing code base without being too disruptive. Exact designs
for these entry points and future additions can be worked out over time.

The new API does however introduce the bare minimum functionality to
implement device discovery for Unified Runtime and SYCL. This means that
the `urinfo` and `sycl-ls` tools can be used on top of Offload. A
(rough) implementation of a Unified Runtime adapter (aka plugin) for
Offload is available
[here](https://github.com/callumfare/unified-runtime/tree/offload_adapter).
Our intention is to maintain this and use it to implement and test
Offload API changes with SYCL.

### Demoing the new API

```sh
# From the runtime build directory
$ ninja LibomptUnitTests
$ OFFLOAD_TRACE=1 ./offload/unittests/OffloadAPI/offload.unittests 
```


### Open questions and future work
* Only some of the available device info is exposed, and not all the
possible device queries needed for SYCL are implemented by the plugins.
A sensible next step would be to refactor and extend the existing device
info queries in the plugins. The existing info queries are all strings,
but the new API introduces the ability to return any arbitrary type.
* It may be sensible at some point for the plugins to implement the new
API directly, and the higher level code on top of it could be made
generic, but this is more of a long-term possibility.


  Commit: 41cde465acfddb44d400b0a53bb57960762312a2
      https://github.com/llvm/llvm-project/commit/41cde465acfddb44d400b0a53bb57960762312a2
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/ptrauth-function-attributes.c
    M clang/test/Driver/aarch64-ptrauth.c

  Log Message:
  -----------
  [PAC][Driver] Add `-faarch64-jump-table-hardening` flag (#113149)

The flag is placed together with pointer authentication flags since they
serve the same security purpose of protecting against attacks on control
flow. The flag is not ABI-affecting and might be enabled separately if
needed, but it's also intended to be enabled as part of pauth-enabled
environments (e.g. pauthtest).

See also codegen implementation #97666.


  Commit: a9eb8f0e3dbaf16b6bd83eecb960b6ea8ecaa8c3
      https://github.com/llvm/llvm-project/commit/a9eb8f0e3dbaf16b6bd83eecb960b6ea8ecaa8c3
  Author: Benjamin Maxwell <macdue at dueutil.tech>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/test/Dialect/ArmSME/vector-legalization.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Fix crash on empty vector.mask in arm-sme-vector-legalization (#118613)

Fixes #118449


  Commit: 3a8ada67ff45aec5696d72212d516593c3d32893
      https://github.com/llvm/llvm-project/commit/3a8ada67ff45aec5696d72212d516593c3d32893
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang][NFC] Fix miscellaneous typos in release notes


  Commit: 5d38a3406b11c70e6f0d1a880b78ed404aba2c36
      https://github.com/llvm/llvm-project/commit/5d38a3406b11c70e6f0d1a880b78ed404aba2c36
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

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

  Log Message:
  -----------
  [clangd] Consolidate two functions converting index to LSP locations (#117885)


  Commit: 147e9a4ad5d2b6738537b8ce6ac4828b578c4424
      https://github.com/llvm/llvm-project/commit/147e9a4ad5d2b6738537b8ce6ac4828b578c4424
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-12-06 (Fri, 06 Dec 2024)

  Changed paths:
    A .ci/metrics/Dockerfile
    A .ci/metrics/metrics.py
    A .ci/metrics/requirements.lock.txt
    A .ci/metrics/requirements.txt
    M .github/CODEOWNERS
    A .github/workflows/build-metrics-container.yml
    M .github/workflows/docs.yml
    M .github/workflows/libcxx-restart-preempted-jobs.yaml
    R bolt/CODE_OWNERS.TXT
    A bolt/Maintainers.txt
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/AArch64/veneer-lld-abs.s
    M bolt/unittests/Core/CMakeLists.txt
    A bolt/unittests/Core/MemoryMaps.cpp
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/index/BackgroundRebuild.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
    A clang-tools-extra/test/clang-reorder-fields/FieldAnnotationsInMacros.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
    M clang/cmake/caches/CrossWinToARMLinux.cmake
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/docs/ClangFormat.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/tools/dump_ast_matchers.py
    M clang/docs/tools/dump_format_style.py
    M clang/include/clang/AST/AttrIterator.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsARM.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    A clang/lib/AST/ByteCode/BitcastBuffer.cpp
    A clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Record.h
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/CXXInheritance.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Format/Format.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/intrin0.h
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAttr.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/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp
    A clang/test/AST/ByteCode/altivec.c
    A clang/test/AST/ByteCode/amdgpu-nullptr.cl
    A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/ByteCode/vectors.cpp
    A clang/test/AST/HLSL/ArrayOutArgExpr.hlsl
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    A clang/test/AST/ast-print-packindexingexpr.cpp
    M clang/test/AST/attr-lifetime-capture-by.cpp
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/chroot.c
    M clang/test/Analysis/ctor-trivial-copy.cpp
    M clang/test/Analysis/explain-svals.cpp
    R clang/test/Analysis/identical-expressions.cpp
    M clang/test/Analysis/initializer.cpp
    M clang/test/Analysis/iterator-modeling.cpp
    M clang/test/Analysis/reference.cpp
    M clang/test/Analysis/show-checker-list.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/stl-algorithm-modeling-aggressive-std-find-modeling.cpp
    M clang/test/Analysis/stl-algorithm-modeling.cpp
    M clang/test/Analysis/template-param-objects.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg722.cpp
    M clang/test/CXX/temp/temp.deduct.guide/p3.cpp
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/AArch64/sve-vls-arith-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-bitwise-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-compare-ops.c
    M clang/test/CodeGen/AArch64/sve-vls-shift-ops.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
    M clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
    M clang/test/CodeGen/X86/cx-complex-range.c
    M clang/test/CodeGen/alias.cpp
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGen/cx-complex-range.c
    M clang/test/CodeGen/matrix-type-operators-fast-math.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGen/ptrauth-function-attributes.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGen/tbaa-reference.cpp
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    A clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
    A clang/test/CodeGenCXX/ms-uneval-context-crash.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenHIP/printf_nonhostcall.cpp
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
    A clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
    M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/Driver/aarch64-ptrauth.c
    M clang/test/Driver/codeview-column-info.c
    M clang/test/Driver/fuchsia.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/unsupported-option.c
    A clang/test/Driver/xtensa-char.c
    A clang/test/Format/docs_updated.test
    M clang/test/Format/lit.local.cfg
    M clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
    M clang/test/Lexer/gnu-flags.c
    M clang/test/Misc/diag-template-diffing-cxx98.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
    A clang/test/Parser/cxx2c-oxford-variadic-comma.cpp
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/macro_fn.c
    A clang/test/Sema/aarch64-sve-intrinsics/acle_neon_sve_bridge.cpp
    M clang/test/Sema/constant_builtins_vector.cpp
    M clang/test/Sema/enum.c
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/warn-stringcompare.c
    A clang/test/SemaCXX/cxx20-warn-dangling-paren-list-agg-init.cpp
    M clang/test/SemaCXX/deprecated.cpp
    M clang/test/SemaCXX/lambda-capture-type-deduction.cpp
    M clang/test/SemaCXX/new-delete.cpp
    M clang/test/SemaCXX/paren-list-agg-init.cpp
    A clang/test/SemaCXX/warn-array-comparion.cpp
    M clang/test/SemaCXX/warn-self-comparisons.cpp
    M clang/test/SemaHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
    A clang/test/SemaHLSL/Language/ArrayOutputArgs-errors.hlsl
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/combined-construct-collapse-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copy-clause.c
    A clang/test/SemaOpenACC/combined-construct-copy-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copyin-clause.c
    A clang/test/SemaOpenACC/combined-construct-copyin-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copyout-clause.c
    A clang/test/SemaOpenACC/combined-construct-copyout-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-create-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-create-clause.c
    A clang/test/SemaOpenACC/combined-construct-create-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-default-clause.c
    M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    A clang/test/SemaOpenACC/combined-construct-num_gangs-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
    A clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
    A clang/test/SemaOpenACC/combined-construct-tile-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-tile-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-vector_length-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
    M clang/test/SemaOpenACC/compute-construct-default-clause.c
    M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
    A clang/test/SemaTemplate/template-args-deduction-aggregates.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/git-clang-format
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/unittests/AST/ASTImporterTest.cpp
    A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/CMakeLists.txt
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/CodeGen/TBAAMetadataTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M clang/www/hacking.html
    M compiler-rt/CMakeLists.txt
    R compiler-rt/CODE_OWNERS.TXT
    A compiler-rt/Maintainers.txt
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/scudo/standalone/list.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/xray/weak_symbols.txt
    M compiler-rt/lib/xray/xray_flags.cpp
    M compiler-rt/lib/xray/xray_flags.h
    M compiler-rt/test/builtins/Unit/atomic_test.c
    M compiler-rt/test/builtins/Unit/extendhfxf2_test.c
    M compiler-rt/test/builtins/Unit/fp_test.h
    A compiler-rt/test/rtsan/fork_exec.cpp
    A compiler-rt/test/rtsan/syscall.cpp
    A compiler-rt/test/xray/TestCases/Posix/default-options.cpp
    M flang/docs/Extensions.md
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Lower/ConvertCall.h
    M flang/include/flang/Lower/PFTBuilder.h
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
    M flang/include/flang/Optimizer/CodeGen/Target.h
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    M flang/include/flang/Optimizer/Transforms/CUFOpConversion.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/include/flang/Runtime/allocator-registry.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Common/Fortran-features.cpp
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/target.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Parser/CMakeLists.txt
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/parse-tree.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/type-parsers.h
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/descriptor.cpp
    M flang/runtime/allocatable.cpp
    M flang/runtime/array-constructor.cpp
    M flang/runtime/descriptor.cpp
    M flang/runtime/edit-input.cpp
    M flang/runtime/exceptions.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    A flang/test/Driver/mabi-loongarch.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    A flang/test/Driver/pp-fixed-form.f90
    M flang/test/Evaluate/fold-ieee.f90
    M flang/test/Evaluate/folding18.f90
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    A flang/test/Fir/CUDA/cuda-global-addr.mlir
    A flang/test/Fir/CUDA/cuda-target-rewrite.mlir
    M flang/test/Fir/basic-program.fir
    A flang/test/Fir/struct-passing-loongarch64-byreg.fir
    A flang/test/Fir/struct-passing-return-loongarch64-bystack.fir
    A flang/test/Fir/struct-return-loongarch64-byreg.fir
    M flang/test/Fir/target-rewrite-boxchar.fir
    M flang/test/Fir/target.fir
    M flang/test/HLFIR/elemental-codegen.fir
    A flang/test/HLFIR/eval_in_mem-codegen.fir
    A flang/test/HLFIR/eval_in_mem.fir
    M flang/test/HLFIR/invalid.fir
    A flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
    M flang/test/HLFIR/order_assignments/where-scheduling.f90
    A flang/test/Lower/HLFIR/calls-array-results.f90
    M flang/test/Lower/HLFIR/where-nonelemental.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    A flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
    A flang/test/Lower/OpenMP/Todo/atomic-compare.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/explicit-interface-results-2.f90
    M flang/test/Lower/explicit-interface-results.f90
    M flang/test/Lower/forall/array-constructor.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Parser/OpenMP/affinity-clause.f90
    M flang/test/Parser/OpenMP/allocators-unparse.f90
    A flang/test/Parser/OpenMP/atomic-compare.f90
    M flang/test/Parser/OpenMP/atomic-unparse.f90
    M flang/test/Parser/OpenMP/bind-clause.f90
    M flang/test/Parser/OpenMP/declare_target-device_type.f90
    M flang/test/Parser/OpenMP/depobj-construct.f90
    M flang/test/Parser/OpenMP/if-clause-unparse.f90
    M flang/test/Parser/OpenMP/if-clause.f90
    M flang/test/Parser/OpenMP/lastprivate-clause.f90
    M flang/test/Parser/OpenMP/proc-bind.f90
    M flang/test/Parser/OpenMP/target-loop-unparse.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Parser/OpenMP/target_device_unparse.f90
    M flang/test/Parser/OpenMP/taskloop.f90
    A flang/test/Parser/decl-char-length.f90
    A flang/test/Preprocessing/bug117297.F90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    A flang/test/Semantics/OpenMP/atomic-compare.f90
    M flang/test/Semantics/OpenMP/atomic.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/depend05.f90
    A flang/test/Semantics/OpenMP/do21.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/call14.f90
    M flang/test/Semantics/expr-errors06.f90
    M flang/test/Semantics/resolve58.f90
    M flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp
    M flang/unittests/Runtime/CommandTest.cpp
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    R libc/config/baremetal/api.td
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    R libc/config/gpu/api.td
    M libc/config/linux/aarch64/entrypoints.txt
    R libc/config/linux/api.td
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    R libc/config/public_api.td
    A libc/config/windows/headers.txt
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/fenv.rst
    M libc/docs/gpu/building.rst
    M libc/docs/math/index.rst
    M libc/docs/setjmp.rst
    M libc/docs/signal.rst
    M libc/docs/stdbit.rst
    M libc/docs/threads.rst
    A libc/hdrgen/CMakeLists.txt
    A libc/hdrgen/class_implementation/classes/enumeration.py
    A libc/hdrgen/class_implementation/classes/function.py
    A libc/hdrgen/class_implementation/classes/macro.py
    A libc/hdrgen/class_implementation/classes/object.py
    A libc/hdrgen/class_implementation/classes/type.py
    A libc/hdrgen/gpu_headers.py
    A libc/hdrgen/header.py
    A libc/hdrgen/tests/expected_output/test_header.h
    A libc/hdrgen/tests/input/test_small.h.def
    A libc/hdrgen/tests/input/test_small.yaml
    A libc/hdrgen/tests/test_integration.py
    A libc/hdrgen/yaml/arpa/inet.yaml
    A libc/hdrgen/yaml/assert.yaml
    A libc/hdrgen/yaml/ctype.yaml
    A libc/hdrgen/yaml/dirent.yaml
    A libc/hdrgen/yaml/dlfcn.yaml
    A libc/hdrgen/yaml/elf.yaml
    A libc/hdrgen/yaml/errno.yaml
    A libc/hdrgen/yaml/fcntl.yaml
    A libc/hdrgen/yaml/features.yaml
    A libc/hdrgen/yaml/fenv.yaml
    A libc/hdrgen/yaml/float.yaml
    A libc/hdrgen/yaml/gpu/rpc.yaml
    A libc/hdrgen/yaml/inttypes.yaml
    A libc/hdrgen/yaml/limits.yaml
    A libc/hdrgen/yaml/link.yaml
    A libc/hdrgen/yaml/locale.yaml
    A libc/hdrgen/yaml/malloc.yaml
    A libc/hdrgen/yaml/math.yaml
    A libc/hdrgen/yaml/pthread.yaml
    A libc/hdrgen/yaml/sched.yaml
    A libc/hdrgen/yaml/search.yaml
    A libc/hdrgen/yaml/setjmp.yaml
    A libc/hdrgen/yaml/signal.yaml
    A libc/hdrgen/yaml/spawn.yaml
    A libc/hdrgen/yaml/stdbit.yaml
    A libc/hdrgen/yaml/stdckdint.yaml
    A libc/hdrgen/yaml/stdfix.yaml
    A libc/hdrgen/yaml/stdint.yaml
    A libc/hdrgen/yaml/stdio.yaml
    A libc/hdrgen/yaml/stdlib.yaml
    A libc/hdrgen/yaml/string.yaml
    A libc/hdrgen/yaml/strings.yaml
    A libc/hdrgen/yaml/sys/auxv.yaml
    A libc/hdrgen/yaml/sys/epoll.yaml
    A libc/hdrgen/yaml/sys/ioctl.yaml
    A libc/hdrgen/yaml/sys/mman.yaml
    A libc/hdrgen/yaml/sys/prctl.yaml
    A libc/hdrgen/yaml/sys/random.yaml
    A libc/hdrgen/yaml/sys/resource.yaml
    A libc/hdrgen/yaml/sys/select.yaml
    A libc/hdrgen/yaml/sys/sendfile.yaml
    A libc/hdrgen/yaml/sys/socket.yaml
    A libc/hdrgen/yaml/sys/stat.yaml
    A libc/hdrgen/yaml/sys/statvfs.yaml
    A libc/hdrgen/yaml/sys/syscall.yaml
    A libc/hdrgen/yaml/sys/time.yaml
    A libc/hdrgen/yaml/sys/types.yaml
    A libc/hdrgen/yaml/sys/utsname.yaml
    A libc/hdrgen/yaml/sys/wait.yaml
    A libc/hdrgen/yaml/termios.yaml
    A libc/hdrgen/yaml/threads.yaml
    A libc/hdrgen/yaml/time.yaml
    A libc/hdrgen/yaml/uchar.yaml
    A libc/hdrgen/yaml/unistd.yaml
    A libc/hdrgen/yaml/wchar.yaml
    A libc/hdrgen/yaml_functions_sorted.py
    A libc/hdrgen/yaml_to_classes.py
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/time-macros.h
    R libc/newhdrgen/CMakeLists.txt
    R libc/newhdrgen/class_implementation/classes/enumeration.py
    R libc/newhdrgen/class_implementation/classes/function.py
    R libc/newhdrgen/class_implementation/classes/macro.py
    R libc/newhdrgen/class_implementation/classes/object.py
    R libc/newhdrgen/class_implementation/classes/type.py
    R libc/newhdrgen/gpu_headers.py
    R libc/newhdrgen/header.py
    R libc/newhdrgen/tests/expected_output/test_header.h
    R libc/newhdrgen/tests/input/test_small.h.def
    R libc/newhdrgen/tests/input/test_small.yaml
    R libc/newhdrgen/tests/test_integration.py
    R libc/newhdrgen/yaml/arpa/inet.yaml
    R libc/newhdrgen/yaml/assert.yaml
    R libc/newhdrgen/yaml/ctype.yaml
    R libc/newhdrgen/yaml/dirent.yaml
    R libc/newhdrgen/yaml/dlfcn.yaml
    R libc/newhdrgen/yaml/elf.yaml
    R libc/newhdrgen/yaml/errno.yaml
    R libc/newhdrgen/yaml/fcntl.yaml
    R libc/newhdrgen/yaml/features.yaml
    R libc/newhdrgen/yaml/fenv.yaml
    R libc/newhdrgen/yaml/float.yaml
    R libc/newhdrgen/yaml/gpu/rpc.yaml
    R libc/newhdrgen/yaml/inttypes.yaml
    R libc/newhdrgen/yaml/limits.yaml
    R libc/newhdrgen/yaml/link.yaml
    R libc/newhdrgen/yaml/locale.yaml
    R libc/newhdrgen/yaml/malloc.yaml
    R libc/newhdrgen/yaml/math.yaml
    R libc/newhdrgen/yaml/pthread.yaml
    R libc/newhdrgen/yaml/sched.yaml
    R libc/newhdrgen/yaml/search.yaml
    R libc/newhdrgen/yaml/setjmp.yaml
    R libc/newhdrgen/yaml/signal.yaml
    R libc/newhdrgen/yaml/spawn.yaml
    R libc/newhdrgen/yaml/stdbit.yaml
    R libc/newhdrgen/yaml/stdckdint.yaml
    R libc/newhdrgen/yaml/stdfix.yaml
    R libc/newhdrgen/yaml/stdint.yaml
    R libc/newhdrgen/yaml/stdio.yaml
    R libc/newhdrgen/yaml/stdlib.yaml
    R libc/newhdrgen/yaml/string.yaml
    R libc/newhdrgen/yaml/strings.yaml
    R libc/newhdrgen/yaml/sys/auxv.yaml
    R libc/newhdrgen/yaml/sys/epoll.yaml
    R libc/newhdrgen/yaml/sys/ioctl.yaml
    R libc/newhdrgen/yaml/sys/mman.yaml
    R libc/newhdrgen/yaml/sys/prctl.yaml
    R libc/newhdrgen/yaml/sys/random.yaml
    R libc/newhdrgen/yaml/sys/resource.yaml
    R libc/newhdrgen/yaml/sys/select.yaml
    R libc/newhdrgen/yaml/sys/sendfile.yaml
    R libc/newhdrgen/yaml/sys/socket.yaml
    R libc/newhdrgen/yaml/sys/stat.yaml
    R libc/newhdrgen/yaml/sys/statvfs.yaml
    R libc/newhdrgen/yaml/sys/syscall.yaml
    R libc/newhdrgen/yaml/sys/time.yaml
    R libc/newhdrgen/yaml/sys/types.yaml
    R libc/newhdrgen/yaml/sys/utsname.yaml
    R libc/newhdrgen/yaml/sys/wait.yaml
    R libc/newhdrgen/yaml/termios.yaml
    R libc/newhdrgen/yaml/threads.yaml
    R libc/newhdrgen/yaml/time.yaml
    R libc/newhdrgen/yaml/uchar.yaml
    R libc/newhdrgen/yaml/unistd.yaml
    R libc/newhdrgen/yaml/wchar.yaml
    R libc/newhdrgen/yaml_functions_sorted.py
    R libc/newhdrgen/yaml_to_classes.py
    M libc/shared/rpc_opcodes.h
    R libc/spec/bsd_ext.td
    R libc/spec/gnu_ext.td
    R libc/spec/gpu_ext.td
    R libc/spec/linux.td
    R libc/spec/llvm_libc_ext.td
    R libc/spec/llvm_libc_stdfix_ext.td
    R libc/spec/posix.td
    R libc/spec/spec.td
    R libc/spec/stdc.td
    R libc/spec/stdc_ext.td
    M libc/src/__support/GPU/allocator.cpp
    M libc/src/__support/OSUtil/gpu/exit.cpp
    M libc/src/__support/OSUtil/gpu/io.cpp
    M libc/src/__support/OSUtil/linux/exit.cpp
    M libc/src/__support/ctype_utils.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/__support/threads/linux/rwlock.h
    M libc/src/ctype/isxdigit.cpp
    M libc/src/ctype/isxdigit_l.cpp
    M libc/src/ctype/toupper.cpp
    M libc/src/ctype/toupper_l.cpp
    M libc/src/gpu/rpc_host_call.cpp
    M libc/src/math/CMakeLists.txt
    M libc/src/math/docs/add_math_function.md
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    M libc/src/math/generic/sincosf16_utils.h
    A libc/src/math/generic/sinf16.cpp
    M libc/src/math/generic/tanpif16.cpp
    A libc/src/math/sinf16.h
    M libc/src/stdio/gpu/clearerr.cpp
    M libc/src/stdio/gpu/fclose.cpp
    M libc/src/stdio/gpu/feof.cpp
    M libc/src/stdio/gpu/ferror.cpp
    M libc/src/stdio/gpu/fflush.cpp
    M libc/src/stdio/gpu/fgets.cpp
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fopen.cpp
    M libc/src/stdio/gpu/fseek.cpp
    M libc/src/stdio/gpu/ftell.cpp
    M libc/src/stdio/gpu/puts.cpp
    M libc/src/stdio/gpu/remove.cpp
    M libc/src/stdio/gpu/rename.cpp
    M libc/src/stdio/gpu/ungetc.cpp
    M libc/src/stdio/gpu/vfprintf_utils.h
    M libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_hex_converter.h
    M libc/src/stdio/printf_core/float_inf_nan_converter.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/scanf_core/converter_utils.h
    M libc/src/stdio/scanf_core/float_converter.cpp
    M libc/src/stdio/scanf_core/int_converter.cpp
    M libc/src/stdio/scanf_core/ptr_converter.cpp
    M libc/src/stdlib/gpu/abort.cpp
    M libc/src/stdlib/gpu/system.cpp
    M libc/src/time/CMakeLists.txt
    A libc/src/time/baremetal/CMakeLists.txt
    A libc/src/time/baremetal/timespec_get.cpp
    M libc/src/time/gpu/CMakeLists.txt
    A libc/src/time/gpu/timespec_get.cpp
    M libc/src/time/linux/CMakeLists.txt
    A libc/src/time/linux/timespec_get.cpp
    A libc/src/time/timespec_get.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/integration/startup/gpu/rpc_test.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CPP/stringview_test.cpp
    M libc/test/src/ctype/isalnum_test.cpp
    M libc/test/src/ctype/isalpha_test.cpp
    M libc/test/src/ctype/isdigit_test.cpp
    M libc/test/src/ctype/islower_test.cpp
    M libc/test/src/ctype/isupper_test.cpp
    M libc/test/src/ctype/isxdigit_test.cpp
    M libc/test/src/ctype/tolower_test.cpp
    M libc/test/src/ctype/toupper_test.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/sinf16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/sinf16_test.cpp
    M libc/test/src/stdlib/StrtolTest.h
    M libc/test/src/string/strcmp_test.cpp
    M libc/test/src/sys/mman/linux/process_mrelease_test.cpp
    M libc/test/src/time/CMakeLists.txt
    A libc/test/src/time/timespec_get_test.cpp
    R libc/utils/HdrGen/CMakeLists.txt
    R libc/utils/HdrGen/Command.cpp
    R libc/utils/HdrGen/Command.h
    R libc/utils/HdrGen/Generator.cpp
    R libc/utils/HdrGen/Generator.h
    R libc/utils/HdrGen/IncludeFileCommand.cpp
    R libc/utils/HdrGen/IncludeFileCommand.h
    R libc/utils/HdrGen/Main.cpp
    R libc/utils/HdrGen/PrototypeTestGen/CMakeLists.txt
    R libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
    R libc/utils/HdrGen/PublicAPICommand.cpp
    R libc/utils/HdrGen/PublicAPICommand.h
    R libc/utils/HdrGen/README.md
    R libc/utils/LibcTableGenUtil/APIIndexer.cpp
    R libc/utils/LibcTableGenUtil/APIIndexer.h
    R libc/utils/LibcTableGenUtil/CMakeLists.txt
    M libc/utils/docgen/docgen.py
    M libc/utils/docgen/setjmp.json
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
    M libc/utils/gpu/server/rpc_server.cpp
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__configuration/availability.h
    M libcxx/include/chrono
    M libcxx/include/string
    M libcxx/src/CMakeLists.txt
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
    M libcxx/utils/ci/run-buildbot-container
    M libcxx/utils/synchronize_csv_status_files.py
    M libunwind/src/CMakeLists.txt
    M libunwind/src/UnwindCursor.hpp
    R lld/CODE_OWNERS.TXT
    M lld/COFF/Config.h
    M lld/COFF/DebugTypes.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/ICF.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    M lld/COFF/PDB.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/Symbols.cpp
    M lld/COFF/Symbols.h
    M lld/COFF/Writer.cpp
    M lld/Common/ErrorHandler.cpp
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/Hexagon.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/OutputSections.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Target.cpp
    M lld/ELF/Writer.cpp
    A lld/Maintainers.md
    M lld/include/lld/Common/ErrorHandler.h
    A lld/test/COFF/deploadflag-cfg-short.s
    M lld/test/ELF/invalid-eh-frame3.s
    M lld/test/ELF/invalid-eh-frame6.s
    M lld/test/ELF/invalid/broken-relaxation-x64.test
    M lld/test/ELF/linkerscript/i386-sections-max-va-overflow.s
    M lld/test/ELF/linkerscript/locationcountererr-arm-exidx.test
    M lld/test/ELF/linkerscript/sections-max-va-overflow.s
    M lld/test/ELF/pack-dyn-relocs-ifunc.s
    M lld/test/ELF/pack-dyn-relocs-tls-x86-64.s
    M lld/test/ELF/systemz-gotent-relax-und-dso.s
    M lld/test/ELF/systemz-gotent-relax.s
    M lld/test/ELF/systemz-plt.s
    M lld/test/ELF/systemz-tls-gd.s
    M lld/test/ELF/systemz-tls-ld.s
    M lld/test/ELF/tls-opt.s
    M lld/test/ELF/tls.s
    M lld/test/ELF/undef-multi.s
    M lld/test/ELF/undef.s
    A lld/test/ELF/x86-64-tls-ie-err.s
    M lld/test/ELF/x86-64-tls-ie-local.s
    M lld/test/wasm/compress-relocs.ll
    M lld/test/wasm/import-table-explicit.s
    M lld/test/wasm/invalid-mvp-table-use.s
    M lld/test/wasm/lto/Inputs/libcall-archive.ll
    M lld/test/wasm/lto/libcall-archive.ll
    M lld/test/wasm/lto/stub-library-libcall.s
    M lld/test/wasm/multi-table.s
    M lld/wasm/Driver.cpp
    M lld/wasm/InputFiles.cpp
    M lld/wasm/SyntheticSections.cpp
    M lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i
    M lldb/include/lldb/API/SBAddressRangeList.h
    M lldb/include/lldb/API/SBFunction.h
    M lldb/include/lldb/Core/AddressRangeListImpl.h
    M lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
    M lldb/include/lldb/Host/Socket.h
    M lldb/include/lldb/Host/common/TCPSocket.h
    M lldb/include/lldb/Host/posix/DomainSocket.h
    M lldb/include/lldb/Symbol/Function.h
    M lldb/include/lldb/Target/Platform.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/source/API/SBFunction.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Core/AddressRangeListImpl.cpp
    M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp
    M lldb/source/Host/common/TCPSocket.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/Function.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/test/API/commands/dwim-print/Makefile
    M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
    R lldb/test/API/commands/dwim-print/main.c
    A lldb/test/API/commands/dwim-print/main.cpp
    M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/Makefile
    M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/Makefile
    A lldb/test/API/commands/target/anon-struct/Makefile
    A lldb/test/API/commands/target/anon-struct/TestTargetVarAnonStruct.py
    A lldb/test/API/commands/target/anon-struct/main.cpp
    M lldb/test/API/functionalities/process_save_core_minidump/Makefile
    M lldb/test/API/python_api/find_in_memory/TestFindInMemory.py
    M lldb/test/API/tools/lldb-dap/threads/Makefile
    A lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
    M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
    A lldb/test/Shell/SymbolFile/DWARF/x86/dwp-index-cache.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-type.cpp
    A lldb/test/Shell/SymbolFile/DWARF/x86/simplified-template-names.cpp
    M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test
    M lldb/tools/lldb-dap/README.md
    M lldb/tools/lldb-dap/package.json
    M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
    M lldb/tools/lldb-dap/src-ts/extension.ts
    R lldb/tools/lldb-dap/src-ts/types.ts
    M lldb/unittests/Host/SocketTest.cpp
    M lldb/unittests/debugserver/RNBSocketTest.cpp
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/cmake/modules/CrossCompile.cmake
    M llvm/cmake/modules/GetHostTriple.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CodingStandards.rst
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/SPIRVUsage.rst
    M llvm/docs/XRay.rst
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/BitmaskEnum.h
    M llvm/include/llvm/ADT/SmallPtrSet.h
    M llvm/include/llvm/Analysis/ConstraintSystem.h
    M llvm/include/llvm/Analysis/InlineCost.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/LiveDebugVariables.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    A llvm/include/llvm/CodeGen/SpillPlacement.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/Config/abi-breaking.h.cmake
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
    M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    A llvm/include/llvm/IR/CmpPredicate.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/Operator.h
    M llvm/include/llvm/IR/StructuralHash.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LineEditor/LineEditor.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/include/llvm/Object/ELF.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Support/Error.h
    M llvm/include/llvm/Support/InstructionCost.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Support/TimeProfiler.h
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
    M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
    M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
    A llvm/include/llvm/Transforms/Utils/ExtraPassManager.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.h
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/SpillPlacement.cpp
    R llvm/lib/CodeGen/SpillPlacement.h
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/Shared/SymbolStringPool.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/ModuleSummaryIndex.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/IR/StructuralHash.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/LineEditor/LineEditor.cpp
    M llvm/lib/MC/MCRegisterInfo.cpp
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Object/MachOUniversal.cpp
    M llvm/lib/Object/Minidump.cpp
    M llvm/lib/Object/RecordStreamer.h
    M llvm/lib/Object/TapiUniversal.cpp
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/lib/Object/XCOFFObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/lib/Support/DataExtractor.cpp
    M llvm/lib/Support/FormattedStream.cpp
    M llvm/lib/Support/SmallPtrSet.cpp
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
    A llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AVR/AVRInstrFormats.td
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.h
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/lib/Target/LoongArch/LoongArchDeadRegisterDefinitions.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    A llvm/lib/Transforms/Coroutines/CoroCloner.h
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/runtimes/CMakeLists.txt
    A llvm/test/Analysis/CostModel/AArch64/extract_float_streaming.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-scatter.ll
    M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
    M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll
    M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-or.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
    M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
    R llvm/test/Analysis/CostModel/SystemZ/reduce-add.ll
    A llvm/test/Analysis/CostModel/SystemZ/vector-reductions.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
    A llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    A llvm/test/Analysis/ScalarEvolution/pr117133.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    M llvm/test/Assembler/fast-math-flags.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-no-op-intrinsics.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/CodeGen/AArch64/apply-disjoint-flag-in-dagcombine.ll
    M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
    M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst-2.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-nsconst.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-objc.ll
    A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-string.ll
    A llvm/test/CodeGen/AArch64/cgdata-outline-gvar.ll
    M llvm/test/CodeGen/AArch64/concat-vector.ll
    M llvm/test/CodeGen/AArch64/extract-insert.ll
    M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
    M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
    M llvm/test/CodeGen/AArch64/selectopt-cast.ll
    A llvm/test/CodeGen/AArch64/stack-hazard-windows.ll
    M llvm/test/CodeGen/AArch64/stack-hazard.ll
    A llvm/test/CodeGen/AArch64/stack-tagging-merge-past-memcpy.mir
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    A llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
    A llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
    A llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
    M llvm/test/CodeGen/AMDGPU/bitop3.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/mul.i16.ll
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
    M llvm/test/CodeGen/AMDGPU/opt-vgpr-live-range-verifier-error.mir
    A llvm/test/CodeGen/AMDGPU/register-coalescer--set-undef-full-reg-use-implicit-def-erase-issue109249.mir
    M llvm/test/CodeGen/AMDGPU/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
    M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.mir
    M llvm/test/CodeGen/AMDGPU/ssubsat.ll
    A llvm/test/CodeGen/AMDGPU/v_ashr_pk.ll
    M llvm/test/CodeGen/ARM/2012-03-13-DAGCombineBug.ll
    A llvm/test/CodeGen/ARM/vector-trunc.ll
    M llvm/test/CodeGen/AVR/inline-asm/loadstore.ll
    M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
    M llvm/test/CodeGen/DirectX/BufferStore.ll
    A llvm/test/CodeGen/DirectX/finalize-linkage-intrinsics.ll
    A llvm/test/CodeGen/DirectX/group_memory_barrier_with_group_sync.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll
    R llvm/test/CodeGen/Generic/builtin-expect-with-probability.ll
    A llvm/test/CodeGen/Hexagon/addrmode-neg-offset.ll
    M llvm/test/CodeGen/Hexagon/trap-crash.ll
    M llvm/test/CodeGen/LoongArch/fp16-promote.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-str.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-rodata.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-used-with-stringpool.ll
    M llvm/test/CodeGen/PowerPC/mergeable-string-pool-exceptions.ll
    M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
    M llvm/test/CodeGen/PowerPC/pr38087.ll
    M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/float-fclass.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/double-zfa.ll
    M llvm/test/CodeGen/RISCV/float-zfa.ll
    M llvm/test/CodeGen/RISCV/half-zfa.ll
    M llvm/test/CodeGen/RISCV/rv64-float-convert-strict.ll
    M llvm/test/CodeGen/RISCV/rv64-float-convert.ll
    M llvm/test/CodeGen/RISCV/rv64-half-convert-strict.ll
    M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
    M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    A llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    A llvm/test/CodeGen/RISCV/vector-tuple-zeroinitializer.ll
    M llvm/test/CodeGen/SPIRV/bitcast.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_optnone.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_bf16.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_checked.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_get_coord.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_packed.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_prefetch.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_tf32.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_media_block_io/builtin-op-wrappers.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_media_block_io/cl_intel_media_block_io.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_optnone.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix/cooperative_matrix.ll
    M llvm/test/CodeGen/SPIRV/instructions/ret-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/PtrCast-in-OpSpecConstantOp.ll
    A llvm/test/CodeGen/SPIRV/pointers/builtin-ret-reg-type.ll
    A llvm/test/CodeGen/SPIRV/pointers/gep-types-1.ll
    A llvm/test/CodeGen/SPIRV/pointers/gep-types-2.ll
    A llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
    M llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll
    A llvm/test/CodeGen/SPIRV/pointers/phi-chain-types.ll
    M llvm/test/CodeGen/SPIRV/pointers/phi-valid-operand-types.ll
    A llvm/test/CodeGen/SPIRV/pointers/tangled-ret.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-via-store-load-args-rev.ll
    A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-vk.ll
    M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpGenericCastToPtr.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
    M llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll
    A llvm/test/CodeGen/SPIRV/validate/sycl-hier-par-basic.ll
    A llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll
    M llvm/test/CodeGen/WebAssembly/call-indirect.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/disable-feature.ll
    M llvm/test/CodeGen/WebAssembly/function-pointer64.ll
    M llvm/test/CodeGen/WebAssembly/reference-types.ll
    M llvm/test/CodeGen/WebAssembly/target-features-attrs.ll
    M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
    M llvm/test/CodeGen/WebAssembly/target-features-tls.ll
    M llvm/test/CodeGen/X86/avx10_2fptosi_satcvtds.ll
    M llvm/test/CodeGen/X86/avx512cfmulsh-instrinsics.ll
    M llvm/test/CodeGen/X86/combine-fabs.ll
    M llvm/test/CodeGen/X86/combine-fneg.ll
    M llvm/test/CodeGen/X86/fast-isel-expect.ll
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
    M llvm/test/CodeGen/X86/freeze-vector.ll
    M llvm/test/CodeGen/X86/fsxor-alignment.ll
    M llvm/test/CodeGen/X86/load-partial.ll
    M llvm/test/CodeGen/X86/mmx-cvt.ll
    A llvm/test/CodeGen/X86/no-trap-after-noreturn-fastisel.ll
    M llvm/test/CodeGen/X86/pr114360.ll
    M llvm/test/CodeGen/X86/pr50609.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-by-select-loop.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-512.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v32.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-masked.ll
    M llvm/test/CodeGen/X86/widen_conv-3.ll
    M llvm/test/CodeGen/X86/widen_shuffle-1.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/sse41-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/sse41-intrinsics-i386.ll
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt
    M llvm/test/MC/Disassembler/SystemZ/insns-pcrel.txt
    M llvm/test/MC/Disassembler/SystemZ/insns.txt
    A llvm/test/MC/RISCV/xqcia-invalid.s
    A llvm/test/MC/RISCV/xqcia-valid.s
    M llvm/test/MC/RISCV/xqcicsr-invalid.s
    M llvm/test/MC/RISCV/xqcicsr-valid.s
    A llvm/test/MC/RISCV/xqcisls-invalid.s
    A llvm/test/MC/RISCV/xqcisls-valid.s
    M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
    M llvm/test/MC/SystemZ/insn-good.s
    M llvm/test/MC/WebAssembly/extern-functype-intrinsic.ll
    M llvm/test/MC/WebAssembly/function-alias.ll
    A llvm/test/MC/WebAssembly/init-array.s
    M llvm/test/MC/WebAssembly/libcall.ll
    A llvm/test/MachineVerifier/RISCV/lit.local.cfg
    M llvm/test/MachineVerifier/RISCV/subreg-liveness.mir
    A llvm/test/MachineVerifier/test_abd_su.mir
    M llvm/test/TableGen/GlobalISelEmitter.td
    A llvm/test/TableGen/dag-isel-instrument.td
    M llvm/test/TableGen/intrinsic-overload-conflict.td
    M llvm/test/ThinLTO/X86/distributed_indexes.ll
    M llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/AggressiveInstCombine/AArch64/or-load.ll
    M llvm/test/Transforms/AggressiveInstCombine/X86/or-load.ll
    A llvm/test/Transforms/CodeGenPrepare/X86/pr118172.ll
    M llvm/test/Transforms/ConstraintElimination/constraint-overflow.ll
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
    M llvm/test/Transforms/GVN/opaque-ptr.ll
    M llvm/test/Transforms/GVN/setjmp.ll
    A llvm/test/Transforms/GlobalOpt/malloc-promote-addrspace.ll
    A llvm/test/Transforms/IndVarSimplify/pr117133.ll
    A llvm/test/Transforms/Inline/AArch64/memcpy-constant-size.ll
    A llvm/test/Transforms/InstCombine/AMDGPU/lane-index-simplify-demanded-bits.ll
    A llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
    M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
    M llvm/test/Transforms/InstCombine/fcmp-select.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/fpcast.ll
    M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
    M llvm/test/Transforms/InstCombine/gep-vector-indices.ll
    M llvm/test/Transforms/InstCombine/icmp-binop.ll
    M llvm/test/Transforms/InstCombine/icmp-gep.ll
    M llvm/test/Transforms/InstCombine/icmp.ll
    M llvm/test/Transforms/InstCombine/lshr.ll
    M llvm/test/Transforms/InstCombine/minmax-fold.ll
    M llvm/test/Transforms/InstCombine/minmax-fp.ll
    M llvm/test/Transforms/InstCombine/pr17827.ll
    M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
    M llvm/test/Transforms/InstCombine/select-value-equivalence.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/sub-gep.ll
    M llvm/test/Transforms/InstCombine/unordered-fcmp-select.ll
    M llvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/abs.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/gep.ll
    M llvm/test/Transforms/InstSimplify/icmp-monotonic.ll
    A llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vf-hint.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/scatter-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-strict-fadd-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    A llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-transpose-int.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting.ll
    A llvm/test/Transforms/MemCpyOpt/memset-memmove-redundant-memmove.ll
    M llvm/test/Transforms/ObjCARC/allocas.ll
    M llvm/test/Transforms/ObjCARC/basic.ll
    M llvm/test/Transforms/ObjCARC/cfg-hazards.ll
    M llvm/test/Transforms/ObjCARC/contract-testcases.ll
    M llvm/test/Transforms/ObjCARC/empty-block.ll
    M llvm/test/Transforms/ObjCARC/path-overflow.ll
    A llvm/test/Transforms/PGOProfile/loop_entries_gen.ll
    A llvm/test/Transforms/PGOProfile/loop_entries_use.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
    M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
    M llvm/test/Transforms/Reassociate/2011-01-26-UseAfterFree.ll
    M llvm/test/Transforms/Reassociate/2012-06-08-InfiniteLoop.ll
    M llvm/test/Transforms/Reassociate/add_across_block_crash.ll
    M llvm/test/Transforms/Reassociate/infloop-deadphi.ll
    M llvm/test/Transforms/Reassociate/reassociate-landingpad.ll
    M llvm/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll
    M llvm/test/Transforms/SCCP/2006-10-23-IPSCCP-Crash.ll
    M llvm/test/Transforms/SCCP/2008-01-27-UndefCorrelate.ll
    M llvm/test/Transforms/SCCP/PR26044.ll
    M llvm/test/Transforms/SCCP/crash.ll
    M llvm/test/Transforms/SCCP/domtree-update.ll
    M llvm/test/Transforms/SCCP/fp-bc-icmp-const-fold.ll
    M llvm/test/Transforms/SCCP/ipsccp-preserve-pdt.ll
    M llvm/test/Transforms/SCCP/pr49582-iterator-invalidation.ll
    M llvm/test/Transforms/SCCP/return-zapped.ll
    M llvm/test/Transforms/SCCP/solve-after-each-resolving-undefs-for-function.ll
    M llvm/test/Transforms/SCCP/switch-constantfold-crash.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/trunc-insertion.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fadd.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmin-fmax.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmul.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
    A llvm/test/Transforms/SLPVectorizer/X86/ashr-node-with-poison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_7zip.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet3.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_flop7.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_lencod-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_mandeltext.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_sim4b1.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_smallpt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cse.ll
    M llvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
    M llvm/test/Transforms/SLPVectorizer/X86/no-scheduled-instructions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ordering.ll
    M llvm/test/Transforms/SLPVectorizer/X86/partail.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi_overalignedtype.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr16571.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_unsupported.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_reordered_users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reuse-extracts-in-wider-vect.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
    A llvm/test/Transforms/SLPVectorizer/X86/store-constant.ll
    M llvm/test/Transforms/SLPVectorizer/X86/value-bug-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/value-bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
    M llvm/test/Transforms/SLPVectorizer/revec.ll
    M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
    M llvm/test/Transforms/Scalarizer/crash-bug.ll
    M llvm/test/Transforms/Scalarizer/dbgloc-bug-inseltpoison.ll
    M llvm/test/Transforms/Scalarizer/dbgloc-bug.ll
    M llvm/test/Transforms/Scalarizer/phi-unreachable-pred.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2011-06-02-CritSwitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2012-04-30-LoopUnswitch-LPad-Crash.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2015-09-18-Addrspace.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/delete-dead-blocks.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/formDedicatedAfterTrivial1.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/guards.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/pr37888.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/preserve-analyses.ll
    M llvm/test/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll
    M llvm/test/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll
    M llvm/test/Transforms/SimplifyCFG/branch-on-undef.ll
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
    M llvm/test/Transforms/SimplifyCFG/pr34131.ll
    M llvm/test/Transforms/Sink/dead-user.ll
    M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
    M llvm/test/Transforms/StructurizeCFG/loop-continue-phi.ll
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/512tvb-sve-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-zero-lat-movs.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vmv.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/vmv.s
    A llvm/test/tools/llvm-objcopy/MachO/dysymtab-zero-indirectsym.test
    M llvm/test/tools/llvm-objdump/ELF/AArch64/mattr.s
    M llvm/test/tools/llvm-readobj/ELF/reloc-types-aarch64.test
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/ADT/BitmaskEnumTest.cpp
    M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp
    M llvm/unittests/Support/YAMLIOTest.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/Shared/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/DebugInfo/LogicalView/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Target/SPIRV/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/IPO/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn
    A llvm/utils/merge-json.py
    M llvm/utils/vim/ftplugin/llvm.vim
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    R mlir/include/mlir/Dialect/Func/Transforms/DecomposeCallGraphTypes.h
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/include/mlir/IR/OpImplementation.h
    A mlir/include/mlir/IR/VectorTypes.h
    M mlir/include/mlir/Interfaces/DestinationStyleOpInterface.td
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
    M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/python/mlir/dialects/func.py
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
    M mlir/test/Dialect/Affine/canonicalize.mlir
    M mlir/test/Dialect/Affine/ops.mlir
    M mlir/test/Dialect/ArmSME/vector-legalization.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
    M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
    M mlir/test/Dialect/SCF/invalid.mlir
    M mlir/test/Dialect/SPIRV/IR/memory-ops.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    A mlir/test/Target/LLVMIR/openmp-wsloop-private.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
    M mlir/test/Transforms/decompose-call-graph-types.mlir
    A mlir/test/Transforms/invalid-outer-loop-size.mlir
    M mlir/test/Transforms/remove-dead-values.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
    M mlir/test/lib/Dialect/SCF/TestLoopParametricTiling.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M mlir/test/python/dialects/func.py
    M mlir/unittests/Target/LLVM/CMakeLists.txt
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/exports
    M offload/cmake/OpenMPTesting.cmake
    A offload/include/Shared/RPCOpcodes.h
    A offload/liboffload/API/APIDefs.td
    A offload/liboffload/API/CMakeLists.txt
    A offload/liboffload/API/Common.td
    A offload/liboffload/API/Device.td
    A offload/liboffload/API/OffloadAPI.td
    A offload/liboffload/API/Platform.td
    A offload/liboffload/API/README.md
    A offload/liboffload/CMakeLists.txt
    A offload/liboffload/README.md
    A offload/liboffload/exports
    A offload/liboffload/include/OffloadImpl.hpp
    A offload/liboffload/include/generated/OffloadAPI.h
    A offload/liboffload/include/generated/OffloadEntryPoints.inc
    A offload/liboffload/include/generated/OffloadFuncs.inc
    A offload/liboffload/include/generated/OffloadImplFuncDecls.inc
    A offload/liboffload/include/generated/OffloadPrint.hpp
    A offload/liboffload/src/Helpers.hpp
    A offload/liboffload/src/OffloadImpl.cpp
    A offload/liboffload/src/OffloadLib.cpp
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/common/src/RPC.cpp
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/test/CMakeLists.txt
    A offload/test/api/omp_host_call.c
    R offload/test/libc/host_call.c
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    M offload/test/mapping/map_both_pointer_pointee.c
    R offload/test/mapping/power_of_two_alignment.c
    A offload/test/mapping/power_of_two_alignment.cpp
    A offload/test/tools/offload-tblgen/default_returns.td
    A offload/test/tools/offload-tblgen/entry_points.td
    A offload/test/tools/offload-tblgen/functions_basic.td
    A offload/test/tools/offload-tblgen/functions_code_loc.td
    A offload/test/tools/offload-tblgen/functions_ranged_param.td
    A offload/test/tools/offload-tblgen/print_enum.td
    A offload/test/tools/offload-tblgen/print_function.td
    A offload/test/tools/offload-tblgen/type_tagged_enum.td
    A offload/tools/offload-tblgen/APIGen.cpp
    A offload/tools/offload-tblgen/CMakeLists.txt
    A offload/tools/offload-tblgen/EntryPointGen.cpp
    A offload/tools/offload-tblgen/FuncsGen.cpp
    A offload/tools/offload-tblgen/GenCommon.hpp
    A offload/tools/offload-tblgen/Generators.hpp
    A offload/tools/offload-tblgen/PrintGen.cpp
    A offload/tools/offload-tblgen/RecordTypes.hpp
    A offload/tools/offload-tblgen/offload-tblgen.cpp
    M offload/unittests/CMakeLists.txt
    A offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/common/Environment.cpp
    A offload/unittests/OffloadAPI/common/Environment.hpp
    A offload/unittests/OffloadAPI/common/Fixtures.hpp
    A offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
    A offload/unittests/OffloadAPI/device/olGetDevice.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    A offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
    A offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
    A offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp
    A openmp/Maintainers.md
    M runtimes/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm_configs/abi-breaking.h.cmake

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5-bogner

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/231edc6f5e87...147e9a4ad5d2

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