[all-commits] [llvm/llvm-project] 1a1fca: [MC/DC] Refactor: Introduce `ConditionIDs` as `std...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Feb 15 13:33:06 PST 2024


  Branch: refs/heads/users/fhahn/sroa-use-tbaa-for-matching-field-access
  Home:   https://github.com/llvm/llvm-project
  Commit: 1a1fcacbce805e3c409d9d41de61413e3fd8aa36
      https://github.com/llvm/llvm-project/commit/1a1fcacbce805e3c409d9d41de61413e3fd8aa36
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  [MC/DC] Refactor: Introduce `ConditionIDs` as `std::array<2>` (#81221)

Its 0th element corresponds to `FalseID` and 1st to `TrueID`.

CoverageMappingGen.cpp: `DecisionIDPair` is replaced with `ConditionIDs`


  Commit: 43c7eb5d7b237bc18385f0a5529f1e4b8bf4d6a3
      https://github.com/llvm/llvm-project/commit/43c7eb5d7b237bc18385f0a5529f1e4b8bf4d6a3
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/CodeGen/AMDGPU/generic-targets-require-v6.ll
    M llvm/test/CodeGen/AMDGPU/hsa-generic-target-features.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.d16.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [AMDGPU] Replace '.' with '-' in generic target names (#81718)

The dot is too confusing for tools. Output temporaries would have
'10.3-generic' so tools could parse it as an extension, device libs &
the associated clang driver logic are also confused by the dot.

After discussions, we decided it's better to just remove the '.' from
the target name than fix each issue one by one.


  Commit: dd1897c6cb028bda7d4d541d1bb33965eccf0a68
      https://github.com/llvm/llvm-project/commit/dd1897c6cb028bda7d4d541d1bb33965eccf0a68
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64SchedA53.td
    M llvm/lib/Target/AArch64/AArch64SchedA57.td
    M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
    A llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
    M llvm/lib/Target/AArch64/AArch64SchedCyclone.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM3.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM4.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM5.td
    M llvm/lib/Target/AArch64/AArch64SchedFalkor.td
    M llvm/lib/Target/AArch64/AArch64SchedKryo.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AArch64SchedTSV110.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX3T110.td
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/basic-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/cssc-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/mte-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/shifted-register.s

  Log Message:
  -----------
  [AArch64] Initial Ampere1B scheduling model (#81341)

The Ampere1B core is enabled with a new scheduling/pipeline model, as it
provides significant updates over the Ampere1 core; it reduces latencies
on many instructions, has some micro-ops reassigned between the XY and X
units, and provides modelling for the instructions added since Ampere1
and Ampere1A.

As this is the first model implementing the CSSC instructions, we update
the UnsupportedFeatures on all other models (that have CompleteModel
set).
    
Testcases are added under llvm-mca: these showed the FullFP16 feature
missing, so we are adding it in as part of this commit.

This *adds tests and additional fixes* compared to the reverted #81338.


  Commit: 2d7fdfa61f8b037ce65e9c5482f422b37d6c0b99
      https://github.com/llvm/llvm-project/commit/2d7fdfa61f8b037ce65e9c5482f422b37d6c0b99
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn

  Log Message:
  -----------
  [gn] port 09e98950bfcf (InstallAPI)


  Commit: a50bd0d799e3f3fbb759ab842691a0bb570f8614
      https://github.com/llvm/llvm-project/commit/a50bd0d799e3f3fbb759ab842691a0bb570f8614
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    A llvm/test/DebugInfo/AArch64/select-optimize-trailing-dbg-records.ll

  Log Message:
  -----------
  [RemoveDIs] Replicate dbg intrinsic movement pattern in SelectOptimize (#81737)

Fix crash mentioned in comments on
d759618df76361a8e490eeae5c5399e0738cbfd0.

The assertion being hit was complaining that we had dangling DPValues;
the DPValues attached to the terminator of StartBlock become dangling
after the terminator is erased, and they're never "flushed" back onto
the new terminator once it's added. Doing that makes the crash go away,
but doesn't replicate existing dbg.* behaviour. See the comment in the
patch.

This change both fixes the crash (because there are now no DPValues left
on the terminator to dangle) and replicates existing behaviour (moves
those DPValues down to the new block).


  Commit: b37bd78e411ce642a4ca9e0c2394cef8c2f389c1
      https://github.com/llvm/llvm-project/commit/b37bd78e411ce642a4ca9e0c2394cef8c2f389c1
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Add missing special cases for implicit functions

We have this special case in getSource() and getRange(), but we
were missing it in getExpr() and getLocation().


  Commit: 232cf9498f15626029bad1c2a7cdaebc4bb11d95
      https://github.com/llvm/llvm-project/commit/232cf9498f15626029bad1c2a7cdaebc4bb11d95
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [mlir] update bazel for bd8fcf75df11406527de423daa63e21c3ec8609b


  Commit: 9c06b079cb09639f1dc5ecd1a7a193c4267b0b63
      https://github.com/llvm/llvm-project/commit/9c06b079cb09639f1dc5ecd1a7a193c4267b0b63
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU] Refactor export instruction definitions. NFC. (#81738)

Using multiclasses for the Real instruction definitions has a couple of
benefits:
- It avoids repeating information that was already specified when
  defining the corresponding pseudo, like the row and done bits.
- It allows commoning up the Real definitions for architectures which
  are mostly the same, like GFX11 and GFX12.


  Commit: 457c17944c6eb3d89ae6a765e4795c1cc3148506
      https://github.com/llvm/llvm-project/commit/457c17944c6eb3d89ae6a765e4795c1cc3148506
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h

  Log Message:
  -----------
  [NFC] Add API documentation and annotations (#78635)

This change adds SM 6.2 availability annotation to 16-bit APIs (16-bit
types require SM 6.2), and adds Doxygen API documentation.


  Commit: 995c9061ed13c5e494ef5883cfd8c813eb5c32c3
      https://github.com/llvm/llvm-project/commit/995c9061ed13c5e494ef5883cfd8c813eb5c32c3
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [bazel][mlir] Fix after 232cf9498f15626029bad1c2a7cdaebc4bb11d95


  Commit: ea2d9383a23ca17b9240ad64c2adc5f2b5a73dc0
      https://github.com/llvm/llvm-project/commit/ea2d9383a23ca17b9240ad64c2adc5f2b5a73dc0
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Improve listener layering in dialect conversion (#81236)

Context: Conversion patterns provide a `ConversionPatternRewriter` to
modify the IR. `ConversionPatternRewriter` provides the public API. Most
function calls are forwarded/handled by `ConversionPatternRewriterImpl`.
The dialect conversion uses the listener infrastructure to get notified
about op/block insertions.

In the current design, `ConversionPatternRewriter` inherits from both
`PatternRewriter` and `Listener`. The conversion rewriter registers
itself as a listener. This is problematic because listener functions
such as `notifyOperationInserted` are now part of the public API and can
be called from conversion patterns; that would bring the dialect
conversion into an inconsistent state.

With this commit, `ConversionPatternRewriter` no longer inherits from
`Listener`. Instead `ConversionPatternRewriterImpl` inherits from
`Listener`. This removes the problematic public API and also simplifies
the code a bit: block/op insertion notifications were previously
forwarded to the `ConversionPatternRewriterImpl`. This is no longer
needed.


  Commit: 1c10821022f1799452065fb57474e894e2562b7f
      https://github.com/llvm/llvm-project/commit/1c10821022f1799452065fb57474e894e2562b7f
  Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_memcheck_cost.ll

  Log Message:
  -----------
  [LoopVectorize] Fix divide-by-zero bug (#80836) (#81721)

When attempting to use the estimated trip count to refine the costs of
the runtime memory checks we should also check for sane trip counts to
prevent divide-by-zero faults on some platforms.

Fixes #80836


  Commit: 8faefe36ed57c2dab2b50e76fd27045b908f8c1d
      https://github.com/llvm/llvm-project/commit/8faefe36ed57c2dab2b50e76fd27045b908f8c1d
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Modularize block actions (#81237)

Throughout the rewrite process, the dialect conversion maintains a list
of "block actions" that can be rolled back upon failure. This commit
encapsulates the existing block actions into separate classes, making it
easier to add additional actions in the future.

This commit also renames "block actions" to "IR rewrites". In a
subsequent commit, an "operation rewrite" class that allows rolling back
movements of single operations is added. This is to support
`moveOpBefore` in the dialect conversion.

Rewrites have two methods: `commit()` commits an action. It can no
longer be rolled back afterwards. `rollback()` undoes a rewrite. It can
no longer be committed afterwards.


  Commit: a93a4ec7dd205b965ee5597314bb376520cd736c
      https://github.com/llvm/llvm-project/commit/a93a4ec7dd205b965ee5597314bb376520cd736c
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/IR/BasicBlock.cpp

  Log Message:
  -----------
  Reapply "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default"

This reapplies commit bdde5f9 by undoing the revert fd3a0c185f17.

The previous reapplication d759618df763 was reverted due to a crash
(reproducer in comments for d759618df763) which was fixed in #81737.

As noted in the original commit, this commit may break downstream tests.
If this commit is breaking your downstream tests, please see comment 12 in
[0], which documents the kind of variation in tests we'd expect to see from
this change and what to do about it.

[0] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939


  Commit: 2347a47622718259c95993c1cab604ad82854b6c
      https://github.com/llvm/llvm-project/commit/2347a47622718259c95993c1cab604ad82854b6c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Make a local variable const


  Commit: 8f4cd2c7e3c35f23004c1448705be8f673c2d271
      https://github.com/llvm/llvm-project/commit/8f4cd2c7e3c35f23004c1448705be8f673c2d271
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Support `moveOpBefore`/`After` in dialect conversion (#81240)

Add a new rewrite class for "operation movements". This rewrite class
can roll back `moveOpBefore` and `moveOpAfter`.

`RewriterBase::moveOpBefore` and `RewriterBase::moveOpAfter` is no
longer virtual. (The dialect conversion can gather all required
information for rollbacks from listener notifications.)


  Commit: 4efbf524ad2726f6ff4cb095bebef3e871d4984e
      https://github.com/llvm/llvm-project/commit/4efbf524ad2726f6ff4cb095bebef3e871d4984e
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/src/__support/CPP/bit.h

  Log Message:
  -----------
  [libc][__support][bit] remove compiler has builtin checks (#81679)

We only support building llvmlibc with modern compilers.
https://libc.llvm.org/compiler_support.html#minimum-supported-versions

All versions of the these compilers support these builtins; GCC does not
support the short variants.


  Commit: 0f6f5bfe5322f08a96fda149ff70888dc45a2e35
      https://github.com/llvm/llvm-project/commit/0f6f5bfe5322f08a96fda149ff70888dc45a2e35
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/src/__support/CPP/bit.h

  Log Message:
  -----------
  [libc][__support][bit] simplify FLZ (#81678)

`countl_zero(~x)` *is* `countl_one(x)`


  Commit: 7c4c274643cedcf9671e1db65361231a7d9bee70
      https://github.com/llvm/llvm-project/commit/7c4c274643cedcf9671e1db65361231a7d9bee70
  Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp

  Log Message:
  -----------
  [MLIR][NFC] Fix some comments in padding transform. (#81741)


  Commit: 60596716c2327575fc8ea16eab3321dabc4a706f
      https://github.com/llvm/llvm-project/commit/60596716c2327575fc8ea16eab3321dabc4a706f
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CPP/bit.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_first_leading_one_uc.cpp
    A libc/src/stdbit/stdc_first_leading_one_uc.h
    A libc/src/stdbit/stdc_first_leading_one_ui.cpp
    A libc/src/stdbit/stdc_first_leading_one_ui.h
    A libc/src/stdbit/stdc_first_leading_one_ul.cpp
    A libc/src/stdbit/stdc_first_leading_one_ul.h
    A libc/src/stdbit/stdc_first_leading_one_ull.cpp
    A libc/src/stdbit/stdc_first_leading_one_ull.h
    A libc/src/stdbit/stdc_first_leading_one_us.cpp
    A libc/src/stdbit/stdc_first_leading_one_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_first_leading_one (C23) (#81502)


  Commit: 6f907733e65d24edad65f763fb14402464bd578b
      https://github.com/llvm/llvm-project/commit/6f907733e65d24edad65f763fb14402464bd578b
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/systemz-tls-ie.s

  Log Message:
  -----------
  [lld/ELF] Avoid unnecessary TPOFF relocations in GOT for -pie (#81739)

With the new SystemZ port we noticed that -pie executables generated
from files containing R_390_TLS_IEENT relocations will have unnecessary
relocations in their GOT:

                        9e8d8: R_390_TLS_TPOFF  *ABS*+0x18

This is caused by the config->isPic conditon in addTpOffsetGotEntry:

 static void addTpOffsetGotEntry(Symbol &sym) {
   in.got->addEntry(sym);
   uint64_t off = sym.getGotOffset();
   if (!sym.isPreemptible && !config->isPic) {
     in.got->addConstant({R_TPREL, target->symbolicRel, off, 0, &sym});
     return;
   }

It is correct that we need to retain a TPOFF relocation if the target
symbol is preemptible or if we're building a shared library. But when
building a -pie executable, those values are fixed at link time and
there's no need for any remaining dynamic relocation.

Note that the equivalent MIPS-specific code in MipsGotSection::build
checks for config->shared instead of config->isPic; we should use the
same check here. (Note also that on many other platforms we're not even
using addTpOffsetGotEntry in this case as an IE->LE relaxation is
applied before; we don't have this type of relaxation on SystemZ.)


  Commit: 411554a3535e55a1436ccda80064d7a91814dc27
      https://github.com/llvm/llvm-project/commit/411554a3535e55a1436ccda80064d7a91814dc27
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/src/__support/integer_literals.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log2.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Use user defined literals to build 128 and 256 bit constants. (#81746)


  Commit: 0f33c54854c4c7ef73ec56a881f63089c504a7bf
      https://github.com/llvm/llvm-project/commit/0f33c54854c4c7ef73ec56a881f63089c504a7bf
  Author: Karthika Devi C <quic_kartc at quicinc.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M polly/lib/Transform/ScheduleOptimizer.cpp
    M polly/test/ScheduleOptimizer/schedule_computeout.ll

  Log Message:
  -----------
  [polly][ScheduleOptimizer] Use IslMaxOperationsGuard helper instead of explicit restoration (#79303)

To fix long compile time issue of Schedule optimizer, patch #77280 sets
the upper cap on max ISL operations. In case of bailing out when ISL
quota is hit, error handling behavior was restored manually. This commit
replaces the restoration code with IslMaxOperationsGuard helper and also
removes redundant early return.


  Commit: 78d401b02a2dc1ed5446546a149030184f24bee0
      https://github.com/llvm/llvm-project/commit/78d401b02a2dc1ed5446546a149030184f24bee0
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/src/__support/integer_literals.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log2.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  Revert "[libc][NFC] Use user defined literals to build 128 and 256 bit constants." (#81771)

Reverts llvm/llvm-project#81746


  Commit: 630f82ec0c61b772711355fad08ed0d0adce922d
      https://github.com/llvm/llvm-project/commit/630f82ec0c61b772711355fad08ed0d0adce922d
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp

  Log Message:
  -----------
  [Clang][CodeGen] Loose the cast check when emitting builtins (#81669)

This patch looses the cast check (`canLosslesslyBitCastTo`) and leaves
it to the
one inside `CreateBitCast`. It seems too conservative for the use case
here.


  Commit: dbc40b34617b5ee5d2f82272c8863c602265063c
      https://github.com/llvm/llvm-project/commit/dbc40b34617b5ee5d2f82272c8863c602265063c
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [lldb] Fix the flakey Concurrent tests on macOS (#81710)

The concurrent tests all do a pthread_join at the end, and
concurrent_base.py stops after that pthread_join and sanity checks that
only 1 thread is running. On macOS, after pthread_join() has completed,
there can be an extra thread still running which is completing the
details of that task asynchronously; this causes testsuite failures.
When this happens, we see the second thread is in

```
frame #0: 0x0000000180ce7700 libsystem_kernel.dylib`__ulock_wake + 8
frame #1: 0x0000000180d25ad4 libsystem_pthread.dylib`_pthread_joiner_wake + 52
frame #2: 0x0000000180d23c18 libsystem_pthread.dylib`_pthread_terminate + 384
frame #3: 0x0000000180d23a98 libsystem_pthread.dylib`_pthread_terminate_invoke + 92
frame #4: 0x0000000180d26740 libsystem_pthread.dylib`_pthread_exit + 112
frame #5: 0x0000000180d26040 libsystem_pthread.dylib`_pthread_start + 148
```

there are none of the functions from the test file present on this
thread.

In this patch, instead of counting the number of threads, I iterate over
the threads looking for functions from our test file (by name) and only
count threads that have at least one of them.

It's a lower frequency failure than the darwin kernel bug causing an
extra step instruction mach exception when hardware
breakpoint/watchpoints are used, but once I fixed that, this came up as
the next most common failure for these tests.

rdar://110555062


  Commit: 1ddc5413b12c80170477240cd54513358e6f8fe4
      https://github.com/llvm/llvm-project/commit/1ddc5413b12c80170477240cd54513358e6f8fe4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-simplify-boolean-expr in TransformOps.cpp (NFC)


  Commit: 8383bf23074e4a7910441aa7ab54707242eac405
      https://github.com/llvm/llvm-project/commit/8383bf23074e4a7910441aa7ab54707242eac405
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Utils/IndexingUtils.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-else-after-return in IndexingUtils.cpp (NFC)


  Commit: 89dc313af9fbabbf7b064df8ab09d4e49f36c0cd
      https://github.com/llvm/llvm-project/commit/89dc313af9fbabbf7b064df8ab09d4e49f36c0cd
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in VectorUnroll.cpp (NFC)


  Commit: bf4480d923c7ead1193006d20caffdbf8468aac0
      https://github.com/llvm/llvm-project/commit/bf4480d923c7ead1193006d20caffdbf8468aac0
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-identifier-naming in SparseTensorRuntime.cpp (NFC)


  Commit: d99d258e3e41b8afd1d33676bb3d2e7d83ce8ffc
      https://github.com/llvm/llvm-project/commit/d99d258e3e41b8afd1d33676bb3d2e7d83ce8ffc
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Interfaces/InferIntRangeInterface.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-include-order in InferIntRangeInterface.cpp (NFC)


  Commit: 275eeda32f4f32d2385043f8d1d8af3d4f65bb2c
      https://github.com/llvm/llvm-project/commit/275eeda32f4f32d2385043f8d1d8af3d4f65bb2c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll

  Log Message:
  -----------
  [RISCV] Split long build_vector sequences to reduce critical path (#81312)

If we have a long chain of vslide1down instructions to build e.g. a <16
x i8> from scalar, we end up with a critical path going through the
entire chain. We can instead build two halves, and then combine them
with a vselect. This costs one additional temporary register, but
reduces the critical path by roughly half.

To avoid needing to change VL, we fill each half with undefs for the
elements which will come from the other half. The vselect will at worst
become a vmerge, but is often folded back into the final instruction of
the sequence building the lower half.

A couple notes on the heuristic here:
* This is restricted to LMUL1 to avoid quadratic costing reasoning.
* This only splits once. In future work, we can explore recursive
splitting here, but I'm a bit worried about register pressure and thus
decided to be conservative. It also happens to be "enough" at the
default zvl of 128.
* "8" is picked somewhat arbitrarily as being "long". In practice, our
build_vector codegen for 2 defined elements in a VL=4 vector appears to
need some work. 4 defined elements in a VL=8 vector seems to generally
produce reasonable results.
* Halves may not be an optimal split point. I went down the rabit hole
of trying to find the optimal one, and decided it wasn't worth the
effort to start with.

---------

Co-authored-by: Luke Lau <luke_lau at icloud.com>


  Commit: 307cd883546348cd658d74699915fd48ae01e9a0
      https://github.com/llvm/llvm-project/commit/307cd883546348cd658d74699915fd48ae01e9a0
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectProcess.cpp

  Log Message:
  -----------
  [lldb][NFCI] Remove CommandObjectProcessHandle::VerifyCommandOptionValue (#79901)

I was refactoring something else but ran into this function. It was
somewhat confusing to read through and understand, but it boils down to
two steps:
- First we try `OptionArgParser::ToBoolean`. If that works, then we're
good to go.
- Second, we try `llvm::to_integer` to see if it's an integer. If it
parses to 0 or 1, we're good.
- Failing either of the steps above means we cannot parse it into a
bool.

Instead of having an integer out param and a bool return value, the
interface is better served with an optional<bool> -- Either it parses
into true or false, or you get back nothing (nullopt).


  Commit: 16e7d6842ef6a5c904422c6dba034e0888ea8b7b
      https://github.com/llvm/llvm-project/commit/16e7d6842ef6a5c904422c6dba034e0888ea8b7b
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CPP/bit.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_uc.h
    A libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ui.h
    A libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ul.h
    A libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ull.h
    A libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_first_trailing_zero (C23) (#81526)


  Commit: 6d4ffbdfa8ff90e4ee6081ad8dbb8ec24e982a02
      https://github.com/llvm/llvm-project/commit/6d4ffbdfa8ff90e4ee6081ad8dbb8ec24e982a02
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/LinkInModulesPass.cpp

  Log Message:
  -----------
  [clang][CodeGen] Shift relink option implementation away from module cloning (#81693)

We recently implemented a new option allowing relinking of bitcode
modules via the "-mllvm -relink-builtin-bitcode-postop"
option.

This implementation relied on llvm::CloneModule() in order to pass
copies to modules and preserve the original modules for later relinking.
However, cloning modules has been found to be prohibitively expensive,
significantly increasing compilation time for large bitcode libraries.

In this patch, we shift the relink option implementation to instead link
the original modules initially, and reload modules from the file system
if relinking is requested. This approach results in significantly
reduced overhead.

We accomplish this by creating a new ReloadModules() routine that can be
called from a BackendConsumer class, to mimic the behavior of
ASTConsumer's loadLinkModules(), but without access to the
CompilerInstance.

Because loading the bitcodes from the filesystem requires access to the
FileManager class, we also forward a reference to the CompilerInstance
class to the BackendConsumer. This mirrors what is already done for
several CompilerInstance members, such as TargetOptions and
CodeGenOptions.

Finally, we needed to add a const specifier to the
FileManager::getBufferForFile() routine to allow it to be called using
the const reference returned from CompilerInstance::getFileManager()


  Commit: 2d5fb27db71b57f299793160181ef28fea5573e7
      https://github.com/llvm/llvm-project/commit/2d5fb27db71b57f299793160181ef28fea5573e7
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/ubsan_signals_standalone.cpp
    M compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp

  Log Message:
  -----------
  [ubsan] Support static linking with standalone runtime (#80943)

The standalone runtime (not
-fsanitize-minimal-runtime/-fsanitize-trap=undefined) installs some
signal handlers using `real_sigaction`. With static linking
(-static/-static-pie), the called `REAL(sigaction)` is null, leading to
an immediate segfault, which is confusing (#51538).

Fix #51538 by bailing out.

`// REQUIRES: librt_has_multf3` from https://reviews.llvm.org/D109709
actually disabled the test because `librt_has_*` features are only for
`compiler-rt/test/builtins`. The test does not reproduce for me:
libclang_rt.builtins.a or libgcc. Revert the REQUIRES.


  Commit: ea06384bf667c635f78660f0bcfaa01372735b99
      https://github.com/llvm/llvm-project/commit/ea06384bf667c635f78660f0bcfaa01372735b99
  Author: Daniel Hoekwater <hoekwater at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    A llvm/test/CodeGen/AArch64/basic-block-sections-cold.ll
    A llvm/test/CodeGen/AArch64/basic-block-sections-unsafe.ll

  Log Message:
  -----------
  [CodeGen][AArch64] Only split safe blocks in BBSections (#81553)

Some types of machine function and machine basic block are unsafe to
split on AArch64: basic blocks that contain jump table dispatch or
targets (D157124), and blocks that contain inline ASM GOTO blocks
or their targets (D158647) all cause issues and have been excluded
from Machine Function Splitting on AArch64.

These issues are caused by any transformation pass that places
same-function basic blocks in different text sections
(MachineFunctionSplitter and BasicBlockSections) and must be
special-cased in both passes.


  Commit: de16a05af025da99009f314018ac4f361ac6faa4
      https://github.com/llvm/llvm-project/commit/de16a05af025da99009f314018ac4f361ac6faa4
  Author: sgundapa <sgundapa at quicinc.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    A llvm/test/CodeGen/Hexagon/vector-zext-v4i8.ll

  Log Message:
  -----------
  [Hexagon] Fix zero extension of bit predicates with vtrunehb  (#81772)

vector extension from v4i1 to v4i8 generates an incorrect word. This
patch uses a vtrunehb for truncation to fix the bug.


  Commit: 6297479ff0808e7c5335ec9ec837513e1cff610f
      https://github.com/llvm/llvm-project/commit/6297479ff0808e7c5335ec9ec837513e1cff610f
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CPP/bit.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    A libc/src/stdbit/stdc_first_trailing_one_uc.h
    A libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ui.h
    A libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ul.h
    A libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ull.h
    A libc/src/stdbit/stdc_first_trailing_one_us.cpp
    A libc/src/stdbit/stdc_first_trailing_one_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_first_trailing_one (C23) (#81768)


  Commit: c9e8e91acae73c84a30311c6c745361251cf5146
      https://github.com/llvm/llvm-project/commit/c9e8e91acae73c84a30311c6c745361251cf5146
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M bolt/lib/Core/DebugData.cpp
    A bolt/test/X86/dwarf5-loclist-out-of-order.s

  Log Message:
  -----------
  [BOLT][DWARF] Fix out of order rangelists/loclists (#81645)

GCC can generate rangelists/loclists that are out of order. Fixed so
that we don't assert, and instead generate partially optimized list.
Through most code paths we do sort rnglists/loclists, but not for
loclist for a path where BOLT does not modify a function. Although it's
nice to have lists sorted, this implementation shouldn't rely on it.
This also fixes an issue if we partially capture a list we would write
out *end_of_list in helper function. So tools won't see the rest of the
addresses being written out.


  Commit: 7d28f19f68c82b65cf1180b170f33d6f82422d64
      https://github.com/llvm/llvm-project/commit/7d28f19f68c82b65cf1180b170f33d6f82422d64
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenAction.cpp

  Log Message:
  -----------
  [clang][CodeGen] Add missing error check (#81777)

Add missing error check. This resolves "error: variable 'Err' set but
not used" warnings


  Commit: 0eedc85baad495fa916d1da7b20db93a29b443e1
      https://github.com/llvm/llvm-project/commit/0eedc85baad495fa916d1da7b20db93a29b443e1
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    A libc/src/__support/fixed_point/CMakeLists.txt
    A libc/src/__support/fixed_point/fx_rep.h

  Log Message:
  -----------
  [libc][stdfix] Add FXRep helper class for fixed point types. (#81272)


  Commit: 9b80ab4332bbe336ab8b9f2082eadf6b8d223150
      https://github.com/llvm/llvm-project/commit/9b80ab4332bbe336ab8b9f2082eadf6b8d223150
  Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp

  Log Message:
  -----------
  [clang-tidy] Removed redundant-inline-specifier warning on static data members (#81423)

Updated the check to ignore point static data members with in class
initializer since removing the inline specifier would generate a
compilation error

Fixes #80684


  Commit: d592c8ec8f7138dcbde6f0890d048e59cba95041
      https://github.com/llvm/llvm-project/commit/d592c8ec8f7138dcbde6f0890d048e59cba95041
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir

  Log Message:
  -----------
  Reapply "[mlir][vector] Drop inner unit dims for transfer ops on dynamic shapes." (#80712) (#81778)

This reverts commit b4c7152eb4f7971c111e3e2f60b55892def58d5d.

Downstream regression due to another issue that this PR exposes. We have identified the work-items to fix the new issue here: https://github.com/openxla/iree/issues/16406

Co-authored-by: Han-Chung Wang <hanchung at google.com>


  Commit: 1301bc46aea14297478bd13bcacff429e2a18c04
      https://github.com/llvm/llvm-project/commit/1301bc46aea14297478bd13bcacff429e2a18c04
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/stdfix-macros.h
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/type_traits.h
    A libc/src/__support/CPP/type_traits/is_fixed_point.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Add is_fixed_point type trait. (#81263)


  Commit: 5992b3272b29e071f6f5a4807a4e0c23e88c310d
      https://github.com/llvm/llvm-project/commit/5992b3272b29e071f6f5a4807a4e0c23e88c310d
  Author: Kevin Joseph <kevinjoseph1995 at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp

  Log Message:
  -----------
  [clangd] Clean formatting modernize-use-override (#81435)

When applying the recommended fix for the
"modernize-use-override" clang-tidy diagnostic
there was a stray whitespace. This PR fixes that.
Resolves https://github.com/clangd/clangd/issues/1704


  Commit: a78d13d0786bc81058ee9aaa7d1c854ee19cee48
      https://github.com/llvm/llvm-project/commit/a78d13d0786bc81058ee9aaa7d1c854ee19cee48
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/test/DebugInfo/X86/debug-names-dwarf64.ll
    M llvm/test/DebugInfo/X86/debug-names-types.ll
    M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test

  Log Message:
  -----------
  [LLVM][DWARF] Change .debug_names abbrev to be an index (#81200)

Based on the discussion in
https://github.com/llvm/llvm-project/pull/80229
changed implementation to align with how .debug_abbrev is handled. So
that
.debug_names abbrev tag is a monotonically increasing index. This allows
for
tools like LLDB to access it in constant time using array like data
structure.

clang-19 debug build
before change

[41] .debug_names PROGBITS 0000000000000000 8f9e0350 137fdbe0 00 0 0 4
after change
[41] .debug_names PROGBITS 0000000000000000 8f9e0350 125bfdec 00 0 0 4

Reduction ~19.1MB


  Commit: c007fbb19879f9b597b47ae772c53e53cdc65f29
      https://github.com/llvm/llvm-project/commit/c007fbb19879f9b597b47ae772c53e53cdc65f29
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/test/CodeGen/Mips/hf1_body.ll
    M llvm/test/MC/Mips/macro-la-pic.s

  Log Message:
  -----------
  MipsAsmParser/O32: Don't add redundant $ to $-prefixed symbol in the la macro (#80644)

When parsing the `la` macro, we add a duplicate `$` prefix in
`getOrCreateSymbol`,
leading to `error: Undefined temporary symbol $$yy` for code like:

```
xx:
	la	$2,$yy
$yy:
	nop
```

Remove the duplicate prefix.

In addition, recognize `.L`-prefixed symbols as local for O32.

See: #65020.

---------

Co-authored-by: Fangrui Song <i at maskray.me>


  Commit: f3b92fae138f47fb78a55254d73913f1e7935852
      https://github.com/llvm/llvm-project/commit/f3b92fae138f47fb78a55254d73913f1e7935852
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [bazel] Port for 1301bc46aea14297478bd13bcacff429e2a18c04


  Commit: aab48c99c2234e348aa37657accfb6110c84c9b7
      https://github.com/llvm/llvm-project/commit/aab48c99c2234e348aa37657accfb6110c84c9b7
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Target/StopInfo.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
    M lldb/source/Target/Thread.cpp

  Log Message:
  -----------
  [lldb] Detect a Darwin kernel issue and work around it (#81573)

On arm64 machines, when there is a hardware breakpoint or watchpoint
set, and lldb has instruction-stepped a thread, and then done a
Process::Resume, we will sometimes receive an extra "instruction step
completed" mach exception and the pc has not advanced. From a user's
perspective, they hit Continue and lldb stops again at the same spot.
>From the testsuite's perspective, this has been a constant source of
testsuite failures for any test using hardware watchpoints and
breakpoints, the arm64 CI bots seem especially good at hitting this
issue.

Jim and I have been slowly looking at this for a few months now, and
finally I decided to try to detect this situation in lldb and silently
resume the process again when it happens.

We were already detecting this "got an insn-step finished mach exception
but this thread was not instruction stepping" combination in
StopInfoMachException where we take the mach exception and create a
StopInfo object for it. We had a lot of logging we used to understand
the failure as it was hit on the bots in assert builds.

This patch adds a new case to `Thread::GetPrivateStopInfo()` to call the
StopInfo's (new) `IsContinueInterrupted()` method. In
StopInfoMachException, where we previously had logging for assert
builds, I now note it in an ivar, and when
`Thread::GetPrivateStopInfo()` asks if this has happened, we check all
of the combination of events that this comes up: We have a hardware
breakpoint or watchpoint, we were not instruction stepping this thread
but got an insn-step mach exception, the pc is the same as the previous
stop's pc. And in that case, `Thread::GetPrivateStopInfo()` returns no
StopInfo -- indicating that this thread would like to resume execution.

The `Thread` object has two StackFrameLists, `m_curr_frames_sp` and
`m_prev_frames_sp`. When a thread resumes execution, we move
`m_curr_frames_sp` in to `m_prev_frames_sp` and when it stops executing,
w euse `m_prev_frames_sp` to seed the new `m_curr_frames_sp` if most of
the stack is the same as before.

In this same location, I now save the Thread's RegisterContext::GetPC
into an ivar, `m_prev_framezero_pc`. StopInfoMachException needs this
information to check all of the conditions I outlined above for
`IsContinueInterrupted`.

This has passed exhaustive testing and we do not have any testsuite
failures for hardware watchpoints and breakpoints due to this kernel bug
with the patch in place. In focusing on these tests for thousands of
runs, I have found two other uncommon race conditions for the
TestConcurrent* tests on arm64. TestConcurrentManyBreakpoints.py (which
uses no hardware watchpoint/breakpoints) will sometimes only have 99
breakpoints when it expects 100, and any of the concurrent tests using
the shared harness (I've seen it in
TestConcurrentWatchBreakDelay.py,
TestConcurrentTwoBreakpointsOneSignal.py,
TestConcurrentSignalDelayWatch.py) can fail when the test harness checks
that there is only one thread still running at the end, and it finds two
-- one of them under pthread_exit / pthread_terminate. Both of these
failures happen on github main without my changes, and with my changes -
they are unrelated race conditions in these tests, and I'm sure I'll be
looking into them at some point if they hit the CI bots with frequency.
On my computer, these are in the 0.3-0.5% of the time class. But the CI
bots do have different timing.


  Commit: 1da4494184566d68f32206e3ac5a8b90bc05889d
      https://github.com/llvm/llvm-project/commit/1da4494184566d68f32206e3ac5a8b90bc05889d
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/source/Core/ValueObject.cpp

  Log Message:
  -----------
  [lldb] Add comment on cross printing of summary/value (#81681)

Adds a comment to indicate intention of a piece of value printing code.

I was initially surprised to see this code (distilled for emphasis):

```cpp
if (str.empty()) {
  if (style == eValueObjectRepresentationStyleValue)
    str = GetSummaryAsCString();
  else if (style == eValueObjectRepresentationStyleSummary)
    str = GetValueAsCString();
}
```

My first thought was "is this a bug?", but I realized it was likely intentional. This 
change adds a comment to indicate yes, this is intentional.


  Commit: 8d326542926d4fba89cfb0ec01a0c1a1bd0789d6
      https://github.com/llvm/llvm-project/commit/8d326542926d4fba89cfb0ec01a0c1a1bd0789d6
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll

  Log Message:
  -----------
  [RISCV] Add coverage for an upcoming set of vector narrowing changes


  Commit: 0fc578664809d9f808d24a91e50a68d6bfa22118
      https://github.com/llvm/llvm-project/commit/0fc578664809d9f808d24a91e50a68d6bfa22118
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/test/API/commands/platform/sdk/TestPlatformSDK.py
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
    M lldb/test/API/functionalities/launch_stop_at_entry/TestStopAtEntry.py

  Log Message:
  -----------
  [lldb][test] Remove expectedFailureIfFn (#81703)

Switching to modern `unittest` in
5b386158aacac4b41126983a5379d36ed413d0ea needs xfail annotations to be
known prior to test running. In contrast, skipping can happen at any
time, even during test execution.

Thus, `expectedFailureIfFn` inherently doesn't work. Either we eagerly
evaluate the function and use `expectedFailureIf` instead, or we use a
skip annotation to lazily evaluate the function and potentially skip the
test right before it starts.

- For `expectedFailureAndroid`, the intent seems to be that certain
tests _should_ work on android, but don't. Thus, xfail is appropriate,
to ensure the test is re-enabled once those bugs are ever fixed.
- For the other uses in individual tests, those generally seem to be
cases where the test environment doesn't support the setup required by
the test, and so it isn't meaningful to run the test at all. For those,
a drop-in replacement to `skipTestIfFn` works.


  Commit: ad49657a424db5e5979236ef5a474e93d827ab2c
      https://github.com/llvm/llvm-project/commit/ad49657a424db5e5979236ef5a474e93d827ab2c
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/InitPreprocessor.cpp
    A clang/test/Preprocessor/fixed-point.c
    A clang/test/Preprocessor/no-fixed-point.c
    M llvm/include/llvm/ADT/APFixedPoint.h
    M llvm/lib/Support/APFixedPoint.cpp

  Log Message:
  -----------
  [clang] Add fixed point precision macros (#81207)

This defines the builtin macros specified in `7.18a.3 Precision macros`
of ISO/IEC TR 18037:2008. These are the `__*__` versions of them and the
formal definitions in stdfix.h can use them.


  Commit: 271e07321bd0673f5472055012b4cfd1671be9ec
      https://github.com/llvm/llvm-project/commit/271e07321bd0673f5472055012b4cfd1671be9ec
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/compiler_features/check_fixed_point.cpp
    M libc/test/UnitTest/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix fixed point detection and add compile option. (#81788)


  Commit: 3a49dfb28fed8f784484ce2ce6d687550f27ad59
      https://github.com/llvm/llvm-project/commit/3a49dfb28fed8f784484ce2ce6d687550f27ad59
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [analyzer] Check the safety of the object argument in a member function call. (#81400)

This PR makes alpha.webkit.UncountedCallArgsChecker eplicitly check the
safety of the object argument in a member function call. It also removes
the exemption of local variables from this checker so that each local
variable's safety is checked if it's used in a function call instead of
relying on the local variable checker to find those since local variable
checker currently has exemption for "for" and "if" statements.


  Commit: cbdc7605edca26ff75a28f080089a835ed9dba92
      https://github.com/llvm/llvm-project/commit/cbdc7605edca26ff75a28f080089a835ed9dba92
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    R clang/test/Analysis/Checkers/WebKit/call-args-dynamic-downcast.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp

  Log Message:
  -----------
  [analyzer] Add a few more safe functions to call. (#81532)

Added checkedDowncast, uncheckedDowncast, & toString as safe functions
to call in alpha.webkit.UncountedCallArgsChecker.


  Commit: 7249692bd24afc81fbbaa24240e3c9bba046f854
      https://github.com/llvm/llvm-project/commit/7249692bd24afc81fbbaa24240e3c9bba046f854
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    A clang/test/Analysis/Checkers/WebKit/call-args-protected-return-value.cpp

  Log Message:
  -----------
  [analyzer] Detect a return value of Ref<T> & RefPtr<T> (#81580)

This PR makes the checker not emit warning when a function is called
with a return value of another function when the return value is of type
Ref<T> or RefPtr<T>.


  Commit: 82ca75239340c6e2b92125fe39bf872faa044f11
      https://github.com/llvm/llvm-project/commit/82ca75239340c6e2b92125fe39bf872faa044f11
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/dwarf4-subprogram-single-gc-ranges.test
    A bolt/test/X86/dwarf5-empty-function-ranges.s
    M bolt/test/X86/dwarf5-subprogram-single-gc-ranges.test

  Log Message:
  -----------
  [BOLT][DWARF] Add test for DW_AT_ranges input without function output (#81794)

Added a test that relies on -fbasic-block-sections=all and --gc-sections
that exercises a code path that previously printed a warning.


  Commit: 4eb092d9f8999338fd4c7ef65268649636b7f86a
      https://github.com/llvm/llvm-project/commit/4eb092d9f8999338fd4c7ef65268649636b7f86a
  Author: Daniel Rodríguez Troitiño <drodriguez at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M compiler-rt/test/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [llvm][compiler-rt] Connect lit dependencies to test-depends targets. (#81783)

compiler-rt was creating the test-depends targets and trying to fill its
dependencies with a variable, but the variable was empty because it was
supposed to take its value from a property. The changes in this commit
grab the value of the property and add them as dependencies.

The changes in llvm are to remove the usage of `DEPENDS` arguments from
`add_custom_target`, which according to the documentation is reserved
for files/outputs created by `add_custom_command`. Use
`add_dependencies` instead.

This is similar to the changes introduced in
4eb84582344f97167b6a2b4cb1fb1d75ae07897e for runtimes.


  Commit: acdb4cdc04ed4d9a130f0fa706ed1b0f42cc1aa0
      https://github.com/llvm/llvm-project/commit/acdb4cdc04ed4d9a130f0fa706ed1b0f42cc1aa0
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp

  Log Message:
  -----------
  [ubsan,test] Disable static-link.cpp for i386 and internal_symbolizer

i386 has a `__tls_get_addr` link error.
For internal_symbolizer, the x86_64 test would fail as well.


  Commit: fe20a759fcd20e1755ea1b34c5e6447a787925dc
      https://github.com/llvm/llvm-project/commit/fe20a759fcd20e1755ea1b34c5e6447a787925dc
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M .github/workflows/llvm-project-tests.yml

  Log Message:
  -----------
  Use container on Linux to run llvm-project-tests workflow (#81349)


  Commit: 3369e341288b3d9bb59827f9a2911ebf3d36408d
      https://github.com/llvm/llvm-project/commit/3369e341288b3d9bb59827f9a2911ebf3d36408d
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td

  Log Message:
  -----------
  [NFC][AArch64] fix whitespace in AArch64SchedNeoverseV1 (#81744)

One of the whitespace fixes didn't get added to the commit introducing
the Ampere1B model.
Clean it up.


  Commit: 4cd7616f6b13513bb13f2b6dd14d140a4c62c937
      https://github.com/llvm/llvm-project/commit/4cd7616f6b13513bb13f2b6dd14d140a4c62c937
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Fixits for array args of func-ptr calls (#80358)

Currently we ignore calls on function pointers (unlike direct calls of
functions and class methods). This patch adds support for function pointers as
well.

The change is to simply replace use of forEachArgumentWithParam matcher in UPC
gadget with forEachArgumentWithParamType.

from the documentation of forEachArgumentWithParamType:
/// Matches all arguments and their respective types for a \c CallExpr or
/// \c CXXConstructExpr. It is very similar to \c forEachArgumentWithParam but
/// it works on calls through function pointers as well.

Currently the matcher also uses hasPointerType() which checks that the
canonical type of an argument is pointer and won't match on arrays decayed to
pointer. Replacing hasPointerType() with isAnyPointerType() which allows
implicit casts allows for the arrays to be matched as well and this way we get
fixits for array arguments to function pointer calls too.


  Commit: 9a1e6373ab3edc38486af504154db2d804e72d3d
      https://github.com/llvm/llvm-project/commit/9a1e6373ab3edc38486af504154db2d804e72d3d
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Ignore constant safe indices in array subscripts (#80504)

[-Wunsafe-buffer-usage] Ignore safe array subscripts
Don't emit warnings for array subscripts on constant size arrays where the index is constant and within bounds.

Example:
int arr[10];
arr[5] = 0; //safe, no warning

This patch recognizes only array indices that are integer literals - it doesn't understand more complex expressions (arithmetic on constants, etc.).

-Warray-bounds implemented in Sema::CheckArrayAccess() already solves a similar
(opposite) problem, handles complex expressions and is battle-tested.

Adding -Wunsafe-buffer-usage diagnostics to Sema is a non-starter as we need to emit
both the warnings and fixits and the performance impact of the fixit machine is
unacceptable for Sema.

CheckArrayAccess() as is doesn't distinguish between "safe" and "unknown" array
accesses. It also mixes the analysis that decides if an index is out of bounds
with crafting the diagnostics.

A refactor of CheckArrayAccess() might serve both the original purpose
and help us avoid false-positive with -Wunsafe-buffer-usage on constant
size arrrays.


  Commit: 8ce144800a7ed7c1e42343b3a9ac5e0ffdbfddbf
      https://github.com/llvm/llvm-project/commit/8ce144800a7ed7c1e42343b3a9ac5e0ffdbfddbf
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [clangd][test] Fix -Wmissing-field-initializers in DiagnosticsTests.cpp (NFC)

llvm-project/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp:921:45:
error: missing field 'Annotations' initializer [-Werror,-Wmissing-field-initializers]
       TextEdit{Main.range("virtual1"), ""}}};
                                            ^
llvm-project/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp:926:45:
error: missing field 'Annotations' initializer [-Werror,-Wmissing-field-initializers]
       TextEdit{Main.range("virtual2"), ""}}};
                                            ^
2 errors generated.


  Commit: ff409d39ce4673c70f474c3fdb7120bab8f94eef
      https://github.com/llvm/llvm-project/commit/ff409d39ce4673c70f474c3fdb7120bab8f94eef
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/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/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/ldexpf128.cpp
    A libc/src/math/ldexpf128.h
    M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/ldexp_test.cpp
    A libc/test/src/math/smoke/ldexpf128_test.cpp
    M libc/test/src/math/smoke/ldexpf_test.cpp
    M libc/test/src/math/smoke/ldexpl_test.cpp

  Log Message:
  -----------
  [libc][math] Add C23 ldexpf128 math function and fix DyadicFloat conversions for subnormal ranges and 80-bit floating points. (#81780)


  Commit: a7982d5e7a16f681e80891a819bdf14dde928755
      https://github.com/llvm/llvm-project/commit/a7982d5e7a16f681e80891a819bdf14dde928755
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [analyzer] UncountedCallArgsChecker: Detect & ignore trivial function calls. (#81808)

This PR introduces the concept of a "trivial function" which applies to
a function that only calls other trivial functions and contain literals
and expressions that don't result in heap mutations (specifically it
does not call deref). This is implemented using ConstStmtVisitor and
checking each statement and expression's trivialness.

This PR also introduces the concept of a "ingleton function", which is a
static member function or a free standing function which ends with the
suffix "singleton". Such a function's return value is understood to be
safe to call any function with.


  Commit: 6fce42f89a2c3f12b019bd3d7fef3e8db2d4671f
      https://github.com/llvm/llvm-project/commit/6fce42f89a2c3f12b019bd3d7fef3e8db2d4671f
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-assign-to-ptr.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Add fixits for array to pointer assignment (#81343)

Introducing CArrayToPtrAssignment gadget and implementing fixits for some cases
of array being assigned to pointer.

Key observations:
- const size array can be assigned to std::span and bounds are propagated
- const size array can't be on LHS of assignment
This means array to pointer assignment has no strategy implications.

Fixits are implemented for cases where one of the variables in the assignment is
safe. For assignment of a safe array to unsafe pointer we know that the RHS will
never be transformed since it's safe and can immediately emit the optimal fixit.
Similarly for assignment of unsafe array to safe pointer.
(Obviously this is not and can't be future-proof in regards to what
variables we consider unsafe and that is fine.)

Fixits for assignment from unsafe array to unsafe pointer (from Array to Span
strategy) are not implemented in this patch as that needs to be properly designed
first - we might possibly implement optimal fixits for partially transformed
cases, put both variables in a single fixit group or do something else.


  Commit: dcbb574cfc3445251ff1c751f27b52ed6503bead
      https://github.com/llvm/llvm-project/commit/dcbb574cfc3445251ff1c751f27b52ed6503bead
  Author: Brianna Fan <bfan2 at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/test/Analysis/scan-build/html_output.test
    M clang/tools/scan-build/bin/scan-build
    M clang/tools/scan-build/share/scan-build/sorttable.js

  Log Message:
  -----------
  [analyzer] Teach scan-build to filter reports by file.

That's a new GUI bell-and-whistle in the index.html page.


  Commit: de6fad51462bd0784beafef6fd171ad7725205b5
      https://github.com/llvm/llvm-project/commit/de6fad51462bd0784beafef6fd171ad7725205b5
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [TableGen][NFCI] Simplify TypeSetByHwMode::intersect and make extensible (#81688)

The current implementation considers both iPTR+iN and everything else
all in one go, which leads to more special casing when iPTR is present
in only one set than is described in the comment block. Moreover this
makes it very difficult to add any new iPTR-like wildcards due to the
exponential combinatorial explosion that occurs.

Logically, iPTR+iN handling is entirely independent from everything
else, so rewrite the code to do them separately. This removes special
cases, making the core of the implementation more succinct, whilst more
clearly implementing exactly what is described in the comment block, and
allows for any number of (non-overlapping) wildcards to be added to the
list, as needed by CHERI LLVM downstream (due to having a new capability
type which, much like a normal integer pointer in LLVM, varies in size
between targets and modes).

In testing, this change results in identical TableGen output for all
in-tree backends (including those in LLVM_ALL_EXPERIMENTAL_TARGETS), and
it is intended that this implementation is entirely equivalent to the
old one.


  Commit: d821650e13145a1acccd337c9853354ad6531507
      https://github.com/llvm/llvm-project/commit/d821650e13145a1acccd337c9853354ad6531507
  Author: rmarker <37921131+rmarker at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestCSharp.cpp

  Log Message:
  -----------
  [clang-format][NFC] Drop "Always" in "AlwaysBreakAfterReturnType". (#81591)

Complete the switch from "AlwaysBreakAfterReturnType" to
"BreakAfterReturnType".


  Commit: fa9e297b8b63dacb962d99814e698658ad71f946
      https://github.com/llvm/llvm-project/commit/fa9e297b8b63dacb962d99814e698658ad71f946
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp

  Log Message:
  -----------
  [ClangPackager] Fix passing in multiple instances of `file`

Summary:
This is necessary because CMake build tools might need to generate
several files but are unable to put them in separate images. This patch
sipmly moves the file handling out into a separate split iterator.


  Commit: fc0b67e1d79d1f199687f8f06d619984d9520230
      https://github.com/llvm/llvm-project/commit/fc0b67e1d79d1f199687f8f06d619984d9520230
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorextract.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorinsert.ll

  Log Message:
  -----------
  [RISCV] Add cost model tests for llvm.vector.{insert,extract}. NFC

For llvm.vector.extract, this tests combinations of inserting at a zero and
non-zero index, and extracting from a fixed or scalable vector.

For llvm.vector.insert, this tests the same combinations as extracts but with
an additional configuration for an undef vector. This is because we can use a
subregister insert if the index is 0 and the vector is undef, which should be
free.


  Commit: 4b5c21aa07fc6ba477109ec8b83395071ae49e23
      https://github.com/llvm/llvm-project/commit/4b5c21aa07fc6ba477109ec8b83395071ae49e23
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/test/src/__support/CMakeLists.txt

  Log Message:
  -----------
  [libc][fix] Fix new test that crashes the NVPTX backend


  Commit: bfe302c58321abd79a5db7e805ef4b4db24df820
      https://github.com/llvm/llvm-project/commit/bfe302c58321abd79a5db7e805ef4b4db24df820
  Author: Qfrost <root at qfrost.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSystem.td

  Log Message:
  -----------
  [clang][X86] X86::LAR X86::LSL add_implicate eflags (#80993)

[@xia0ji233](https://github.com/xia0ji233) and I found that X86::LAR and
X86::lSR implicit use eflags register. However, it was not been defined
in LLVM, which means we will get wrong alive-result if we use these two
instructions.
![T~
_81W6A}J}{AP{DF%E}KY](https://github.com/llvm/llvm-project/assets/58380176/b84e758b-2978-49e7-a11c-726fd66e1976)


  Commit: d53515afef57a3abf84daff169fbc7626a306817
      https://github.com/llvm/llvm-project/commit/d53515afef57a3abf84daff169fbc7626a306817
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix variadic member functions

For variadic member functions, the way we calculated the instance
pointer and RVO pointer offsts on the stack was incorrect, due
to Func->getArgSize() not returning the full size of all the
passed arguments. When calling variadic functions, we need
to pass the size of the passed (variadic) arguments to the Call*
ops, so they can use that information to properly check the
instance pointer, etc.

This patch adds a bit of code duplication in Interp.h, which I
will get rid of in later cleanup NFC patches.


  Commit: 562790f371f230d8f67a1a8fb4b54e02e8d1e31f
      https://github.com/llvm/llvm-project/commit/562790f371f230d8f67a1a8fb4b54e02e8d1e31f
  Author: Abhinav271828 <71174780+Abhinav271828 at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Matrix.h
    M mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Simplex.h
    M mlir/include/mlir/Analysis/Presburger/Utils.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Analysis/Presburger/Matrix.cpp
    M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
    M mlir/lib/Analysis/Presburger/Simplex.cpp
    M mlir/lib/Analysis/Presburger/Utils.cpp
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp

  Log Message:
  -----------
  [MLIR][Presburger] Implement vertex enumeration and chamber decomposition for polytope generating function computation. (#78987)

We implement a function to compute the generating function corresponding
to a full-dimensional parametric polytope whose tangent cones are all
unimodular.
We fix a bug in unimodGenFunc to check the absolute value of the index.
We also implement Matrix<T>::negateMatrix() and Matrix<T>::scaleRow for
convenience.


  Commit: 6087d7bc0a9d7d4ad2c94a131c2bc427b767c9d7
      https://github.com/llvm/llvm-project/commit/6087d7bc0a9d7d4ad2c94a131c2bc427b767c9d7
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [clang-format][NFC] Sort options in Format.cpp


  Commit: 94f51649c4a574f88fd9b8a2d0a05b334c0bd490
      https://github.com/llvm/llvm-project/commit/94f51649c4a574f88fd9b8a2d0a05b334c0bd490
  Author: riChar <wxsychi at 163.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSystem.td

  Log Message:
  -----------
  [LLVM][X86] Add EFLAGS Defs for VERR/VERW instructions (#81824)

VERR/VERW instructions will define ZF flag.


  Commit: 6c74a6f6f4f01500f9deabadc7673b4935643928
      https://github.com/llvm/llvm-project/commit/6c74a6f6f4f01500f9deabadc7673b4935643928
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
    R lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAPForward.h
    R lldb/tools/lldb-dap/Watchpoint.cpp
    R lldb/tools/lldb-dap/Watchpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

  Log Message:
  -----------
  Revert "[lldb-dap] Add support for data breakpoint. (#81541)" (#81812)

This reverts commit 8c56e78ec531f0e2460213c20fff869b6b7add99.

Reverting to address the LLDB test failure in ARM64.


  Commit: b200dfc15904f0f7f19443fd5a399242c80213dc
      https://github.com/llvm/llvm-project/commit/b200dfc15904f0f7f19443fd5a399242c80213dc
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix calling invalid function pointers

Checking for isConstexpr() is wrong; we need to (try to) call
the function and let later code diagnose the failure accordingly.


  Commit: b93916c9798ea09488e30b9b0aae9e54ef0b1956
      https://github.com/llvm/llvm-project/commit/b93916c9798ea09488e30b9b0aae9e54ef0b1956
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Convert test to verify=expected,both style


  Commit: 36adfec155de366d722f2bac8ff9162289dcf06c
      https://github.com/llvm/llvm-project/commit/36adfec155de366d722f2bac8ff9162289dcf06c
  Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/autocomplete.c
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
    M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll

  Log Message:
  -----------
  Adding support of AMDLIBM vector library (#78560)

Hi,

AMD has it's own implementation of vector calls. This patch include the
changes to enable the use of AMD's math library using -fveclib=AMDLIBM.
Please refer https://github.com/amd/aocl-libm-ose 

---------

Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>


  Commit: ab76e48ac2c2dbfc7d6a600b9b0dd0672e6d9439
      https://github.com/llvm/llvm-project/commit/ab76e48ac2c2dbfc7d6a600b9b0dd0672e6d9439
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  [MC/DC] Refactor: Let MCDCConditionID int16_t with zero-origin (#81257)

Also, Let `NumConditions` `uint16_t`.

It is smarter to handle the ID as signed.
Narrowing to `int16_t` will reduce costs of handling byvalue. (See also
#81221 and #81227)

External behavior doesn't change. They below handle values as internal
values plus 1.
* `-dump-coverage-mapping`
* `CoverageMappingReader.cpp`
* `CoverageMappingWriter.cpp`


  Commit: 28d4385020920ec5f54ef3de4e69f3649d417d81
      https://github.com/llvm/llvm-project/commit/28d4385020920ec5f54ef3de4e69f3649d417d81
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [bazel][libc] Fix BUILD after ff409d39ce4673c70f474c3fdb7120bab8f94eef.


  Commit: 5f6e0f35f936495563b5758a7ff9d4417a9f651b
      https://github.com/llvm/llvm-project/commit/5f6e0f35f936495563b5758a7ff9d4417a9f651b
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M flang/runtime/assign.cpp
    M flang/runtime/derived.cpp

  Log Message:
  -----------
  [flang][runtime] Destroy nested allocatable components (#81117)

The runtime was currently only deallocating the direct allocatable
components, which caused leaks when there are allocatable components
nested in the direct components.

Update Destroy to recursively destroy components.

Also call Destroy from Assign to deallocate nested allocatable
components before doing the assignment as required by F2018 9.7.3.2
point 7.

This lack of deallocation was visible if the nested components had user
defined assignment "observing" the allocation state.


  Commit: 0d0bd3ef55a2317c4254e97a3657e702bcf22214
      https://github.com/llvm/llvm-project/commit/0d0bd3ef55a2317c4254e97a3657e702bcf22214
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M flang/runtime/copy.cpp
    M flang/runtime/derived.cpp

  Log Message:
  -----------
  [flang] Deep copy nested allocatable components in transformational (#81736)

Spread, reshape, pack, and other transformational intrinsic runtimes are
using `CopyElement` utility to copy elements. This utility was dealing
with deep copies, but only when the allocatable components where
"immediate" components of the type being copied. If the allocatable
components were nested inside a nonpointer/nonallocatable component,
they were not deep copied, leading to bugs later when manipulating the
value (or double free when applying #81117).

Visit data components with allocatable components (using the
noDestructionNeeded flag to avoid expensive and useless type visit when
there are no such components).


  Commit: e769fb8699e3fa8e40623764f7713bfc783b0330
      https://github.com/llvm/llvm-project/commit/e769fb8699e3fa8e40623764f7713bfc783b0330
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    A flang/test/Lower/HLFIR/issue80884.f90

  Log Message:
  -----------
  [flang] prevent legacy lowering from being called in pointer assignment (#81750)

When doing a pointer assignment with an RHS that is an array section,
the code fell in the legacy lowering code even with HLFIR enabled.
Escape this old code when HLFIR is on.

Should fix #80884.


  Commit: cd55e230e629f57db742e831c79488d04f68f4e7
      https://github.com/llvm/llvm-project/commit/cd55e230e629f57db742e831c79488d04f68f4e7
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir

  Log Message:
  -----------
  [RISCV] Use $noreg in vsetvli-insert.mir test. NFC

This reflects what actually comes out of SelectionDAG after the noreg passthru
peephole added in a63bd7e99b00c.


  Commit: 4a32a414ee07bf15c47ba7fb7286d968e73a04fe
      https://github.com/llvm/llvm-project/commit/4a32a414ee07bf15c47ba7fb7286d968e73a04fe
  Author: Mikael Holmen <mikael.holmen at ericsson.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [clang] Fix two gcc warnings about unused variables [NFC]

Without the fix gcc warns like
 ../../clang/lib/Sema/SemaDecl.cpp:2963:24: warning: unused variable 'SupA' [-Wunused-variable]
  2963 |   else if (const auto *SupA = dyn_cast<SuppressAttr>(Attr))
       |                        ^~~~
and
 ../../clang/lib/Driver/Driver.cpp:4192:17: warning: unused variable 'IAA' [-Wunused-variable]
  4192 |       if (auto *IAA = dyn_cast<InstallAPIJobAction>(Current)) {
       |                 ^~~

Remove the unused variables and change the "dyn_cast"s into "isa"s.


  Commit: ba279934c6ab09d5394a89d8318651aefd8d565b
      https://github.com/llvm/llvm-project/commit/ba279934c6ab09d5394a89d8318651aefd8d565b
  Author: Paul Semel <semelpaul at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [dataflow] Fix crash when InitListExpr is not a prvalue (#80970)


  Commit: c6a7c4d70a7c25f73e46b7d2e7e4867c3b78223e
      https://github.com/llvm/llvm-project/commit/c6a7c4d70a7c25f73e46b7d2e7e4867c3b78223e
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td

  Log Message:
  -----------
  [AMDGPU] Add 256-bit vdst and 96-bit src to profile switches. NFC. (#81801)

I need these operands for a future patch. Also simplify conditions
there. If nothing using !cond instead of nesting !if's does not need to
realign code every time a new type is added.


  Commit: f6f8e202f59f54429878f41bcc9aea614613a4af
      https://github.com/llvm/llvm-project/commit/f6f8e202f59f54429878f41bcc9aea614613a4af
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Refactor Combine G_CONCAT_VECTOR (#80866)

The combine now works using tablegen and checks if new instruction is
legal before creating it.


  Commit: 09b80e6145a2e619fa8ff486a04cdc7d1534a81a
      https://github.com/llvm/llvm-project/commit/09b80e6145a2e619fa8ff486a04cdc7d1534a81a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/ClangOptionDocs.td
    M clang/include/clang/Driver/Options.td
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp
    M flang/docs/FlangOptionsDocs.td

  Log Message:
  -----------
  [clang][flang][driver] Correct program names in option group descriptions (#81726)

Currently https://flang.llvm.org/docs/FlangCommandLineReference.html
refers to "Clang" in several of the group descriptions for example:
```
Compilation options

Flags controlling the behavior of Clang during compilation...
```

This is pretty confusing. I'm fixing this by making use of `Program`
from the existing GlobalDocumentation object to substitute in the
program name to these descriptions.

This `Program` has been changed to a proper noun given that it's easier
to lower case a string than capitalise one character (syntax wise). The
tablegen backend has been changed to lower it so that links in the
RST/HTML remain the same as they were before.

To make sure the file is valid when not generating docs, I'm checking a
#define and providing a default GlobalDocumentation if it's not defined.
(I looked for a way to check if a def exists, but tablegen doesn't seem
to have one)

This means that if the DocBrief are used outside of documentation,
they'll say "Clang", which is the same as it always was.

This change does not aim fix option descriptions that refer to clang.
Though we can use parts of this for that, there is only one driver
library so it needs a different approach.

This change also fixes the warning:
```
/home/buildbot/as-worker-4/publish-sphinx-docs/build/tools/flang/docs/Source/FlangCommandLineReference.rst:194: WARNING: unknown document: 'DiagnosticsReference'
```
Which is due to flang docs trying to link to clang docs. Now it will
just tell the reader to go to Clang's page, which is not ideal but it is
easy to find with Google at least.


  Commit: dfb9bf35c42a04a8f152dabf0a9d1a52e451f942
      https://github.com/llvm/llvm-project/commit/dfb9bf35c42a04a8f152dabf0a9d1a52e451f942
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/test/CodeGen/SPIRV/transcoding/spec_const.ll

  Log Message:
  -----------
  let a user select preferred/unpreferred capabilities in a list of enabling capabilities (#81476)

By SPIR-V specification: "If an instruction, enumerant, or other feature
specifies multiple enabling capabilities, only one such
capability needs to be declared to use the feature."

However, one capability may be preferred over another. One important
case is Shader capability that may not be supported by a backend, but
always is inserted if "OpDecorate SpecId" is found, because Enabling
Capabilities for the latter is the list of Shader and Kernel, where
Shader is coming first and thus always selected as the first available
option.

In this PR we address the problem by keeping current behaviour of
selecting the first option among enabling capabilities as is, but giving
a user a way to filter capabilities during the selection process via a
newly introduced "--avoid-spirv-capabilities" command line option. This
option is to avoid selection of certain capabilities if there are other
available enabling capabilities.

This PR is changing also existing pruneCapabilities() function. It
doesn't remove capability from module requirement anymore, but only adds
implicitly required capabilities recursively, so its name is changed
accordingly. This change fixes the present bug in collecting required by
a module capabilities. Before the change, introduced by this PR,
pruneCapabilities() function has been removing, for example, Kernel
capability from required by a module, because Kernel is initially
required and the second time it was needed pruneCapabilities() removed
it by mistake.


  Commit: 9552a396ed649e499bc4a370ab72ca6972e5b982
      https://github.com/llvm/llvm-project/commit/9552a396ed649e499bc4a370ab72ca6972e5b982
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
    A llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll

  Log Message:
  -----------
  add support for the SPV_KHR_linkonce_odr extension (#81512)

This PR adds support for the SPV_KHR_linkonce_odr extension and modifies
existing negative test with a positive check for the extension and
proper linkage type in case when the extension is enabled.

SPV_KHR_linkonce_odr adds a "LinkOnceODR" linkage type, allowing proper
translation of, for example, C++ templates classes merging during
linking from different modules and supporting any other cases when a
global variable/function must be merged with equivalent global
variable(s)/function(s) from other modules during the linking process.


  Commit: 97c19a46cd177b19667a65db8720e92ff91c7b2e
      https://github.com/llvm/llvm-project/commit/97c19a46cd177b19667a65db8720e92ff91c7b2e
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir

  Log Message:
  -----------
  [mlir][ArmSME][nfc] Add integration test for i8 to i32 matmul (#81607)

Currently marked as XFAIL due to bug in QEMU. See test for details.


  Commit: 2df652a69159b76c97cfd94e32ad6bb71dde716c
      https://github.com/llvm/llvm-project/commit/2df652a69159b76c97cfd94e32ad6bb71dde716c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/postra-machine-sink.mir

  Log Message:
  -----------
  [CodeGen] Simplify updateLiveIn in MachineSink (#79831)

When a whole register is added a basic block's liveins, use
LaneBitmask::getAll for the live lanes instead of trying to calculate an
accurate mask of the lanes that comprise the register.

This simplifies the code and matches other places where a whole register
is marked as livein.

This also avoids problems when regunits that are synthesized by TableGen
to represent ad hoc aliasing have a lane mask of 0.

Fixes #78942


  Commit: b279ca278370dabd27b8d380d59bdb5018366053
      https://github.com/llvm/llvm-project/commit/b279ca278370dabd27b8d380d59bdb5018366053
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/ctpop-mask.ll

  Log Message:
  -----------
  [DAG] visitCTPOP - CTPOP(SHIFT(X)) -> CTPOP(X) iff the shift doesn't affect any non-zero bits

If the source is being (logically) shifted, but doesn't affect any active bits, then we can call CTPOP on the shift source directly.


  Commit: 0636309051f3b1a2b87047770bb3f7df1f3e27c3
      https://github.com/llvm/llvm-project/commit/0636309051f3b1a2b87047770bb3f7df1f3e27c3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Function.h

  Log Message:
  -----------
  Fix MSVC "signed/unsigned mismatch" warning. NFC.


  Commit: 7c422dde8de7382e494615aa2553aa4e27e8b204
      https://github.com/llvm/llvm-project/commit/7c422dde8de7382e494615aa2553aa4e27e8b204
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [X86] shuffle combines - share the same SDLoc argument instead of recreating it over and over again.


  Commit: fd191378dce6b20c100da716f94130af2593df37
      https://github.com/llvm/llvm-project/commit/fd191378dce6b20c100da716f94130af2593df37
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/Options.td
    A llvm/test/tools/llvm-dlltool/arm64ec.test

  Log Message:
  -----------
  [llvm-dlltool] Add ARM64EC target support. (#81624)

Add new target and a new -n option allowing to specify native module
definition file, similar to how -defArm64Native works in llvm-lib. This
also changes archive format to use K_COFF like non-mingw targets. It's
required on ARM64EC, but it should be fine for other targets too.


  Commit: 3fe5a0cfa5391db18fcc226f3f783642d3f44503
      https://github.com/llvm/llvm-project/commit/3fe5a0cfa5391db18fcc226f3f783642d3f44503
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp

  Log Message:
  -----------
  MCDCCoverageBuilder: Use `pop_back_val()`


  Commit: 75f0d40507ea3f7c99dd3250ff0fbe6dab341910
      https://github.com/llvm/llvm-project/commit/75f0d40507ea3f7c99dd3250ff0fbe6dab341910
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h

  Log Message:
  -----------
  CoverageMapping: Move `getParams<InnerParamTy>(MCDCParams)` into `mcdc::`

Fixup for #81227


  Commit: e71369fcb039b7a5f555862f49867ee45ec1ccf5
      https://github.com/llvm/llvm-project/commit/e71369fcb039b7a5f555862f49867ee45ec1ccf5
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Add copyprivate support to omp.single (#80477)

This adds a new custom CopyPrivateVarList to the single operation.
Each list item is formed by a reference to the variable to be
updated, its type and the function to be used to perform the copy.

It will be translated to LLVM IR using OpenMP builder, that will
use the information in the copyprivate list to call
__kmpc_copyprivate.

This is patch 2 of 4, to add support for COPYPRIVATE in Flang.
Original PR: https://github.com/llvm/llvm-project/pull/73128


  Commit: 594d57e07a92e3a2cefb262114db2608989f874d
      https://github.com/llvm/llvm-project/commit/594d57e07a92e3a2cefb262114db2608989f874d
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenRegisters.cpp
    M llvm/utils/TableGen/CodeGenRegisters.h

  Log Message:
  -----------
  [TableGen] New RegUnitSet(Name) constructor. NFC.


  Commit: 9f2d8cdf4209638973a0611fa2efd4e2fe38bfa5
      https://github.com/llvm/llvm-project/commit/9f2d8cdf4209638973a0611fa2efd4e2fe38bfa5
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [flang][clang][docs] Split out Clang specific doc text for -mrvv-vector-bits

Flang does not set the preprocessor define.


  Commit: 32fcfcdc4cc1d68116438f761897953894d65fb1
      https://github.com/llvm/llvm-project/commit/32fcfcdc4cc1d68116438f761897953894d65fb1
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [bazel][mlir] Remove unused BUILD dependencies. (#81836)


  Commit: 9cc98e336980f00cbafcbed8841344e6ac472bdc
      https://github.com/llvm/llvm-project/commit/9cc98e336980f00cbafcbed8841344e6ac472bdc
  Author: ostannard <oliver.stannard at arm.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Sema/Sema.cpp
    A clang/test/CodeGen/aarch64-soft-float-abi.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    A clang/test/Driver/aarch64-soft-float-abi.c
    M clang/test/Preprocessor/aarch64-target-features.c
    A clang/test/Sema/aarch64-soft-float-abi.c
    A llvm/test/CodeGen/AArch64/soft-float-abi.ll

  Log Message:
  -----------
  [AArch64] Add soft-float ABI (#74460)

This adds support for the AArch64 soft-float ABI. The specification for
this ABI was added by https://github.com/ARM-software/abi-aa/pull/232.

Because all existing AArch64 hardware has floating-point hardware, we
expect this to be a niche option, only used for embedded systems on
R-profile systems. We are going to document that SysV-like systems
should only ever use the base (hard-float) PCS variant:
https://github.com/ARM-software/abi-aa/pull/233. For that reason, I've
not added an option to select the ABI independently of the FPU hardware,
instead the new ABI is enabled iff the target architecture does not have
an FPU.

For testing, I have run this through an ABI fuzzer, but since this is
the first implementation it can only test for internal consistency
(callers and callees agree on the PCS), not for conformance to the ABI
spec.


  Commit: 43b291cbecca155a905f52f37b2b1bea7e9aba76
      https://github.com/llvm/llvm-project/commit/43b291cbecca155a905f52f37b2b1bea7e9aba76
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel

  Log Message:
  -----------
  [bazel][mlir] Add missing dependencies to toy BUILD targets.


  Commit: c448bd8b043f57ac51145664d2edde6dae98e5ea
      https://github.com/llvm/llvm-project/commit/c448bd8b043f57ac51145664d2edde6dae98e5ea
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [bazel][mlir] Add missing dependencies to //mlir/unittests/... targets.


  Commit: b9cf7f1066cc7ec11c6074d10b0f2ec9a3ae72d9
      https://github.com/llvm/llvm-project/commit/b9cf7f1066cc7ec11c6074d10b0f2ec9a3ae72d9
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/test/C/C2x/n2934.c
    M clang/test/Parser/c2x-alignas.c

  Log Message:
  -----------
  [C23] Fix handling of alignas (#81637)

In C++, alignas is an attribute specifier, while in C23, it's an alias
of _Alignas, which is a type specifier/qualifier. This means that they
parse differently in some circumstances.

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


  Commit: 5b8e7ed787f6e537876c4fdafd070eba9681f343
      https://github.com/llvm/llvm-project/commit/5b8e7ed787f6e537876c4fdafd070eba9681f343
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/Driver/aarch64-soft-float-abi.c

  Log Message:
  -----------
  [AArch64][Driver] Mark test as requiring AArch64 backend


  Commit: fcb5a98eb803f53069554fdc755d648bbdf24dae
      https://github.com/llvm/llvm-project/commit/fcb5a98eb803f53069554fdc755d648bbdf24dae
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  Revert "[bazel][mlir] Remove unused BUILD dependencies. (#81836)"

This reverts commit 32fcfcdc4cc1d68116438f761897953894d65fb1.


  Commit: 95e8a7c863d17b929232d3e57007d342ffb3001d
      https://github.com/llvm/llvm-project/commit/95e8a7c863d17b929232d3e57007d342ffb3001d
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/stdfix-macros.h

  Log Message:
  -----------
  [libc][stdfix] Use __FRACT_FBIT__ for fixed point support detection instead of compiler version. (#81820)

Now that `__FRACT_FBIT__` and related macros are added in
https://github.com/llvm/llvm-project/pull/81207, it is safer to use them
for fixed point support detection, so that codes that do not use fixed
point types will not fail to build when `-ffixed-point` is missing.


  Commit: 591a3f38ce220df98beb25c19c65385ffb58af15
      https://github.com/llvm/llvm-project/commit/591a3f38ce220df98beb25c19c65385ffb58af15
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M .github/workflows/llvm-project-tests.yml
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/dwarf4-subprogram-single-gc-ranges.test
    A bolt/test/X86/dwarf5-empty-function-ranges.s
    A bolt/test/X86/dwarf5-loclist-out-of-order.s
    M bolt/test/X86/dwarf5-subprogram-single-gc-ranges.test
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Driver/ClangOptionDocs.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Source.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/LinkInModulesPass.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/AST/Interp/functions.cpp
    R clang/test/Analysis/Checkers/WebKit/call-args-dynamic-downcast.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-protected-return-value.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/scan-build/html_output.test
    M clang/test/C/C2x/n2934.c
    A clang/test/CodeGen/aarch64-soft-float-abi.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    A clang/test/Driver/aarch64-soft-float-abi.c
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/autocomplete.c
    M clang/test/Misc/target-invalid-cpu-note.c
    M clang/test/Parser/c2x-alignas.c
    M clang/test/Preprocessor/aarch64-target-features.c
    A clang/test/Preprocessor/fixed-point.c
    A clang/test/Preprocessor/no-fixed-point.c
    A clang/test/Sema/aarch64-soft-float-abi.c
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-assign-to-ptr.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
    M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
    M clang/tools/scan-build/bin/scan-build
    M clang/tools/scan-build/share/scan-build/sorttable.js
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp
    M compiler-rt/lib/ubsan/ubsan_signals_standalone.cpp
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp
    M flang/docs/FlangOptionsDocs.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/runtime/assign.cpp
    M flang/runtime/copy.cpp
    M flang/runtime/derived.cpp
    A flang/test/Lower/HLFIR/issue80884.f90
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/compiler_features/check_fixed_point.cpp
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/include/llvm-libc-macros/stdfix-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/type_traits.h
    A libc/src/__support/CPP/type_traits/is_fixed_point.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/dyadic_float.h
    A libc/src/__support/fixed_point/CMakeLists.txt
    A libc/src/__support/fixed_point/fx_rep.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/ldexpf128.cpp
    A libc/src/math/ldexpf128.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_first_leading_one_uc.cpp
    A libc/src/stdbit/stdc_first_leading_one_uc.h
    A libc/src/stdbit/stdc_first_leading_one_ui.cpp
    A libc/src/stdbit/stdc_first_leading_one_ui.h
    A libc/src/stdbit/stdc_first_leading_one_ul.cpp
    A libc/src/stdbit/stdc_first_leading_one_ul.h
    A libc/src/stdbit/stdc_first_leading_one_ull.cpp
    A libc/src/stdbit/stdc_first_leading_one_ull.h
    A libc/src/stdbit/stdc_first_leading_one_us.cpp
    A libc/src/stdbit/stdc_first_leading_one_us.h
    A libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    A libc/src/stdbit/stdc_first_trailing_one_uc.h
    A libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ui.h
    A libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ul.h
    A libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ull.h
    A libc/src/stdbit/stdc_first_trailing_one_us.cpp
    A libc/src/stdbit/stdc_first_trailing_one_us.h
    A libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_uc.h
    A libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ui.h
    A libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ul.h
    A libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ull.h
    A libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_us.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/ldexp_test.cpp
    A libc/test/src/math/smoke/ldexpf128_test.cpp
    M libc/test/src/math/smoke/ldexpf_test.cpp
    M libc/test/src/math/smoke/ldexpl_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/systemz-tls-ie.s
    M lldb/include/lldb/Target/StopInfo.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/packages/Python/lldbsuite/test/concurrent_base.py
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
    M lldb/source/Target/Thread.cpp
    M lldb/test/API/commands/platform/sdk/TestPlatformSDK.py
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
    M lldb/test/API/functionalities/launch_stop_at_entry/TestStopAtEntry.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
    R lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAPForward.h
    R lldb/tools/lldb-dap/Watchpoint.cpp
    R lldb/tools/lldb-dap/Watchpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/CMakeLists.txt
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/ADT/APFixedPoint.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/lib/Support/APFixedPoint.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/AArch64SchedA53.td
    M llvm/lib/Target/AArch64/AArch64SchedA57.td
    M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
    A llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
    M llvm/lib/Target/AArch64/AArch64SchedCyclone.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM3.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM4.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM5.td
    M llvm/lib/Target/AArch64/AArch64SchedFalkor.td
    M llvm/lib/Target/AArch64/AArch64SchedKryo.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AArch64SchedTSV110.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX3T110.td
    M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/EXPInstructions.td
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrSystem.td
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/Options.td
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorextract.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorinsert.ll
    A llvm/test/CodeGen/AArch64/basic-block-sections-cold.ll
    A llvm/test/CodeGen/AArch64/basic-block-sections-unsafe.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    A llvm/test/CodeGen/AArch64/soft-float-abi.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/CodeGen/AMDGPU/generic-targets-require-v6.ll
    M llvm/test/CodeGen/AMDGPU/hsa-generic-target-features.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.d16.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
    M llvm/test/CodeGen/AMDGPU/postra-machine-sink.mir
    M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
    A llvm/test/CodeGen/Hexagon/vector-zext-v4i8.ll
    M llvm/test/CodeGen/Mips/hf1_body.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
    M llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
    A llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
    M llvm/test/CodeGen/SPIRV/transcoding/spec_const.ll
    M llvm/test/CodeGen/X86/ctpop-mask.ll
    A llvm/test/DebugInfo/AArch64/select-optimize-trailing-dbg-records.ll
    M llvm/test/DebugInfo/X86/debug-names-dwarf64.ll
    M llvm/test/DebugInfo/X86/debug-names-types.ll
    M llvm/test/MC/Mips/macro-la-pic.s
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_memcheck_cost.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll
    M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
    A llvm/test/tools/llvm-dlltool/arm64ec.test
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/basic-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/cssc-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/mte-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/shifted-register.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp
    M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/CodeGenRegisters.cpp
    M llvm/utils/TableGen/CodeGenRegisters.h
    M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Matrix.h
    M mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Simplex.h
    M mlir/include/mlir/Analysis/Presburger/Utils.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Analysis/Presburger/Matrix.cpp
    M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
    M mlir/lib/Analysis/Presburger/Simplex.cpp
    M mlir/lib/Analysis/Presburger/Utils.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Utils/IndexingUtils.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
    M mlir/lib/Interfaces/InferIntRangeInterface.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
    M polly/lib/Transform/ScheduleOptimizer.cpp
    M polly/test/ScheduleOptimizer/schedule_computeout.ll
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/main' into users/fhahn/sroa-use-tbaa-for-matching-field-access


  Commit: 513e4dc1af5e0a57dab5cd8df6fb1fc9e82b1e33
      https://github.com/llvm/llvm-project/commit/513e4dc1af5e0a57dab5cd8df6fb1fc9e82b1e33
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/integer_literals.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log2.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  [reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81835)

This is a reland of #81746


  Commit: c609211d912dfa9849c5ca873d40d10e32e0a975
      https://github.com/llvm/llvm-project/commit/c609211d912dfa9849c5ca873d40d10e32e0a975
  Author: Fred Tingaud <95592999+frederic-tingaud-sonarsource at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/DeclBase.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  [clang] Fix isInStdNamespace for Decl flagged extern c++ (#81776)

The MSVC STL implementation declares multiple classes using:

```cpp
namespace std {
  extern "C++" class locale {
    ...
  };
}
```

`isInStdNamespace` uses the first DeclContext to check whether a Decl is
inside the `std` namespace. Here, the first DeclContext of the `locale`
Decl is a LinkageSpecDecl so the method will return false.
We need to skip this LinkageSpecDecl to find the first DeclContext of
type Namespace and actually check whether we're in the `std` namespace.


  Commit: d68aa303fe779a29a981d1d4166c45a128aa65d6
      https://github.com/llvm/llvm-project/commit/d68aa303fe779a29a981d1d4166c45a128aa65d6
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvalEmitter.h
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/test/AST/Interp/c.c
    M clang/test/Sema/warn-char-subscripts.c

  Log Message:
  -----------
  [clang][Interp] Do r-to-l conversion immediately when returning (#80662)

First, we need to register local constant variables in C, so we get the
same diagnostic behavior as the current interpeter.

Second, when returning an LValue (as a Pointer), which we eventually
convert to an RValue, we need to do the conversion immediately when
saving the Pointer in the EvaluationResult. Otherwise, we will possibly
deallocate the data before doing the conversion (which will look at the
Block*).


  Commit: 97ab3c345d5c7de80dde3f8bd350841050244db9
      https://github.com/llvm/llvm-project/commit/97ab3c345d5c7de80dde3f8bd350841050244db9
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/CPP/array.h

  Log Message:
  -----------
  [libc][NFC] Fix missing `constexpr` qualifier in `cpp::array` (#81862)


  Commit: 84165864d458edce750f3a10d5dbd348970893b6
      https://github.com/llvm/llvm-project/commit/84165864d458edce750f3a10d5dbd348970893b6
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/UInt.h

  Log Message:
  -----------
  [libc][NFC] Fix missing replacement in BigInt (#81864)


  Commit: 7677453886a665b37f22c77434b36a680aba6ebb
      https://github.com/llvm/llvm-project/commit/7677453886a665b37f22c77434b36a680aba6ebb
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll

  Log Message:
  -----------
  [ConstantFolding] Do not consider padded-in-memory types as uniform (#81854)

Teaching ConstantFoldLoadFromUniformValue that types that are padded in
memory can't be considered as uniform.

Using the big hammer to prevent optimizations when loading from a
constant for which DataLayout::typeSizeEqualsStoreSize would return
false.

Main problem solved would be something like this:
  store i17 -1, ptr %p, align 4
  %v = load i8, ptr %p, align 1
If for example the i17 occupies 32 bits in memory, then LLVM IR doesn't
really tell where the padding goes. And even if we assume that the 15
most significant bits are padding, then they should be considered as
undefined (even if LLVM backend typically would pad with zeroes).
Anyway, for a big-endian target the load would read those most
significant bits, which aren't guaranteed to be one's. So it would be
wrong to constant fold the load as returning -1.

If LLVM IR had been more explicit about the placement of padding, then
we could allow the constant fold of the load in the example, but only
for little-endian.

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


  Commit: d3b825f80a979faf780605c8168c32bcbab756e1
      https://github.com/llvm/llvm-project/commit/d3b825f80a979faf780605c8168c32bcbab756e1
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  [AMDGPU] Use consistent DecoderNamespace for wave64 instructions. NFC. (#81863)

For wave64 WMMA instructions, putting W64 in the DecoderNamespace is
more descriptive than WMMA, and matches other uses for GFX12
GLOBAL_LOAD_TR instructions.


  Commit: 6e11ed240ba1769528d3eae47c7b8bbf9e4df19b
      https://github.com/llvm/llvm-project/commit/6e11ed240ba1769528d3eae47c7b8bbf9e4df19b
  Author: FruitClover <m.kashkarov at samsung.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Parse/RAIIObjectsForParser.h

  Log Message:
  -----------
  [clang][OpenACC] Fix copy-paste name in ParsingOpenACCDirectiveRAII (#81796)


  Commit: f20935266958ccb43ee6abe24e69c46f1d825365
      https://github.com/llvm/llvm-project/commit/f20935266958ccb43ee6abe24e69c46f1d825365
  Author: Bryce Wilson <bryce at brycemw.ca>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [clang] Allow builtin addc/subc to be constant evaluated (#81656)

[clang] Allow builtin addc/subc to be constant evaluated


  Commit: 630548a11423a40c5496cec78001374bfb8ff741
      https://github.com/llvm/llvm-project/commit/630548a11423a40c5496cec78001374bfb8ff741
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/CXX/drs/dr23xx.cpp

  Log Message:
  -----------
  [clang][NFC] Keep the order of DRs in dr23xx.cpp


  Commit: 3a626937b1b652e3c87cd0050df9c24cc5127d3b
      https://github.com/llvm/llvm-project/commit/3a626937b1b652e3c87cd0050df9c24cc5127d3b
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll

  Log Message:
  -----------
  [RISCV][TTI] Extract subvector at index zero is free (#81751)

Extracing a subvector at index zero corresponds to a type conversion and
possibly a subregister operation. We will not emit a vslidedown. As
such, they are free.

As an aside, it looks like we're not passing an index in for cases where
the subvec type is scalable. For at least index zero, we probably should
be.


  Commit: 2d616ec4f040141e103965f98456ba523762735d
      https://github.com/llvm/llvm-project/commit/2d616ec4f040141e103965f98456ba523762735d
  Author: Anton Lydike <me at AntonLydike.de>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/IR/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/IR/MPI.h
    A mlir/include/mlir/Dialect/MPI/IR/MPI.td
    A mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
    A mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/CMakeLists.txt
    A mlir/lib/Dialect/MPI/CMakeLists.txt
    A mlir/lib/Dialect/MPI/IR/CMakeLists.txt
    A mlir/lib/Dialect/MPI/IR/MPI.cpp
    A mlir/lib/Dialect/MPI/IR/MPIOps.cpp
    A mlir/test/Dialect/MPI/ops.mlir

  Log Message:
  -----------
  [mlir] Initial patch to add an MPI dialect (#68892)

This patch introduces the new MPI dialect into MLIR. The Message Passing
Interface (MPI) is a widely-used standard for distributed programs to
exchange data. This PR goes together with a talk later at today's LLVM
Dev Meeting.

This is just a first, small patch to get going and add the necessary
base files, so that we can add more operations in further patches.

Here's the documentation as generated by `ninja mlir-doc`:
# 'mpi' Dialect

This dialect models the Message Passing Interface (MPI), version 
4.0. It is meant to serve as an interfacing dialect that is targeted
by higher-level dialects. The MPI dialect itself can be lowered to 
multiple MPI implementations and hide differences in ABI. The dialect
models the functions of the MPI specification as close to 1:1 as
possible
while preserving SSA value semantics where it makes sense, and uses 
`memref` types instead of bare pointers.

This dialect is under active development, and while stability is an
eventual goal, it is not guaranteed at this juncture. Given the early 
state, it is recommended to inquire further prior to using this dialect.

For an in-depth documentation of the MPI library interface, please refer
to official documentation such as the 
[OpenMPI online documentation](https://www.open-mpi.org/doc/current/).

[TOC]

## Operation definition

### `mpi.comm_rank` (mpi::CommRankOp)

_Get the current rank, equivalent to `MPI_Comm_rank(MPI_COMM_WORLD,
&rank)`_


Syntax:

```
operation ::= `mpi.comm_rank` attr-dict `:` type(results)
```

Communicators other than `MPI_COMM_WORLD` are not supported for now.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
| `rank` | 32-bit signless integer


### `mpi.error_class` (mpi::ErrorClassOp)

_Get the error class from an error code, equivalent to the
`MPI_Error_class` function_


Syntax:

```
operation ::= `mpi.error_class` $val attr-dict `:` type($val)
```

`MPI_Error_class` maps return values from MPI calls to a set of
well-known
MPI error classes.

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `val` | MPI function call return value

#### Results:

| Result | Description |
| :----: | ----------- |
| `errclass` | MPI function call return value


### `mpi.finalize` (mpi::FinalizeOp)

_Finalize the MPI library, equivalent to `MPI_Finalize()`_


Syntax:

```
operation ::= `mpi.finalize` attr-dict (`:` type($retval)^)?
```

This function cleans up the MPI state. Afterwards, no MPI methods may 
be invoked (excpet for MPI_Get_version, MPI_Initialized, and
MPI_Finalized).
Notably, MPI_Init cannot be called again in the same program.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


### `mpi.init` (mpi::InitOp)

_Initialize the MPI library, equivalent to `MPI_Init(NULL, NULL)`_


Syntax:

```
operation ::= `mpi.init` attr-dict (`:` type($retval)^)?
```

This operation must preceed most MPI calls (except for very few
exceptions,
please consult with the MPI specification on these).

Passing &argc, &argv is not supported currently.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


### `mpi.recv` (mpi::RecvOp)

_Equivalent to `MPI_Recv(ptr, size, dtype, dest, tag, MPI_COMM_WORLD,
MPI_STATUS_IGNORE)`_


Syntax:

```
operation ::= `mpi.recv` `(` $ref `,` $tag `,` $rank `)` attr-dict `:` type($ref) `,` type($tag) `,` type($rank)(`->` type($retval)^)?
```

MPI_Recv performs a blocking receive of `size` elements of type `dtype` 
from rank `dest`. The `tag` value and communicator enables the library
to
determine the matching of multiple sends and receives between the same 
ranks.

Communicators other than `MPI_COMM_WORLD` are not supprted for now.
The MPI_Status is set to `MPI_STATUS_IGNORE`, as the status object 
is not yet ported to MLIR.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `ref` | memref of any type values
| `tag` | 32-bit signless integer
| `rank` | 32-bit signless integer

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


### `mpi.retval_check` (mpi::RetvalCheckOp)

_Check an MPI return value against an error class_


Syntax:

```
operation ::= `mpi.retval_check` $val `=` $errclass attr-dict `:` type($res)
```

This operation compares MPI status codes to known error class
constants such as `MPI_SUCCESS`, or `MPI_ERR_COMM`.

#### Attributes:

<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>

<tr><td><code>errclass</code></td><td>::mlir::mpi::MPI_ErrorClassEnumAttr</td><td><details><summary>MPI
error class name</summary>{{% markdown %}}Enum cases:
* MPI_SUCCESS (`MPI_SUCCESS`)
* MPI_ERR_ACCESS (`MPI_ERR_ACCESS`)
* MPI_ERR_AMODE (`MPI_ERR_AMODE`)
* MPI_ERR_ARG (`MPI_ERR_ARG`)
* MPI_ERR_ASSERT (`MPI_ERR_ASSERT`)
* MPI_ERR_BAD_FILE (`MPI_ERR_BAD_FILE`)
* MPI_ERR_BASE (`MPI_ERR_BASE`)
* MPI_ERR_BUFFER (`MPI_ERR_BUFFER`)
* MPI_ERR_COMM (`MPI_ERR_COMM`)
* MPI_ERR_CONVERSION (`MPI_ERR_CONVERSION`)
* MPI_ERR_COUNT (`MPI_ERR_COUNT`)
* MPI_ERR_DIMS (`MPI_ERR_DIMS`)
* MPI_ERR_DISP (`MPI_ERR_DISP`)
* MPI_ERR_DUP_DATAREP (`MPI_ERR_DUP_DATAREP`)
* MPI_ERR_ERRHANDLER (`MPI_ERR_ERRHANDLER`)
* MPI_ERR_FILE (`MPI_ERR_FILE`)
* MPI_ERR_FILE_EXISTS (`MPI_ERR_FILE_EXISTS`)
* MPI_ERR_FILE_IN_USE (`MPI_ERR_FILE_IN_USE`)
* MPI_ERR_GROUP (`MPI_ERR_GROUP`)
* MPI_ERR_INFO (`MPI_ERR_INFO`)
* MPI_ERR_INFO_KEY (`MPI_ERR_INFO_KEY`)
* MPI_ERR_INFO_NOKEY (`MPI_ERR_INFO_NOKEY`)
* MPI_ERR_INFO_VALUE (`MPI_ERR_INFO_VALUE`)
* MPI_ERR_IN_STATUS (`MPI_ERR_IN_STATUS`)
* MPI_ERR_INTERN (`MPI_ERR_INTERN`)
* MPI_ERR_IO (`MPI_ERR_IO`)
* MPI_ERR_KEYVAL (`MPI_ERR_KEYVAL`)
* MPI_ERR_LOCKTYPE (`MPI_ERR_LOCKTYPE`)
* MPI_ERR_NAME (`MPI_ERR_NAME`)
* MPI_ERR_NO_MEM (`MPI_ERR_NO_MEM`)
* MPI_ERR_NO_SPACE (`MPI_ERR_NO_SPACE`)
* MPI_ERR_NO_SUCH_FILE (`MPI_ERR_NO_SUCH_FILE`)
* MPI_ERR_NOT_SAME (`MPI_ERR_NOT_SAME`)
* MPI_ERR_OP (`MPI_ERR_OP`)
* MPI_ERR_OTHER (`MPI_ERR_OTHER`)
* MPI_ERR_PENDING (`MPI_ERR_PENDING`)
* MPI_ERR_PORT (`MPI_ERR_PORT`)
* MPI_ERR_PROC_ABORTED (`MPI_ERR_PROC_ABORTED`)
* MPI_ERR_QUOTA (`MPI_ERR_QUOTA`)
* MPI_ERR_RANK (`MPI_ERR_RANK`)
* MPI_ERR_READ_ONLY (`MPI_ERR_READ_ONLY`)
* MPI_ERR_REQUEST (`MPI_ERR_REQUEST`)
* MPI_ERR_RMA_ATTACH (`MPI_ERR_RMA_ATTACH`)
* MPI_ERR_RMA_CONFLICT (`MPI_ERR_RMA_CONFLICT`)
* MPI_ERR_RMA_FLAVOR (`MPI_ERR_RMA_FLAVOR`)
* MPI_ERR_RMA_RANGE (`MPI_ERR_RMA_RANGE`)
* MPI_ERR_RMA_SHARED (`MPI_ERR_RMA_SHARED`)
* MPI_ERR_RMA_SYNC (`MPI_ERR_RMA_SYNC`)
* MPI_ERR_ROOT (`MPI_ERR_ROOT`)
* MPI_ERR_SERVICE (`MPI_ERR_SERVICE`)
* MPI_ERR_SESSION (`MPI_ERR_SESSION`)
* MPI_ERR_SIZE (`MPI_ERR_SIZE`)
* MPI_ERR_SPAWN (`MPI_ERR_SPAWN`)
* MPI_ERR_TAG (`MPI_ERR_TAG`)
* MPI_ERR_TOPOLOGY (`MPI_ERR_TOPOLOGY`)
* MPI_ERR_TRUNCATE (`MPI_ERR_TRUNCATE`)
* MPI_ERR_TYPE (`MPI_ERR_TYPE`)
* MPI_ERR_UNKNOWN (`MPI_ERR_UNKNOWN`)
* MPI_ERR_UNSUPPORTED_DATAREP (`MPI_ERR_UNSUPPORTED_DATAREP`)
* MPI_ERR_UNSUPPORTED_OPERATION (`MPI_ERR_UNSUPPORTED_OPERATION`)
* MPI_ERR_VALUE_TOO_LARGE (`MPI_ERR_VALUE_TOO_LARGE`)
* MPI_ERR_WIN (`MPI_ERR_WIN`)
* MPI_ERR_LASTCODE (`MPI_ERR_LASTCODE`){{% /markdown
%}}</details></td></tr>
</table>

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `val` | MPI function call return value

#### Results:

| Result | Description |
| :----: | ----------- |
| `res` | 1-bit signless integer


### `mpi.send` (mpi::SendOp)

_Equivalent to `MPI_Send(ptr, size, dtype, dest, tag, MPI_COMM_WORLD)`_


Syntax:

```
operation ::= `mpi.send` `(` $ref `,` $tag `,` $rank `)` attr-dict `:` type($ref) `,` type($tag) `,` type($rank)(`->` type($retval)^)?
```

MPI_Send performs a blocking send of `size` elements of type `dtype` to
rank
`dest`. The `tag` value and communicator enables the library to
determine
the matching of multiple sends and receives between the same ranks.

Communicators other than `MPI_COMM_WORLD` are not supprted for now.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `ref` | memref of any type values
| `tag` | 32-bit signless integer
| `rank` | 32-bit signless integer

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


## Attribute definition

### MPI_ErrorClassEnumAttr

MPI error class name

Syntax:

```
#mpi.errclass<
  ::mlir::mpi::MPI_ErrorClassEnum   # value
>
```

Enum cases:
* MPI_SUCCESS (`MPI_SUCCESS`)
* MPI_ERR_ACCESS (`MPI_ERR_ACCESS`)
* MPI_ERR_AMODE (`MPI_ERR_AMODE`)
* ... *all other MPI error codes*

#### Parameters:

| Parameter | C++ type | Description |
| :-------: | :-------: | ----------- |
| value | `::mlir::mpi::MPI_ErrorClassEnum` | an enum of type
MPI_ErrorClassEnum |

## Type definition

### RetvalType

MPI function call return value

Syntax: `!mpi.retval`

This type represents a return value from an MPI function vall.
This value can be MPI_SUCCESS, MPI_ERR_IN_STATUS, or any error code.

This return value can be compared agains the known MPI error classes
represented by `#mpi.errclass` using the `mpi.retval_check` operation.


  Commit: 356400049064e1de5579a755a0feb174c0e561ef
      https://github.com/llvm/llvm-project/commit/356400049064e1de5579a755a0feb174c0e561ef
  Author: David Green <david.green at arm.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/neon-mov.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] FNeg constant materialization (#80643)

This is a Global ISel equivalent of #80641, creating fneg(movi) instead
of the alternative constant pool load or gpr dup.


  Commit: e6b52a2fe61d6cbc1ea3496cb826da25de0529ad
      https://github.com/llvm/llvm-project/commit/e6b52a2fe61d6cbc1ea3496cb826da25de0529ad
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/UInt.h

  Log Message:
  -----------
  [libc][NFC] Cleanup unnecessary template parameters in BigInt (#81871)


  Commit: c81929e9a843447fa52d21f7ce2e6788d740f2f4
      https://github.com/llvm/llvm-project/commit/c81929e9a843447fa52d21f7ce2e6788d740f2f4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Return std::nullopt explicitly.


  Commit: 9c6a2de24b6a9f01efd68546f7ab8c36f71a2352
      https://github.com/llvm/llvm-project/commit/9c6a2de24b6a9f01efd68546f7ab8c36f71a2352
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td

  Log Message:
  -----------
  [AMDGPU] Clean up functions for checking inline literals (#81282)

This patch cleans up functions for checking inline literals.


  Commit: 54826d4980db5782dac2d7326c29ad60cd017e56
      https://github.com/llvm/llvm-project/commit/54826d4980db5782dac2d7326c29ad60cd017e56
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Emit dummy pointers for unknown static locals

We used to emit dummy pointers for unknown declarations in certain
cases in C, but this is also necessary in C++.

I'm limiting this to static local variables for now.


  Commit: 6cfbf8ccce8295b5d130c48a76a134da5f6194ae
      https://github.com/llvm/llvm-project/commit/6cfbf8ccce8295b5d130c48a76a134da5f6194ae
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/utils/HdrGen/PublicAPICommand.cpp
    M libc/utils/HdrGen/PublicAPICommand.h

  Log Message:
  -----------
  [libc] add support for function level attributes (#79891)

See discussion at
https://discourse.llvm.org/t/rfc-support-function-attributes-in-user-interface/76624

Demo macro:
```c++
#if !defined(__LIBC_CONST_ATTR) && defined(__cplusplus) && defined(__GNUC__)
#if __has_attribute(const)
#define __LIBC_CONST_ATTR [[gnu::const]]
#endif
#endif
#if !defined(__LIBC_CONST_ATTR) && defined(__GNUC__)
#if __has_attribute(const)
#define __LIBC_CONST_ATTR __attribute__((const))
#endif
#endif
#if !defined(__LIBC_CONST_ATTR)
#define __LIBC_CONST_ATTR
#endif
```


  Commit: d485317357376ba6335fe7116efec8edcebd689c
      https://github.com/llvm/llvm-project/commit/d485317357376ba6335fe7116efec8edcebd689c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [TargetLowering] Emit SIGN_EXTEND_INREG instead of shift pair from optimizeSetCCOfSignedTruncationCheck. (#81785)

sext_inreg is our canonical form of shift pair before op legalization so
DAG combiner will probably create it anyway. If it isn't legal
LegalizeDAG will expand to shifts later.


  Commit: 537500995a1396a65c37d575216d81a33bd99656
      https://github.com/llvm/llvm-project/commit/537500995a1396a65c37d575216d81a33bd99656
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [llvm][Support] Add quotes around option name (#81784)


  Commit: a1d4c69344f5a2c55043fdc0e43ebf76459eda95
      https://github.com/llvm/llvm-project/commit/a1d4c69344f5a2c55043fdc0e43ebf76459eda95
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/integer_literals.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log2.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  Revert "[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants" (#81882)

Reverts llvm/llvm-project#81835
This is breaking arm32 which does not support 64 bit types.


  Commit: 2eaeae7e9a298b8a4c9a313f914c42f1e0b82c39
      https://github.com/llvm/llvm-project/commit/2eaeae7e9a298b8a4c9a313f914c42f1e0b82c39
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/include/llvm/Object/Wasm.h
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/test/tools/llvm-nm/wasm/exports.yaml
    M llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml
    M llvm/test/tools/llvm-objdump/wasm/linked-symbol-table-namesec.yaml

  Log Message:
  -----------
  [Object][Wasm] Use offset instead of index for Global address and store size (#81781)

Currently the address reported by binutils for a global is its index;
but its offset (in the file or section) is more useful for binary size
attribution.
This PR treats globals similarly to functions, and tracks their offset
and size. It also centralizes the logic differentiating linked from object
and dylib files (where section addresses are 0).


  Commit: f905877f2039e97479425e4d78cbfde72f360b4d
      https://github.com/llvm/llvm-project/commit/f905877f2039e97479425e4d78cbfde72f360b4d
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp

  Log Message:
  -----------
  [LLVM][DWARF] Fix for memory leak (#81828)

This is followup to https://github.com/llvm/llvm-project/pull/8120.
Missed a destuctor.


  Commit: 8bda8cfae6aa3c32cca7997ab64771e6a78f3e61
      https://github.com/llvm/llvm-project/commit/8bda8cfae6aa3c32cca7997ab64771e6a78f3e61
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/CXX/drs/dr23xx.cpp

  Log Message:
  -----------
  [clang][NFC] Fix buildbot failure in drs/23xx.cpp

This is a follow-up to 630548a11423a40c5496cec78001374bfb8ff741, which fixed builtbot failure https://lab.llvm.org/buildbot/#/builders/188/builds/41930


  Commit: 1fe8e2b6dbf16f60b3c6cc5f81c62be8a0e91e5b
      https://github.com/llvm/llvm-project/commit/1fe8e2b6dbf16f60b3c6cc5f81c62be8a0e91e5b
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/CMakeLists.txt
    R mlir/include/mlir/Dialect/MPI/CMakeLists.txt
    R mlir/include/mlir/Dialect/MPI/IR/CMakeLists.txt
    R mlir/include/mlir/Dialect/MPI/IR/MPI.h
    R mlir/include/mlir/Dialect/MPI/IR/MPI.td
    R mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
    R mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/CMakeLists.txt
    R mlir/lib/Dialect/MPI/CMakeLists.txt
    R mlir/lib/Dialect/MPI/IR/CMakeLists.txt
    R mlir/lib/Dialect/MPI/IR/MPI.cpp
    R mlir/lib/Dialect/MPI/IR/MPIOps.cpp
    R mlir/test/Dialect/MPI/ops.mlir

  Log Message:
  -----------
  Revert "[mlir] Initial patch to add an MPI dialect (#68892)" (#81884)

This reverts commit 2d616ec4f040141e103965f98456ba523762735d.

Buildbot failures:
https://lab.llvm.org/buildbot/#/builders/177/builds/29364


  Commit: f872706615cb928ec35ea35280536b59a22a2bf2
      https://github.com/llvm/llvm-project/commit/f872706615cb928ec35ea35280536b59a22a2bf2
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M compiler-rt/test/profile/instrprof-block-coverage.c
    M compiler-rt/test/profile/instrprof-entry-coverage.c

  Log Message:
  -----------
  [InstrProf] Test that entry coverage counts accumulate (#81806)


  Commit: 24144d726fefefb0245eb1c2700606002355f4fe
      https://github.com/llvm/llvm-project/commit/24144d726fefefb0245eb1c2700606002355f4fe
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/SemaOpenACC.cpp

  Log Message:
  -----------
  [OpenACC][NFC] Implement basic OpenACC Sema infrastructure (#81874)

This patch is split off from #81659, and contains just the Sema
infrastructure that we can later use to implement semantic analysis of
OpenACC constructs.


  Commit: 9b514235fc383e1b76b8044da273cc04bf5160a8
      https://github.com/llvm/llvm-project/commit/9b514235fc383e1b76b8044da273cc04bf5160a8
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for bugprone-argument-comment in ValueBoundsOpInterface.cpp (NFC)


  Commit: de2f5bcd797a22bfa38791ac4e769ec194850560
      https://github.com/llvm/llvm-project/commit/de2f5bcd797a22bfa38791ac4e769ec194850560
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/IR/AsmPrinter.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in AsmPrinter.cpp (NFC)


  Commit: b39958c2e8b9b4e357facabdc303cda4cbf2bc0d
      https://github.com/llvm/llvm-project/commit/b39958c2e8b9b4e357facabdc303cda4cbf2bc0d
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/IR/BuiltinDialectBytecode.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-else-after-return in BuiltinDialectBytecode.cpp (NFC)


  Commit: e8d09a5b44de95f8cc675fce21b06dd45955e05a
      https://github.com/llvm/llvm-project/commit/e8d09a5b44de95f8cc675fce21b06dd45955e05a
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/IR/Operation.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-identifier-naming in Operation.cpp (NFC)


  Commit: 6f2414261beddd111a460a6f48666ec6032db6f5
      https://github.com/llvm/llvm-project/commit/6f2414261beddd111a460a6f48666ec6032db6f5
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/Support/Timing.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-include-order in Timing.cpp (NFC)


  Commit: e82659fff2f07b5ea1d94e0d8bcb9c540d6bede1
      https://github.com/llvm/llvm-project/commit/e82659fff2f07b5ea1d94e0d8bcb9c540d6bede1
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/min.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl

  Log Message:
  -----------
  [HLSL] Expose `half` types and intrinsics always (#81782)

We previously made an implmenetation error when adding `half` overloads
for HLSL library functionalitly. The `half` type is always defined in
HLSL and `half` intrinsics should not be conditionally included.

When native 16-bit types are disabled `half` is a unique 32-bit float
type with lesser promotion rank than `float`.

Fixes #81049


  Commit: 267d6b5ed2f0a4b1fcf7ac0138427905e431a3e1
      https://github.com/llvm/llvm-project/commit/267d6b5ed2f0a4b1fcf7ac0138427905e431a3e1
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-uzp1.ll

  Log Message:
  -----------
  [AArch64][SVE] Instcombine uzp1/reinterpret svbool to use vector.insert (#81069)

Concatenating two predictes using uzp1 after converting to double length
using sve.convert.to/from.svbool is optimized poorly in the backend,
resulting in additional `and` instructions to zero the lanes. See
https://github.com/llvm/llvm-project/pull/78623/

Combine this pattern to use `llvm.vector.insert` to concatenate and get
rid of convert to/from svbools.


  Commit: 08fe7df600aeff45917eb865d103d6c431f42285
      https://github.com/llvm/llvm-project/commit/08fe7df600aeff45917eb865d103d6c431f42285
  Author: Po-yao Chang <poyaoc97 at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h

  Log Message:
  -----------
  [libc++][format] Don't treat a closing '}' as part of format-spec (#81305)

This allows:
```
std::println("{}>42", std::thread::id{});
std::println("{}>42", std::span<int>{});
std::println("{}>42", std::pair{42, "Hello"sv});
std::println("{:}>42", std::thread::id{});
std::println("{:}>42", std::span<int>{});
std::println("{:}>42", std::pair{42, "Hello"sv});
```
to compile and run.


  Commit: 0f1847cb2c5462a09d65a9b5ac24904ac3c15a0f
      https://github.com/llvm/llvm-project/commit/0f1847cb2c5462a09d65a9b5ac24904ac3c15a0f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Use RISCVSubtarget::hasStdExtCOrZcd() in HasStdExtCOrZcd tablgen Predicate. NFC


  Commit: fc027e10ba3d343b583264776c8f4f8e82ad4560
      https://github.com/llvm/llvm-project/commit/fc027e10ba3d343b583264776c8f4f8e82ad4560
  Author: LRFLEW <LRFLEW at aol.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp

  Log Message:
  -----------
  linear_congruential_engine: Fixes for __lce_alg_picker (#81080)

This fixes two major mistakes in the implementation of
`linear_congruential_engine` that allowed it to produce incorrect
output. Specifically, these mistakes are in `__lce_alg_picker`, which is
used to determine whether Schrage's algorithm is valid and needed.

The first mistake is in the definition of `_OverflowOK`. The code
comment and the description of [D65041](https://reviews.llvm.org/D65041)
both indicate that it's supposed to be true iff `m` is a power of two.
However, the definition used does not work out to that, and instead is
true whenever `m` is even. This could result in
`linear_congruential_engine` using an invalid implementation, as it
would incorrectly assume that any integer overflow can't change the
result. I changed the implementation to one that accurately checks if
`m` is a power of two. Technically, this implementation has an edge case
where it considers `0` to be a power of two, but in this case this is
actually accurate behavior, as `m = 0` indicates a modulus of 2^w where
w is the size of `result_type` in bits, which *is* a power of two.

The second mistake is in the static assert. The original static assert
erroneously included an unnecessary `a != 0 || m != 0`. Combined with
the `|| !_MightOverflow`, this actually resulted in the static assert
being impossible to fail. Applying De Morgan's law and expanding
`_MightOverflow` gives that the only way this static assert can be
triggered is if `a == 0 && m == 0 && a != 0 && m != 0 && ...`, which
clearly cannot be true. I simply removed the explicit checks against `a`
and `m`, as the intended checks are already included in `_MightOverflow`
and `_SchrageOK`, and their inclusion doesn't provide any obvious
semantic benefit.

This should fix all the current instances where
`linear_congruential_engine` uses an invalid implementation. This
technically isn't a complete implementation, though, since the static
assert will cause some instantiations of `linear_congruential_engine`
not disallowed by the standard from compiling. However, this should
still be an improvement, as all compiling instantiations of
`linear_congruential_engine` should use a valid implementation. Fixing
the cases where the static assert triggers will require adding
additional implementations, some of which will be fairly non-trivial, so
I'd rather leave those for another PR so they don't hold up these more
important fixes.

Fixes #33554


  Commit: b57ba8ec514190b38eced26d541e8e25af66c485
      https://github.com/llvm/llvm-project/commit/b57ba8ec514190b38eced26d541e8e25af66c485
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/condops.ll

  Log Message:
  -----------
  [RISCV] Use APInt in useInversedSetcc to prevent crashes when mask is larger than UINT64_MAX. (#81888)

There are no checks that the type is legal so we need to handle any
type.


  Commit: 04381c106f1cb0d3219ddabe231fe900113a9474
      https://github.com/llvm/llvm-project/commit/04381c106f1cb0d3219ddabe231fe900113a9474
  Author: erman-gurses <99776114+erman-gurses at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
    M mlir/lib/Dialect/AMDGPU/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
    M mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir

  Log Message:
  -----------
  [MLIR][AMDGPU]Add refactoring for shared-mem optimization (#81791)

Addressing the issues in this PR:
https://github.com/llvm/llvm-project/pull/81550


  Commit: 495c57ffedfedc98751f07295b7b6ce95bf3eb9c
      https://github.com/llvm/llvm-project/commit/495c57ffedfedc98751f07295b7b6ce95bf3eb9c
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/math_extras.h

  Log Message:
  -----------
  [libc] Make add_with_carry and sub_with_borrow constexpr. (#81898)


  Commit: f086d80d9a14cd9cd8908347bf34a8dfbcfecde9
      https://github.com/llvm/llvm-project/commit/f086d80d9a14cd9cd8908347bf34a8dfbcfecde9
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [Github] Run documentation test build on change to the workflow

This makes it so that the documentation test build workflow will run
when the workflow itself is changed. This makes it much easier to test
inside of PRs that modify the workflow.


  Commit: efad1885bfbda7f456e0e6e1db660fe55515a4b9
      https://github.com/llvm/llvm-project/commit/efad1885bfbda7f456e0e6e1db660fe55515a4b9
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  Fix uncounted-obj-arg.cpp for Windows. (#81903)


  Commit: a1155f68f5d5c7013ca1deb312a2e1e4f71ef544
      https://github.com/llvm/llvm-project/commit/a1155f68f5d5c7013ca1deb312a2e1e4f71ef544
  Author: Chris Bieneman <chris.bieneman at me.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [NFC] Clang-format const array declarations

This just updates indentation of constant array declarations to be
style conformant.


  Commit: 6a8ab129300bfdf7cc58e023b06e0aada4458205
      https://github.com/llvm/llvm-project/commit/6a8ab129300bfdf7cc58e023b06e0aada4458205
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Properly emit call ops to invalid functions

Just like everywhere else, we can't just abort compilation because
a function is invalid. We need to emit the Call op and let later
interpretation handle the failure.

This fixes a long standing FIXME comment.


  Commit: 3e004d1e8bcf07e66ecccd17ac56882fbe9a5c41
      https://github.com/llvm/llvm-project/commit/3e004d1e8bcf07e66ecccd17ac56882fbe9a5c41
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [Github] Enable warnings as errors on flang sphinx build (#72723)

Now that the number of warnings in the flang sphinx build has come down
significantly, we can turn on warnings as errors in the sphinx build,
which is the default configuration in CMake.


  Commit: 4d273b948ef064230091e41cf81f4c1b91d5beb4
      https://github.com/llvm/llvm-project/commit/4d273b948ef064230091e41cf81f4c1b91d5beb4
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/test/Dialect/SparseTensor/torch_linalg.mlir

  Log Message:
  -----------
  [mlir][sparse] ensure [dis]assembler wrapper methods properly inline (#81907)


  Commit: df81055955d564dccfd43a9faeb2f54c8c998f68
      https://github.com/llvm/llvm-project/commit/df81055955d564dccfd43a9faeb2f54c8c998f68
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/CXX/drs/dr12xx.cpp
    M clang/test/CXX/drs/dr18xx.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    M clang/test/CXX/drs/dr2335.cpp
    M clang/test/CXX/drs/dr24xx.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/test/CXX/drs/dr4xx.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [clang] Do less advertising for unresolved issues in `cxx_dr_status.html` (#78836)

This patch places additional requirement on tests for open issues to
specify what do they test, and reduce their advertising on
`cxx_dr_status.html`.

Tests for open issues have to either provide date of the proposed
resolution they test, or a paper number that attempts to resolve the
issue. Examples from this patch: `// dr1223: 17 drafting 2023-05-12`,
`// dr2049: 18 drafting P2308R1`, `// dr2335: no drafting 2018-06`.

Tests for open issues are no longer advertised in `cxx_dr_status.html`
as tests for resolved issues. Instead, they are specified as `Not
Resolved*` (note the asterisk). Such statuses have a tooltip with the
following kind of text:
`Clang 17 implements 2023-05-12 resolution`
`Clang does not implement 2018-06-04 resolution` 
`Clang 18 implements P2308R1 resolution`
I admit that the wording is a bit crude, but I tried to minimize amount
of boilerplate in the `make_cxx_dr_status`. Hopefully, this whole setup
matches [C++ compiler
support](https://en.cppreference.com/w/cpp/compiler_support) page on
cppreference enough for people to catch up.

This patch also implement a quality-of-life feature for users of
`make_cxx_dr_status`: now script is able to report multiple bad `// dr`
comments in a single run.

This has also been discussed in a PR for CWG472 test:
https://github.com/llvm/llvm-project/pull/67948


  Commit: 65c25a4c40865a0e460c0fecb1b33f7cf7455573
      https://github.com/llvm/llvm-project/commit/65c25a4c40865a0e460c0fecb1b33f7cf7455573
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py

  Log Message:
  -----------
  [lldb][test] Skip TestDAP_commands.py test due to flakiness


  Commit: 82a4a41614f4943e6b2e85bbc8cb8507d2236524
      https://github.com/llvm/llvm-project/commit/82a4a41614f4943e6b2e85bbc8cb8507d2236524
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/fixed_point/CMakeLists.txt
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h

  Log Message:
  -----------
  [libc][stdfix] Add support for fixed point types in the testing infrastructure. (#81819)


  Commit: b4972341462b4e892b4f24abe3f6970054f28b16
      https://github.com/llvm/llvm-project/commit/b4972341462b4e892b4f24abe3f6970054f28b16
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/function-args.ll
    M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
    A llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll

  Log Message:
  -----------
  [AMDGPU] Make maximum hard clause size a subtarget feature (#81287)

gfx11 chips may, in some conditions, behave incorrectly with S_CLAUSE
instructions (hard clauses) containing more than 32 operations (that is,
whose arguments exceed 0x1f). However, gfx10 targets will work
successfully with clauses of up to length 63.

Therefore, define the MaxHardClauseLength property on GCNSubtarget and
make it a subtarget feature via tablegen, thus allowing us to specify,
both now and in the future, the maximum viable size of clauses on
various hardware from the tablegen definition. If MaxHardClauseLength is
0, which is the default, the hardware does not support hard clauses.


  Commit: db4ea21dfde307f4fc873a6fe56791cd7ae3f0a1
      https://github.com/llvm/llvm-project/commit/db4ea21dfde307f4fc873a6fe56791cd7ae3f0a1
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.c
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/parse-constructs.cpp
    M clang/test/ParserOpenACC/parse-wait-clause.c
    M clang/test/ParserOpenACC/parse-wait-construct.c
    M clang/test/ParserOpenACC/unimplemented.c
    M clang/test/ParserOpenACC/unimplemented.cpp

  Log Message:
  -----------
  [OpenACC] Change 'not implemented' diagnostic to be more specific

Currently we just emit a generic 'not implemented' diagnostic for all
OpenACC pragmas. This patch moves the diagnostic to 'Sema' and diagnoses
for a specific clause or construct, in preperation of implementing Sema
for constructs.


  Commit: 235ec0f791749d94ac1ca1441b8b06d4ba09792c
      https://github.com/llvm/llvm-project/commit/235ec0f791749d94ac1ca1441b8b06d4ba09792c
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp

  Log Message:
  -----------
  [mlir][sparse] remove LevelType enum, construct LevelType from LevelF… (#81799)

…ormat and properties instead.


  Commit: 55e6c1901576716658b3c1b6ceaf018958331f24
      https://github.com/llvm/llvm-project/commit/55e6c1901576716658b3c1b6ceaf018958331f24
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/UInt.h
    M libc/src/__support/integer_utils.h
    M libc/src/__support/number_pair.h

  Log Message:
  -----------
  [libc][NFC] Annotate LIBC_INLINE and constexpr to BigInt and DyadicFloat methods. (#81912)


  Commit: d2c9a19dd8048801ef1d8238948c39ad4fcdcf95
      https://github.com/llvm/llvm-project/commit/d2c9a19dd8048801ef1d8238948c39ad4fcdcf95
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT][NFC] Pass BF/BB hashes to BAT



Test Plan: NFC

Reviewers: dcci, rafaelauler, maksfb, ayermolo

Reviewed By: rafaelauler

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


  Commit: 5b51d45f496f10a74dea5a100cf18b33b45493dc
      https://github.com/llvm/llvm-project/commit/5b51d45f496f10a74dea5a100cf18b33b45493dc
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    A llvm/test/CodeGen/X86/code-model-elf-merge-sections.ll

  Log Message:
  -----------
  [X86] Use ".lrodata" prefix for large mergeable constants (#81900)

Otherwise with a small enough large-data-threshold, we can get .rodata.*
sections marked large, making .rodata large in the final binary.


  Commit: 834d11c21541c8bf92ef598c1171e8163b69e8c7
      https://github.com/llvm/llvm-project/commit/834d11c21541c8bf92ef598c1171e8163b69e8c7
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll

  Log Message:
  -----------
  Revert "[RISCV][TTI] Extract subvector at index zero is free (#81751)"

This reverts commit 3a626937b1b652e3c87cd0050df9c24cc5127d3b.

Causes tests added by fc0b67e1d79d1f199687f8f06d619984d9520230 to fail.


  Commit: edfc859af89e44207bf499b5d702aa26a7357da4
      https://github.com/llvm/llvm-project/commit/edfc859af89e44207bf499b5d702aa26a7357da4
  Author: David Goldman <dallasftball at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/Rename.h
    M clang-tools-extra/clangd/test/rename.test
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp

  Log Message:
  -----------
  Add support for renaming objc methods, even those with multiple selector pieces (#76466)

This adds support for  renaming Objective-C methods, which are unique since their method names can be split across multiple tokens.


  Commit: 5c57fd717d5d6a285efeb8402c6fe0c8f70592f3
      https://github.com/llvm/llvm-project/commit/5c57fd717d5d6a285efeb8402c6fe0c8f70592f3
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Overload.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
    A clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
    M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
    A clang/test/SemaHLSL/VectorOverloadResolution.hlsl
    A clang/test/SemaHLSL/standard_conversion_sequences.hlsl

  Log Message:
  -----------
  [HLSL] Vector standard conversions (#71098)

HLSL supports vector truncation and element conversions as part of
standard conversion sequences. The vector truncation conversion is a C++
second conversion in the conversion sequence. If a vector truncation is
in a conversion sequence an element conversion may occur after it before
the standard C++ third conversion.

Vector element conversions can be boolean conversions, floating point or
integral conversions or promotions.

[HLSL Draft
Specification](https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf)

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: e3f88a9e587a6924054def5e26b3c976dcb31453
      https://github.com/llvm/llvm-project/commit/e3f88a9e587a6924054def5e26b3c976dcb31453
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU] Rewrite `getVOP3DPPSrcForVT` with `!cond` (#81889)

`!cond` is much more clear than nested `!if`.


  Commit: dc3258c617420e83caff63c93d548e0923b10791
      https://github.com/llvm/llvm-project/commit/dc3258c617420e83caff63c93d548e0923b10791
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Utils.h
    M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
    A mlir/lib/Dialect/Mesh/Transforms/TransformsDetail.h
    M mlir/lib/IR/Builders.cpp
    A mlir/test/Dialect/Mesh/all-scatter-op-lowering.mlir
    M mlir/test/Dialect/Mesh/canonicalization.mlir
    M mlir/test/Dialect/Mesh/invalid.mlir
    M mlir/test/Dialect/Mesh/ops.mlir
    M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir
    M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
    A mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
    R mlir/test/lib/Dialect/Mesh/TestProcessMultiIndexOpLowering.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][mesh] Add all-slice operation (#81218)

This op is the inverse of all-gather. It is useful to have an explicit
concise representation instead of having a blob of slicing logic.

Add lowering for the op that slices from the tensor based on the
in-group process index.

Make resharding generate an all-slice instead of inserting the slicing
logic directly.


  Commit: 60cb09ba4f0ad6602483b40625a272eeebdcdc45
      https://github.com/llvm/llvm-project/commit/60cb09ba4f0ad6602483b40625a272eeebdcdc45
  Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [clang][dataflow] Fix crash on unions introduced in ba279934c6ab09d5394a89d8318651aefd8d565b (#81918)

The commit was itself a crash fix, but inadvertently changed the
behavior for unions, which results in crashes.


  Commit: 2a9b86cc10c3883cca51a5166aad6e2b755fa958
      https://github.com/llvm/llvm-project/commit/2a9b86cc10c3883cca51a5166aad6e2b755fa958
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/SROA/tbaa-struct3.ll

  Log Message:
  -----------
  [SROA] Extend !tbaa.struct test coverage with multiple missing cases.

Add tests to cover missing cases for
https://github.com/llvm/llvm-project/pull/81289 and
https://github.com/llvm/llvm-project/pull/81313.


  Commit: ab4b11c3fd87b67d021bd2e7ee2ed1a913b64577
      https://github.com/llvm/llvm-project/commit/ab4b11c3fd87b67d021bd2e7ee2ed1a913b64577
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M .github/workflows/docs.yml
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/Rename.h
    M clang-tools-extra/clangd/test/rename.test
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Parse/RAIIObjectsForParser.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvalEmitter.h
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    A clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/AST/Interp/records.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/CXX/drs/dr12xx.cpp
    M clang/test/CXX/drs/dr18xx.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    M clang/test/CXX/drs/dr2335.cpp
    M clang/test/CXX/drs/dr23xx.cpp
    M clang/test/CXX/drs/dr24xx.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/test/CXX/drs/dr4xx.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/min.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    M clang/test/ParserOpenACC/parse-cache-construct.c
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/parse-constructs.cpp
    M clang/test/ParserOpenACC/parse-wait-clause.c
    M clang/test/ParserOpenACC/parse-wait-construct.c
    M clang/test/ParserOpenACC/unimplemented.c
    M clang/test/ParserOpenACC/unimplemented.cpp
    M clang/test/Sema/warn-char-subscripts.c
    M clang/test/SemaCXX/builtins-overflow.cpp
    M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
    A clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
    M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
    A clang/test/SemaHLSL/VectorOverloadResolution.hlsl
    A clang/test/SemaHLSL/standard_conversion_sequences.hlsl
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status
    M compiler-rt/test/profile/instrprof-block-coverage.c
    M compiler-rt/test/profile/instrprof-entry-coverage.c
    M libc/include/llvm-libc-macros/stdfix-macros.h
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/__support/CPP/array.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/UInt.h
    M libc/src/__support/fixed_point/CMakeLists.txt
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/src/__support/integer_utils.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/number_pair.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/utils/HdrGen/PublicAPICommand.cpp
    M libc/utils/HdrGen/PublicAPICommand.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/include/llvm/Object/Wasm.h
    M llvm/include/llvm/Support/CommandLine.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/CodeGen/AArch64/neon-mov.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/function-args.ll
    M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
    A llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/RISCV/condops.ll
    A llvm/test/CodeGen/X86/code-model-elf-merge-sections.ll
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-uzp1.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
    M llvm/test/Transforms/SROA/tbaa-struct3.ll
    M llvm/test/tools/llvm-nm/wasm/exports.yaml
    M llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml
    M llvm/test/tools/llvm-objdump/wasm/linked-symbol-table-namesec.yaml
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Affine/Utils.h
    M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/AMDGPU/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
    A mlir/lib/Dialect/Mesh/Transforms/TransformsDetail.h
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/BuiltinDialectBytecode.cpp
    M mlir/lib/IR/Operation.cpp
    M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
    M mlir/lib/Support/Timing.cpp
    M mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir
    A mlir/test/Dialect/Mesh/all-scatter-op-lowering.mlir
    M mlir/test/Dialect/Mesh/canonicalization.mlir
    M mlir/test/Dialect/Mesh/invalid.mlir
    M mlir/test/Dialect/Mesh/ops.mlir
    M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir
    M mlir/test/Dialect/SparseTensor/torch_linalg.mlir
    M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
    A mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
    R mlir/test/lib/Dialect/Mesh/TestProcessMultiIndexOpLowering.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/main' into users/fhahn/sroa-use-tbaa-for-matching-field-access

Conflicts:
	llvm/test/Transforms/SROA/tbaa-struct3.ll


  Commit: 137fe547415c6196498405f23e11f2fc4831675a
      https://github.com/llvm/llvm-project/commit/137fe547415c6196498405f23e11f2fc4831675a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Metadata.h
    M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/tbaa-struct3.ll

  Log Message:
  -----------
  !fixup update new test cases, add handle missing cases.


Compare: https://github.com/llvm/llvm-project/compare/ee3cf184f695...137fe547415c


More information about the All-commits mailing list