[all-commits] [llvm/llvm-project] fe3b20: [analyzer] Use CDM::CLibrary instead of isGlobalCF...

Amir Ayupov via All-commits all-commits at lists.llvm.org
Thu Apr 11 12:14:37 PDT 2024


  Branch: refs/heads/users/aaupov/spr/bolt-cover-all-call-sites-in-writebatyaml
  Home:   https://github.com/llvm/llvm-project
  Commit: fe3b20d5ab4b47823fb48ad7cfbc47b8224ce826
      https://github.com/llvm/llvm-project/commit/fe3b20d5ab4b47823fb48ad7cfbc47b8224ce826
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp

  Log Message:
  -----------
  [analyzer] Use CDM::CLibrary instead of isGlobalCFunction() (#88267)

This commit updates several checkers to use call descriptions with the
matching mode `CDM::CLibrary` instead of checking
`Call.isGlobalCFunction()` after performing the match. This resolves
several TODOs in various checkers.

Note that both matching with `CDM::CLibrary` and calling
`isGlobalCFunction` leads to `CheckerContext::isCLibraryFunction()`
checks (so this change is close to being NFC), but if it is used via the
matching mode then the checker can automatically recognize the builtin
variants of the matched functions.

I'll also make similar changes in GenericTaintChecker, but that checker
has separate and inconsistent rules for handling the normal and the
builtin variant of several functions (e.g. `memcpy` and
`__builtin_memcpy`), so I'll put those changes into a separate commit.


  Commit: 5c9315f575370393ccc89ef0229743c05f6fe703
      https://github.com/llvm/llvm-project/commit/5c9315f575370393ccc89ef0229743c05f6fe703
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir

  Log Message:
  -----------
  Fix complex log1p accuracy with large abs values. (#88364)

This ports openxla/xla#10503 by @pearu. In addition to the filecheck
test here, the accuracy was tested with XLA's complex_unary_op_test and
its MLIR emitters.

This is a fixed version of
https://github.com/llvm/llvm-project/pull/88260. The previous version
relied on implementation-specific behavior in the order of evaluation of
maxAbsOfRealPlusOneAndImagMinusOne's operands.


  Commit: db2fb3d96b217f0d2e139e7816c98d9f95974f25
      https://github.com/llvm/llvm-project/commit/db2fb3d96b217f0d2e139e7816c98d9f95974f25
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp
    M clang/test/Preprocessor/x86_target_features.c

  Log Message:
  -----------
  [X86] Define __APX_F__ when APX is enabled. (#88343)

Relate gcc patch:
https://gcc.gnu.org/pipermail/gcc-patches/2024-April/648789.html


  Commit: 32b95a37083d1fee1a638e292be0aac9a98792fd
      https://github.com/llvm/llvm-project/commit/32b95a37083d1fee1a638e292be0aac9a98792fd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll

  Log Message:
  -----------
  [VectorCombine][X86] Extend shuffle(bitcast(x),bitcast(y)) test coverage

As discussed on #87510 the intention is to fold shuffle(bitcast(x),bitcast(y)) -> bitcast(shuffle(x,y)), but it must not interfere with existing bitcast(shuffle(bitcast(x),bitcast(y))) folds.


  Commit: 478c42004c2bd4c91a01c47450eca6cdb6b0982d
      https://github.com/llvm/llvm-project/commit/478c42004c2bd4c91a01c47450eca6cdb6b0982d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h

  Log Message:
  -----------
  [VPlan] Update recipe ::clone definitions to use cloned tys (NFC).

Update definitions on ::clone in recipe sub-types to use the sub-type as
return type. This avoids typecasts down to the cloned type in some
cases.


  Commit: 462e1023838703f1d3e763869afdd72ec5342a33
      https://github.com/llvm/llvm-project/commit/462e1023838703f1d3e763869afdd72ec5342a33
  Author: Poseydon42 <vvmposeydon at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-div-constant.ll

  Log Message:
  -----------
  [InstCombine] Fold (X / C) < X and (X >> C) < X into X > 0 (#85555)

Proofs: https://alive2.llvm.org/ce/z/52droC

This resolves #85313.


  Commit: 82ae646eb49cfd762db7db0a74b130970fe45d97
      https://github.com/llvm/llvm-project/commit/82ae646eb49cfd762db7db0a74b130970fe45d97
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/tools/llvm-mca/CMakeLists.txt

  Log Message:
  -----------
  [llvm-mca] Remove spurious include_directories() (#88277)

llvm-mca does not have an include directory so this commit removes the
spurious include_directories directive.


  Commit: e7bc53726459bba3a48b1f529f1fd9472ad9051c
      https://github.com/llvm/llvm-project/commit/e7bc53726459bba3a48b1f529f1fd9472ad9051c
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    A llvm/test/Transforms/SCCP/range-attribute.ll

  Log Message:
  -----------
  [IPSCCP] Add range attribute handling (#86747)

Support the new range attribute to infer ConstantRanges in IPSCCP.


  Commit: eef63d3c92766c6f8e78eefb9bb37ae01fbedbfc
      https://github.com/llvm/llvm-project/commit/eef63d3c92766c6f8e78eefb9bb37ae01fbedbfc
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir

  Log Message:
  -----------
  [mlir][OpenMP] add missing load for reduction cleanup region (#88289)

I missed this before. For by-ref reductions, the private reduction
variable is a pointer to the pointer to the variable. So an extra load
is required to get the right value.

See the "red.private.value.n" loads in the reduction combiner region for
reference.


  Commit: 6f068b9cf1ac09945c096269f0c6c276d2ec95c4
      https://github.com/llvm/llvm-project/commit/6f068b9cf1ac09945c096269f0c6c276d2ec95c4
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90

  Log Message:
  -----------
  [flang][OpenMP] Allocate array reduction variables on the heap (#87773)

Following up on a review comment:
https://github.com/llvm/llvm-project/pull/84958#discussion_r1527627848

Reductions might be inlined inside of a loop so stack allocations are
not safe.

Normally flang allocates arrays on the stack. Allocatable arrays have a
different type: fir.box<fir.heap<fir.array<...>>> instead of
fir.box<fir.array<...>>. This patch will allocate all arrays on the
heap.

Reductions on allocatable arrays still aren't supported (but I will get
to this soon).


  Commit: b800a9352330a5b3db91d43f2cc6a0ddeda03aa6
      https://github.com/llvm/llvm-project/commit/b800a9352330a5b3db91d43f2cc6a0ddeda03aa6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

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

  Log Message:
  -----------
  Fix MSVC "not all control paths return a value" warning. NFC.


  Commit: 759422c6df2dfe42d01bb64b42f43ab57db6e59e
      https://github.com/llvm/llvm-project/commit/759422c6df2dfe42d01bb64b42f43ab57db6e59e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

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

  Log Message:
  -----------
  [DAG] visitEXTRACT_SUBVECTOR - pull out repeated SDLoc. NFC.


  Commit: cca30dfb5935e05837e37cced4407a63393c6642
      https://github.com/llvm/llvm-project/commit/cca30dfb5935e05837e37cced4407a63393c6642
  Author: nikitalita <nikitalita at protonmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp

  Log Message:
  -----------
  [DebugInfo][ObjectYAML] Remove duplicate "Flags" field from LabelSym (#88194)

There was a duplicate flags field mistakenly left in LabelSym. [LabelSym
only has one flags
field](https://github.com/microsoft/microsoft-pdb/blob/805655a28bd8198004be2ac27e6e0290121a5e89/include/cvinfo.h#L3806)


  Commit: b60974dc9e5d98054f5a3a0dac7eab70e38bd416
      https://github.com/llvm/llvm-project/commit/b60974dc9e5d98054f5a3a0dac7eab70e38bd416
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle.ll

  Log Message:
  -----------
  [VectorCombine][X86] Extend bitcast(shuffle(x,y)) test coverage

As discussed on #87510 the intention is only to fold bitcast(shuffle(x,y)) -> shuffle(bitcast(x),bitcast(y)) if we won't actually increase the number of bitcasts (i.e. x or y is already bitcasted from the correct type).


  Commit: a8b461603b3fab3b229ea6552433cb359c30350c
      https://github.com/llvm/llvm-project/commit/a8b461603b3fab3b229ea6552433cb359c30350c
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

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

  Log Message:
  -----------
  [mlir] Apply ClangTidy BugProne fix

forwarding reference passed to std::move(), which may unexpectedly cause
lvalues to be moved; use std::forward() instead.


  Commit: 962534c4b490239269bb2e11d036596826539046
      https://github.com/llvm/llvm-project/commit/962534c4b490239269bb2e11d036596826539046
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

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

  Log Message:
  -----------
  [mlir] Apply ClangTidy BugProne patch

This time for real.


  Commit: 364963a0a3935ced1acb2e959ecd08aef39405ef
      https://github.com/llvm/llvm-project/commit/364963a0a3935ced1acb2e959ecd08aef39405ef
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT][NFC] Do not assume text section name in more places (#88303)

Fixes a couple more places where ".text" is presumed for the main
code section name.


  Commit: e2d482395992d725663543d297f5ab3cc5918fcc
      https://github.com/llvm/llvm-project/commit/e2d482395992d725663543d297f5ab3cc5918fcc
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/BinaryPassManager.cpp

  Log Message:
  -----------
  [BOLT][NFC] Make RepRet X86-specific (#88286)

Bolt's RepRet pass is x86-specific, no need to add it for non-x86
targets.


  Commit: a403ad9336a24c459ee79d2cb7675c4b1f32bfd9
      https://github.com/llvm/llvm-project/commit/a403ad9336a24c459ee79d2cb7675c4b1f32bfd9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle.ll

  Log Message:
  -----------
  [VectorCombine] foldBitcastShuffle - limit bitcast(shuffle(x,y)) -> shuffle(bitcast(x),bitcast(y))

Only fold bitcast(shuffle(x,y)) -> shuffle(bitcast(x),bitcast(y)) if we won't actually increase the number of bitcasts (i.e. x or y is already bitcasted from the correct type).


  Commit: 717d3f3974f43d90c1b8829a4077bbc2a2413c83
      https://github.com/llvm/llvm-project/commit/717d3f3974f43d90c1b8829a4077bbc2a2413c83
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfCastops - add initial shuffle(bitcast(x),bitcast(y)) -> bitcast(shuffle(x,y)) support

Just handle cases where the bitcast src/dst element counts are the same (future patches will add shuffle mask scaling)


  Commit: 9d9bb7b1b6e96dc833133dacf1e2c7d9792e640e
      https://github.com/llvm/llvm-project/commit/9d9bb7b1b6e96dc833133dacf1e2c7d9792e640e
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Conversion/ComplexToStandard/full-conversion.mlir

  Log Message:
  -----------
  Fix complex abs corner cases. (#88373)

The current implementation fails for very small and very large values.
For example, (0, -inf) should return inf, but it returns -inf.

This ports the logic used in XLA. Tested with XLA's
exhaustive_binary_test_f32_f64.


  Commit: b1094776152b68efa05f69b7b833f9cbc0727efc
      https://github.com/llvm/llvm-project/commit/b1094776152b68efa05f69b7b833f9cbc0727efc
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/RISCV/riscv-vsetvli-knownbits.ll
    M llvm/test/Transforms/InstCombine/RISCV/riscv-vsetvlimax-knownbits.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/binop-itofp.ll
    M llvm/test/Transforms/InstCombine/bswap-fold.ll
    M llvm/test/Transforms/InstCombine/bswap.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/cmp-intrinsic.ll
    M llvm/test/Transforms/InstCombine/compare-signs.ll
    M llvm/test/Transforms/InstCombine/ctpop.ll
    M llvm/test/Transforms/InstCombine/extractelement-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/extractelement.ll
    M llvm/test/Transforms/InstCombine/ffs-1.ll
    M llvm/test/Transforms/InstCombine/fls.ll
    M llvm/test/Transforms/InstCombine/fold-log2-ceil-idiom.ll
    M llvm/test/Transforms/InstCombine/high-bit-signmask-with-trunc.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
    M llvm/test/Transforms/InstCombine/icmp-topbitssame.ll
    M llvm/test/Transforms/InstCombine/insert-trunc.ll
    M llvm/test/Transforms/InstCombine/insertelt-trunc.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/known-non-zero.ll
    M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
    M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/lshr-trunc-sext-to-ashr-sext.ll
    M llvm/test/Transforms/InstCombine/lshr.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/narrow.ll
    M llvm/test/Transforms/InstCombine/negated-bitmask.ll
    M llvm/test/Transforms/InstCombine/pr34349.ll
    M llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
    M llvm/test/Transforms/InstCombine/sadd_sat.ll
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
    M llvm/test/Transforms/InstCombine/select-imm-canon.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/sext-of-trunc-nsw.ll
    M llvm/test/Transforms/InstCombine/sext.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
    M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
    M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll
    M llvm/test/Transforms/InstCombine/shift-shift.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/shl-demand.ll
    M llvm/test/Transforms/InstCombine/sign-bit-test-via-right-shifting-all-other-bits.ll
    M llvm/test/Transforms/InstCombine/trunc-demand.ll
    M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/trunc-shift-trunc.ll
    M llvm/test/Transforms/InstCombine/trunc.ll
    M llvm/test/Transforms/InstCombine/truncating-saturate.ll
    M llvm/test/Transforms/InstCombine/vector-trunc.ll
    M llvm/test/Transforms/InstCombine/xor-ashr.ll
    M llvm/test/Transforms/InstCombine/zext-ctlz-trunc-to-ctlz-add.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll

  Log Message:
  -----------
  [InstCombine] Infer nsw/nuw for trunc (#87910)

This patch adds support for inferring trunc's nsw/nuw flags.


  Commit: 496de32ee2c34880c7d3396bbd09e45d5d5c8a9e
      https://github.com/llvm/llvm-project/commit/496de32ee2c34880c7d3396bbd09e45d5d5c8a9e
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/DeadMachineInstructionElim.h
    M llvm/include/llvm/CodeGen/FreeMachineFunction.h
    M llvm/include/llvm/CodeGen/MIRPrinter.h
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp

  Log Message:
  -----------
  [NewPM] Remove `MachinePassInfoMixin` (#88243)

Unify the inheritance paths of IR and machine function.


  Commit: a6db20f2c39ecb5939890317068d5398c760746d
      https://github.com/llvm/llvm-project/commit/a6db20f2c39ecb5939890317068d5398c760746d
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__bit/popcount.h

  Log Message:
  -----------
  [libcxx] Use generic builtins for popcount, clz and ctz (#86563)

Fixes #86556

Use `__builtin_popcountg` instead of `__buildin_popcount{l|ll}`
Use `__builtin_clzg instead` of `__buildin_clz{l|ll}`
Use `__builtin_ctzg instead` of `__builtin_ctz{l|ll}`

The generic variant of the builtins can be used to simplify some logic
with >= Clang 19 or >= GCC 14, where these generic variants are
available. As for backwards compatibility reasons, we can't completely
remove the old logic. Therefore, I left ToDo comments to address this,
as soon as support for pre Clang 19 as well as pre GCC 14 is dropped.

---------

Co-authored-by: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>


  Commit: 402f15ea92061d94412807887c8115374974967e
      https://github.com/llvm/llvm-project/commit/402f15ea92061d94412807887c8115374974967e
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M clang/docs/tools/clang-formatted-files.txt
    R clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h

  Log Message:
  -----------
  [clang][dataflow] Remove deprecated alias `ControlFlowContext`. (#88358)


  Commit: 6fd2fdccf2f28fc155f614eec41f785492aad618
      https://github.com/llvm/llvm-project/commit/6fd2fdccf2f28fc155f614eec41f785492aad618
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M clang/test/CodeGen/X86/avx-shuffle-builtins.c
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfCastops - extend shuffle(bitcast(x),bitcast(y)) -> bitcast(shuffle(x,y)) support

Handle shuffle mask scaling handling for cases where the bitcast src/dst element counts are different


  Commit: 77dd43570bf7a4bad688de8d8326c34590a0fa94
      https://github.com/llvm/llvm-project/commit/77dd43570bf7a4bad688de8d8326c34590a0fa94
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir

  Log Message:
  -----------
  Fix complex power for large inputs. (#88387)

For example, 1e30^1.2 currently overflows.

Also forward fastmath flags.

This ports XLA's logic and was verified with its test suite. Note that
rsqrt and sqrt are still broken.


  Commit: 599adf30afe5802fab80419ec5bb896036a1c8fb
      https://github.com/llvm/llvm-project/commit/599adf30afe5802fab80419ec5bb896036a1c8fb
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
    M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp

  Log Message:
  -----------
  [include-cleaner] Dont apply name-match for non-owning headers (#82625)


  Commit: 61ea1bc23aa941714be3ec818c922e4ee5a279a3
      https://github.com/llvm/llvm-project/commit/61ea1bc23aa941714be3ec818c922e4ee5a279a3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/VectorCombine/X86/pr67803.ll

  Log Message:
  -----------
  [VectorCombine][X86] Add test coverage for #67803

We are still missing a fold for shuffle(bitcast(sext(x)),bitcast(sext(y))) -> bitcast(sext(shuffle(x,y))) due to foldShuffleOfCastops failing to add new instructions back onto the worklist


  Commit: ff74236f342c7bc185f56a07bab7bd0cf356c7c6
      https://github.com/llvm/llvm-project/commit/ff74236f342c7bc185f56a07bab7bd0cf356c7c6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/pr67803.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfCastops - ensure we add all new instructions onto the worklist

When creating cast(shuffle(x,y)) we were only adding the cast() to the worklist, not the new shuffle, preventing recursive combines.

foldShuffleOfBinops is also failing to do this, but I still need to add test coverage for this.


  Commit: 44718311dee486f1823876e8af9100afcc50041b
      https://github.com/llvm/llvm-project/commit/44718311dee486f1823876e8af9100afcc50041b
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/CMakeLists.txt
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    R mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.h
    R mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
    R mlir/include/mlir/Dialect/AMDGPU/TransformOps/CMakeLists.txt
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
    R mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
    R mlir/include/mlir/Dialect/AMDGPU/Transforms/Utils.h
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/lib/Dialect/AMDGPU/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    R mlir/lib/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.cpp
    R mlir/lib/Dialect/AMDGPU/TransformOps/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
    R mlir/lib/Dialect/AMDGPU/Transforms/Utils.cpp
    R mlir/test/Dialect/AMDGPU/optimize_shmem_reads_writes.mlir
    R mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][amdgpu] Remove shared memory optimization pass (#88225)

This implementation has a number of issues and ultimately does not work
on gfx9.
* It does not reduce bank conflicts with wide memory accesses.
* It does not correctly account for when LDS bank conflicts occur on
amdgpu.
* The implementation is too fragile to be used on real-world code. For
example, the code bails out on any `memref.subview` in the root op, even
when the subview is not a user of any of the `memref.alloc` ops.

I do not see how these can be easily fixed, therefore I think it's
better to delete this code.


  Commit: 198ffb85314f7741ed048de67d68ca83bb30e16e
      https://github.com/llvm/llvm-project/commit/198ffb85314f7741ed048de67d68ca83bb30e16e
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
    M clang/test/CXX/drs/dr28xx.cpp
    M clang/test/Parser/cxx-class.cpp

  Log Message:
  -----------
  [Clang][Sema] Implement approved resolution for CWG2858 (#88042)

The approved resolution for CWG2858 changes
[expr.prim.id.qual] p2 sentence 2 to read:
> A declarative _nested-name-specifier_ shall not have a
_computed-type-specifier_.

This patch implements the approved resolution. Since we don't consider
_nested-name-specifiers_ in friend declarations to be declarative (yet),
it currently isn't possible to write a test that would produce this
diagnostic (`diagnoseQualifiedDeclaration` is never called if the
`DeclContext` can't be computed). Nevertheless, tests were added which
will produce the diagnostic once we start calling
`diagnoseQualifiedDeclaration` for friend declarations.


  Commit: 298ea9bfd50ca41c77e45065700df06adb6264ae
      https://github.com/llvm/llvm-project/commit/298ea9bfd50ca41c77e45065700df06adb6264ae
  Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/FIR/target.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    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:
  -----------
   [Flang] [OpenMP] [MLIR] [Lowering] Add lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses on OMP TARGET directive.  (#88206)

Added lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses for
OMP TARGET directive and added related tests for these changes.

IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses apply to OMP TARGET directive
OpenMP spec states

The **is_device_ptr** clause indicates that its list items are device
pointers.

The **has_device_addr** clause indicates that its list items already
have device addresses and therefore they may be directly accessed from a
target device.

Whereas USE_DEVICE_PTR and USE_DEVICE_ADDR clauses apply to OMP TARGET
DATA directive and OpenMP spec for them states

Each list item in the **use_device_ptr** clause results in a new list
item that is a device pointer that refers to a device address

Each list item in a **use_device_addr** clause that is present in the
device data environment is treated as if it is implicitly mapped by a
map clause on the construct with a map-type of alloc

Fixed build error caused by Squash merge which needs rebase


  Commit: ffb5bea2be9f966a39f243a7d8c2f48a1343cb4c
      https://github.com/llvm/llvm-project/commit/ffb5bea2be9f966a39f243a7d8c2f48a1343cb4c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

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

  Log Message:
  -----------
  [X86] LowerBITREVERSE - support SSE-only GFNI i32/i64 bitreverse

Support Tremont CPUs which don't have AVX but do have GFNI.

Noticed while trying to workout how to clean up the costmodel for GFNI bitreverse


  Commit: 7ab7e7a55f3fce08ccd3cbcae94dabe99dd9e94a
      https://github.com/llvm/llvm-project/commit/7ab7e7a55f3fce08ccd3cbcae94dabe99dd9e94a
  Author: Xu Zhang <simonzgx at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M libc/docs/index.rst
    A libc/docs/signal.rst
    M libc/utils/docgen/docgen.py
    A libc/utils/docgen/signal.json

  Log Message:
  -----------
  [libc][docs] Generate docs for signal.h & optimized is_implemented func (#88028)


Fixes #87835

This patch added the documentation for the POSIX functions according to
[n3096](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf)
Section 7.14, and gives the *docgen.py* script a more elegant *is_implemented*
function.


  Commit: b63fe0d72e2df3b3c4b9fcb91aea07b2582be195
      https://github.com/llvm/llvm-project/commit/b63fe0d72e2df3b3c4b9fcb91aea07b2582be195
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M libcxx/include/__type_traits/copy_cv.h

  Log Message:
  -----------
  [libc++][NFC] Reduce the memory footprint of __copy_cv a bit (#87718)

Instead of instantiating `__copy_cv` for every combination of `_From`
and `_To` this only instantiates `__copy_cv` for every `_From` type,
reducing the number of instantiations.


  Commit: 72f9881c3ffcf4be6361c3e4312d91c9c8d94a98
      https://github.com/llvm/llvm-project/commit/72f9881c3ffcf4be6361c3e4312d91c9c8d94a98
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M libclc/CMakeLists.txt
    R libclc/cmake/CMakeCLCCompiler.cmake.in
    R libclc/cmake/CMakeCLCInformation.cmake
    R libclc/cmake/CMakeDetermineCLCCompiler.cmake
    R libclc/cmake/CMakeDetermineLLAsmCompiler.cmake
    R libclc/cmake/CMakeLLAsmCompiler.cmake.in
    R libclc/cmake/CMakeLLAsmInformation.cmake
    R libclc/cmake/CMakeTestCLCCompiler.cmake
    R libclc/cmake/CMakeTestLLAsmCompiler.cmake
    A libclc/cmake/modules/AddLibclc.cmake
    M libclc/generic/lib/SOURCES
    M llvm/tools/CMakeLists.txt

  Log Message:
  -----------
  [libclc] Refactor build system to allow in-tree builds (#87622)

The previous build system was adding custom "OpenCL" and "LLVM IR"
languages in CMake to build the builtin libraries. This was making it
harder to build in-tree because the tool binaries needed to be present
at configure time.

This commit refactors the build system to use custom commands to build
the bytecode files one by one, and link them all together into the final
bytecode library. It also enables in-tree builds by aliasing the
clang/llvm-link/etc. tool targets to internal targets, which are
imported from the LLVM installation directory when building out of tree.

Diffing (with llvm-diff) all of the final bytecode libraries in an
out-of-tree configuration against those built using the current tip
system shows no changes. Note that there are textual changes to metadata
IDs which confuse regular diff, and that llvm-diff 14 and below may show
false-positives.

This commit also removes a file listed in one of the SOURCEs which
didn't exist and which was preventing the use of
ENABLE_RUNTIME_SUBNORMAL when configuring CMake.


  Commit: 0d96422768908a8235f05a5d3b1d43ecc6038004
      https://github.com/llvm/llvm-project/commit/0d96422768908a8235f05a5d3b1d43ecc6038004
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    A llvm/test/Object/Wasm/bad-data-symbol.yaml
    A llvm/test/Object/Wasm/bad-metadata-version.yaml
    A llvm/test/Object/Wasm/bad-reloc-type.test
    A llvm/test/Object/Wasm/bad-relocation.yaml
    A llvm/test/Object/Wasm/bad-symbol-type.test
    A llvm/test/Object/Wasm/duplicate-name.test
    A llvm/test/Object/Wasm/invalid-file.yaml
    A llvm/test/Object/Wasm/invalid-section-order.test
    A llvm/test/Object/Wasm/invalid-start.test
    A llvm/test/Object/Wasm/linked-namesec-with-linkingsec.yaml
    A llvm/test/Object/Wasm/linked-symbol-table.yaml
    A llvm/test/Object/Wasm/missing-version.test
    A llvm/test/Object/Wasm/obj2yaml-tables.test
    A llvm/test/Object/Wasm/relocs-and-producers.yaml
    A llvm/test/Object/Wasm/string-outside-section.test
    R llvm/test/Object/wasm-bad-data-symbol.yaml
    R llvm/test/Object/wasm-bad-metadata-version.yaml
    R llvm/test/Object/wasm-bad-reloc-type.test
    R llvm/test/Object/wasm-bad-relocation.yaml
    R llvm/test/Object/wasm-bad-symbol-type.test
    R llvm/test/Object/wasm-duplicate-name.test
    R llvm/test/Object/wasm-invalid-file.yaml
    R llvm/test/Object/wasm-invalid-section-order.test
    R llvm/test/Object/wasm-invalid-start.test
    R llvm/test/Object/wasm-linked-namesec-with-linkingsec.yaml
    R llvm/test/Object/wasm-linked-symbol-table.yaml
    R llvm/test/Object/wasm-missing-version.test
    R llvm/test/Object/wasm-obj2yaml-tables.test
    R llvm/test/Object/wasm-relocs-and-producers.yaml
    R llvm/test/Object/wasm-string-outside-section.test

  Log Message:
  -----------
  [Object][Wasm] Move wasm Object tests into their own directory (NFC) (#81072)


  Commit: 3c4b673af05f53e8a4d1a382b5c86367ea512c9e
      https://github.com/llvm/llvm-project/commit/3c4b673af05f53e8a4d1a382b5c86367ea512c9e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M libcxx/include/stddef.h

  Log Message:
  -----------
  [libc++] Fix -Wgnu-include-next in stddef.h (#88214)

As reported in #86843, we must have #pragma GCC system_header before we
use #include_next, otherwise the compiler may not understand that we're
in a system header and may issue a diagnostic for our usage of


  Commit: 357f6c7826437f6527db6f99f756a34fb5e0f716
      https://github.com/llvm/llvm-project/commit/357f6c7826437f6527db6f99f756a34fb5e0f716
  Author: abidh <haqadeer at amd.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    A flang/docs/DebugGeneration.md
    M flang/docs/index.md

  Log Message:
  -----------
  [flang] Add design document for debug info generation. (#86939)

This document discusses some options where the debug metadata can be
generated. It also goes through various language constructs and explains
how the debug metadata will look like for that construct and how we can
extract that information.

The real point of discussion is how and where to extract the information
about various language features to generate the debug metadata. The
structure of the metadata itself is mostly settled as that is dictated by
the DWARF and structure of LLVM IR metadata. The classic flang
and gfortran generate quite similar DWARF for the various language
constructs.

This document is based on what Kiran posted in
https://reviews.llvm.org/D138534.

---------

Co-authored-by: Tom Eccles <t at freedommail.info>
Co-authored-by: Kiran Chandramohan <kiranchandramohan at gmail.com>


  Commit: f135d224a6d078ca3b0722db94e1d772fdbd68ad
      https://github.com/llvm/llvm-project/commit/f135d224a6d078ca3b0722db94e1d772fdbd68ad
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/sitofp-minbitwidth-node.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the zext feeding into sitofp instructions.


  Commit: 3749e0d43fb56cf22cc72274c287b7bfdda9821d
      https://github.com/llvm/llvm-project/commit/3749e0d43fb56cf22cc72274c287b7bfdda9821d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [memprof] Use structured binding (NFC) (#88363)


  Commit: db9a17a4075d2ba4cf9edfa90018da6c11908e2a
      https://github.com/llvm/llvm-project/commit/db9a17a4075d2ba4cf9edfa90018da6c11908e2a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [memprof] Use std::optional (NFC) (#88366)


  Commit: 8c3cb6b55b688b767e5d65bcc2891b17322e8d05
      https://github.com/llvm/llvm-project/commit/8c3cb6b55b688b767e5d65bcc2891b17322e8d05
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
    M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
    M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
    M lldb/test/API/macosx/rosetta/TestRosetta.py
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  Reland "[lldb][sbdebugger] Move SBDebugger Broadcast bit enum into ll… (#88331)

…db-enumerations.h" (#88324)"

This reverts commit 9f6d08f2566a26144ea1753f80aebb1f2ecfdc63. This broke
the build because of a usage of one of the original SBDebugger broadcast
bits that wasn't updated in the original commit.


  Commit: 2ea7ec9737e3ca4e2ce23bf606e79e7066beae0b
      https://github.com/llvm/llvm-project/commit/2ea7ec9737e3ca4e2ce23bf606e79e7066beae0b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M clang/unittests/AST/Interp/toAPValue.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Expand pointer unittests

Test integral pointers as well.


  Commit: 64c3997939cf2d9b4fd1c24c89724d0b47afcd03
      https://github.com/llvm/llvm-project/commit/64c3997939cf2d9b4fd1c24c89724d0b47afcd03
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp] Allow initializing static class members

We need to handle this when registering global variables.


  Commit: 5122a2c2320c7b14f6585e63b7fc43ac82a550c2
      https://github.com/llvm/llvm-project/commit/5122a2c2320c7b14f6585e63b7fc43ac82a550c2
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
    A mlir/test/Dialect/SparseTensor/external_direct.mlir

  Log Message:
  -----------
  [mlir][sparse] allow for direct-out passing of sparse tensor buffers (#88327)

In order to support various external frameworks (JAX vs PyTorch) we need
a bit more flexibility in [dis]assembling external buffers to and from
sparse tensors in MLIR land. This PR adds a direct-out option that
avoids the rigid pre-allocated for copy-out semantics.

Note that over time, we expect the [dis]assemble operations to converge
into something that supports all sorts of external frameworks. Until
then, this option helps in experimenting with different options.


  Commit: f626a35086d90f25986e3f06e01a54cca91250d8
      https://github.com/llvm/llvm-project/commit/f626a35086d90f25986e3f06e01a54cca91250d8
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M libc/docs/dev/code_style.rst
    M libc/docs/usage_modes.rst
    M libc/hdr/CMakeLists.txt
    A libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/sigset_t.h
    A libc/hdr/types/struct_epoll_event.h
    A libc/hdr/types/struct_timespec.h
    M libc/src/signal/linux/CMakeLists.txt
    M libc/src/signal/linux/raise.cpp
    M libc/src/signal/linux/sigaction.cpp
    M libc/src/signal/linux/sigaddset.cpp
    M libc/src/signal/linux/sigdelset.cpp
    M libc/src/signal/linux/sigfillset.cpp
    M libc/src/signal/linux/signal_utils.h
    M libc/src/signal/linux/sigprocmask.cpp
    M libc/src/signal/sigaddset.h
    M libc/src/signal/sigdelset.h
    M libc/src/signal/sigemptyset.h
    M libc/src/signal/sigfillset.h
    M libc/src/signal/sigprocmask.h
    M libc/src/sys/epoll/epoll_pwait.h
    M libc/src/sys/epoll/epoll_pwait2.h
    M libc/src/sys/epoll/epoll_wait.h
    M libc/src/sys/epoll/linux/CMakeLists.txt
    M libc/src/sys/epoll/linux/epoll_pwait.cpp
    M libc/src/sys/epoll/linux/epoll_pwait2.cpp
    M libc/src/sys/epoll/linux/epoll_wait.cpp
    M libc/src/sys/select/linux/select.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Codify header inclusion policy (#87017)


When supporting "overlay" vs "fullbuild" modes, "what ABI are you
using?" becomes a fundamental question to have concrete answers for.
Overlay mode MUST match the ABI of the system being overlayed onto;
fullbuild more flexible (the only system ABI relevant is the OS kernel).

When implementing llvm-libc we generally prefer the include-what-you use
style of avoiding transitive dependencies (since that makes refactoring
headers more painful, and slows down build times). So what header do you
include for any given type or function declaration? For any given
userspace program, the answer is straightforward. But for llvm-libc
which is trying to support multiple ABIs (at least one per
configuration), the answer is perhaps less clear.

This proposal seeks to add one layer of indirection relative to what's
being done today.

It then converts users of sigset_t and struct epoll_event and the epoll
implemenations over to this convention as an example.


  Commit: 4e6d18f40642c2cc8e124bbe55810b2d9b2ac9c0
      https://github.com/llvm/llvm-project/commit/4e6d18f40642c2cc8e124bbe55810b2d9b2ac9c0
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/unittests/AST/DeclPrinterTest.cpp

  Log Message:
  -----------
  [Clang][AST] Track whether template template parameters used the 'typename' keyword (#88139)

This patch adds a `Typename` bit-field to `TemplateTemplateParmDecl`
which stores whether the template template parameter was declared with
the `typename` keyword.


  Commit: 62fa12ad2405cbdf24d5daf489e276c67a38e482
      https://github.com/llvm/llvm-project/commit/62fa12ad2405cbdf24d5daf489e276c67a38e482
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp

  Log Message:
  -----------
  [mlir][sparse] support querying sparse buffer types from sparse tenso… (#88308)

…r encodings.


  Commit: 877ecdf52f40472d31205f107d39097268d3e3e3
      https://github.com/llvm/llvm-project/commit/877ecdf52f40472d31205f107d39097268d3e3e3
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for computing knownbits from `(icmp upred X (and/or X, Y))`; NFC


  Commit: b8659600c3af6e5f1a5dd51ac59d6ab2554603d8
      https://github.com/llvm/llvm-project/commit/b8659600c3af6e5f1a5dd51ac59d6ab2554603d8
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] compute knownbits from `(icmp upred X (and/or X, Y))`; NFC

`(icmp uge/ugt (and X, Y), C)` implies both `(icmp uge/ugt X, C)` and
`(icmp uge/ugt Y, C)`. We can use this to deduce leading ones in `X`.

`(icmp ule/ult (or X, Y), C)` implies both `(icmp ule/ult X, C)` and
`(icmp ule/ult Y, C)`. We can use this to deduce leading zeros in `X`.

Closes #86059


  Commit: f0ea888e01aabcb131a8931b9e1fe1c5212a6cba
      https://github.com/llvm/llvm-project/commit/f0ea888e01aabcb131a8931b9e1fe1c5212a6cba
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_found_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_fun_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_in_out_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_in_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_out_out_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_out_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_value_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/min_max_result.pass.cpp

  Log Message:
  -----------
  [libcxx] applies changes regarding post-commit feedback to #75259 (#76534)

Some of the feedback was also relevant to other files, and has been
applied there too.


  Commit: f6749d8dcb9af5c30affd259f4c4160c54606d91
      https://github.com/llvm/llvm-project/commit/f6749d8dcb9af5c30affd259f4c4160c54606d91
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/sitofp-minbitwidth-node.ll

  Log Message:
  -----------
  [SLP]Consider unsigned nodes, feeding into sitofp, being converted using
uitofp.

Need to use uitofp for unsigned nodes, which are part of minbitwidth
analysis, to correctly handle signedness info.


  Commit: a417b9b759960cc4d7b49e95ddc2ef129b5abe12
      https://github.com/llvm/llvm-project/commit/a417b9b759960cc4d7b49e95ddc2ef129b5abe12
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

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

  Log Message:
  -----------
  [lldb] Fix call to TemplateTemplateParmDecl::Create after #88139 (#88417)

#88139 adds a parameter to `TemplateTemplateParmDecl::Create`, which is
called in LLDB. This adds the missing argument for that parameter.


  Commit: 03f619da077bca72bb3b0d978a1f50a2fade2750
      https://github.com/llvm/llvm-project/commit/03f619da077bca72bb3b0d978a1f50a2fade2750
  Author: Vincent Lee <thevinster at users.noreply.github.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/test/Other/print-at-pass-number.ll

  Log Message:
  -----------
  [StandardInstrumentations] Support -print-after-pass-number option (#87458)

There's already support for `-print-before-pass-number`, so it makes
sense that we also have a `-print-after-pass-number`. This is especially
useful if you want to print the IR after the very last pass without
resorting to `-print-after-all` and combing through stderr or the IR
file directory.


  Commit: 9029e6ebdfd98a58b5c5646fd534c6c849148cda
      https://github.com/llvm/llvm-project/commit/9029e6ebdfd98a58b5c5646fd534c6c849148cda
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll

  Log Message:
  -----------
  [libclc] Refactor build system to allow in-tree builds (#87622)

The previous build system was adding custom "OpenCL" and "LLVM IR"
languages in CMake to build the builtin libraries. This was making it
harder to build in-tree because the tool binaries needed to be present
at configure time.

This commit refactors the build system to use custom commands to build
the bytecode files one by one, and link them all together into the final
bytecode library. It also enables in-tree builds by aliasing the
clang/llvm-link/etc. tool targets to internal targets, which are
imported from the LLVM installation directory when building out of tree.

Diffing (with llvm-diff) all of the final bytecode libraries in an
out-of-tree configuration against those built using the current tip
system shows no changes. Note that there are textual changes to metadata
IDs which confuse regular diff, and that llvm-diff 14 and below may show
false-positives.

This commit also removes a file listed in one of the SOURCEs which
didn't exist and which was preventing the use of
ENABLE_RUNTIME_SUBNORMAL when configuring CMake.


  Commit: d7be9d23012c99b231bd3a4a9dd58ee15f1be5e7
      https://github.com/llvm/llvm-project/commit/d7be9d23012c99b231bd3a4a9dd58ee15f1be5e7
  Author: Sunil Srivastava <sunil.srivastava at sony.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml

  Log Message:
  -----------
  PS support for erf/erff/erfl. (#88412)

Co-authored-by: Sunil Srivastava <sunil.srivastava at sony.com>


  Commit: f7cc224044a5121191b7d96825988bd954ce49e2
      https://github.com/llvm/llvm-project/commit/f7cc224044a5121191b7d96825988bd954ce49e2
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll

  Log Message:
  -----------
  Revert "[libclc] Refactor build system to allow in-tree builds (#87622)"

This reverts commit 9029e6ebdfd98a58b5c5646fd534c6c849148cda, which was
committed by mistake with the wrong message and fails  https://lab.llvm.org/buildbot/#/builders/221/builds/21958.


  Commit: 9c4aca2b2ec46895761756e34b191593694e4c47
      https://github.com/llvm/llvm-project/commit/9c4aca2b2ec46895761756e34b191593694e4c47
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll

  Log Message:
  -----------
  [HWASAN] Emit optimization remarks (#88332)

Similar to #88304

SelHWAsan is optimization. We may want to diagnose compiler decisions.
Remarks is the tool for that https://llvm.org/docs/Remarks.html.


  Commit: b2ea38f9fc2381e7c04e610f6f8ed6786c2da38e
      https://github.com/llvm/llvm-project/commit/b2ea38f9fc2381e7c04e610f6f8ed6786c2da38e
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/FunctionPointer.h
    M clang/unittests/AST/Interp/toAPValue.cpp

  Log Message:
  -----------
  [clang][Interp] Fix handling integral function pointers

As expected, we need to be a little more careful when the
Function* is created from an integer.


  Commit: fc52ee336b394d84110184d625cda1d4f84d8098
      https://github.com/llvm/llvm-project/commit/fc52ee336b394d84110184d625cda1d4f84d8098
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h

  Log Message:
  -----------
  [lldb][ClangUserExpression][NFCI] Pass the most specific ExecutionContextScope possible into ClangExpressionParser (#87657)

The `ClangExpressionParser` takes an `ExecutionContextScope` which it
uses to query the `Process`/`Target`/`StackFrame` to set various
compiler options in preparation for parsing an expression.

However, `TryParse` constructs the parser with a `Process` or `Target`,
never a `StackFrame`. So when the parser tries to retrieve the current
`StackFrame` from the `exe_scope`, it doesn't succeed. In future patches
we want to query the `StackFrame` from within the
`ClangExpressionParser` constructor.

This patch simplifies `TryParse`, by removing the redundant `exe_scope`
parameter, and instead uses the `exe_ctx` to derive the most fitting
`exe_scope` to pass into `ClangExpressionParser`.

Not entirely sure how to test this. This patch is a prerequisite to get
subsequent patches that set `LangOpts` based on the current `StackFrame`
to work.


  Commit: 38f8fcea3455ef1d77faf9746579f52b4e18dacc
      https://github.com/llvm/llvm-project/commit/38f8fcea3455ef1d77faf9746579f52b4e18dacc
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
    M lldb/test/API/commands/expression/options/TestExprOptions.py
    M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
    A lldb/test/API/lang/objcxx/objc-from-cpp-frames-without-debuginfo/Makefile
    A lldb/test/API/lang/objcxx/objc-from-cpp-frames-without-debuginfo/TestObjCFromCppFramesWithoutDebugInfo.py
    A lldb/test/API/lang/objcxx/objc-from-cpp-frames-without-debuginfo/main.cpp

  Log Message:
  -----------
  [lldb][ClangExpressionParser] Don't by default enable Objecitve-C support when evaluating C++ expressions (#87767)

This patch attempts to decouple C++ expression evaluation from
Objective-C support. We've previously enabled it by default (if a
runtime existed), but that meant we're opting into extra work we only
need to do for Objective-C, which complicates/slows down C++ expression
evaluation. Of course there's a valid use-case for this, which is
calling Objective-C APIs when stopped in C++ frames (which Objective-C++
developers might want to do). In those cases we should really prompt the
user to add the `expr --language objc++` flag. To accomodate a likely
frequent use-case where a user breaks in a system C++ library (without
debug-symbols) but their application is actually an Objective-C app, we
allow Objective-C support in C++ expressions if the current frame
doesn't have debug-info.

This fixes https://github.com/llvm/llvm-project/issues/75443 and allows
us to add more `LangOpts.ObjC` guards around the expression evaluator in
the future (e.g., we could avoid looking into the Objective-C runtime
during C++ expression evaluation, which we currently do
unconditionally).

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


  Commit: b1822ef311b79d409be6f60ce86fccd967d623bc
      https://github.com/llvm/llvm-project/commit/b1822ef311b79d409be6f60ce86fccd967d623bc
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-04-12 (Fri, 12 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
    M llvm/test/Transforms/SCCP/conditions-ranges.ll
    M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
    A llvm/test/Transforms/SCCP/trunc-nuw-nsw-flags.ll
    M llvm/test/Transforms/SCCP/widening.ll

  Log Message:
  -----------
  [SCCP] Refine trunc with nsw/nuw flags (#87926)

Following #85592, add support for nsw/nuw flags of trunc in SCCP.


  Commit: 5bed6afc21c9ff9dba4aabf5ac74cb12971f634f
      https://github.com/llvm/llvm-project/commit/5bed6afc21c9ff9dba4aabf5ac74cb12971f634f
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT][NFC] Remove unneeded if (#88322)

No need need to special-case zero. Section 0 will map to section 0.


  Commit: 6b85fb1ef8586181fbdb02ca11a3bb0e9006aabd
      https://github.com/llvm/llvm-project/commit/6b85fb1ef8586181fbdb02ca11a3bb0e9006aabd
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll

  Log Message:
  -----------
  [SLP]Consider (f)sub, being operand of llvm.(f)abs/icmp eq/ne 0, commutative.

If (f)sub is only operand of llvm.(f)abs or icmp eq/ne 0 (int only), we can consider it as commutative operation, just need to drop wrapping flags for ineteger
operation.

https://alive2.llvm.org/ce/z/GxvxjB for correctness of abs with dropped
flags.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: a5eaec83b3446f217169fdd94e03ec67823af058
      https://github.com/llvm/llvm-project/commit/a5eaec83b3446f217169fdd94e03ec67823af058
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

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

  Log Message:
  -----------
  [SLP]Fix variable redefinition error


  Commit: 8840992667180d327ff40ee24354ab8b49605aae
      https://github.com/llvm/llvm-project/commit/8840992667180d327ff40ee24354ab8b49605aae
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/X86/yaml-secondary-entry-discriminator.s

  Log Message:
  -----------
  [BOLT][BAT] Fix handling of split functions

Move BAT parent function lookup outside `getLocationName`, to the
scope where we retrieve `FuncBranchData` linked with the function.

Previously DataAggregator would store branch profile recorded in the
split fragment in `FuncBranchData` associated with the fragment, and
perform name translation in `getLocationName` for symbol name only.
This works for fdata profile which is printed out as-is, but doesn't
work with BAT YAML profile writer which requires a combined profile.

The issue necessitated `fixupBATProfile` which partially addressed the
issue (reassigned inter-fragment calls back into intra-function
branches). However, `fixupBATProfile` fails to address disjoint
profiles (i.e. doesn't merge `FuncBranchData` for fragments back
into parent). This diff eliminates the need for `fixupBATProfile` by
removing the root cause of the issue.

Test Plan: NFC for existing tests

Reviewers: ayermolo, dcci, rafaelauler, maksfb

Reviewed By: maksfb

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


  Commit: 587ae9509f886bfbcb876cb66f88ae350d57736b
      https://github.com/llvm/llvm-project/commit/587ae9509f886bfbcb876cb66f88ae350d57736b
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
    M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/include/clang/AST/DeclTemplate.h
    R clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/FunctionPointer.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/AST/Interp/records.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
    M clang/test/CXX/drs/dr28xx.cpp
    M clang/test/CodeGen/X86/avx-shuffle-builtins.c
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Parser/cxx-class.cpp
    M clang/test/Preprocessor/x86_target_features.c
    M clang/unittests/AST/DeclPrinterTest.cpp
    M clang/unittests/AST/Interp/toAPValue.cpp
    A flang/docs/DebugGeneration.md
    M flang/docs/index.md
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/test/Lower/OpenMP/FIR/target.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M libc/docs/dev/code_style.rst
    M libc/docs/index.rst
    A libc/docs/signal.rst
    M libc/docs/usage_modes.rst
    M libc/hdr/CMakeLists.txt
    A libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/sigset_t.h
    A libc/hdr/types/struct_epoll_event.h
    A libc/hdr/types/struct_timespec.h
    M libc/src/signal/linux/CMakeLists.txt
    M libc/src/signal/linux/raise.cpp
    M libc/src/signal/linux/sigaction.cpp
    M libc/src/signal/linux/sigaddset.cpp
    M libc/src/signal/linux/sigdelset.cpp
    M libc/src/signal/linux/sigfillset.cpp
    M libc/src/signal/linux/signal_utils.h
    M libc/src/signal/linux/sigprocmask.cpp
    M libc/src/signal/sigaddset.h
    M libc/src/signal/sigdelset.h
    M libc/src/signal/sigemptyset.h
    M libc/src/signal/sigfillset.h
    M libc/src/signal/sigprocmask.h
    M libc/src/sys/epoll/epoll_pwait.h
    M libc/src/sys/epoll/epoll_pwait2.h
    M libc/src/sys/epoll/epoll_wait.h
    M libc/src/sys/epoll/linux/CMakeLists.txt
    M libc/src/sys/epoll/linux/epoll_pwait.cpp
    M libc/src/sys/epoll/linux/epoll_pwait2.cpp
    M libc/src/sys/epoll/linux/epoll_wait.cpp
    M libc/src/sys/select/linux/select.cpp
    M libc/utils/docgen/docgen.py
    A libc/utils/docgen/signal.json
    M libclc/CMakeLists.txt
    R libclc/cmake/CMakeCLCCompiler.cmake.in
    R libclc/cmake/CMakeCLCInformation.cmake
    R libclc/cmake/CMakeDetermineCLCCompiler.cmake
    R libclc/cmake/CMakeDetermineLLAsmCompiler.cmake
    R libclc/cmake/CMakeLLAsmCompiler.cmake.in
    R libclc/cmake/CMakeLLAsmInformation.cmake
    R libclc/cmake/CMakeTestCLCCompiler.cmake
    R libclc/cmake/CMakeTestLLAsmCompiler.cmake
    A libclc/cmake/modules/AddLibclc.cmake
    M libclc/generic/lib/SOURCES
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__type_traits/copy_cv.h
    M libcxx/include/stddef.h
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_found_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_fun_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_in_out_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_in_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_out_out_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_out_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/in_value_result.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/min_max_result.pass.cpp
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
    M lldb/test/API/commands/expression/options/TestExprOptions.py
    M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
    M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
    M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
    M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
    A lldb/test/API/lang/objcxx/objc-from-cpp-frames-without-debuginfo/Makefile
    A lldb/test/API/lang/objcxx/objc-from-cpp-frames-without-debuginfo/TestObjCFromCppFramesWithoutDebugInfo.py
    A lldb/test/API/lang/objcxx/objc-from-cpp-frames-without-debuginfo/main.cpp
    M lldb/test/API/macosx/rosetta/TestRosetta.py
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/include/llvm/CodeGen/DeadMachineInstructionElim.h
    M llvm/include/llvm/CodeGen/FreeMachineFunction.h
    M llvm/include/llvm/CodeGen/MIRPrinter.h
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/CodeGen/X86/vector-bitreverse.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll
    A llvm/test/Object/Wasm/bad-data-symbol.yaml
    A llvm/test/Object/Wasm/bad-metadata-version.yaml
    A llvm/test/Object/Wasm/bad-reloc-type.test
    A llvm/test/Object/Wasm/bad-relocation.yaml
    A llvm/test/Object/Wasm/bad-symbol-type.test
    A llvm/test/Object/Wasm/duplicate-name.test
    A llvm/test/Object/Wasm/invalid-file.yaml
    A llvm/test/Object/Wasm/invalid-section-order.test
    A llvm/test/Object/Wasm/invalid-start.test
    A llvm/test/Object/Wasm/linked-namesec-with-linkingsec.yaml
    A llvm/test/Object/Wasm/linked-symbol-table.yaml
    A llvm/test/Object/Wasm/missing-version.test
    A llvm/test/Object/Wasm/obj2yaml-tables.test
    A llvm/test/Object/Wasm/relocs-and-producers.yaml
    A llvm/test/Object/Wasm/string-outside-section.test
    R llvm/test/Object/wasm-bad-data-symbol.yaml
    R llvm/test/Object/wasm-bad-metadata-version.yaml
    R llvm/test/Object/wasm-bad-reloc-type.test
    R llvm/test/Object/wasm-bad-relocation.yaml
    R llvm/test/Object/wasm-bad-symbol-type.test
    R llvm/test/Object/wasm-duplicate-name.test
    R llvm/test/Object/wasm-invalid-file.yaml
    R llvm/test/Object/wasm-invalid-section-order.test
    R llvm/test/Object/wasm-invalid-start.test
    R llvm/test/Object/wasm-linked-namesec-with-linkingsec.yaml
    R llvm/test/Object/wasm-linked-symbol-table.yaml
    R llvm/test/Object/wasm-missing-version.test
    R llvm/test/Object/wasm-obj2yaml-tables.test
    R llvm/test/Object/wasm-relocs-and-producers.yaml
    R llvm/test/Object/wasm-string-outside-section.test
    M llvm/test/Other/print-at-pass-number.ll
    M llvm/test/Transforms/InstCombine/RISCV/riscv-vsetvli-knownbits.ll
    M llvm/test/Transforms/InstCombine/RISCV/riscv-vsetvlimax-knownbits.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/binop-itofp.ll
    M llvm/test/Transforms/InstCombine/bswap-fold.ll
    M llvm/test/Transforms/InstCombine/bswap.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/cmp-intrinsic.ll
    M llvm/test/Transforms/InstCombine/compare-signs.ll
    M llvm/test/Transforms/InstCombine/ctpop.ll
    M llvm/test/Transforms/InstCombine/extractelement-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/extractelement.ll
    M llvm/test/Transforms/InstCombine/ffs-1.ll
    M llvm/test/Transforms/InstCombine/fls.ll
    M llvm/test/Transforms/InstCombine/fold-log2-ceil-idiom.ll
    M llvm/test/Transforms/InstCombine/high-bit-signmask-with-trunc.ll
    M llvm/test/Transforms/InstCombine/icmp-div-constant.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
    M llvm/test/Transforms/InstCombine/icmp-topbitssame.ll
    M llvm/test/Transforms/InstCombine/insert-trunc.ll
    M llvm/test/Transforms/InstCombine/insertelt-trunc.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/known-non-zero.ll
    M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
    M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/lshr-trunc-sext-to-ashr-sext.ll
    M llvm/test/Transforms/InstCombine/lshr.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/narrow.ll
    M llvm/test/Transforms/InstCombine/negated-bitmask.ll
    M llvm/test/Transforms/InstCombine/pr34349.ll
    M llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
    M llvm/test/Transforms/InstCombine/sadd_sat.ll
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
    M llvm/test/Transforms/InstCombine/select-imm-canon.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/sext-of-trunc-nsw.ll
    M llvm/test/Transforms/InstCombine/sext.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
    M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
    M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll
    M llvm/test/Transforms/InstCombine/shift-shift.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/shl-demand.ll
    M llvm/test/Transforms/InstCombine/sign-bit-test-via-right-shifting-all-other-bits.ll
    M llvm/test/Transforms/InstCombine/trunc-demand.ll
    M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/trunc-shift-trunc.ll
    M llvm/test/Transforms/InstCombine/trunc.ll
    M llvm/test/Transforms/InstCombine/truncating-saturate.ll
    M llvm/test/Transforms/InstCombine/vector-trunc.ll
    M llvm/test/Transforms/InstCombine/xor-ashr.ll
    M llvm/test/Transforms/InstCombine/zext-ctlz-trunc-to-ctlz-add.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
    M llvm/test/Transforms/SCCP/conditions-ranges.ll
    M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
    A llvm/test/Transforms/SCCP/range-attribute.ll
    A llvm/test/Transforms/SCCP/trunc-nuw-nsw-flags.ll
    M llvm/test/Transforms/SCCP/widening.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
    A llvm/test/Transforms/SLPVectorizer/X86/sitofp-minbitwidth-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
    A llvm/test/Transforms/VectorCombine/X86/pr67803.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/tools/CMakeLists.txt
    M llvm/tools/llvm-mca/CMakeLists.txt
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M mlir/include/mlir/Dialect/AMDGPU/CMakeLists.txt
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    R mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.h
    R mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
    R mlir/include/mlir/Dialect/AMDGPU/TransformOps/CMakeLists.txt
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
    R mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
    R mlir/include/mlir/Dialect/AMDGPU/Transforms/Utils.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Dialect/AMDGPU/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    R mlir/lib/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.cpp
    R mlir/lib/Dialect/AMDGPU/TransformOps/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
    R mlir/lib/Dialect/AMDGPU/Transforms/Utils.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Conversion/ComplexToStandard/full-conversion.mlir
    R mlir/test/Dialect/AMDGPU/optimize_shmem_reads_writes.mlir
    R mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Dialect/SparseTensor/external_direct.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Add const

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/b85ff328d666...587ae9509f88

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


More information about the All-commits mailing list