[all-commits] [llvm/llvm-project] 8ec116: [Codegen, BasicBlockSections] Avoid cloning blocks...

pcc via All-commits all-commits at lists.llvm.org
Tue Jun 4 11:28:34 PDT 2024


  Branch: refs/heads/users/pcc/spr/gn-build-support-llvm_enable_zstd
  Home:   https://github.com/llvm/llvm-project
  Commit: 8ec1161fe66def9af8973c8c073be7d043cc411c
      https://github.com/llvm/llvm-project/commit/8ec1161fe66def9af8973c8c073be7d043cc411c
  Author: Rahman Lavaee <rahmanl at google.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M llvm/lib/CodeGen/BasicBlockPathCloning.cpp
    M llvm/test/CodeGen/X86/basic-block-sections-cloning-invalid.ll

  Log Message:
  -----------
  [Codegen, BasicBlockSections] Avoid cloning blocks which have their machine block address taken. (#94296)

These blocks usually show up in the form of branches within inline
assembly. Since it's hard to rewire them, we fully omit paths with such
blocks from path cloning.


  Commit: fbdd94847814c926f2767e656ba501b4ca7dfaae
      https://github.com/llvm/llvm-project/commit/fbdd94847814c926f2767e656ba501b4ca7dfaae
  Author: Lu Weining <luweining at loongson.cn>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M lld/test/ELF/loongarch-relax-emit-relocs.s
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
    M llvm/test/MC/LoongArch/Relocations/relax-align.s

  Log Message:
  -----------
  [LoongArch] Use R_LARCH_ALIGN without symbol as much as possible (#93775)

To support the third parameter of the alignment directive, R_LARCH_ALIGN
relocations need a non-zero symbol index.
In many cases we don't need the third parameter and can set the symbol
index to 0.
This patch will remove a lot of .Lla-relax-align* symbols and mitigate
the size regression due to
https://github.com/llvm/llvm-project/pull/72962.

Co-authored-by: Jinyang He <hejinyang at loongson.cn>
Co-authored-by: Weining Lu <luweining at loongson.cn>


  Commit: cac5d0e938da83ef627a6a8e3f39a47d54516626
      https://github.com/llvm/llvm-project/commit/cac5d0e938da83ef627a6a8e3f39a47d54516626
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

  Log Message:
  -----------
  [CodeGen] Fix compiler conditional combination (#94297)

Previously this assumed that `LLVM_ENABLE_ABI_BREAKING_CHECKS` would
always be enabled in this case, if it's not `TTI` does not exist.

Introduced in 7652a59407018c057cdc1163c9f64b5b6f0954eb


  Commit: 9b0e1c2ca25be58ea29b318d3515e6171f25f0ea
      https://github.com/llvm/llvm-project/commit/9b0e1c2ca25be58ea29b318d3515e6171f25f0ea
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/FinalizeISel.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/FinalizeISel.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/AMDGPU/add_sub_u64_pseudos.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.reduce.umax.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.reduce.umin.mir
    M llvm/test/CodeGen/Mips/call-site-info-output.ll
    M llvm/test/CodeGen/RISCV/rvv/tail-agnostic-impdef-copy.mir
    M llvm/test/CodeGen/RISCV/select-optimize-multiple.mir
    M llvm/test/CodeGen/SystemZ/debuginstr-02.mir
    M llvm/test/CodeGen/SystemZ/multiselect-02.mir
    M llvm/test/CodeGen/Thumb2/mve-tp-loop.mir
    M llvm/test/CodeGen/X86/call-site-info-output.ll
    M llvm/test/CodeGen/X86/sjlj-shadow-stack-liveness.mir

  Log Message:
  -----------
  [NewPM][CodeGen] Port `finalize-isel` to new pass manager (#94214)

It should preserve more analysis results, but it happens immediately
after instruction selection.


  Commit: c7b7875e1e3e27995f0c8ec53f7ded305dc9d730
      https://github.com/llvm/llvm-project/commit/c7b7875e1e3e27995f0c8ec53f7ded305dc9d730
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M bolt/test/lsda-section-name.cpp

  Log Message:
  -----------
  Fix lsda-section-name adding back RUN line incorrectly removed in 6ef632ad36c522b0 (#94301)


  Commit: 4d20f495df1968ab51aebe9696923724ee80576d
      https://github.com/llvm/llvm-project/commit/4d20f495df1968ab51aebe9696923724ee80576d
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large32.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc-large.ll

  Log Message:
  -----------
  [PowerPC] Remove DAG matching in ADDIStocHA (#93905)

The MI is generated in `PPCDAGToDAGISel::Select` so the match pattern isn't used and can be removed.


  Commit: 85e4e9d2150d62be578065cc22a37c2c7613ce88
      https://github.com/llvm/llvm-project/commit/85e4e9d2150d62be578065cc22a37c2c7613ce88
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/test/Dialect/Arith/invalid.mlir
    M mlir/test/IR/invalid-ops.mlir

  Log Message:
  -----------
  [mlir][arith] Further clean up select op definition (#93358)

* Improve the condition type requirement description ('scalar' ->
signless i1), to match what is actually verified.
* Use the `I1` type predicate instead of `AnyBooleanTypeMatch`.

Related discussion:
https://github.com/llvm/llvm-project/pull/93351#issuecomment-2130453233.


  Commit: 392ca64893dc77f823cb4734238f1ba1d271b997
      https://github.com/llvm/llvm-project/commit/392ca64893dc77f823cb4734238f1ba1d271b997
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M libc/test/src/fenv/getenv_and_setenv_test.cpp

  Log Message:
  -----------
  [libc][test] Fix TEST->TEST_F typo in getenv_and_setenv_test.cpp (#94304)

This manifests as `AddressSanitizer: stack-use-after-return` w/o this
change. The `~CheckFEnv()` method of checking fenv seems to only work
for test fixtures.


  Commit: d0413438ec4d846211094b0652cf6c0f3c9408bb
      https://github.com/llvm/llvm-project/commit/d0413438ec4d846211094b0652cf6c0f3c9408bb
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
    M mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    R mlir/include/mlir/Dialect/OpenACC/OpenACCInterfaces.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    R mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
    M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.h
    A mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenACC/IR/CMakeLists.txt
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [flang][OpenMP] Handle `omp.private` in `FirOpBuilder::getAllocaBlock()` (#93927)

Fixes a crash uncovered by
[pr89651](https://github.com/llvm/llvm-test-suite/blob/main/Fortran/gfortran/regression/gomp/pr89651.f90)
in the test suite.

Fixes a crash caused by missing handling of `omp.private` ops in
`FirOpBuilder::getAllocaBlock()`.


  Commit: f4d705871a073259c220b80026614d46d939cb5b
      https://github.com/llvm/llvm-project/commit/f4d705871a073259c220b80026614d46d939cb5b
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp

  Log Message:
  -----------
  [MemProf] Determine stack id references in BitcodeWriter without sorting (#94285)

A cycle profile of a thin link showed a lot of time spent in sort called
from the BitcodeWriter, which was being used to compute the unique
references to stack ids in the summaries emitted for each backend in a
distributed thinlto build. We were also frequently invoking lower_bound
to locate stack id indices in the resulting vector when writing out the
referencing memprof records.

Change this to use a map to uniquify the references, and to hold the
index of the corresponding stack id in the StackIds vector, which is
now populated at the same time.

This reduced the time of a large thin link by about 10%.


  Commit: acfc79db3d2cda8417b8bfac6224ba74d0c2ece4
      https://github.com/llvm/llvm-project/commit/acfc79db3d2cda8417b8bfac6224ba74d0c2ece4
  Author: Fangcao Wang <wangfangcao1 at huawei.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve2-vscale-sinking.ll

  Log Message:
  -----------
  [AArch64] Sink llvm.vscale.i32 into blocks for better isel (#93465)

Sink vscale calls as well when indvars is not widen
(-indvars-widen-indvars=false).


  Commit: e9dd6b2a5332a2540849dc8366b00b17ab134c3f
      https://github.com/llvm/llvm-project/commit/e9dd6b2a5332a2540849dc8366b00b17ab134c3f
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    A llvm/test/Instrumentation/AddressSanitizer/asan-struct-scalable.ll

  Log Message:
  -----------
  [Asan] Teach FunctionStackPoisoner to filter out struct type with scalable vector type. (#93406)

FunctionStackPoisoner does not serve for `AllocaInst` with scalable
vector type, but it does not filter out struct type with scalable vector
introduced by c8eb535aed0368c20b25fe05bca563ab38dd91e9.


  Commit: d48d108bc66adb31185ee023e1eb0ccdda2065c1
      https://github.com/llvm/llvm-project/commit/d48d108bc66adb31185ee023e1eb0ccdda2065c1
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/nofpclass-arithmetic-fence.ll
    M llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
    M llvm/test/Transforms/Attributor/nofpclass-ceil.ll
    M llvm/test/Transforms/Attributor/nofpclass-copysign.ll
    M llvm/test/Transforms/Attributor/nofpclass-exp.ll
    M llvm/test/Transforms/Attributor/nofpclass-fdiv.ll
    M llvm/test/Transforms/Attributor/nofpclass-floor.ll
    M llvm/test/Transforms/Attributor/nofpclass-fma.ll
    M llvm/test/Transforms/Attributor/nofpclass-fpext.ll
    M llvm/test/Transforms/Attributor/nofpclass-fptrunc.ll
    M llvm/test/Transforms/Attributor/nofpclass-frem.ll
    M llvm/test/Transforms/Attributor/nofpclass-frexp.ll
    M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
    M llvm/test/Transforms/Attributor/nofpclass-ldexp.ll
    M llvm/test/Transforms/Attributor/nofpclass-log.ll
    M llvm/test/Transforms/Attributor/nofpclass-minimum-maximum.ll
    M llvm/test/Transforms/Attributor/nofpclass-minnum-maxnum.ll
    M llvm/test/Transforms/Attributor/nofpclass-nan-fmul.ll
    M llvm/test/Transforms/Attributor/nofpclass-nearbyint.ll
    M llvm/test/Transforms/Attributor/nofpclass-powi.ll
    M llvm/test/Transforms/Attributor/nofpclass-rint.ll
    M llvm/test/Transforms/Attributor/nofpclass-round.ll
    M llvm/test/Transforms/Attributor/nofpclass-roundeven.ll
    M llvm/test/Transforms/Attributor/nofpclass-select.ll
    M llvm/test/Transforms/Attributor/nofpclass-sin-cos.ll
    M llvm/test/Transforms/Attributor/nofpclass-sqrt.ll
    M llvm/test/Transforms/Attributor/nofpclass-trunc.ll
    M llvm/test/Transforms/Attributor/nofpclass-uses-to-defs.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/Attributor/nofree.ll
    M llvm/test/Transforms/Attributor/nosync.ll
    M llvm/test/Transforms/Attributor/willreturn.ll

  Log Message:
  -----------
  [Attributor][FIX] Replace AANoFPClass MBEC propagation (#91030)

The old use of must-be-executed-context (MBEC) did propagate
through calls even if that was not allowed. We now only propagate from
call site arguments. If there are calls/intrinsics that allows
propagation, we need to add them explicitly.

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

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 2fa059195bb54f422cc996db96ac549888268eae
      https://github.com/llvm/llvm-project/commit/2fa059195bb54f422cc996db96ac549888268eae
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

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

  Log Message:
  -----------
  [MemProf] Use remove_if to erase MapVector elements in bulk (#94269)

A cycle profile showed that we were spending a lot of time invoking
MapVector::erase. According to
https://llvm.org/docs/ProgrammersManual.html#llvm-adt-mapvector-h,
erasing elements one at a time is very inefficient for MapVector and it
is better to use remove_if.

This change resulted in around 7% time reduction on a large thin link.

While here remove an unused function that also invokes erase on
MapVectors.


  Commit: fa72a0237a688d71647bf001bf9020e6090f6121
      https://github.com/llvm/llvm-project/commit/fa72a0237a688d71647bf001bf9020e6090f6121
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M polly/test/CodeGen/alias_metadata_too_many_arrays.ll

  Log Message:
  -----------
  [test] Fix filecheck annotation typos (#91854)

Similar to https://github.com/rust-lang/rust/pull/125007


  Commit: 4973ad47181710d2a69292018cad7bc6f95a6c1a
      https://github.com/llvm/llvm-project/commit/4973ad47181710d2a69292018cad7bc6f95a6c1a
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

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

  Log Message:
  -----------
  [MemProf][NFC] Use range for loop (#94308)

With the change in 2fa059195bb54f422cc996db96ac549888268eae we can now
use a range for loop.


  Commit: 8ea59ec6077e85c457b27b406a679ab9d5827387
      https://github.com/llvm/llvm-project/commit/8ea59ec6077e85c457b27b406a679ab9d5827387
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/MetadataRewriter.h
    M bolt/include/bolt/Rewrite/MetadataRewriters.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    A bolt/lib/Rewrite/BuildIDRewriter.cpp
    M bolt/lib/Rewrite/CMakeLists.txt
    M bolt/lib/Rewrite/MetadataManager.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Use rewriter interface for updating binary build ID (#94273)

Move functionality for patching build ID into a separate rewriter class
and change the way we do the patching. Support build ID in different
note sections in order to update the build ID in the Linux kernel binary
which puts in into ".notes" section instead of ".note.gnu.build-id".


  Commit: 3d361b225fe89ce1d8c93639f27d689082bd8dad
      https://github.com/llvm/llvm-project/commit/3d361b225fe89ce1d8c93639f27d689082bd8dad
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclBase.h
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaCXX/lambda-unevaluated.cpp

  Log Message:
  -----------
  [Clang][Sema] Tweak tryCaptureVariable for unevaluated lambdas (#93206)

This patch picks up #78598 with the hope that we can address such
crashes in `tryCaptureVariable()` for unevaluated lambdas.

In addition to `tryCaptureVariable()`, this also contains several other
fixes on e.g. lambda parsing/dependencies.

Fixes #63845
Fixes #67260
Fixes #69307
Fixes #88081
Fixes #89496
Fixes #90669
Fixes #91633


  Commit: 4c416a904c5aeb2590ea8336094f593b5cf7e484
      https://github.com/llvm/llvm-project/commit/4c416a904c5aeb2590ea8336094f593b5cf7e484
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/utils/gn/secondary/bolt/lib/Rewrite/BUILD.gn

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


  Commit: e3c9c82ce8098bc04f4f8186a462392a50cabdae
      https://github.com/llvm/llvm-project/commit/e3c9c82ce8098bc04f4f8186a462392a50cabdae
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir

  Log Message:
  -----------
  [mlir][MemRef] Extend memref.subview sub-byte type emulation support.  (#94045)

In some cases (see https://github.com/iree-org/iree/issues/16285),
`memref.subview` ops can't be folded into transfer ops and sub-byte type
emulation fails. This issue has been blocking a few things, including
the enablement of vector flattening transformations
(https://github.com/iree-org/iree/pull/16456). This PR extends the
existing sub-byte type emulation support of `memref.subview` to handle
multi-dimensional subviews with dynamic offsets and addresses the issues
for some of the `memref.subview` cases that can't be folded.

Co-authored-by: Diego Caballero <diegocaballero at google.com>


  Commit: 22dcdcc7e7f6516273e3fc2da01dba138088f8ee
      https://github.com/llvm/llvm-project/commit/22dcdcc7e7f6516273e3fc2da01dba138088f8ee
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Fix BUILD after d0413438ec4d846211094b0652cf6c0f3c9408bb.


  Commit: 4ab73549ffc365e9b1965247c2f769705b368c09
      https://github.com/llvm/llvm-project/commit/4ab73549ffc365e9b1965247c2f769705b368c09
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Really fix BUILD after d0413438ec4d846211094b0652cf6c0f3c9408bb.


  Commit: 46672c1dc3272adda838caa87bf3fb17411986fb
      https://github.com/llvm/llvm-project/commit/46672c1dc3272adda838caa87bf3fb17411986fb
  Author: Tina Jung <tinamaria.jung at amd.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir

  Log Message:
  -----------
  [mlir][emitc] arith.cmpf to EmitC conversion (#93671)

Convert all arith.cmpf on floats (not vectors/tensors thereof) to EmitC.

---------

Co-authored-by: Matthias Gehre <matthias.gehre at amd.com>
Co-authored-by: Jose Lopes <jose.lopes at amd.com>


  Commit: deab451e7a7f2dff42097049274637052c87eabd
      https://github.com/llvm/llvm-project/commit/deab451e7a7f2dff42097049274637052c87eabd
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M lld/test/COFF/lto-weak-undefined.ll
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/Analysis/ConstantFolding.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/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/Core.cpp
    M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/Utils/FunctionComparator.cpp
    M llvm/test/Analysis/Lint/noop-cast-expr-no-pointer.ll
    M llvm/test/Assembler/2007-01-05-Cmp-ConstExpr.ll
    M llvm/test/Assembler/ConstantExprFold.ll
    R llvm/test/Assembler/vector-cmp.ll
    M llvm/test/Bindings/OCaml/core.ml
    M llvm/test/Bitcode/vscale-round-trip.ll
    M llvm/test/CodeGen/AArch64/addsub.ll
    M llvm/test/CodeGen/AArch64/arm64-codegen-prepare-extload.ll
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    M llvm/test/CodeGen/AArch64/windows-extern-weak.ll
    M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
    M llvm/test/CodeGen/AMDGPU/loop_break.ll
    M llvm/test/CodeGen/ARM/Windows/mov32t-bundling.ll
    M llvm/test/CodeGen/Generic/pr33094.ll
    M llvm/test/CodeGen/Hexagon/stack-align-reset.ll
    M llvm/test/CodeGen/Mips/mirparser/target-flags-pic-mxgot-tls.mir
    M llvm/test/CodeGen/Mips/mirparser/target-flags-static-tls.mir
    M llvm/test/CodeGen/PowerPC/2008-05-01-ppc_fp128.ll
    M llvm/test/CodeGen/PowerPC/ifcvt-forked-bug-2016-08-08.ll
    M llvm/test/CodeGen/PowerPC/pr24636.ll
    M llvm/test/CodeGen/PowerPC/pr3711_widen_bit.ll
    M llvm/test/CodeGen/PowerPC/pr46923.ll
    M llvm/test/CodeGen/PowerPC/toc-load-sched-bug.ll
    M llvm/test/CodeGen/WebAssembly/add-prototypes.ll
    M llvm/test/CodeGen/WebAssembly/fast-isel-noreg.ll
    M llvm/test/CodeGen/X86/2008-09-19-RegAllocBug.ll
    M llvm/test/CodeGen/X86/address-type-promotion-constantexpr.ll
    M llvm/test/CodeGen/X86/codegen-prepare-extload.ll
    M llvm/test/CodeGen/X86/codegen-prepare-replacephi2.mir
    M llvm/test/CodeGen/X86/extern_weak.ll
    M llvm/test/CodeGen/X86/fast-isel-expect.ll
    M llvm/test/CodeGen/X86/no-plt.ll
    M llvm/test/CodeGen/X86/pr44749.ll
    M llvm/test/CodeGen/X86/undef-label.ll
    M llvm/test/ExecutionEngine/MCJIT/test-constantexpr.ll
    M llvm/test/Feature/const_pv.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/extern_weak.ll
    M llvm/test/Other/constant-fold-gep.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/2010-09-26-MergeConstantRange.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/select.ll
    M llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll
    M llvm/test/Transforms/GlobalDCE/complex-constantexpr.ll
    M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-other-constexpr.ll
    M llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
    M llvm/test/Transforms/GlobalOpt/dead-constant-user.ll
    M llvm/test/Transforms/GlobalOpt/pr61674.ll
    M llvm/test/Transforms/IndVarSimplify/pr45835.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/infer-address-space.ll
    M llvm/test/Transforms/Inline/always-inline.ll
    M llvm/test/Transforms/Inline/last-callsite.ll
    M llvm/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
    M llvm/test/Transforms/InstCombine/2008-05-18-FoldIntToPtr.ll
    M llvm/test/Transforms/InstCombine/2010-03-03-ExtElim.ll
    M llvm/test/Transforms/InstCombine/2012-3-15-or-xor-constant.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/constant-fold-compare.ll
    M llvm/test/Transforms/InstCombine/constant-fold-iteration.ll
    M llvm/test/Transforms/InstCombine/fold-bin-operand.ll
    M llvm/test/Transforms/InstCombine/icmp-bitcast-glob.ll
    M llvm/test/Transforms/InstCombine/icmp-mul.ll
    M llvm/test/Transforms/InstCombine/mul-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/not-add.ll
    M llvm/test/Transforms/InstCombine/phi-select-constant.ll
    M llvm/test/Transforms/InstCombine/pr20678.ll
    M llvm/test/Transforms/InstCombine/pr28725.ll
    M llvm/test/Transforms/InstCombine/pr32686.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr35515.ll
    M llvm/test/Transforms/InstCombine/pr38677.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/constant-expr.ll
    M llvm/test/Transforms/InstSimplify/pr28725.ll
    M llvm/test/Transforms/LowerTypeTests/function-weak.ll
    M llvm/test/Transforms/MergeFunc/constexpr.ll
    M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll
    M llvm/test/Transforms/SCCP/ip-ranges-select.ll
    M llvm/test/Transforms/SCCP/undef-resolve.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi3.ll
    M llvm/test/Transforms/SimplifyCFG/2009-05-12-externweak.ll
    R llvm/test/Transforms/SimplifyCFG/phi-to-select-constexpr-icmp.ll
    M llvm/test/Transforms/StructurizeCFG/invert-constantexpr.ll
    M llvm/tools/llvm-diff/lib/DifferenceEngine.cpp
    M llvm/unittests/IR/ConstantsTest.cpp
    M polly/test/ScopInfo/constant-non-integer-branch-condition.ll

  Log Message:
  -----------
  [IR] Remove support for icmp and fcmp constant expressions (#93038)

Remove support for the icmp and fcmp constant expressions.

This is part of:
https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179

As usual, many of the updated tests will no longer test what they were
originally intended to -- this is hard to preserve when constant
expressions get removed, and in many cases just impossible as the
existence of a specific kind of constant expression was the cause of the
issue in the first place.


  Commit: 68761a9e05693bd3986e46628e401c80a27e945d
      https://github.com/llvm/llvm-project/commit/68761a9e05693bd3986e46628e401c80a27e945d
  Author: martinboehme <mboehme at google.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][nullability] Propagate storage location / value of `++`/`--` operators. (#94217)

To avoid generating unnecessary values, we don't create a new value but
instead
leave it to the specific analysis to do this if desired.


  Commit: f4d60e2a744463bc624cbb1b35de5a36eed6aaae
      https://github.com/llvm/llvm-project/commit/f4d60e2a744463bc624cbb1b35de5a36eed6aaae
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M clang/cmake/caches/CrossWinToARMLinux.cmake

  Log Message:
  -----------
  [CMake] Remove supporting of DEFAULT_SYSROOT for the ARM/Aarch64 cross builds. NFC. (#94300)

Avoid usage DEFAULT_SYSROOT CMake variable to confgiure the ARM/Aarch64
cross platform toolchain builds. Use the Clang configuration files with
proper `--sysroot=` in it instead.

More details could be found here:
    https://github.com/llvm/llvm-project/issues/94284


  Commit: b7e472ce56dc61ec20cfb41a9d238bab1bc0f021
      https://github.com/llvm/llvm-project/commit/b7e472ce56dc61ec20cfb41a9d238bab1bc0f021
  Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Fix build after 46672c1dc3272adda838caa87bf3fb17411986fb.


  Commit: d8ec452db016f359feeec28994f6560b30b49824
      https://github.com/llvm/llvm-project/commit/d8ec452db016f359feeec28994f6560b30b49824
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/ModuleManager.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ModuleFile.cpp
    A clang/test/Modules/no-transitive-decls-change.cppm

  Log Message:
  -----------
  [serialization] no transitive decl change (#92083)

Following of https://github.com/llvm/llvm-project/pull/86912

The motivation of the patch series is that, for a module interface unit
`X`, when the dependent modules of `X` changes, if the changes is not
relevant with `X`, we hope the BMI of `X` won't change. For the specific
patch, we hope if the changes was about irrelevant declaration changes,
we hope the BMI of `X` won't change. **However**, I found the patch
itself is not very useful in practice, since the adding or removing
declarations, will change the state of identifiers and types in most
cases.

That said, for the most simple example,

```
// partA.cppm
export module m:partA;

// partA.v1.cppm
export module m:partA;
export void a() {}

// partB.cppm
export module m:partB;
export void b() {}

// m.cppm
export module m;
export import :partA;
export import :partB;

// onlyUseB;
export module onlyUseB;
import m;
export inline void onluUseB() {
    b();
}
```

the BMI of `onlyUseB` will change after we change the implementation of
`partA.cppm` to `partA.v1.cppm`. Since `partA.v1.cppm` introduces new
identifiers and types (the function prototype).

So in this patch, we have to write the tests as:

```
// partA.cppm
export module m:partA;
export int getA() { ... }
export int getA2(int) { ... }

// partA.v1.cppm
export module m:partA;
export int getA() { ... }
export int getA(int) { ... }
export int getA2(int) { ... }

// partB.cppm
export module m:partB;
export void b() {}

// m.cppm
export module m;
export import :partA;
export import :partB;

// onlyUseB;
export module onlyUseB;
import m;
export inline void onluUseB() {
    b();
}
```

so that the new introduced declaration `int getA(int)` doesn't introduce
new identifiers and types, then the BMI of `onlyUseB` can keep
unchanged.

While it looks not so great, the patch should be the base of the patch
to erase the transitive change for identifiers and types since I don't
know how can we introduce new types and identifiers without introducing
new declarations. Given how tightly the relationship between
declarations, types and identifiers, I think we can only reach the ideal
state after we made the series for all of the three entties.

The design of the patch is similar to
https://github.com/llvm/llvm-project/pull/86912, which extends the
32-bit DeclID to 64-bit and use the higher bits to store the module file
index and the lower bits to store the Local Decl ID.

A slight difference is that we only use 48 bits to store the new DeclID
since we try to use the higher 16 bits to store the module ID in the
prefix of Decl class. Previously, we use 32 bits to store the module ID
and 32 bits to store the DeclID. I don't want to allocate additional
space so I tried to make the additional space the same as 64 bits. An
potential interesting thing here is about the relationship between the
module ID and the module file index. I feel we can get the module file
index by the module ID. But I didn't prove it or implement it. Since I
want to make the patch itself as small as possible. We can make it in
the future if we want.

Another change in the patch is the new concept Decl Index, which means
the index of the very big array `DeclsLoaded` in ASTReader. Previously,
the index of a loaded declaration is simply the Decl ID minus
PREDEFINED_DECL_NUMs. So there are some places they got used
ambiguously. But this patch tried to split these two concepts.

As https://github.com/llvm/llvm-project/pull/86912 did, the change will
increase the on-disk PCM file sizes. As the declaration ID may be the
most IDs in the PCM file, this can have the biggest impact on the size.
In my experiments, this change will bring 6.6% increase of the on-disk
PCM size. No compile-time performance regression observed. Given the
benefits in the motivation example, I think the cost is worthwhile.


  Commit: 6c36bdb6eab1a3de3bce24ee0285c7745b17e407
      https://github.com/llvm/llvm-project/commit/6c36bdb6eab1a3de3bce24ee0285c7745b17e407
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M lldb/docs/use/variable.rst
    M lldb/include/lldb/API/SBValue.h

  Log Message:
  -----------
  [lldb] Add documentation for the max_children argument (#94192)


  Commit: eb3f2be36df4924c00cbb39846b7a1109b2c81e5
      https://github.com/llvm/llvm-project/commit/eb3f2be36df4924c00cbb39846b7a1109b2c81e5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Analysis/PHITransAddr.cpp
    M llvm/test/Transforms/GVN/PRE/pre-load.ll

  Log Message:
  -----------
  [PHITransAddr] Preserve all GEP nowrap flags


  Commit: 83fbe56f28d8aa4e4da9eea2a37bdc94141bf409
      https://github.com/llvm/llvm-project/commit/83fbe56f28d8aa4e4da9eea2a37bdc94141bf409
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

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

  Log Message:
  -----------
  [AArch64LoopIdiomTransform] Simplify GEP construction (NFC)


  Commit: a35ac42fac88e82748a7e035821a1c6226be9ac0
      https://github.com/llvm/llvm-project/commit/a35ac42fac88e82748a7e035821a1c6226be9ac0
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/include/CMakeLists.txt
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
    M compiler-rt/lib/gwp_asan/tests/CMakeLists.txt
    M compiler-rt/lib/interception/tests/CMakeLists.txt
    M compiler-rt/lib/memprof/tests/CMakeLists.txt
    M compiler-rt/lib/orc/tests/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
    M compiler-rt/lib/stats/CMakeLists.txt
    M compiler-rt/lib/tsan/CMakeLists.txt
    M compiler-rt/lib/tsan/dd/CMakeLists.txt
    M compiler-rt/lib/tsan/rtl/CMakeLists.txt
    M compiler-rt/lib/xray/tests/CMakeLists.txt
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/asan/CMakeLists.txt
    M compiler-rt/test/asan_abi/CMakeLists.txt
    M compiler-rt/test/builtins/CMakeLists.txt
    M compiler-rt/test/cfi/CMakeLists.txt
    M compiler-rt/test/dfsan/CMakeLists.txt
    M compiler-rt/test/fuzzer/CMakeLists.txt
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M compiler-rt/test/hwasan/CMakeLists.txt
    M compiler-rt/test/interception/CMakeLists.txt
    M compiler-rt/test/lsan/CMakeLists.txt
    M compiler-rt/test/memprof/CMakeLists.txt
    M compiler-rt/test/metadata/CMakeLists.txt
    M compiler-rt/test/msan/CMakeLists.txt
    M compiler-rt/test/orc/CMakeLists.txt
    M compiler-rt/test/profile/CMakeLists.txt
    M compiler-rt/test/safestack/CMakeLists.txt
    M compiler-rt/test/sanitizer_common/CMakeLists.txt
    M compiler-rt/test/shadowcallstack/CMakeLists.txt
    M compiler-rt/test/tsan/CMakeLists.txt
    M compiler-rt/test/ubsan/CMakeLists.txt
    M compiler-rt/test/ubsan_minimal/CMakeLists.txt
    M compiler-rt/test/xray/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Revise IDE folder structure (#89753)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode
(`set_property(TARGET <target> PROPERTY FOLDER "<title>")`)
when using the respective CMake's IDE generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: 799ae77993fa5d7b0638f10b3895090f8748de92
      https://github.com/llvm/llvm-project/commit/799ae77993fa5d7b0638f10b3895090f8748de92
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Avoid unnecessary check for if Identifier from AST

Inspired by the review process in
https://github.com/llvm/llvm-project/pull/92085.

The check `ID >= FirstIdentID` can cover the following check
`!II->isFromAST()`.


  Commit: 434a8a08a2f26bb30cb30c3f9f6794cf7a190844
      https://github.com/llvm/llvm-project/commit/434a8a08a2f26bb30cb30c3f9f6794cf7a190844
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll

  Log Message:
  -----------
  [InstCombine] Preserve all gep nowrap flags in PointerReplacer


  Commit: ade4259d75d61d4366538b5ee975cac606d43d3c
      https://github.com/llvm/llvm-project/commit/ade4259d75d61d4366538b5ee975cac606d43d3c
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/lib/AST/Expr.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [clang] Fix parsing a typeid containing a pack indexing expression (#94299)

Fixes #93650


  Commit: 6bc71bac8728b30b560f7ae210917072b01b8046
      https://github.com/llvm/llvm-project/commit/6bc71bac8728b30b560f7ae210917072b01b8046
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/include/clang/Basic/CharInfo.h
    M clang/test/Lexer/cxx2c-raw-strings.cpp

  Log Message:
  -----------
  [Clang] \ is not valid in a raw string literal (#93867)

Fix regression introduced by #93216


  Commit: 34b4112c909d6d5e177d0e6851af7db18058fb9a
      https://github.com/llvm/llvm-project/commit/34b4112c909d6d5e177d0e6851af7db18058fb9a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Simplify isMergedGEPInBounds() (NFCI)

Since the switch to opaque pointers, zero-index GEPs will be
optimized away anyway, so there is no need to explicitly handle
them here.


  Commit: 59cb55d384a10e370ad5fdb2a8a48209e6bbc2bd
      https://github.com/llvm/llvm-project/commit/59cb55d384a10e370ad5fdb2a8a48209e6bbc2bd
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    A llvm/test/Transforms/LoopVectorize/vplan-incomplete-cases.ll
    R llvm/test/Transforms/LoopVectorize/vplan-infer-not-or-type.ll

  Log Message:
  -----------
  VPlan: add missing case for LogicalAnd; fix crash (#93553)

VPTypeAnalysis::inferScalarTypeForRecipe is missing the case for
VPInstruction::LogicalAnd, due to which the test
vplan-incomplete-cases.ll crashes. Add this missing case, and move the
test in vplan-infer-not-or-type.ll to vplan-incomplete-cases.ll, showing
correct codegen for trip-counts 2 and 3.


  Commit: fe56f19c6705d652183aaa0fcfc7cf67ec88f1fc
      https://github.com/llvm/llvm-project/commit/fe56f19c6705d652183aaa0fcfc7cf67ec88f1fc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Analysis/Local.cpp
    M llvm/test/Transforms/InstCombine/icmp-gep.ll

  Log Message:
  -----------
  [Local] Use nusw and nuw flags in emitGEPOffset()


  Commit: bc3baa93ce5142fcdc2dc5a7d27e26a32999116d
      https://github.com/llvm/llvm-project/commit/bc3baa93ce5142fcdc2dc5a7d27e26a32999116d
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/test/Analysis/putenv-stack-array.c

  Log Message:
  -----------
  [clang][analyzer] Move PutenvStackArrayChecker out of alpha package (#93980)

Checker alpha.security.PutenvStackArray is moved to
security.PutenvStackArray.


  Commit: 842333750288a033cd7c4ca0c132d38a1982c187
      https://github.com/llvm/llvm-project/commit/842333750288a033cd7c4ca0c132d38a1982c187
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/peephole-mma-phi-liveness.ll

  Log Message:
  -----------
  [PowerPC] Add test for ppc-mi-peepholes on MMA register COPYs. NFC.


  Commit: cb60667b6e762aa172b6ad06332465d69f0fd803
      https://github.com/llvm/llvm-project/commit/cb60667b6e762aa172b6ad06332465d69f0fd803
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/ModuleManager.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ModuleFile.cpp
    R clang/test/Modules/no-transitive-decls-change.cppm

  Log Message:
  -----------
  Revert "[serialization] no transitive decl change (#92083)"

This reverts commit d8ec452db016f359feeec28994f6560b30b49824.

This fails on LLDB macOS CI. See
https://github.com/llvm/llvm-project/pull/92083 for details.


  Commit: 3138c590859ffff5d77f878f3b297960c8842180
      https://github.com/llvm/llvm-project/commit/3138c590859ffff5d77f878f3b297960c8842180
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/getelementptr.ll

  Log Message:
  -----------
  [InstCombine] Add more gep index canonicalization tests (NFC)

Flags are already fully preserved for the instruction case,
but lost on constant expressions.


  Commit: eea05c6b3369736b703e2a5e3ca08ba6ad8a51dc
      https://github.com/llvm/llvm-project/commit/eea05c6b3369736b703e2a5e3ca08ba6ad8a51dc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

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

  Log Message:
  -----------
  [ConstantFolding] Preserve all flags in CastGEPIndices()

This preserves the flags during that transform, but currently they
will still end up getting dropped at a later stage.


  Commit: 164597616c0c9cb42536d0d112e87e616751a438
      https://github.com/llvm/llvm-project/commit/164597616c0c9cb42536d0d112e87e616751a438
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll

  Log Message:
  -----------
  [LV] Add test for RT check hoisting where loop guards simplify check.

Add a test case with a missed simplification when hoisting runtime
checks due to not applying loop guards.


  Commit: 99873b35da7ecb905143c8a6b8deca4d4416f1a9
      https://github.com/llvm/llvm-project/commit/99873b35da7ecb905143c8a6b8deca4d4416f1a9
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] [AST] Introduce Decl::isInAnotherModuleUnit and Decl::shouldEmitInExternalSource

Motivated by the review process in
https://github.com/llvm/llvm-project/pull/75912. This can also help to
simplify the code slightly.


  Commit: f98be870e4da1c124f476ce441d2a49e248091cf
      https://github.com/llvm/llvm-project/commit/f98be870e4da1c124f476ce441d2a49e248091cf
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/PHITransAddr.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/NewGVN.cpp
    M llvm/test/Transforms/InstSimplify/gep.ll

  Log Message:
  -----------
  [InstSimplify] Accept GEPNoWrapFlags instead of only InBounds flag

This preserves the flags if a constexpr GEP is created (at least
as long as they don't get dropped later -- the test cases uses a
constexpr index to avoid that).


  Commit: c0e6dd1e7c39be43731bc2036136f3126e029d08
      https://github.com/llvm/llvm-project/commit/c0e6dd1e7c39be43731bc2036136f3126e029d08
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp

  Log Message:
  -----------
  [flang][CodeGen][NFC] Reduce BoxedProcedurePass boilerplate (#94200)

The pass constructor can be generated automatically by tablegen.

The pass is module-level and iterates over every operation within the
module so it should not need any changes to support alternative top
level operations.


  Commit: c631131a1490af9f908a3a3be9aae5295ecff67d
      https://github.com/llvm/llvm-project/commit/c631131a1490af9f908a3a3be9aae5295ecff67d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    R clang/test/CXX/drs/cwg2390.cpp
    M clang/test/CXX/drs/cwg23xx.cpp

  Log Message:
  -----------
  [clang] Move CWG2390 test into `cwg23xx.cpp` (#94206)

This patch refactors an existing test for
[CWG2390](https://cplusplus.github.io/CWG/issues/2390.html) "Is the
argument of `__has_cpp_attribute` macro-expanded?" to use `#error`
instead of emitting a variable in IRGen and checking it via FileCheck.
As a bonus, this makes it possible to move the test into `cwg23xx.cpp`.


  Commit: 50d837e3019136aa42a73c06dd117fe6ca8cf148
      https://github.com/llvm/llvm-project/commit/50d837e3019136aa42a73c06dd117fe6ca8cf148
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR] Improve translation of DISubrange. (#93689)

The DISubrange can take integer, dwarf expressions or variables. The
current translation only handled integers. This PR adds handling of
dwarf expressions and variables.


  Commit: 93266ecac949efdc6d04620847a1b87bbb4819ce
      https://github.com/llvm/llvm-project/commit/93266ecac949efdc6d04620847a1b87bbb4819ce
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp

  Log Message:
  -----------
  [lldb][test] Require Python for dwp test

This came up when testing the CI build, which is not
being build with scripting yet.


  Commit: 9372e1a7f12ab1bce4bf6303657e193fc0283a6e
      https://github.com/llvm/llvm-project/commit/9372e1a7f12ab1bce4bf6303657e193fc0283a6e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-local.ll

  Log Message:
  -----------
  [AMDGPU] Add gfx12 run lines to fence MMRA tests (#94333)


  Commit: fc5254c8ac02d29e7daab4ecce42cb5a82c8b3a2
      https://github.com/llvm/llvm-project/commit/fc5254c8ac02d29e7daab4ecce42cb5a82c8b3a2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

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

  Log Message:
  -----------
  [LoopUtils] Simplify code for runtime check generation a bit (NFCI).

Store getSE result in variable to re-use and use structured bindings
when looping over bounds.


  Commit: a934ddcf7edb583e93102e2fa8b3b05ab34547f2
      https://github.com/llvm/llvm-project/commit/a934ddcf7edb583e93102e2fa8b3b05ab34547f2
  Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Target/Cpp/expressions.mlir

  Log Message:
  -----------
  [mlir][EmitC] Do not inline expressions used by ops with the CExpression trait (#93691)

Currently an expression is inlined without emitting enclosing
parentheses regardless of the context of the user. This could led to
wrong evaluation order depending on the precedence of both expressions.
If the inlining is intended, the user operation should be merged into
the expression op.

Fixes #93470.


  Commit: 924611b0301f751e8c3fef9759b9d2683b0345fc
      https://github.com/llvm/llvm-project/commit/924611b0301f751e8c3fef9759b9d2683b0345fc
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/include/clang/AST/TemplateName.h
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp

  Log Message:
  -----------
  [clang] NFCI: remove obsolete workaround for template default arguments (#94311)


  Commit: 3b020d51f1c96980b1813e5148dbbd6af91669cf
      https://github.com/llvm/llvm-project/commit/3b020d51f1c96980b1813e5148dbbd6af91669cf
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

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

  Log Message:
  -----------
  [clang][ASTImport] fix issue on anonymous enum import (#93923)

Don't skip searching in `ToContext` during importing `EnumDecl`. And
`IsStructuralMatch` in `StructralEquivalence` can make sure to determine
whether the found result is match or not.

---------

Co-authored-by: huqizhi <836744285 at qq.com>


  Commit: e57308b063bb2399b9524222d757609797d331fc
      https://github.com/llvm/llvm-project/commit/e57308b063bb2399b9524222d757609797d331fc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/getelementptr.ll

  Log Message:
  -----------
  [IR] Accept GEPNoWrapFlags in creation APIs

Add overloads of GetElementPtrInst::Create() that accept
GEPNoWrapFlags, and switch the bool parameters in IRBuilder to
accept it instead as well.

As a sample use, switch GEP i8 canonicalization in InstCombine to
preserve the original flags.


  Commit: 794457f6f99aac77f123fa2245e91a3b442c7926
      https://github.com/llvm/llvm-project/commit/794457f6f99aac77f123fa2245e91a3b442c7926
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    A clang/test/CodeGen/amdgpu-variadic-call.c

  Log Message:
  -----------
  [amdgpu] Pass variadic arguments without splitting (#94083)

Pass variadic arguments without changing their type, unlike the fixed
ones.

Fixed arguments are modified to better fit into registers. This patch
leaves those unchanged.

Splitting struct types into individual fields and packing small structs
into integers works well for passing via registers. Variadic arguments
are currently unimplemented in the backend. They're likely to be
implemented as a pointer to stack memory in which case register-themed
optimisations are inapplicable.

Splitting the struct into fields makes it difficult to implement va_arg
robustly. The rules around padding and alignment to inverse the struct
splitting could be constructed, but at high complexity and no particular
advantage.

Passing types as-is means there is a 1:1 correspondence with the type
information va_arg has to work with and the parameter type at the call
site.

This is an ABI change, but as the only functions affected are variadic
ones which are presently a compilation error, not a functional break.
Factored out of the larger #93362 and can land independently.


  Commit: f9db0d2c43d2956813fab8309def6b23adc73f35
      https://github.com/llvm/llvm-project/commit/f9db0d2c43d2956813fab8309def6b23adc73f35
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

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

  Log Message:
  -----------
  [cmake][runtimes] Add missing dependency on LLVMgold.so (#94199)

When doing a runtimes build with LTO using ld.bfd (or ld.gold), the
build starts failing with ninja 1.12, which added a new critical path
scheduler. The reason is that LLVMgold.so is not available yet at the
point where runtimes start being build, leading to configuration
failures in the nested cmake invocation.

Fix this by adding an explicit dependency on LLVMgold.so if it is
available. (It may not always be necessary, e.g. if the used linker is
lld, but it would be hard to detect when exactly it may or may not be
needed, so always adding the dependency is safer.)


  Commit: 90049bbbeae3da553e43a015a2e7d7e355c0a0ce
      https://github.com/llvm/llvm-project/commit/90049bbbeae3da553e43a015a2e7d7e355c0a0ce
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

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

  Log Message:
  -----------
  [bazel] Add missing dep for __support_threads_sleep


  Commit: e651ee98cfcdebd799de0d61eca22b7b1493cc96
      https://github.com/llvm/llvm-project/commit/e651ee98cfcdebd799de0d61eca22b7b1493cc96
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add tests for Core issues about friend templates (#94288)

This patch covers the following Core issues:
[CWG1862](https://cplusplus.github.io/CWG/issues/1862.html) "Determining
“corresponding members” for friendship"
[CWG1918](https://cplusplus.github.io/CWG/issues/1918.html) "`friend`
templates with dependent scopes"
[CWG1945](https://cplusplus.github.io/CWG/issues/1945.html) "Friend
declarations naming members of class templates in non-templates"

All of them were resolved by CWG1862, where the current wording of
[[temp.friend] p5](https://eel.is/c++draft/temp.friend#5) comes from:
> A template friend declaration may declare a member of a dependent type
to be a friend[.](https://eel.is/c++draft/temp.friend#5.sentence-1) The
friend declaration shall declare a function or specify a type with an
[elaborated-type-specifier](https://eel.is/c++draft/dcl.type.elab#nt:elaborated-type-specifier),
in either case with a
[nested-name-specifier](https://eel.is/c++draft/expr.prim.id.qual#nt:nested-name-specifier)
ending with a
[simple-template-id](https://eel.is/c++draft/temp.names#nt:simple-template-id),
C, whose
[template-name](https://eel.is/c++draft/temp.names#nt:template-name)
names a class
template[.](https://eel.is/c++draft/temp.friend#5.sentence-2) The
template parameters of the template friend declaration shall be
deducible from C
([[temp.deduct.type]](https://eel.is/c++draft/temp.deduct.type))[.](https://eel.is/c++draft/temp.friend#5.sentence-3)
In this case, a member of a specialization S of the class template is a
friend of the class granting friendship if deduction of the template
parameters of C from S succeeds, and substituting the deduced template
arguments into the friend declaration produces a declaration that
corresponds to the member of the
specialization[.](https://eel.is/c++draft/temp.friend#5.sentence-4)

A useful example is provided after the paragraph:
https://eel.is/c++draft/temp.friend#example-4.

Neither of Core issues is implemented, because we don't support
dependent nested friend specifiers.

---------

Co-authored-by: Shafik Yaghmour <shafik.yaghmour at intel.com>


  Commit: 11725b5240840e077c944af6a56e75dd00275395
      https://github.com/llvm/llvm-project/commit/11725b5240840e077c944af6a56e75dd00275395
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll

  Log Message:
  -----------
  [InstCombine] Add tests for incorrect range handling in ctz fold (NFC)


  Commit: 3cd67eeca28ab1084d02b7976de1af4c4c8d37d5
      https://github.com/llvm/llvm-project/commit/3cd67eeca28ab1084d02b7976de1af4c4c8d37d5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll

  Log Message:
  -----------
  [InstCombine] Drop range attr in select of ctz fold

The range may no longer be valid after the select has been
optimized away.

This fixes the kernel miscompiles reported at
https://github.com/ClangBuiltLinux/linux/issues/2031.


  Commit: d999ce0302f06d250f6d496b56a5a5f2dc331e61
      https://github.com/llvm/llvm-project/commit/d999ce0302f06d250f6d496b56a5a5f2dc331e61
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Interpreter/execute.c

  Log Message:
  -----------
  Reland "[clang-repl] Extend the C support. (#89804)"

Original commit message:"

[clang-repl] Extend the C support. (#89804)

The IdResolver chain is the main way for C to implement lookup rules.  Every new
partial translation unit caused clang to exit the top-most scope which in turn
cleaned up the IdResolver chain. That was not an issue for C++ because its
lookup is implemented on the level of declaration contexts.

This patch keeps the IdResolver chain across partial translation units
maintaining proper C-style lookup infrastructure.
"

It was reverted in dfdf1c5fe45a82b9c578306f3d7627fd251d63f8 because it broke the
bots of lldb. This failure was subtle to debug but the current model does not
work well with ObjectiveC support in lldb. This patch does cleans up the
partial translation units in ObjectiveC. In future if we want to support
ObjectiveC we need to understand what exactly lldb is doing when recovering from
errors...


  Commit: 2635d0419e4800c34c7cfea120a12fec8d4878fe
      https://github.com/llvm/llvm-project/commit/2635d0419e4800c34c7cfea120a12fec8d4878fe
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/llrintf16.cpp
    A libc/src/math/generic/llroundf16.cpp
    A libc/src/math/generic/lrintf16.cpp
    A libc/src/math/generic/lroundf16.cpp
    A libc/src/math/generic/nearbyintf16.cpp
    A libc/src/math/generic/rintf16.cpp
    A libc/src/math/llrintf16.h
    A libc/src/math/llroundf16.h
    A libc/src/math/lrintf16.h
    A libc/src/math/lroundf16.h
    A libc/src/math/nearbyintf16.h
    A libc/src/math/rintf16.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    A libc/test/src/math/smoke/llrintf16_test.cpp
    A libc/test/src/math/smoke/llroundf16_test.cpp
    A libc/test/src/math/smoke/lrintf16_test.cpp
    A libc/test/src/math/smoke/lroundf16_test.cpp
    A libc/test/src/math/smoke/nearbyintf16_test.cpp
    A libc/test/src/math/smoke/rintf16_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add {nearbyint,rint,lrint,llrint,lround,llround}f16 C23 math functions (#94218)

https://github.com/llvm/llvm-project/issues/93566


  Commit: fadd1ec536ce76acfd572364b0e118da54116e94
      https://github.com/llvm/llvm-project/commit/fadd1ec536ce76acfd572364b0e118da54116e94
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Processors.td
    A llvm/test/CodeGen/AArch64/misched-fusion-cmp-bcc.ll

  Log Message:
  -----------
  [AArch64] Enable CmpBcc fusion for Neoverse-v2 (#90608)

This adds compare and branch instructions fusion for Neoverse V2.
According to the Software Optimization Guide:
Specific Aarch64 instruction pairs that can be fused are as follows: 
CMP/CMN (immediate) + B.cond
CMP/CMN (register) + B.cond

Performance for SPEC2017 is neutral, but another benchmark improves
significantly.
Results for SPEC2017 on a Neoverse V2:
500.perlbench 0%
502.gcc_r 0%
505.mcf_r -0.15%
523.xalancbmk_r -0.43%
525.x264_r 0%
531.deepsjeng_r 0%
541.leela_r -0.16%
557.xz_r -0.47%


  Commit: 858a79eb1896b957098746c82c956c74b482866d
      https://github.com/llvm/llvm-project/commit/858a79eb1896b957098746c82c956c74b482866d
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/associated.f90

  Log Message:
  -----------
  [flang] relax ASSOCIATED checks for assumed-ranks (#94277)

Nothing in the standard actually prevents TARGET from being an
assumed-rank if the POINTER is. The only rank related constraints says:
"POINTER is not assumed-rank, TARGET shall have the same rank as
POINTER.".


  Commit: e325e2e5928d4893bedee2d4bbb7d71cc855c67a
      https://github.com/llvm/llvm-project/commit/e325e2e5928d4893bedee2d4bbb7d71cc855c67a
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/utils/UpdateTestChecks/asm.py

  Log Message:
  -----------
  update_test_checks: drop the other arm64_32 handlers


  Commit: 31850fa97406d60ae8fa5f7bd107141c0fbc2615
      https://github.com/llvm/llvm-project/commit/31850fa97406d60ae8fa5f7bd107141c0fbc2615
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/utils/gn/build/BUILD.gn
    M llvm/utils/gn/build/toolchain/BUILD.gn
    M llvm/utils/gn/build/toolchain/compiler.gni

  Log Message:
  -----------
  [gn] remove goma configs (#93941)

goma is deprecated and not maintained anymore.


  Commit: 8917739b4cb39e6cd2355672ff6e2c140b19aafd
      https://github.com/llvm/llvm-project/commit/8917739b4cb39e6cd2355672ff6e2c140b19aafd
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp

  Log Message:
  -----------
  [lldb][test] Disable MD5 test for old versions of Visual Studio (#94325)

In older versions there is this problem:

https://developercommunity.visualstudio.com/t/c-shared-state-futuresstate-default-constructs-the/60897

Which prevents us making a future out of a result type. There's
no good workaround so just don't compile this for older versions.


  Commit: 78f5d9cdbad2ad6c9857e0ceed99c7c3a40d16d2
      https://github.com/llvm/llvm-project/commit/78f5d9cdbad2ad6c9857e0ceed99c7c3a40d16d2
  Author: Andrei Safronov <safronov at espressif.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
    M llvm/lib/Target/Xtensa/XtensaSubtarget.cpp
    M llvm/test/CodeGen/Xtensa/call.ll
    A llvm/test/CodeGen/Xtensa/dynamic-alloc.ll
    A llvm/test/CodeGen/Xtensa/saverestore.ll

  Log Message:
  -----------
  [PATCH] [Xtensa] Implement FrameLowering methods and stack operation lowering. (#92960)

Implement emitPrologue/emitEpilogue methods, determine/spill/restore
callee saved registers functionality with test. Also implement lowering
of the DYNAMIC_STACKALLOC/STACKSAVE/STACKRESTORE stack operations with
tests.


  Commit: fb300eb44d2c214c9616cfea9c299916993499dd
      https://github.com/llvm/llvm-project/commit/fb300eb44d2c214c9616cfea9c299916993499dd
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M libc/src/__support/CPP/expected.h
    M libc/src/__support/time/linux/abs_timeout.h

  Log Message:
  -----------
  [libc] add LIBC_INLINE for expected, use CTAD in abs_timeout (#94348)


  Commit: 2464f1cef3d28182da42debe6abf9bad8ab5a4d2
      https://github.com/llvm/llvm-project/commit/2464f1cef3d28182da42debe6abf9bad8ab5a4d2
  Author: Joachim <jenke at itc.rwth-aachen.de>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_runtime.cpp
    M openmp/runtime/src/kmp_taskdeps.cpp
    M openmp/runtime/src/kmp_tasking.cpp
    M openmp/runtime/src/ompt-internal.h
    M openmp/runtime/src/ompt-specific.cpp

  Log Message:
  -----------
  [OpenMP][OMPT] Add missing callbacks for asynchronous target tasks (#93472)

- The first hidden-helper-thread did not trigger thread-begin
- The "detaching" from a target-task when waiting for completion missed
to call task-switch
- Target tasks identified themself as explicit task

Co-authored-by: Kaloyan Ignatov <kaloyan.ignatov at rwth-aachen.de>


  Commit: 492417278d986ddd8206b2b9bba626ce690ea244
      https://github.com/llvm/llvm-project/commit/492417278d986ddd8206b2b9bba626ce690ea244
  Author: martinboehme <mboehme at google.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Propagate storage location of compound assignment operators. (#94332)

To avoid generating unnecessary values, we don't create a new value but
instead
leave it to the specific analysis to do this if desired.


  Commit: 6b91a3be46be1a61b351aea29c769250b509b71e
      https://github.com/llvm/llvm-project/commit/6b91a3be46be1a61b351aea29c769250b509b71e
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td

  Log Message:
  -----------
  [AMDGPU][NFC] Rename the clamp modifier definition to follow the prevailing convention. (#94353)

Allows to simplify the definition itself.

Part of <https://github.com/llvm/llvm-project/issues/62629>.


  Commit: b9f1fdcfd9803689461f0c12e04ab1743ad9a030
      https://github.com/llvm/llvm-project/commit/b9f1fdcfd9803689461f0c12e04ab1743ad9a030
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td

  Log Message:
  -----------
  Silence a not all control paths return a value diagnostic; NFC


  Commit: d881bac6fa3b1d8d622d4fb651060cf7d6223080
      https://github.com/llvm/llvm-project/commit/d881bac6fa3b1d8d622d4fb651060cf7d6223080
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    A llvm/test/Analysis/BasicAA/zext-nneg.ll

  Log Message:
  -----------
  [BasicAA] Consider 'nneg' flag when comparing CastedValues (#94129)

Any of the `zext` bits in a `zext nneg` can be converted to `sext` but
when checking if casts are compatible `BasicAA` fails to take into
account `nneg`. This change adds tracking of `nneg` to the `CastedValue`
struct and ensures that `sext` and `zext` bits are treated as
interchangeable when either `CastedValue` has a `nneg`. When
distributing casted values in `GetLinearExpression` we conservatively
discard the `nneg` from the `CastedValue`, except in the case of `shl
nsw`, where we know the sign has not changed to negative.


  Commit: 6cd86d0fae8cbb752a713860f131b9b759b2cbb8
      https://github.com/llvm/llvm-project/commit/6cd86d0fae8cbb752a713860f131b9b759b2cbb8
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    A flang/test/Transforms/tbaa-with-dummy-scope.fir
    M flang/test/Transforms/tbaa.fir
    M flang/test/Transforms/tbaa2.fir

  Log Message:
  -----------
  [flang] Use fir.declare/fir.dummy_scope for TBAA tags attachments. (#92472)

With MLIR inlining (e.g. `flang-new -mmlir -inline-all=true`)
the current TBAA tags attachment is suboptimal, because
we may lose information about the callee's dummy arguments
(by bypassing fir.declare in AliasAnalysis::getSource).
This is a conservative first step to improve the situation.
This patch makes AddAliasTagsPass to account for fir.dummy_scope
hierarchy after MLIR inlining and use it to place the TBAA tags
into TBAA trees corresponding to different function scopes.
The pass uses special mode of AliasAnalysis to find the instantiation
point of a Fortran variable (a [hl]fir.decalre) when searching
for the source of a memory reference. In this mode, AliasAnalysis
will always stop at fir.declare operations that have dummy_scope
operands - there should not be a reason to past throught it
for the purpose of TBAA tags attachment.


  Commit: 0a39c88e81dadca9f6ceef8e0b0be0ed692fe4fe
      https://github.com/llvm/llvm-project/commit/0a39c88e81dadca9f6ceef8e0b0be0ed692fe4fe
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

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

  Log Message:
  -----------
  [InstCombine] Fold `select Cond, not X, X` into `Cond ^ X` (#93591)

See the following example:
```
define i1 @src(i64 %x, i1 %y) {
  %1526 = icmp ne i64 %x, 0
  %1527 = icmp eq i64 %x, 0
  %sel = select i1 %y, i1 %1526, i1 %1527
  ret i1 %sel
}

define i1 @tgt(i64 %x, i1 %y) {
  %1527 = icmp eq i64 %x, 0
  %sel = xor i1 %y, %1527
  ret i1 %sel
}
```
I find that this pattern is common in C/C++/Rust code base.
This patch folds `select Cond, Y, X` into `Cond ^ X` iff:
1. X has the same type as Cond
2. X is poison -> Y is poison
3. X == !Y

Alive2: https://alive2.llvm.org/ce/z/hSmkHS


  Commit: 335fb9467172683d1b9418ee17120598d0d0a1af
      https://github.com/llvm/llvm-project/commit/335fb9467172683d1b9418ee17120598d0d0a1af
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/test/Driver/mips-mti-linux.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/openmp-offload.c
    M clang/test/Driver/ve-toolchain.c

  Log Message:
  -----------
  [Driver] Don't use absolute paths for invoking subcommands for driver tests (#94349)

We see some tests are failing internally after 12949c9.

In some CAS systems, we might not see the exact binary name (clang),
this patch adds the `-no-canonical-prefixes` option to the command line to not
realpath-ify the binary name.


  Commit: 6ac5047aa6bf12644e38afb188bd8d821a181ba5
      https://github.com/llvm/llvm-project/commit/6ac5047aa6bf12644e38afb188bd8d821a181ba5
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp

  Log Message:
  -----------
  [flang] Escape '%' in %VAL/%REF messages (#94331)

flang/test/Semantics/call40.f90 was failing on Darwin:
actual at 27: VAL or REF are not allowed for dummy argument 'a='
  that must be passed by means of a descriptor
expect at 27: %VAL or %REF are not allowed for dummy argument 'a='
  that must be passed by means of a descriptor

When messages.Say() is called with more arguments than just the
fixed text message, the message is treated as a format string,
passed to vsnprintf. Therefore, the '%' chars in it must be
escaped.

Note that no conversion happens when there is only a fixed text
message. Escaping '%' in this case causes "%%" to be outputted.
This can be confusing for someone expecting printf-like behavior.
Processing these text messages with snprintf could solve this,
as a future improvement.


  Commit: 7b346357db30d531245104c1c0aa8940a1f41b9a
      https://github.com/llvm/llvm-project/commit/7b346357db30d531245104c1c0aa8940a1f41b9a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M lld/ELF/Writer.cpp
    M lld/test/ELF/linkerscript/orphan.s
    M lld/test/ELF/linkerscript/sections-nonalloc.s
    M lld/test/ELF/linkerscript/sections.s

  Log Message:
  -----------
  [ELF] Orphan placement: prefer the last similar section when its rank <= orphan's rank

`findOrphanPos` finds the most similar output section (that has input
sections). In the event of proximity ties, we select the first section.

However, when an orphan section's rank is equal to or larger than the
most similar sections's, it makes sense to prioritize the last similar
section. This new behavior matches GNU ld better.

```
// orphan placement for .bss (SHF_ALLOC|SHF_WRITE, SHT_NOBITS)

WA SHT_PROGBITS
(old behavior) <= here
A
WA SHT_PROGBITS
AX
WA (.data)
(new behavior) <= here
```

When the orphan section's rank is less, the current behavior
prioritizing the first section still makes sense.
```
// orphan with a smaller rank, e.g. .rodata

<= here
WA
AX
WA
```

Close #92987

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


  Commit: 68eb3b202f30a1c3f2575f44b9d16365258e66b6
      https://github.com/llvm/llvm-project/commit/68eb3b202f30a1c3f2575f44b9d16365258e66b6
  Author: Artem Chikin <achikin at apple.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/ClangScanDeps/diagnostics.c
    M clang/test/ClangScanDeps/header-search-pruning-transitive.c
    M clang/test/ClangScanDeps/header-search-pruning.cpp
    A clang/test/ClangScanDeps/link-libraries.c
    M clang/test/ClangScanDeps/modules-canononical-module-map-case.c
    M clang/test/ClangScanDeps/modules-context-hash.c
    M clang/test/ClangScanDeps/modules-dep-args.c
    M clang/test/ClangScanDeps/modules-excluded-header.m
    M clang/test/ClangScanDeps/modules-extern-submodule.c
    M clang/test/ClangScanDeps/modules-extern-unrelated.m
    M clang/test/ClangScanDeps/modules-file-path-isolation.c
    M clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m
    M clang/test/ClangScanDeps/modules-full-by-mod-name.c
    M clang/test/ClangScanDeps/modules-full.cpp
    M clang/test/ClangScanDeps/modules-implementation-private.m
    M clang/test/ClangScanDeps/modules-implicit-dot-private.m
    M clang/test/ClangScanDeps/modules-incomplete-umbrella.c
    M clang/test/ClangScanDeps/modules-inferred.m
    M clang/test/ClangScanDeps/modules-no-undeclared-includes.c
    M clang/test/ClangScanDeps/modules-pch-common-submodule.c
    M clang/test/ClangScanDeps/modules-pch-common-via-submodule.c
    M clang/test/ClangScanDeps/modules-pch.c
    M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
    M clang/test/ClangScanDeps/modules-redefinition.m
    M clang/test/ClangScanDeps/modules-symlink-dir-vfs.c
    M clang/test/ClangScanDeps/modules-transitive.c
    M clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    M clang/test/ClangScanDeps/optimize-fmodulemap.m
    M clang/test/ClangScanDeps/optimize-system-warnings.m
    M clang/test/ClangScanDeps/optimize-vfs-leak.m
    M clang/test/ClangScanDeps/optimize-vfs.m
    M clang/test/ClangScanDeps/removed-args.c
    M clang/test/ClangScanDeps/working-dir.m
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang][deps] Collect discovered module dependencies' Link Libraries (#93588)

This will allow scanner clients to be able to compute e.g. auto-linking
dependencies of the scanned translation unit.


  Commit: 8e94f0a0ad8817ba84474620426e28076e1c0024
      https://github.com/llvm/llvm-project/commit/8e94f0a0ad8817ba84474620426e28076e1c0024
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/FLATInstructions.td

  Log Message:
  -----------
  [AMDGPU] Do not override PseudoInstr in FLAT Pseudo definitions. NFC. (#94369)

Simplify by setting PseudoInstr to the tablegen name of the Pseudo in
the first place.


  Commit: 5ae5774fb0b5cac11af479b0905dfdd5255b4047
      https://github.com/llvm/llvm-project/commit/5ae5774fb0b5cac11af479b0905dfdd5255b4047
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/AST/ast-dump-APValue-anon-union.cpp
    M clang/test/SemaCXX/cxx1y-initializer-aggregates.cpp

  Log Message:
  -----------
  [Sema] Fix handling of fields with initializers in nested anonymous unions. (#91692)

Make sure we count the anonymous union as an initialized field, so we
properly construct the AST.

Included bonus testcase Test3, which shows a remaining gap: an anonymous
union can contain a partially initialized anonymous struct, and we
handle that inconsistently.

Fixes #91257


  Commit: 188b1a54df9ff6c0b388269c2b95b71a0ae7801b
      https://github.com/llvm/llvm-project/commit/188b1a54df9ff6c0b388269c2b95b71a0ae7801b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SMInstructions.td

  Log Message:
  -----------
  [AMDGPU] Do not override PseudoInstr in SMEM Pseudo definitions. NFC.


  Commit: 0cb66a7bd52ee51a6b43c42fec22082b26365e37
      https://github.com/llvm/llvm-project/commit/0cb66a7bd52ee51a6b43c42fec22082b26365e37
  Author: Miguel A. Arroyo <mayanez at users.noreply.github.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M lld/test/COFF/rsds.test
    M llvm/test/tools/llvm-readobj/COFF/debug-directory.test
    M llvm/tools/llvm-readobj/COFFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj][COFF] Consistent PDBGUID Formatting (#94256)

## Consistent PDB GUID in `llvm-readobj`

Currently, the PDB GUID is shown as a byte array:
`PDBGUID: (D8 4C 88 D9 26 15 1F 11 4C 4C 44 20 50 44 42 2E)`

This is inconsistent with `llvm-pdbutil` (e.g. `llvm-pdbutil dump
--summary`) which shows it as a hexadecimal string.
Additionally, `yaml2obj` uses the same hexadecimal string format.

In general, the hexadecimal string is the common representation for PDB
GUIDs on Windows.

This PR changes it to be consistent as shown below:
`PDBGUID: {D9884CD8-1526-111F-4C4C-44205044422E}`


  Commit: dfd1a2f081bdc9566cdcd03937534ec4897c9056
      https://github.com/llvm/llvm-project/commit/dfd1a2f081bdc9566cdcd03937534ec4897c9056
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    M llvm/test/MC/WebAssembly/simd-encodings.s

  Log Message:
  -----------
  [WebAssembly] Implement all f16x8 unary instructions. (#94063)

All of these instructions can be generated using regular LL intrinsics.

Specified at:

https://github.com/WebAssembly/half-precision/blob/29a9b9462c9285d4ccc1a5dc39214ddfd1892658/proposals/half-precision/Overview.md


  Commit: 7dc84e225e11e37925db6f4f08269f447d2f2347
      https://github.com/llvm/llvm-project/commit/7dc84e225e11e37925db6f4f08269f447d2f2347
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M lldb/include/lldb/Target/Target.h
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/unittests/Expression/DWARFExpressionTest.cpp

  Log Message:
  -----------
  [lldb] Support reading DW_OP_piece from file address (#94026)

We received a bug report where someone was trying to print a global
variable without a process. This would succeed in a debug build but fail
in a on optimized build. We traced the issue back to the location being
described by a DW_OP_addr + DW_OP_piece.

The issue is that the DWARF expression evaluator only support reading
pieces from a load address. There's no reason it cannot do the same for
a file address, and indeed, that solves the problem.

I unsuccessfully tried to craft a test case to illustrate the original
example, using a global struct and trying to trick the compiler into
breaking it apart with SROA. Instead I wrote a unit test that uses a
mock target to read memory from.

rdar://127435923


  Commit: e5f7123dfef3a80937d088d846ddb3b2bb1869b9
      https://github.com/llvm/llvm-project/commit/e5f7123dfef3a80937d088d846ddb3b2bb1869b9
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    A clang/test/SemaCXX/constexpr-never-constant.cpp

  Log Message:
  -----------
  Disable constexpr function body checking in more situations (#94347)

Before C++23, we would check a constexpr function body to diagnose if
the function can never be evaluated in a constant expression context.
This was previously required standards behavior, but C++23 relaxed the
restrictions with P2448R2. While this checking is useful, it is also
quite expensive, especially in pathological cases (see #92924 for an
example), because it means the mere presence of a constexpr function
definition will require constant evaluation even if the function is not
used within the TU.

Clang suppresses diagnostics in system headers by default and system
headers (like STL implementations) can be full of constexpr function
bodies. Now we suppress the check for a diagnostic if the function
definition is in a system header or if the `-Winvalid-constexpr`
diagnostic is disabled. This should have some mild compile time
performance improvements.

Also, the previous implementation would disable the diagnostic in C++23
mode entirely. Due to the benefit of the check, this patch now makes it
possible to enable the diagnostic explicitly in C++23 mode.


  Commit: 7103e60f65cb920c2b8dc43aaa9f9402dca4b7a5
      https://github.com/llvm/llvm-project/commit/7103e60f65cb920c2b8dc43aaa9f9402dca4b7a5
  Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    A bolt/test/X86/Inputs/dwarf5-df-input-lowpc-ranges-other.s
    A bolt/test/X86/dwarf5-df-input-lowpc-ranges-cus.test

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Add split-dwarf5 test with multiple CUs (#93744)

Adds a split-dwarf test for DWARF5 with multiple CUs.


  Commit: c1654c38e8b82a075613fd60f19a179b1c7df2a2
      https://github.com/llvm/llvm-project/commit/c1654c38e8b82a075613fd60f19a179b1c7df2a2
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Lower/OpenMP/declare-target-data.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association.f90
    M flang/test/Lower/common-block-2.f90
    M flang/test/Lower/common-block.f90
    M flang/test/Lower/module_definition.f90
    M flang/test/Lower/module_use.f90
    M flang/test/Lower/pointer-initial-target-2.f90

  Log Message:
  -----------
  [flang] Carry over alignment computed by frontend for COMMON (#94280)

The frontend computes the necessary alignment for COMMON blocks but this
information is never carried over to the code generation and can lead to
segfault for COMMON block that requires a non default alignment.

This patch add an optional attribute on fir.global and carries over the
information.


  Commit: b62b7a42bbee4a3bbf9094808f460fdc9c119bd7
      https://github.com/llvm/llvm-project/commit/b62b7a42bbee4a3bbf9094808f460fdc9c119bd7
  Author: Logikable <seanluchen at google.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M compiler-rt/lib/builtins/atomic.c

  Log Message:
  -----------
  [compiler-rt][builtins] Switch libatomic locks to pthread_mutex_t (#94374)

When an uninstrumented libatomic is used with a TSan instrumented
memcpy, TSan may report a data race in circumstances where writes are
arguably safe.

This occurs because __atomic_compare_exchange won't be instrumented in
an uninstrumented libatomic, so TSan doesn't know that the subsequent
memcpy is race-free.

On the other hand, pthread_mutex_(un)lock will be intercepted by TSan,
meaning an uninstrumented libatomic will not report this false-positive.

pthread_mutexes also may try a number of different strategies to acquire
the lock, which may bound the amount of time a thread has to wait for a
lock during contention.

While pthread_mutex_lock has a larger overhead (due to the function
call and some dispatching), a dispatch to libatomic already predicates
a lack of performance guarantees.


  Commit: b9915ad40c31ee95e6e64c44249c9fd5767f0e34
      https://github.com/llvm/llvm-project/commit/b9915ad40c31ee95e6e64c44249c9fd5767f0e34
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Properly detect whether C++20 modules are supported by the compiler (#94275)

It is possible for a compiler to support the warning without being able
to compile `export module foo;`, so use that in addition to the warning
to check whether C++20 modules are supported.


  Commit: 1d76b94abac033aebd5acaebf644ee173ed6cc71
      https://github.com/llvm/llvm-project/commit/1d76b94abac033aebd5acaebf644ee173ed6cc71
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M libcxx/test/std/language.support/support.start.term/quick_exit.pass.cpp

  Log Message:
  -----------
  [libc++] Adjust XFAIL for quick_exit (#94274)

This avoids making the assumption that quick_exit will never be
implemented on macOS.


  Commit: 9890d72ac41aaf2727a15ea0e35fae88218859ac
      https://github.com/llvm/llvm-project/commit/9890d72ac41aaf2727a15ea0e35fae88218859ac
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2024-06-04 (Tue, 04 Jun 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/MetadataRewriter.h
    M bolt/include/bolt/Rewrite/MetadataRewriters.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    A bolt/lib/Rewrite/BuildIDRewriter.cpp
    M bolt/lib/Rewrite/CMakeLists.txt
    M bolt/lib/Rewrite/MetadataManager.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/Inputs/dwarf5-df-input-lowpc-ranges-other.s
    A bolt/test/X86/dwarf5-df-input-lowpc-ranges-cus.test
    M bolt/test/lsda-section-name.cpp
    M clang/cmake/caches/CrossWinToARMLinux.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/CharInfo.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/AST/ast-dump-APValue-anon-union.cpp
    M clang/test/Analysis/putenv-stack-array.c
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    R clang/test/CXX/drs/cwg2390.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/ClangScanDeps/diagnostics.c
    M clang/test/ClangScanDeps/header-search-pruning-transitive.c
    M clang/test/ClangScanDeps/header-search-pruning.cpp
    A clang/test/ClangScanDeps/link-libraries.c
    M clang/test/ClangScanDeps/modules-canononical-module-map-case.c
    M clang/test/ClangScanDeps/modules-context-hash.c
    M clang/test/ClangScanDeps/modules-dep-args.c
    M clang/test/ClangScanDeps/modules-excluded-header.m
    M clang/test/ClangScanDeps/modules-extern-submodule.c
    M clang/test/ClangScanDeps/modules-extern-unrelated.m
    M clang/test/ClangScanDeps/modules-file-path-isolation.c
    M clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m
    M clang/test/ClangScanDeps/modules-full-by-mod-name.c
    M clang/test/ClangScanDeps/modules-full.cpp
    M clang/test/ClangScanDeps/modules-implementation-private.m
    M clang/test/ClangScanDeps/modules-implicit-dot-private.m
    M clang/test/ClangScanDeps/modules-incomplete-umbrella.c
    M clang/test/ClangScanDeps/modules-inferred.m
    M clang/test/ClangScanDeps/modules-no-undeclared-includes.c
    M clang/test/ClangScanDeps/modules-pch-common-submodule.c
    M clang/test/ClangScanDeps/modules-pch-common-via-submodule.c
    M clang/test/ClangScanDeps/modules-pch.c
    M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
    M clang/test/ClangScanDeps/modules-redefinition.m
    M clang/test/ClangScanDeps/modules-symlink-dir-vfs.c
    M clang/test/ClangScanDeps/modules-transitive.c
    M clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    M clang/test/ClangScanDeps/optimize-fmodulemap.m
    M clang/test/ClangScanDeps/optimize-system-warnings.m
    M clang/test/ClangScanDeps/optimize-vfs-leak.m
    M clang/test/ClangScanDeps/optimize-vfs.m
    M clang/test/ClangScanDeps/removed-args.c
    M clang/test/ClangScanDeps/working-dir.m
    A clang/test/CodeGen/amdgpu-variadic-call.c
    M clang/test/Driver/mips-mti-linux.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/openmp-offload.c
    M clang/test/Driver/ve-toolchain.c
    A clang/test/Interpreter/execute.c
    M clang/test/Lexer/cxx2c-raw-strings.cpp
    A clang/test/SemaCXX/constexpr-never-constant.cpp
    M clang/test/SemaCXX/cxx1y-initializer-aggregates.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/www/cxx_dr_status.html
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/include/CMakeLists.txt
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/atomic.c
    M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
    M compiler-rt/lib/gwp_asan/tests/CMakeLists.txt
    M compiler-rt/lib/interception/tests/CMakeLists.txt
    M compiler-rt/lib/memprof/tests/CMakeLists.txt
    M compiler-rt/lib/orc/tests/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
    M compiler-rt/lib/stats/CMakeLists.txt
    M compiler-rt/lib/tsan/CMakeLists.txt
    M compiler-rt/lib/tsan/dd/CMakeLists.txt
    M compiler-rt/lib/tsan/rtl/CMakeLists.txt
    M compiler-rt/lib/xray/tests/CMakeLists.txt
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/asan/CMakeLists.txt
    M compiler-rt/test/asan_abi/CMakeLists.txt
    M compiler-rt/test/builtins/CMakeLists.txt
    M compiler-rt/test/cfi/CMakeLists.txt
    M compiler-rt/test/dfsan/CMakeLists.txt
    M compiler-rt/test/fuzzer/CMakeLists.txt
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M compiler-rt/test/hwasan/CMakeLists.txt
    M compiler-rt/test/interception/CMakeLists.txt
    M compiler-rt/test/lsan/CMakeLists.txt
    M compiler-rt/test/memprof/CMakeLists.txt
    M compiler-rt/test/metadata/CMakeLists.txt
    M compiler-rt/test/msan/CMakeLists.txt
    M compiler-rt/test/orc/CMakeLists.txt
    M compiler-rt/test/profile/CMakeLists.txt
    M compiler-rt/test/safestack/CMakeLists.txt
    M compiler-rt/test/sanitizer_common/CMakeLists.txt
    M compiler-rt/test/shadowcallstack/CMakeLists.txt
    M compiler-rt/test/tsan/CMakeLists.txt
    M compiler-rt/test/ubsan/CMakeLists.txt
    M compiler-rt/test/ubsan_minimal/CMakeLists.txt
    M compiler-rt/test/xray/CMakeLists.txt
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Lower/OpenMP/declare-target-data.f90
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association.f90
    M flang/test/Lower/common-block-2.f90
    M flang/test/Lower/common-block.f90
    M flang/test/Lower/module_definition.f90
    M flang/test/Lower/module_use.f90
    M flang/test/Lower/pointer-initial-target-2.f90
    M flang/test/Semantics/associated.f90
    A flang/test/Transforms/tbaa-with-dummy-scope.fir
    M flang/test/Transforms/tbaa.fir
    M flang/test/Transforms/tbaa2.fir
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/__support/CPP/expected.h
    M libc/src/__support/time/linux/abs_timeout.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/llrintf16.cpp
    A libc/src/math/generic/llroundf16.cpp
    A libc/src/math/generic/lrintf16.cpp
    A libc/src/math/generic/lroundf16.cpp
    A libc/src/math/generic/nearbyintf16.cpp
    A libc/src/math/generic/rintf16.cpp
    A libc/src/math/llrintf16.h
    A libc/src/math/llroundf16.h
    A libc/src/math/lrintf16.h
    A libc/src/math/lroundf16.h
    A libc/src/math/nearbyintf16.h
    A libc/src/math/rintf16.h
    M libc/test/src/fenv/getenv_and_setenv_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    A libc/test/src/math/smoke/llrintf16_test.cpp
    A libc/test/src/math/smoke/llroundf16_test.cpp
    A libc/test/src/math/smoke/lrintf16_test.cpp
    A libc/test/src/math/smoke/lroundf16_test.cpp
    A libc/test/src/math/smoke/nearbyintf16_test.cpp
    A libc/test/src/math/smoke/rintf16_test.cpp
    M libcxx/test/std/language.support/support.start.term/quick_exit.pass.cpp
    M libcxx/utils/libcxx/test/features.py
    M lld/ELF/Writer.cpp
    M lld/test/COFF/lto-weak-undefined.ll
    M lld/test/COFF/rsds.test
    M lld/test/ELF/linkerscript/orphan.s
    M lld/test/ELF/linkerscript/sections-nonalloc.s
    M lld/test/ELF/linkerscript/sections.s
    M lld/test/ELF/loongarch-relax-emit-relocs.s
    M lldb/docs/use/variable.rst
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Target/Target.h
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
    M lldb/unittests/Expression/DWARFExpressionTest.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    A llvm/include/llvm/CodeGen/FinalizeISel.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/Local.cpp
    M llvm/lib/Analysis/PHITransAddr.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/BasicBlockPathCloning.cpp
    M llvm/lib/CodeGen/FinalizeISel.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/Core.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
    M llvm/lib/Target/Xtensa/XtensaSubtarget.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/NewGVN.cpp
    M llvm/lib/Transforms/Utils/FunctionComparator.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    A llvm/test/Analysis/BasicAA/zext-nneg.ll
    M llvm/test/Analysis/Lint/noop-cast-expr-no-pointer.ll
    M llvm/test/Assembler/2007-01-05-Cmp-ConstExpr.ll
    M llvm/test/Assembler/ConstantExprFold.ll
    R llvm/test/Assembler/vector-cmp.ll
    M llvm/test/Bindings/OCaml/core.ml
    M llvm/test/Bitcode/vscale-round-trip.ll
    M llvm/test/CodeGen/AArch64/addsub.ll
    M llvm/test/CodeGen/AArch64/arm64-codegen-prepare-extload.ll
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    A llvm/test/CodeGen/AArch64/misched-fusion-cmp-bcc.ll
    M llvm/test/CodeGen/AArch64/sve2-vscale-sinking.ll
    M llvm/test/CodeGen/AArch64/windows-extern-weak.ll
    M llvm/test/CodeGen/AMDGPU/add_sub_u64_pseudos.mir
    M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.reduce.umax.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.reduce.umin.mir
    M llvm/test/CodeGen/AMDGPU/loop_break.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-local.ll
    M llvm/test/CodeGen/ARM/Windows/mov32t-bundling.ll
    M llvm/test/CodeGen/Generic/pr33094.ll
    M llvm/test/CodeGen/Hexagon/stack-align-reset.ll
    M llvm/test/CodeGen/Mips/call-site-info-output.ll
    M llvm/test/CodeGen/Mips/mirparser/target-flags-pic-mxgot-tls.mir
    M llvm/test/CodeGen/Mips/mirparser/target-flags-static-tls.mir
    M llvm/test/CodeGen/PowerPC/2008-05-01-ppc_fp128.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large32.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc-large.ll
    M llvm/test/CodeGen/PowerPC/ifcvt-forked-bug-2016-08-08.ll
    A llvm/test/CodeGen/PowerPC/peephole-mma-phi-liveness.ll
    M llvm/test/CodeGen/PowerPC/pr24636.ll
    M llvm/test/CodeGen/PowerPC/pr3711_widen_bit.ll
    M llvm/test/CodeGen/PowerPC/pr46923.ll
    M llvm/test/CodeGen/PowerPC/toc-load-sched-bug.ll
    M llvm/test/CodeGen/RISCV/rvv/tail-agnostic-impdef-copy.mir
    M llvm/test/CodeGen/RISCV/select-optimize-multiple.mir
    M llvm/test/CodeGen/SystemZ/debuginstr-02.mir
    M llvm/test/CodeGen/SystemZ/multiselect-02.mir
    M llvm/test/CodeGen/Thumb2/mve-tp-loop.mir
    M llvm/test/CodeGen/WebAssembly/add-prototypes.ll
    M llvm/test/CodeGen/WebAssembly/fast-isel-noreg.ll
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    M llvm/test/CodeGen/X86/2008-09-19-RegAllocBug.ll
    M llvm/test/CodeGen/X86/address-type-promotion-constantexpr.ll
    M llvm/test/CodeGen/X86/basic-block-sections-cloning-invalid.ll
    M llvm/test/CodeGen/X86/call-site-info-output.ll
    M llvm/test/CodeGen/X86/codegen-prepare-extload.ll
    M llvm/test/CodeGen/X86/codegen-prepare-replacephi2.mir
    M llvm/test/CodeGen/X86/extern_weak.ll
    M llvm/test/CodeGen/X86/fast-isel-expect.ll
    M llvm/test/CodeGen/X86/no-plt.ll
    M llvm/test/CodeGen/X86/pr44749.ll
    M llvm/test/CodeGen/X86/sjlj-shadow-stack-liveness.mir
    M llvm/test/CodeGen/X86/undef-label.ll
    M llvm/test/CodeGen/Xtensa/call.ll
    A llvm/test/CodeGen/Xtensa/dynamic-alloc.ll
    A llvm/test/CodeGen/Xtensa/saverestore.ll
    M llvm/test/ExecutionEngine/MCJIT/test-constantexpr.ll
    M llvm/test/Feature/const_pv.ll
    A llvm/test/Instrumentation/AddressSanitizer/asan-struct-scalable.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/extern_weak.ll
    M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
    M llvm/test/MC/LoongArch/Relocations/relax-align.s
    M llvm/test/MC/WebAssembly/simd-encodings.s
    M llvm/test/Other/constant-fold-gep.ll
    M llvm/test/Transforms/Attributor/nofpclass-arithmetic-fence.ll
    M llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
    M llvm/test/Transforms/Attributor/nofpclass-ceil.ll
    M llvm/test/Transforms/Attributor/nofpclass-copysign.ll
    M llvm/test/Transforms/Attributor/nofpclass-exp.ll
    M llvm/test/Transforms/Attributor/nofpclass-fdiv.ll
    M llvm/test/Transforms/Attributor/nofpclass-floor.ll
    M llvm/test/Transforms/Attributor/nofpclass-fma.ll
    M llvm/test/Transforms/Attributor/nofpclass-fpext.ll
    M llvm/test/Transforms/Attributor/nofpclass-fptrunc.ll
    M llvm/test/Transforms/Attributor/nofpclass-frem.ll
    M llvm/test/Transforms/Attributor/nofpclass-frexp.ll
    M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
    M llvm/test/Transforms/Attributor/nofpclass-ldexp.ll
    M llvm/test/Transforms/Attributor/nofpclass-log.ll
    M llvm/test/Transforms/Attributor/nofpclass-minimum-maximum.ll
    M llvm/test/Transforms/Attributor/nofpclass-minnum-maxnum.ll
    M llvm/test/Transforms/Attributor/nofpclass-nan-fmul.ll
    M llvm/test/Transforms/Attributor/nofpclass-nearbyint.ll
    M llvm/test/Transforms/Attributor/nofpclass-powi.ll
    M llvm/test/Transforms/Attributor/nofpclass-rint.ll
    M llvm/test/Transforms/Attributor/nofpclass-round.ll
    M llvm/test/Transforms/Attributor/nofpclass-roundeven.ll
    M llvm/test/Transforms/Attributor/nofpclass-select.ll
    M llvm/test/Transforms/Attributor/nofpclass-sin-cos.ll
    M llvm/test/Transforms/Attributor/nofpclass-sqrt.ll
    M llvm/test/Transforms/Attributor/nofpclass-trunc.ll
    M llvm/test/Transforms/Attributor/nofpclass-uses-to-defs.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/Attributor/nofree.ll
    M llvm/test/Transforms/Attributor/nosync.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll
    M llvm/test/Transforms/Attributor/willreturn.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/2010-09-26-MergeConstantRange.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/select.ll
    M llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll
    M llvm/test/Transforms/GVN/PRE/pre-load.ll
    M llvm/test/Transforms/GlobalDCE/complex-constantexpr.ll
    M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-other-constexpr.ll
    M llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
    M llvm/test/Transforms/GlobalOpt/dead-constant-user.ll
    M llvm/test/Transforms/GlobalOpt/pr61674.ll
    M llvm/test/Transforms/IndVarSimplify/pr45835.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/infer-address-space.ll
    M llvm/test/Transforms/Inline/always-inline.ll
    M llvm/test/Transforms/Inline/last-callsite.ll
    M llvm/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
    M llvm/test/Transforms/InstCombine/2008-05-18-FoldIntToPtr.ll
    M llvm/test/Transforms/InstCombine/2010-03-03-ExtElim.ll
    M llvm/test/Transforms/InstCombine/2012-3-15-or-xor-constant.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/constant-fold-compare.ll
    M llvm/test/Transforms/InstCombine/constant-fold-iteration.ll
    M llvm/test/Transforms/InstCombine/fold-bin-operand.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/icmp-bitcast-glob.ll
    M llvm/test/Transforms/InstCombine/icmp-gep.ll
    M llvm/test/Transforms/InstCombine/icmp-mul.ll
    M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll
    M llvm/test/Transforms/InstCombine/mul-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/not-add.ll
    M llvm/test/Transforms/InstCombine/phi-select-constant.ll
    M llvm/test/Transforms/InstCombine/pr20678.ll
    M llvm/test/Transforms/InstCombine/pr28725.ll
    M llvm/test/Transforms/InstCombine/pr32686.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr35515.ll
    M llvm/test/Transforms/InstCombine/pr38677.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
    M llvm/test/Transforms/InstCombine/select-cmp.ll
    M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/constant-expr.ll
    M llvm/test/Transforms/InstSimplify/gep.ll
    M llvm/test/Transforms/InstSimplify/pr28725.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    A llvm/test/Transforms/LoopVectorize/vplan-incomplete-cases.ll
    R llvm/test/Transforms/LoopVectorize/vplan-infer-not-or-type.ll
    M llvm/test/Transforms/LowerTypeTests/function-weak.ll
    M llvm/test/Transforms/MergeFunc/constexpr.ll
    M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll
    M llvm/test/Transforms/SCCP/ip-ranges-select.ll
    M llvm/test/Transforms/SCCP/undef-resolve.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi3.ll
    M llvm/test/Transforms/SimplifyCFG/2009-05-12-externweak.ll
    R llvm/test/Transforms/SimplifyCFG/phi-to-select-constexpr-icmp.ll
    M llvm/test/Transforms/StructurizeCFG/invert-constantexpr.ll
    M llvm/test/tools/llvm-readobj/COFF/debug-directory.test
    M llvm/tools/llvm-diff/lib/DifferenceEngine.cpp
    M llvm/tools/llvm-readobj/COFFDumper.cpp
    M llvm/unittests/IR/ConstantsTest.cpp
    M llvm/utils/UpdateTestChecks/asm.py
    M llvm/utils/gn/build/BUILD.gn
    M llvm/utils/gn/build/toolchain/BUILD.gn
    M llvm/utils/gn/build/toolchain/compiler.gni
    M llvm/utils/gn/secondary/bolt/lib/Rewrite/BUILD.gn
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    R mlir/include/mlir/Dialect/OpenACC/OpenACCInterfaces.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    R mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
    M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.h
    A mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/OpenACC/IR/CMakeLists.txt
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Dialect/Arith/invalid.mlir
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
    M mlir/test/IR/invalid-ops.mlir
    M mlir/test/Target/Cpp/expressions.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_runtime.cpp
    M openmp/runtime/src/kmp_taskdeps.cpp
    M openmp/runtime/src/kmp_tasking.cpp
    M openmp/runtime/src/ompt-internal.h
    M openmp/runtime/src/ompt-specific.cpp
    M polly/test/CodeGen/alias_metadata_too_many_arrays.ll
    M polly/test/ScopInfo/constant-non-integer-branch-condition.ll
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Rebase

Created using spr 1.3.6-beta.1


Compare: https://github.com/llvm/llvm-project/compare/6fe335de44eb...9890d72ac41a

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