[all-commits] [llvm/llvm-project] 8f1590: [AsmPrinter] Don't check for inlineasm dialect on ...

Billy Zhu via All-commits all-commits at lists.llvm.org
Thu Jul 11 22:15:10 PDT 2024


  Branch: refs/heads/users/zyx-billy/mlir/llvm/fix_cyclic_importer
  Home:   https://github.com/llvm/llvm-project
  Commit: 8f159096e097dde5a95d14984623c51d58ed8e69
      https://github.com/llvm/llvm-project/commit/8f159096e097dde5a95d14984623c51d58ed8e69
  Author: David Tellenbach <dtellenbach at apple.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    A clang/test/CodeGen/aarch64-inlineasm-ios.c
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp

  Log Message:
  -----------
  [AsmPrinter] Don't check for inlineasm dialect on non-X86 platforms (#98097)

AArch64 uses MCAsmInfo::AssemblerDialect to control the style of emitted
Neon assembly. E.g. Apple platforms use AsmWriterVariantTy::Apple by
default which collides with InlineAsm::AD_Intel (both value 1). Checking
for inlineasm dialects on non-X86 platforms can thus lead to problems.


  Commit: a937d2918ee6f90ea0f6344a5d55781037da4b4a
      https://github.com/llvm/llvm-project/commit/a937d2918ee6f90ea0f6344a5d55781037da4b4a
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
    A llvm/test/CodeGen/AArch64/speculation-hardening-sls-blra.mir

  Log Message:
  -----------
  [AArch64][PAC] Support BLRA* instructions in SLS Hardening pass (#98062)

Make SLS Hardening pass handle BLRA* instructions the same way it
handles BLR. The thunk names have the form

    __llvm_slsblr_thunk_xN            for BLR thunks
    __llvm_slsblr_thunk_(aaz|abz)_xN  for BLRAAZ and BLRABZ thunks
    __llvm_slsblr_thunk_(aa|ab)_xN_xM for BLRAA and BLRAB thunks

Now there are about 1800 possible thunk names, so do not rely on linear
thunk function's name lookup and parse the name instead.

This patch reapplies llvm/llvm-project#97605.


  Commit: 7b604cdf75fd1c741a15138684ea0e98dca5e46f
      https://github.com/llvm/llvm-project/commit/7b604cdf75fd1c741a15138684ea0e98dca5e46f
  Author: Azat Khuzhin <a3at.mail at gmail.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M libunwind/src/UnwindCursor.hpp

  Log Message:
  -----------
  [libunwind] fix unwinding from signal handler (#92291)

In case of this is frame of signal handler, the IP should be
incremented, because the IP saved in the signal handler points to first
non-executed instruction, while FDE/CIE expects IP to be after the first
non-executed instruction.

Refs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26208


  Commit: 45fc655b9eb038a8daf739b9dafb46fe0aac2d60
      https://github.com/llvm/llvm-project/commit/45fc655b9eb038a8daf739b9dafb46fe0aac2d60
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp

  Log Message:
  -----------
  [ARM] Work around Clang 9 after MCCFIInstruction::OpType uses uint8_t

ARMAsmBackend.cpp:1205:57: error: use of overloaded operator '<<' is ambiguous (with operand types 'llvm::raw_ostream' and
 'llvm::MCCFIInstruction::OpType')
                             "unwind encoding, opcode=" << Inst.getOperation()
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~


  Commit: 2c42c2263dc62ec7fb86081db5a0f1832c605505
      https://github.com/llvm/llvm-project/commit/2c42c2263dc62ec7fb86081db5a0f1832c605505
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

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

  Log Message:
  -----------
  [clang][OpenMP] Make `getOpenMPCaptureRegionForClause` more generic (#98180)

Rewrite `getOpenMPCaptureRegionForClause` with more generic code,
relying on directive composition instead of listing individual
directives.


  Commit: 63a9662f6cc41658f36ccddfb565d3dc5ad0135f
      https://github.com/llvm/llvm-project/commit/63a9662f6cc41658f36ccddfb565d3dc5ad0135f
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M libc/test/src/unistd/CMakeLists.txt
    M libc/test/src/unistd/readlink_test.cpp
    M libc/test/src/unistd/readlinkat_test.cpp

  Log Message:
  -----------
  [libc] Fix readlink tests on 32-bit systems (#98168)

This patch removes the call sizeof(<Cstring>) and makes buf a
fixed-length array.

The test case worked in 64-bit systems because the sizeof(CString) was
big enough (19 bytes) to hold the contents of FILENAME, but in 32-bit
systems sizeof(CString) is only 12 bytes long, causing a truncation of
FILENAME when placing it in buf.


  Commit: 9e0347d7054223f9735819557a16215c3205e216
      https://github.com/llvm/llvm-project/commit/9e0347d7054223f9735819557a16215c3205e216
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M libc/test/src/stdio/sprintf_test.cpp

  Log Message:
  -----------
  [libc] Fix sprintf FixedConv test (#98204)

This patch enlarges the number to ensure that a 64-bit number is being read.


  Commit: e291f31f894eeecc5770e026cc21b71fd12bf810
      https://github.com/llvm/llvm-project/commit/e291f31f894eeecc5770e026cc21b71fd12bf810
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M llvm/lib/ProfileData/InstrProf.cpp

  Log Message:
  -----------
  [NFC] Coding style fixes in InstrProf.cpp (#98211)


  Commit: 0b53e7b1cb71e7a021d30efa1620c2e54383b64d
      https://github.com/llvm/llvm-project/commit/0b53e7b1cb71e7a021d30efa1620c2e54383b64d
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Hexagon.h

  Log Message:
  -----------
  Silence a signed/unsigned comparison mismatch in MSVC; NFC


  Commit: ef89e3efa99ddb7d0dd2bd7ab0809a51ac685a4f
      https://github.com/llvm/llvm-project/commit/ef89e3efa99ddb7d0dd2bd7ab0809a51ac685a4f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
    M llvm/test/Transforms/LoopVectorize/X86/ephemeral-recipes.ll

  Log Message:
  -----------
  [VPlan] Collect ephemeral values for VPlan.

Port collectEphemeralValues to VPlan as collectEphemeralRecipesForVPlan,
use it in willGenerateVectors. This fixes a regression caused by
29b8b72117 for loops where the only vector values are ephemeral.


  Commit: 10f3f06d865fe5ec434fbaf78009301e95b59ea5
      https://github.com/llvm/llvm-project/commit/10f3f06d865fe5ec434fbaf78009301e95b59ea5
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M lldb/source/Core/FormatEntity.cpp
    A lldb/test/API/functionalities/data-formatter/special-chars/Makefile
    A lldb/test/API/functionalities/data-formatter/special-chars/TestSummaryStringSpecialChars.py
    A lldb/test/API/functionalities/data-formatter/special-chars/main.c

  Log Message:
  -----------
  [lldb] Improve summary string handling of dollar chars (#98190)

This improves the handling of `$` (dollar) characters in summary strings in the 
following ways:

1. When a `$` is not followed by an open paren (`{`), it should be treated as a literal 
character and preserved in the output. Previously, the dollar would be consumed by the 
parser and not shown in the output.
2. When a `$` is the last character of a format string, this change eliminates the 
infinite loop lldb would enter into.

rdar://131392446


  Commit: 9e1f1cfa59c4513798de5c326d77e1e5912b1634
      https://github.com/llvm/llvm-project/commit/9e1f1cfa59c4513798de5c326d77e1e5912b1634
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaExprMember.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p2.cpp

  Log Message:
  -----------
  [Clang][Sema] Handle class member access expressions with valid nested-name-specifiers that become invalid after lookup (#98167)

The following code causes an assert in `SemaExprMember.cpp` on line 981
to fail:
```
struct A { };
struct B;

void f(A *x) {
  x->B::y; // crash here
}
```
This happens because we only return early from
`BuildMemberReferenceExpr` when the `CXXScopeSpecifier` is invalid
_before_ the lookup is performed. Since the lookup may invalidate the
`CXXScopeSpecifier` (e.g. if the _nested-name-specifier_ is incomplete),
this results in the second `BuildMemberReferenceExpr` overload being
called with an invalid `CXXScopeSpecifier`, which causes the assert to
fail. This patch moves the early return for invalid `CXXScopeSpecifiers`
to occur _after_ lookup is performed. This fixes #92972.

I also removed the `if (SS.isSet() && SS.isInvalid())` check in
`ActOnMemberAccessExpr` because the condition can never be true (`isSet`
returns `getScopeRep() != nullptr` and `isInvalid` returns
`Range.isValid() && getScopeRep() == nullptr`).


  Commit: e22ebee5a3bb56cb7f9a9513f01fb7ed24b23f48
      https://github.com/llvm/llvm-project/commit/e22ebee5a3bb56cb7f9a9513f01fb7ed24b23f48
  Author: Henrik G. Olsson <hnrklssn at gmail.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    A clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
    A clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
    A clang/test/AST/attr-sized-by-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-or-null-last-field.c
    A clang/test/Sema/attr-counted-by-or-null-late-parsed-off.c
    A clang/test/Sema/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-or-null-struct-ptrs-sizeless-types.c
    A clang/test/Sema/attr-counted-by-or-null-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-or-null-vla-sizeless-types.c
    M clang/test/Sema/attr-counted-by-vla.c
    A clang/test/Sema/attr-sized-by-last-field.c
    A clang/test/Sema/attr-sized-by-late-parsed-off.c
    A clang/test/Sema/attr-sized-by-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-sized-by-or-null-last-field.c
    A clang/test/Sema/attr-sized-by-or-null-late-parsed-off.c
    A clang/test/Sema/attr-sized-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-sized-by-or-null-struct-ptrs-sizeless-types.c
    A clang/test/Sema/attr-sized-by-or-null-struct-ptrs.c
    A clang/test/Sema/attr-sized-by-or-null-vla-sizeless-types.c
    A clang/test/Sema/attr-sized-by-struct-ptrs-sizeless-types.c
    A clang/test/Sema/attr-sized-by-struct-ptrs.c
    A clang/test/Sema/attr-sized-by-vla-sizeless-types.c

  Log Message:
  -----------
  [Bounds-Safety] Add sized_by, counted_by_or_null & sized_by_or_null (#93231)

The attributes `sized_by`, `counted_by_or_null` and `sized_by_or_null`
have been added as variants on `counted_by`, each with slightly
different semantics. `sized_by` takes a byte size parameter instead of
an element count, allowing pointees with unknown size. The
`counted_by_or_null` and `sized_by_or_null` variants are equivalent to
their base variants, except the pointer can be null regardless of
count/size value. If the pointer is null the size is effectively 0.

rdar://125400354


  Commit: 5ccbf4bc13ac48240d9fcb14411617809e527304
      https://github.com/llvm/llvm-project/commit/5ccbf4bc13ac48240d9fcb14411617809e527304
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M mlir/unittests/Support/CyclicReplacerCacheTest.cpp

  Log Message:
  -----------
  typo & comments


  Commit: 8d5ba7598ace4c195e673aaab2b2ccadff3ad48f
      https://github.com/llvm/llvm-project/commit/8d5ba7598ace4c195e673aaab2b2ccadff3ad48f
  Author: Vijay Kandiah <vkandiah at nvidia.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [mlir][openacc] Added custom builder for acc::ParallelOp (#98191)

This change adds a custom builder for `acc::ParallelOp`. This enables
users to only specify the operands they would need for their
`acc::ParallelOp` while building it. They can specify nothing to create
an empty `acc.parallel`, or all of the 11 operands listed
[here](https://mlir.llvm.org/docs/Dialects/OpenACCDialect/#operands-27),
or anywhere in between following the specified order in this custom
builder. Unspecified operands are left empty. Additionally, users can
later set the optional attributes such as `numGangsDeviceType` using the
available attribute setters for `acc::ParallelOp`.


  Commit: 4a010799317dfe19758477f693968fc594c1895d
      https://github.com/llvm/llvm-project/commit/4a010799317dfe19758477f693968fc594c1895d
  Author: Steffi Stumpos <stumposs12 at gmail.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    A mlir/test/Dialect/LLVMIR/tail-call-kinds.mlir
    A mlir/test/Target/LLVMIR/Import/tail-kind.ll

  Log Message:
  -----------
  Expose Tail Kind Call to MLIR (#98080)

I would like to mark a call op in LLVM dialect as Musttail. The calling
convention attribute only exposes Tail, not Musttail. I noticed that the
CallInst of LLVM has an additional field to specify the flavor of tail
call kind. I bubbled this up to the LLVM dialect by adding another
attribute that maps to LLVM::CallInst::TailCallKind.


  Commit: af21bc19172410f29606cac82a96c33d6710fe38
      https://github.com/llvm/llvm-project/commit/af21bc19172410f29606cac82a96c33d6710fe38
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/phi-removed-on-operand-vectorization.ll

  Log Message:
  -----------
  [SLP]Fix a crash on attempt to revectorize vectorized phi.

If the PHI node is vectorized during vectorization of its operands, no
need to try to vectorize its operands once again.


  Commit: f363e30f15ef274f94dba53a13d73998066a0148
      https://github.com/llvm/llvm-project/commit/f363e30f15ef274f94dba53a13d73998066a0148
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/test/CodeGenOpenCL/amdgpu-features-illegal.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
    M llvm/include/llvm/TargetParser/TargetParser.h
    M llvm/lib/TargetParser/TargetParser.cpp

  Log Message:
  -----------
  [AMDGPU] Report error in clang if wave32 is requested where unsupported (#97633)


  Commit: ce03155a1bd02fc078f710b5497be4e382bbe5d9
      https://github.com/llvm/llvm-project/commit/ce03155a1bd02fc078f710b5497be4e382bbe5d9
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/lib/ProfileData/SampleProf.cpp
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/lib/Transforms/IPO/SampleContextTracker.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp

  Log Message:
  -----------
  [NFC] Coding style fixes: SampleProf (#98208)

Also some control flow simplifications.

Notably, this doesn't address `sampleprof_error`. I *think* the style
there tries to match `std::error_category`.

Also left `hash_value` as-is, because it matches what we do in Hashing.h


  Commit: 8e9d50cdd14b366249bbb61cb3a1d4586289bfee
      https://github.com/llvm/llvm-project/commit/8e9d50cdd14b366249bbb61cb3a1d4586289bfee
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
    M llvm/test/Transforms/InstSimplify/known-never-nan.ll

  Log Message:
  -----------
  [InstSimplify] fold uno/ord comparison if fpclass is always NaN (#97763)

In InstSimplify we already fold `fcmp ord/uno` to a constant when both
operands are known to be non-NaN. This change slightly generalizes this
to also handle the case where either of the operands is known to always
be NaN.

Proof: https://alive2.llvm.org/ce/z/AhCmJN


  Commit: e142a5568627d8f90b13aaca3e427cb0bed71464
      https://github.com/llvm/llvm-project/commit/e142a5568627d8f90b13aaca3e427cb0bed71464
  Author: Pranav Kant <prka at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.h
    M llvm/test/tools/llvm-objcopy/ELF/remove-section-in-group.test

  Log Message:
  -----------
  [llvm-objcopy] Remove references for empty section groups (#98106)

Otherwise, llvm-objcopy fails with use-after-free when built under
sanitizers. Simple repro: run the test
`ELF/remove-section-in-group.test` under asan. This is due to symbol
table references to empty section groups that must be removed.


  Commit: 9739df2c8948c265955a2907ce00f4225dced5d1
      https://github.com/llvm/llvm-project/commit/9739df2c8948c265955a2907ce00f4225dced5d1
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M flang/lib/Frontend/CompilerInstance.cpp

  Log Message:
  -----------
  [AMDGPU] Fix flang build after #97633 (#98231)


  Commit: f35318e828d166bee04a117c1a87c1c0e32a57da
      https://github.com/llvm/llvm-project/commit/f35318e828d166bee04a117c1a87c1c0e32a57da
  Author: Rob Suderman <rob.suderman at gmail.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir

  Log Message:
  -----------
  [mlir][amdgpu] Add support for multi-dim arith.truncf/extf fp8 lowering (#98074)

The existing `fp8` lowering from `arith` to `amdgpu` bails out on the
multidimensional case. We can handle this by `vector.shape_cast`
collapsing to the 1-D case on extraction and re-casting back to the
desired output shape.


  Commit: 7021e44b2f0e11717c0d82456bad0fed4a0b48f9
      https://github.com/llvm/llvm-project/commit/7021e44b2f0e11717c0d82456bad0fed4a0b48f9
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules

  Log Message:
  -----------
  [lldb][test] Set target and host OS for API tests in case of remote testing

Makefile.rules uses HOST_OS and OS variables for determining host and target
OSes for API tests compilation.

This commit moves the platform detection logic from Makefile to Python lldb
test suite.

    This is useful for the case of Windows-to-Linux cross-testing.


  Commit: afbd7d1e7c7155b07561e46275a451fec917c34c
      https://github.com/llvm/llvm-project/commit/afbd7d1e7c7155b07561e46275a451fec917c34c
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [NFC] Coding style: drop `k` in `kGlobalIdentifierDelimiter` (#98230)


  Commit: 7bfb98c34687d9784f36937c3ff3e735698b498a
      https://github.com/llvm/llvm-project/commit/7bfb98c34687d9784f36937c3ff3e735698b498a
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/UnresolvedSet.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp
    M clang/test/CXX/class.derived/class.member.lookup/p8.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    A clang/test/CXX/temp/temp.names/p3-23.cpp
    M clang/test/CXX/temp/temp.res/p3.cpp
    M clang/test/FixIt/fixit.cpp
    M clang/test/Misc/warning-flags.c
    M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
    M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
    M clang/test/SemaCXX/pseudo-destructors.cpp
    M clang/test/SemaCXX/static-assert-cxx17.cpp
    M clang/test/SemaTemplate/dependent-base-classes.cpp
    M clang/test/SemaTemplate/dependent-template-recover.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/test/SemaTemplate/template-id-expr.cpp
    M clang/test/SemaTemplate/typename-specifier-3.cpp
    M libcxx/include/regex

  Log Message:
  -----------
  [Clang] Implement resolution for CWG1835 (#92957)

CWG1835 was one of the many core issues resolved by P1787R6: "Declarations and where to
find them" (http://wg21.link/p1787r6). Its resolution changes how
member-qualified names (as defined by [basic.lookup.qual.general] p2) are looked
up. This patch implementation that resolution.

Previously, an _identifier_ following `.` or `->` would be first looked
up in the type of the object expression (i.e. qualified lookup), and
then in the context of the _postfix-expression_ (i.e. unqualified
lookup) if nothing was found; the result of the second lookup was
required to name a class template. Notably, this second lookup would
occur even when the object expression was dependent, and its result
would be used to determine whether a `<` token is the start of a
_template-argument_list_.

The new wording in [basic.lookup.qual.general] p2 states:
> A member-qualified name is the (unique) component name, if any, of
> - an _unqualified-id_ or
> - a _nested-name-specifier_ of the form _`type-name ::`_ or
_`namespace-name ::`​_
>
> in the id-expression of a class member access expression. A
***qualified name*** is
> - a member-qualified name or
> - the terminal name of
>     - a _qualified-id_,
>     - a _using-declarator_,
>     - a _typename-specifier_,
>     - a _qualified-namespace-specifier_, or
> - a _nested-name-specifier_, _elaborated-type-specifier_, or
_class-or-decltype_ that has a _nested-name-specifier_.
>
> The _lookup context_ of a member-qualified name is the type of its
associated object expression (considered dependent if the object
expression is type-dependent). The lookup context of any other qualified
name is the type, template, or namespace nominated by the preceding
_nested-name-specifier_.

And [basic.lookup.qual.general] p3 now states:
> _Qualified name lookup_ in a class, namespace, or enumeration performs
a search of the scope associated with it except as specified below.
Unless otherwise specified, a qualified name undergoes qualified name
lookup in its lookup context from the point where it appears unless the
lookup context either is dependent and is not the current instantiation
or is not a class or class template. If nothing is found by qualified
lookup for a member-qualified name that is the terminal name of a
_nested-name-specifier_ and is not dependent, it undergoes unqualified
lookup.

In non-standardese terms, these two paragraphs essentially state the
following:
- A name that immediately follows `.` or `->` in a class member access
expression is a member-qualified name
- A member-qualified name will be first looked up in the type of the
object expression `T` unless `T` is a dependent type that is _not_ the
current instantiation, e.g.
```
template<typename T>
struct A
{
    void f(T* t)
    {
        this->x; // type of the object expression is 'A<T>'. although 'A<T>' is dependent, it is the
                 // current instantiation so we look up 'x' in the template definition context.
        
        t->y; // type of the object expression is 'T' ('->' is transformed to '.' per [expr.ref]). 
              // 'T' is dependent and is *not* the current instantiation, so we lookup 'y' in the 
              // template instantiation context.
    }
};
```
- If the first lookup finds nothing and:
- the member-qualified name is the first component of a
_nested-name-specifier_ (which could be an _identifier_ or a
_simple-template-id_), and either:
- the type of the object expression is the current instantiation and it
has no dependent base classes, or
        - the type of the object expression is not dependent

  then we lookup the name again, this time via unqualified lookup.

Although the second (unqualified) lookup is stated not to occur when the
member-qualified name is dependent, a dependent name will _not_ be
dependent once the template is instantiated, so the second lookup must
"occur" during instantiation if qualified lookup does not find anything.
This means that we must perform the second (unqualified) lookup during
parsing even when the type of the object expression is dependent, but
those results are _not_ used to determine whether a `<` token is the
start of a _template-argument_list_; they are stored so we can replicate
the second lookup during instantiation.

In even simpler terms (paraphrasing the meeting minutes from the review of P1787; see https://wiki.edg.com/bin/view/Wg21summer2020/P1787%28Lookup%29Review2020-06-15Through2020-06-18):
- Unqualified lookup always happens for the first name in a
_nested-name-specifier_ that follows `.` or `->`
- The result of that lookup is only used to determine whether `<` is the
start of a _template-argument-list_ if the first (qualified) lookup
found nothing and the lookup context:
    - is not dependent, or 
    - is the current instantiation and has no dependent base classes.

An example:
```
struct A 
{
     void f();
};

template<typename T>
using B = A;

template<typename T>
struct C : A
{
    template<typename U>
    void g();

    void h(T* t)
    {
        this->g<int>(); // ok, '<' is the start of a template-argument-list ('g' was found via qualified lookup in the current instantiation)
        this->B<void>::f(); // ok, '<' is the start of a template-argument-list (current instantiation has no dependent bases, 'B' was found via unqualified lookup)
        t->g<int>(); // error: '<' means less than (unqualified lookup does not occur for a member-qualified name that isn't the first component of a nested-name-specifier)
        t->B<void>::f(); // error: '<' means less than (unqualified lookup does not occur if the name is dependent)
        t->template B<void>::f(); // ok: '<' is the start of a template-argument-list ('template' keyword used)
    }
};
```

Some additional notes:
- Per [basic.lookup.qual.general] p1, lookup for a
member-qualified name only considers namespaces, types, and templates
whose specializations are types if it's an _identifier_ followed by
`::`; lookup for the component name of a _simple-template-id_ followed
by `::` is _not_ subject to this rule.
- The wording which specifies when the second unqualified lookup occurs
appears to be paradoxical. We are supposed to do it only for the first
component name of a _nested-name-specifier_ that follows `.` or `->`
when qualified lookup finds nothing. However, when that name is followed
by `<` (potentially starting a _simple-template-id_) we don't _know_
whether it will be the start of a _nested-name-specifier_ until we do
the lookup -- but we aren't supposed to do the lookup until we know it's
part of a _nested-name-specifier_! ***However***, since we only do the
second lookup when the first lookup finds nothing (and the name isn't
dependent), ***and*** since neither lookup is type-only, the only valid
option is for the name to be the _template-name_ in a
_simple-template-id_ that is followed by `::` (it can't be an
_unqualified-id_ naming a member because we already determined that the
lookup context doesn't have a member with that name). Thus, we can lock
into the _nested-name-specifier_ interpretation and do the second lookup
without having to know whether the _simple-template-id_ will be followed
by `::` yet.


  Commit: 6b8453732b9129299170f7c3ef574ff219790fc5
      https://github.com/llvm/llvm-project/commit/6b8453732b9129299170f7c3ef574ff219790fc5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/rtsan/tests/CMakeLists.txt

  Log Message:
  -----------
  [rtsan] Re-enable rtsan tests (#98219)

Follow up to #92460

DEPS llvm_gtest is not used by compiler-rt,
compiler-rt compiles them with COMPILER_RT_GOOGLETEST_SOURCES.

This reverts commit e217f98ac3ee55755ee6ea3b97551cf8283528c9.


  Commit: 240ec5a37517f55a64cd0c69fd4fa1613ab30f97
      https://github.com/llvm/llvm-project/commit/240ec5a37517f55a64cd0c69fd4fa1613ab30f97
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M libc/config/gpu/api.td
    M libc/config/linux/api.td
    M libc/hdr/CMakeLists.txt
    A libc/hdr/stdio_macros.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/off_t.h
    M libc/include/llvm-libc-macros/stdio-macros.h
    M libc/newhdrgen/yaml/stdio.yaml
    M libc/src/__support/File/CMakeLists.txt
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/File/linux/CMakeLists.txt
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/File/linux/file.h
    M libc/src/__support/File/linux/lseekImpl.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/fcntl.cpp
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/fopencookie.cpp
    M libc/src/stdio/setbuf.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Move off_t and stdio macros to proxy hdrs (#98215)

The arm32 build has been failing due to redefinitions of the off_t type.
This patch fixes this by moving off_t to a proper proxy header. To do
this, it also moves stdio macros to a proxy header to hopefully avoid
including this proxy header alongside this public stdio.h.


  Commit: 04f0adcd58baa530b13472a897b422fae46abfa2
      https://github.com/llvm/llvm-project/commit/04f0adcd58baa530b13472a897b422fae46abfa2
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

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

  Log Message:
  -----------
  [compiler-rt][memprof] Do not add libdl to MEMPROF_UNITTEST_LINK_LIBRARIES (#98221)

Remove unnecessary dependency.

Test plan: ninja check-all


  Commit: be9b1de1ab71e7d19c197fdfe1c3681f22c31923
      https://github.com/llvm/llvm-project/commit/be9b1de1ab71e7d19c197fdfe1c3681f22c31923
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M libc/src/__support/OSUtil/baremetal/exit.cpp
    M libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/stdlib/exit.cpp
    M libc/startup/baremetal/fini.cpp
    M libc/startup/baremetal/init.cpp

  Log Message:
  -----------
  [libc] Move the internal extern "C" symbols inside the namespace (#98232)

This ensures that these symbols inherit the namespace visibility.


  Commit: 3a744283f4c56b57adb2c381c0aeaf7faf5120ec
      https://github.com/llvm/llvm-project/commit/3a744283f4c56b57adb2c381c0aeaf7faf5120ec
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M libc/config/gpu/api.td
    M libc/config/linux/api.td
    M libc/hdr/CMakeLists.txt
    R libc/hdr/stdio_macros.h
    M libc/hdr/types/CMakeLists.txt
    R libc/hdr/types/off_t.h
    M libc/include/llvm-libc-macros/stdio-macros.h
    M libc/newhdrgen/yaml/stdio.yaml
    M libc/src/__support/File/CMakeLists.txt
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/File/linux/CMakeLists.txt
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/File/linux/file.h
    M libc/src/__support/File/linux/lseekImpl.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/fcntl.cpp
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/fopencookie.cpp
    M libc/src/stdio/setbuf.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  Revert "[libc] Move off_t and stdio macros to proxy hdrs" (#98242)

Reverts llvm/llvm-project#98215

Breaks linux bots


  Commit: a40daa34efd3cc0fe7ef50f936775287cb14b399
      https://github.com/llvm/llvm-project/commit/a40daa34efd3cc0fe7ef50f936775287cb14b399
  Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

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

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Cleanup version check (#97839)

Cleans up version check to remove redundant else branch.


  Commit: f137be30a4b6f49b86bfde6b5ee59463884916fc
      https://github.com/llvm/llvm-project/commit/f137be30a4b6f49b86bfde6b5ee59463884916fc
  Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/DebugData.h
    M bolt/lib/Core/DebugData.cpp

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Remove unnecessary SectionOffset (#97841)

Removes unnecessary SectionOffset variable from DebugData.


  Commit: d283627c4a0a4fec6c29d33fcbaf123365eeefae
      https://github.com/llvm/llvm-project/commit/d283627c4a0a4fec6c29d33fcbaf123365eeefae
  Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

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

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Update Die to not use std::optional (#97844)

Updates initialization to remove unnecessary use of std::optional.


  Commit: 2d8b282225f88371b8187f2ec02280ee474e21d6
      https://github.com/llvm/llvm-project/commit/2d8b282225f88371b8187f2ec02280ee474e21d6
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

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

  Log Message:
  -----------
  [SandboxIR] Update visibility of IR constructors. (#98107)

All SandboxIR objects are owned by sandboxir::Context and should be
created using sandboxir::Context's builder functions.
This patch protects the constructors to prohibit their use by the user.


  Commit: 14f745074d05fb42f5c8a625c79bf557bb980ebb
      https://github.com/llvm/llvm-project/commit/14f745074d05fb42f5c8a625c79bf557bb980ebb
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake

  Log Message:
  -----------
  [rtsan] Temporarily disable runtime to fix bots after #98219 (#98250)

New failures after #98219


  Commit: e5aa7999bf1bc9a6c7a03bbc65036325a4ec5503
      https://github.com/llvm/llvm-project/commit/e5aa7999bf1bc9a6c7a03bbc65036325a4ec5503
  Author: Steffi Stumpos <stumposs12 at gmail.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td

  Log Message:
  -----------
  [mojo-lang] Use Lower Case in TailCallAttribute Member Names (#98253)

The build is broken with the error message:
```
error: declaration of 'mlir::LLVM::tailcallkind::TailCallKind mlir::LLVM::detail::TailCallKindAttrStorage::TailCallKind' changes meaning of 'TailCallKind'
```
I cannot replicate the error locally because I think it's only reported
by GCC not clang. However, I think the change in this patch may fix it.


  Commit: 1c6bc0458de358d327f1ff6aa07eef522090bebb
      https://github.com/llvm/llvm-project/commit/1c6bc0458de358d327f1ff6aa07eef522090bebb
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

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

  Log Message:
  -----------
  [compiler-rt][nsan] cmake cleanup (#98224)

CMake cleanup. NFC.


  Commit: 46c7da63555b133016ed54ad677bdcc05549ddc2
      https://github.com/llvm/llvm-project/commit/46c7da63555b133016ed54ad677bdcc05549ddc2
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/math/generic/expm1.cpp
    M libc/test/src/math/expm1_test.cpp
    M libc/test/src/math/tan_test.cpp

  Log Message:
  -----------
  [libc][math] Fix overflow shifts for dyadic floats and add skip accuracy option for expm1. (#98048)

The following errors were reported by Paul Zimmerman:
```
expm1
Running worst cases check in --rndn mode...
FAIL x=0x1.c3b93d3b25c91p+8 ref=0x1.9fb21849affd1p+651 z=0x1.9f921849affd1p+651
Running worst cases check in --rndz mode...
FAIL x=0x1.d6479eba7c971p+8 ref=0x1.62a88613629b5p+678 z=0x1.62a886135e9b5p+678
Running worst cases check in --rndu mode...
FAIL x=0x1.1f0da93354198p+7 ref=0x1.0bd73b73fc74dp+207 z=0x1.0bd73b73fc74cp+207
Running worst cases check in --rndd mode...
FAIL x=0x1.93b3037166891p+8 ref=0x1.554f3a5c4535cp+582 z=0x1.554f3a5c4535bp+582
```
```
tan
Running worst cases check in --rndn mode...
FAIL x=0x1.00452f0e0134dp-13 ref=0x1.00452f2367da9p-13 z=0x1.00452f2367daap-13
Running worst cases check in --rndz mode...
FAIL x=0x1.89f0f5241255bp-2 ref=0x1.9e997dd861117p-2 z=0x1.9e997dd861118p-2
FAIL x=0x1.045457ae3994p+5 ref=0x1.0c06941768ef3p+1 z=0x1.0c06941768ef4p+1
```


  Commit: b0b96fbff47c74940a62073c579372f3c47df9c8
      https://github.com/llvm/llvm-project/commit/b0b96fbff47c74940a62073c579372f3c47df9c8
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/Sema/no-warn-missing-prototype.c

  Log Message:
  -----------
  Fix erroneous `-Wmissing-prototypes` for Win32 entry points (#98105)

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


  Commit: c2fb400c45706697e3d6991f59dbc713e1e4668f
      https://github.com/llvm/llvm-project/commit/c2fb400c45706697e3d6991f59dbc713e1e4668f
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [X86] Fix tuning for emeraldrapids (#98123)

The incorrect tuning is introduced by #97721.


  Commit: 60ff9c2ea526834ca03218fafee3172653eb14d1
      https://github.com/llvm/llvm-project/commit/60ff9c2ea526834ca03218fafee3172653eb14d1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/llvm_libc_ext.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/amdgpu/CMakeLists.txt
    M libc/src/math/amdgpu/declarations.h
    A libc/src/math/amdgpu/powi.cpp
    A libc/src/math/amdgpu/powif.cpp
    M libc/src/math/nvptx/CMakeLists.txt
    M libc/src/math/nvptx/declarations.h
    A libc/src/math/nvptx/powi.cpp
    A libc/src/math/nvptx/powif.cpp
    A libc/src/math/powi.h
    A libc/src/math/powif.h

  Log Message:
  -----------
  [libc] Add support for `powi` as an LLVM libc extension on the GPU (#98236)

Summary:
This function is used by the CUDA / HIP / OpenMP headers and exists as
an NVIDIA extension basically. This function is implemented in the C23
standard as `pown`, but for now we need to provide `powi` for backwards
compatibility. In the future this entrypoint will just be a redirect to
`pown` once that is implemented.


  Commit: 2080af568b0c4c25b64508803f6c6c33dfc7347c
      https://github.com/llvm/llvm-project/commit/2080af568b0c4c25b64508803f6c6c33dfc7347c
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/lib/rtsan/tests/CMakeLists.txt

  Log Message:
  -----------
  [rtsan] Explicitly link pthread in the tests and dynamic libraries (#98256)

Follow up to #98219

This reverts commit
[14f7450](https://github.com/llvm/llvm-project/commit/14f745074d05fb42f5c8a625c79bf557bb980ebb)

Ensure that -pthread is explicitly linked when running the rtsan tests. 

Issue this fixes:
```
FAILED: compiler-rt/lib/rtsan/tests/Rtsan-powerpc64le-NoInstTest /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/runtimes/runtimes-bins/compiler-rt/lib/rtsan/tests/Rtsan-powerpc64le-NoInstTest 
cd /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/runtimes/runtimes-bins/compiler-rt/lib/rtsan/tests && /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/./bin/clang++ RtsanNoInstTestObjects.rtsan_preinit.cpp.powerpc64le.o RtsanNoInstTestObjects.rtsan_test_context.cpp.powerpc64le.o RtsanNoInstTestObjects.rtsan_test_main.cpp.powerpc64le.o RtsanNoInstTestObjects.gtest-all.cc.powerpc64le.o RtsanNoInstTestObjects.gmock-all.cc.powerpc64le.o /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/runtimes/runtimes-bins/compiler-rt/lib/rtsan/tests/libRTRtsanTest.powerpc64le.a -o /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/runtimes/runtimes-bins/compiler-rt/lib/rtsan/tests/./Rtsan-powerpc64le-NoInstTest -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -resource-dir=/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/./lib/../lib/clang/19 -Wl,-rpath,/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/./lib/../lib/clang/19/lib/powerpc64le-unknown-linux-gnu -lstdc++ -no-pie -latomic -m64 -fno-function-sections
/usr/bin/ld: RtsanNoInstTestObjects.gtest-all.cc.powerpc64le.o: undefined reference to symbol 'pthread_getspecific@@GLIBC_2.17'
//usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
```


  Commit: 12239d253d555d6cbd65588b72e9da7acf482c2f
      https://github.com/llvm/llvm-project/commit/12239d253d555d6cbd65588b72e9da7acf482c2f
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [lldb] Small cleanup of ProcessEventData::ShouldStop (#98154)

While looking at a TSAN report (patch coming soon) in the ThreadList
class, I noticed that this code would be simpler if it did not use the
ThreadList class.


  Commit: 7b96d13341aa94d11c2d9ffe5a9304e3640ad80b
      https://github.com/llvm/llvm-project/commit/7b96d13341aa94d11c2d9ffe5a9304e3640ad80b
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

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

  Log Message:
  -----------
  [rtsan] Add dl, rt, m, and log libraries as unit test dependencies, get rid of atomic (#98264)

Fixing test failures in #98256 

There are two issues being fixed here:

```
ld.lld: error: undefined symbol: dlvsym
ld.lld: error: undefined symbol: dlvsym
```

Fixed by linking dl

```
FAILED: ... -lstdc++ -no-pie -pthread -latomic -m64
/opt/rh/devtoolset-11/root/usr/lib/gcc/ppc64-redhat-linux/11/../../../../bin/ld: cannot find /usr/lib64/libatomic.so.1
```

Fixed by removing atomic from the dependencies, I don't think we were
even using it.

I added in all of the dependencies used by the parent library in the
tests, hopefully getting ahead of any other issues, adding rt and m,
even if we haven't had issues with them yet


  Commit: 66470112d6e00832cae2970fb56f491cd5f7b14a
      https://github.com/llvm/llvm-project/commit/66470112d6e00832cae2970fb56f491cd5f7b14a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp
    M llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Don't expose any constructors of RISCVISAInfo publicly. (#98249)

lld was using RISCVISAInfo(unsigned XLen,
RISCVISAUtils::OrderedExtensionMap &Exts). This required a call to
RISCVISAInfo::postProcessAndChecking to validate the RISCVISAInfo that
was created. This exposes too much about RISCVISAInfo to lld.

Replace with a new RISCVISAInfo::createFromExtMap that is responsible
for creating the object and calling postProcessAndChecking.


  Commit: 9af1f8fbad6c8c38e7e3d6c1cfe7e4b2519db3d8
      https://github.com/llvm/llvm-project/commit/9af1f8fbad6c8c38e7e3d6c1cfe7e4b2519db3d8
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/rvv/vfcvt-x-f.ll
    M llvm/test/CodeGen/RISCV/rvv/vfcvt-xu-f.ll
    M llvm/test/CodeGen/RISCV/rvv/vfncvt-x-f.ll
    M llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-f.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f.ll

  Log Message:
  -----------
  [RISCV] Match vector fp-int convert intrinsics with specific RTZ rounding mode to the rtz variants (#98120)


  Commit: 91d40ef6e369a73b0147d9153a95c3bc63e14102
      https://github.com/llvm/llvm-project/commit/91d40ef6e369a73b0147d9153a95c3bc63e14102
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/CodeGenCXX/modules-vtable.cppm
    R clang/test/CodeGenCXX/pr70585.cppm
    R clang/test/Modules/pr97313.cppm

  Log Message:
  -----------
  Revert "[C++20] [Modules] [Itanium ABI] Generate the vtable in the module unit of dynamic classes (#75912)"

This reverts commit 18f3bcbb13ca83d33223b00761d8cddf463e9ffb, 15bb02650e26875c48889053d6a9697444583721 and
99873b35da7ecb905143c8a6b8deca4d4416f1a9.

See the post commit message in
https://github.com/llvm/llvm-project/pull/75912 to see the reasons.


  Commit: c641fc3a4cd5e0d1b06f401ce48b5e189c221d94
      https://github.com/llvm/llvm-project/commit/c641fc3a4cd5e0d1b06f401ce48b5e189c221d94
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M bolt/test/X86/infer_no_exits.test
    M bolt/test/X86/jt-symbol-disambiguation-4.s

  Log Message:
  -----------
  [BOLT][test] Fix tests for aarch64 buildbot (#97620)

Fix broken tests in
[bolt-aarch64-ubuntu-clang-shared](https://lab.llvm.org/buildbot/#/builders/126/builds/138)


  Commit: 62a7562b828ee9df6a41b6ce3dfda7c5511816a6
      https://github.com/llvm/llvm-project/commit/62a7562b828ee9df6a41b6ce3dfda7c5511816a6
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/docs/StandardCPlusPlusModules.rst

  Log Message:
  -----------
  [docs] [C++20] [Modules] Add a workaround document for missing vtables

Due to https://github.com/llvm/llvm-project/pull/75912 is reverted and
https://github.com/llvm/llvm-project/issues/70585 is reopened. It looks
riskful to fix the issue correctly before 19. So we provide a workaround
here to help people in this trouble as much as possible.


  Commit: ac299ed2c752928d34b5db339a926286115f0718
      https://github.com/llvm/llvm-project/commit/ac299ed2c752928d34b5db339a926286115f0718
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [SLP] Provide an universal interface for FixedVectorType::get. NFC. (#96845)

SLP vectorizes scalar type to vector type. In the future, we will try to
make SLP vectorizes vector type to vector type. We add a getWidenedType
as a helper function. For example, SLP will make the following code

%v0 = load i32, ptr %in0, align 4
%v1 = load i32, ptr %in1, align 4
%v2 = load i32, ptr %in2, align 4
%v3 = load i32, ptr %in3, align 4

into a load <4 x i32>. The ScalarTy is i32 and VF is 4. In the future,
SLP will make the following code

%v0 = load <4 x i32>, ptr %in0, align 4
%v1 = load <4 x i32>, ptr %in1, align 4
%v2 = load <4 x i32>, ptr %in2, align 4
%v3 = load <4 x i32>, ptr %in3, align 4

into a load <16 x i32>. The ScalarTy is <4 x i32> and VF is 4.

reference:
https://discourse.llvm.org/t/rfc-make-slp-vectorizer-revectorize-vector-instructions/79436


  Commit: 3e4adef9467734a3ced62a651ae7f35f5bf45901
      https://github.com/llvm/llvm-project/commit/3e4adef9467734a3ced62a651ae7f35f5bf45901
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

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

  Log Message:
  -----------
  [NFC] Add reference to the clustering algortihm for switch statements (#98239)

Menezes, Evandro, Sebastian Pop, and Aditya Kumar. "Clustering case
statements for indirect branch predictors." arXiv preprint
arXiv:1910.02351 (2019).

https://arxiv.org/pdf/1910.02351v2


  Commit: b6e41c159b221faf1e43e56240cfd5a232697064
      https://github.com/llvm/llvm-project/commit/b6e41c159b221faf1e43e56240cfd5a232697064
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/math-function-macros.h
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/include/math.h.def
    M libc/spec/bsd_ext.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/isnan.cpp
    A libc/src/math/generic/isnanf.cpp
    A libc/src/math/generic/isnanl.cpp
    A libc/src/math/isnan.h
    A libc/src/math/isnanf.h
    A libc/src/math/isnanl.h

  Log Message:
  -----------
  [libc] Provide isnan, isnanf and isnanl functions (#96008)

While C99 defines type generic isnan macro, BSD provided isnan, isnanf
and isnanl in prior C standards and existing code still relies on these.


  Commit: 5523a473ef3bcb611f2efc6d18f1ca7d9d023591
      https://github.com/llvm/llvm-project/commit/5523a473ef3bcb611f2efc6d18f1ca7d9d023591
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Object/ArchiveWriter.h
    M llvm/lib/Object/ArchiveWriter.cpp

  Log Message:
  -----------
  [llvm][object] Expose `writeArchiveToStream` (#98254)

This internal helper is a useful API to have, when one wants to write an
archive directly to some other preallocated stream.


  Commit: d3923354a4c96f20c09b3991afb8c30804ed7a21
      https://github.com/llvm/llvm-project/commit/d3923354a4c96f20c09b3991afb8c30804ed7a21
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/UnresolvedSet.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp
    R clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp
    R clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp
    M clang/test/CXX/class.derived/class.member.lookup/p8.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    R clang/test/CXX/temp/temp.names/p3-23.cpp
    M clang/test/CXX/temp/temp.res/p3.cpp
    M clang/test/FixIt/fixit.cpp
    M clang/test/Misc/warning-flags.c
    M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
    M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
    M clang/test/SemaCXX/pseudo-destructors.cpp
    M clang/test/SemaCXX/static-assert-cxx17.cpp
    M clang/test/SemaTemplate/dependent-base-classes.cpp
    M clang/test/SemaTemplate/dependent-template-recover.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/test/SemaTemplate/template-id-expr.cpp
    M clang/test/SemaTemplate/typename-specifier-3.cpp
    M libcxx/include/regex

  Log Message:
  -----------
  Revert "[Clang] Implement resolution for CWG1835 (#92957)"

ppc64le-lld-multistage-test has been failing.

This reverts commit 7bfb98c34687d9784f36937c3ff3e735698b498a.


  Commit: 869ac4064861b7e644ae52a72fb80efacfd86462
      https://github.com/llvm/llvm-project/commit/869ac4064861b7e644ae52a72fb80efacfd86462
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Template.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaTemplate/nested-deduction-guides.cpp

  Log Message:
  -----------
  [Clang][Sema] Substitute for the type aliases inside of a CTAD guide (#94740)

Similar to the approach of handling nested class templates when building
a CTAD guide, we substitute the template parameters of a type alias
declaration with the instantiating template arguments in order to ensure
the guide eventually doesn't reference any outer template parameters.

For example,
```cpp
template <class T> struct Outer {
  using Alias = S<T>;
  template <class U> struct Inner {
    Inner(Alias);
  };
};
```
we used to retain the reference to T accidentally because the
TreeTransform does nothing on type alias Decls by default.

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


  Commit: 6f619c98aea164f46b5e086d445d62d697ab3b39
      https://github.com/llvm/llvm-project/commit/6f619c98aea164f46b5e086d445d62d697ab3b39
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/logic-of-fcmps.ll

  Log Message:
  -----------
  [InstSimplify] Only handle canonical forms in `simplifyAndOrOfFCmps`. NFC. (#98136)

This patch avoids calling `isKnownNeverNaN` in `simplifyAndOrOfFCmps`
since `fcmp ord/uno X, NNAN` will be canonicalized into `fcmp ord/uno X,
0.0` in InstCombine.


  Commit: 5347f926cf42f6a2347cb9c74927909540acc8bc
      https://github.com/llvm/llvm-project/commit/5347f926cf42f6a2347cb9c74927909540acc8bc
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveIntervals.h

  Log Message:
  -----------
  [CodeGen] Format `LiveIntervals.h` NFC (#98260)

`clang-format` modifies too much code in #98118. Format it firstly.


  Commit: d99efd53f5103df4db517f499fcdd26cd3b080a3
      https://github.com/llvm/llvm-project/commit/d99efd53f5103df4db517f499fcdd26cd3b080a3
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M libc/hdr/math_macros.h

  Log Message:
  -----------
  [libc] Add a missing math-function-macros.h include (#98271)

This was accidentally omitted in #96008.


  Commit: 015526bf3fc6843ad28f9e0809598453228c4bc2
      https://github.com/llvm/llvm-project/commit/015526bf3fc6843ad28f9e0809598453228c4bc2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/MC/RISCV/rv32zcmt-valid.s

  Log Message:
  -----------
  [RISCV] Fix spelling instuctions->instructions.

Taken from #98259 and with the necessary test updates added.


  Commit: 7d246e84a412449f00c0489705336d120983bb5c
      https://github.com/llvm/llvm-project/commit/7d246e84a412449f00c0489705336d120983bb5c
  Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/Linalg/roundtrip.mlir
    A mlir/test/Dialect/Linalg/winograd-conv2d.mlir
    M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp

  Log Message:
  -----------
  [mlir][linalg] Implement Conv2D using Winograd Conv2D algorithm (#96181)

Define high level winograd operators and convert conv_2d_nhwc_fhwc into
winograd operators. According to Winograd Conv2D algorithm, we need
three transform operators for input, filter, and output transformation.

The formula of Winograd Conv2D algorithm is

Y = A^T x [(G x g x G^T) @ (B^T x d x B)] x A

filter transform: G x g x G^T
input transform: B^T x d x B
output transform: A^T x y x A

The implementation is based on the paper, Fast Algorithm for
Convolutional Neural Networks. (https://arxiv.org/abs/1509.09308)

Reviewers: stellaraccident, ftynse, Max191, GeorgeARM, cxy-1993, nicolasvasilache, MaheshRavishankar, dcaballe, rengolin

Reviewed By: ftynse, Max191, stellaraccident

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


  Commit: a37c35e807f334d13ca92d2d1b88f51917d039d2
      https://github.com/llvm/llvm-project/commit/a37c35e807f334d13ca92d2d1b88f51917d039d2
  Author: h-vetinari <h.vetinari at gmx.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx17.rst
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv

  Log Message:
  -----------
  [libc++] mark P0154 as implemented; fix column alignment issues (#97865)

AFAIU, P0154 support is complete as of
https://github.com/llvm/llvm-project/pull/89446


  Commit: 1205371a6e4b4f03aa5fee5124efd4234e279ca4
      https://github.com/llvm/llvm-project/commit/1205371a6e4b4f03aa5fee5124efd4234e279ca4
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD: Generate deduction guides for alias templates from non-template explicit deduction guides (#96686)

This patch addresses an issue where non-template explicit deduction
guides were not considered when synthesized the deduction guides for
alias templates.

Fixes #94927.


  Commit: 4d052a76185875bf8d8343d723a444795b87c8c5
      https://github.com/llvm/llvm-project/commit/4d052a76185875bf8d8343d723a444795b87c8c5
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    A llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-inline-non-constant-len.ll
    M llvm/test/Verifier/intrinsic-immarg.ll

  Log Message:
  -----------
  [Intrinsics][PreISelIntrinsicLowering] llvm.memset.inline length no longer needs to be constant (#95397)

As requested in
https://discourse.llvm.org/t/rfc-introducing-an-llvm-memset-pattern-inline-intrinsic/79496
this patch removes the requirement that the length of llvm.memset.inline
is a constant, and adjusts PreISelIntrinsicLowering so it supports
expanding such the intrinsic in the case it has a non-constant length.


  Commit: b2ac7f52fa95ccc478a478910ccd42730e8ea845
      https://github.com/llvm/llvm-project/commit/b2ac7f52fa95ccc478a478910ccd42730e8ea845
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Annotate function/ctor/dtor declaration l_paren (#97938)


  Commit: ef9aba2a2f01fce463622397f7c43860897ab796
      https://github.com/llvm/llvm-project/commit/ef9aba2a2f01fce463622397f7c43860897ab796
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/InterferenceCache.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp

  Log Message:
  -----------
  [CodeGen] Use range-based for loops (NFC) (#98104)


  Commit: f11c0a1a0d9306456a99e609833d7b188fa904fb
      https://github.com/llvm/llvm-project/commit/f11c0a1a0d9306456a99e609833d7b188fa904fb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp

  Log Message:
  -----------
  [ExecutionEngine] Use range-based for loops (NFC) (#98110)


  Commit: 24d5c54cf52d38e63d365275f913285908aa9c9a
      https://github.com/llvm/llvm-project/commit/24d5c54cf52d38e63d365275f913285908aa9c9a
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  Revert "[compiler-rt][memprof] Do not add libdl to MEMPROF_UNITTEST_LINK_LIBRARIES (#98221)"

This reverts commit 04f0adcd58baa530b13472a897b422fae46abfa2.


  Commit: 9ae24c9ac94017e15eb827e25c5693418e6cdb4b
      https://github.com/llvm/llvm-project/commit/9ae24c9ac94017e15eb827e25c5693418e6cdb4b
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake

  Log Message:
  -----------
  Re-disable rtsan.

Some builders are still failing. (ex. clang-aarch64-sve-vla-2stage)


  Commit: e15d67cfc2e5775cc79281aa860f3ad3be628f39
      https://github.com/llvm/llvm-project/commit/e15d67cfc2e5775cc79281aa860f3ad3be628f39
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/test/CodeGen/aarch64-branch-protection-attr.c
    M clang/test/CodeGen/aarch64-sign-return-address.c
    M clang/test/CodeGen/arm-branch-protection-attr-1.c
    M clang/test/CodeGen/arm-branch-protection-attr-2.c
    A clang/test/Frontend/arm-branch-protection-lto.c
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
    M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/test/CodeGen/AArch64/branch-target-enforcement-indirect-calls.ll
    M llvm/test/CodeGen/AArch64/bti-branch-relaxation.ll
    M llvm/test/CodeGen/AArch64/kcfi-bti.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-2fixup-blr-terminator.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-bti.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-outline-bti.ll
    M llvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-0.ll
    M llvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-4.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-1.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
    M llvm/test/CodeGen/AArch64/pacbti-module-attrs.ll
    M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
    M llvm/test/CodeGen/AArch64/setjmp-bti-outliner.ll
    M llvm/test/CodeGen/AArch64/setjmp-bti.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
    M llvm/test/CodeGen/AArch64/sign-return-address.ll
    M llvm/test/CodeGen/AArch64/wineh-bti.ll
    M llvm/test/CodeGen/AArch64/wineh-pac.ll
    M llvm/test/CodeGen/ARM/setjmp-bti-basic.ll
    M llvm/test/CodeGen/ARM/setjmp-bti-outliner.ll
    M llvm/test/CodeGen/Thumb2/bti-entry-blocks.ll
    M llvm/test/CodeGen/Thumb2/bti-indirect-branches.ll
    M llvm/test/CodeGen/Thumb2/bti-outliner-1.ll
    M llvm/test/CodeGen/Thumb2/bti-outliner-2.ll
    M llvm/test/CodeGen/Thumb2/bti-outliner-cost-2.ll
    M llvm/test/CodeGen/Thumb2/bti-pac-replace-1.mir
    M llvm/test/CodeGen/Thumb2/bti-pac-replace-2.ll
    M llvm/test/CodeGen/Thumb2/jump-table-bti.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-basic.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-1.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-3.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-4.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-5.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-overalign.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-stack-arg.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-unsupported-arch.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-1.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-2.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
    M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
    M llvm/test/Transforms/Inline/inline-sign-return-address.ll
    M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
    M llvm/test/Transforms/LowerTypeTests/function-thumb-bti.ll
    M llvm/test/Transforms/LowerTypeTests/function.ll
    M llvm/test/Verifier/branch-prot-attrs.ll

  Log Message:
  -----------
  [Clang][ARM][AArch64] Alway emit protection attributes for functions. (#82819)

So far branch protection, sign return address, guarded control stack
attributes are
only emitted as module flags to indicate the functions need to be
generated with
those features.
The problem is in case of an LTO build the module flags are merged with
the `min`
rule which means if one of the module is not build with sign return
address then the features
will be turned off for all functions. Due to the functions take the
branch-protection and
sign-return-address features from the module flags. The
sign-return-address is
function level option therefore it is expected functions from files that
is
compiled with -mbranch-protection=pac-ret to be protected.
The inliner might inline functions with different set of flags as it
doesn't consider
the module flags.
 
This patch adds the attributes to all functions and drops the checking
of the module flags
for the code generation.
Module flag is still used for generating the ELF markers.
Also drops the "true"/"false" values from the
branch-protection-enforcement,
branch-protection-pauth-lr, guarded-control-stack attributes as presence
of the
attribute means it is on absence means off and no other option.


  Commit: 4c7fd7eec04da86f5453969b19ad55122b281211
      https://github.com/llvm/llvm-project/commit/4c7fd7eec04da86f5453969b19ad55122b281211
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/IR/Function.cpp
    A llvm/test/Instrumentation/AddressSanitizer/module-flags-aarch64.ll
    A llvm/test/Instrumentation/MemorySanitizer/AArch64/module-flags-aarch64.ll

  Log Message:
  -----------
  [llvm][ARM][AArch64] Add attributes to synthetic functions. (#83153)

Module flags represent the original intention.

Depends on #82819


  Commit: c188cb77ab99f9a455059efe4bd8b6b6665e15d0
      https://github.com/llvm/llvm-project/commit/c188cb77ab99f9a455059efe4bd8b6b6665e15d0
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port for 7d246e84a412449f00c0489705336d120983bb5c


  Commit: da31b684a57cdc77ad4274fd7d8b47ee27dea6c6
      https://github.com/llvm/llvm-project/commit/da31b684a57cdc77ad4274fd7d8b47ee27dea6c6
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/test/CoverageMapping/system_macro.cpp

  Log Message:
  -----------
  [Coverage] Suppress covmap and profdata for system headers. (#97952)

With `system-headers-coverage=false`, functions defined in system
headers were not instrumented but corresponding covmaps were emitted. It
caused wasting covmap and profraw.

This change improves:

- Reduce object size (due to reduced covmap)
- Reduce size of profraw (uninstrumented system headers occupied
counters)
- Smarter view of coverage report. Stubs of uninstrumented system
headers will be no longer seen.


  Commit: ac285595829dde4cf435bcf5fc7a2a502d346fd4
      https://github.com/llvm/llvm-project/commit/ac285595829dde4cf435bcf5fc7a2a502d346fd4
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/IR/Function.cpp
    R llvm/test/Instrumentation/AddressSanitizer/module-flags-aarch64.ll
    R llvm/test/Instrumentation/MemorySanitizer/AArch64/module-flags-aarch64.ll

  Log Message:
  -----------
  Revert "[llvm][ARM][AArch64] Add attributes to synthetic functions." (#98283)

Reverts llvm/llvm-project#83153


  Commit: 4b2daeccc765915d50144d03e6354c362436c3b8
      https://github.com/llvm/llvm-project/commit/4b2daeccc765915d50144d03e6354c362436c3b8
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/test/CodeGen/aarch64-branch-protection-attr.c
    M clang/test/CodeGen/aarch64-sign-return-address.c
    M clang/test/CodeGen/arm-branch-protection-attr-1.c
    M clang/test/CodeGen/arm-branch-protection-attr-2.c
    R clang/test/Frontend/arm-branch-protection-lto.c
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
    M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/test/CodeGen/AArch64/branch-target-enforcement-indirect-calls.ll
    M llvm/test/CodeGen/AArch64/bti-branch-relaxation.ll
    M llvm/test/CodeGen/AArch64/kcfi-bti.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-2fixup-blr-terminator.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-bti.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-outline-bti.ll
    M llvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-0.ll
    M llvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-4.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-1.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
    M llvm/test/CodeGen/AArch64/pacbti-module-attrs.ll
    M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
    M llvm/test/CodeGen/AArch64/setjmp-bti-outliner.ll
    M llvm/test/CodeGen/AArch64/setjmp-bti.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
    M llvm/test/CodeGen/AArch64/sign-return-address.ll
    M llvm/test/CodeGen/AArch64/wineh-bti.ll
    M llvm/test/CodeGen/AArch64/wineh-pac.ll
    M llvm/test/CodeGen/ARM/setjmp-bti-basic.ll
    M llvm/test/CodeGen/ARM/setjmp-bti-outliner.ll
    M llvm/test/CodeGen/Thumb2/bti-entry-blocks.ll
    M llvm/test/CodeGen/Thumb2/bti-indirect-branches.ll
    M llvm/test/CodeGen/Thumb2/bti-outliner-1.ll
    M llvm/test/CodeGen/Thumb2/bti-outliner-2.ll
    M llvm/test/CodeGen/Thumb2/bti-outliner-cost-2.ll
    M llvm/test/CodeGen/Thumb2/bti-pac-replace-1.mir
    M llvm/test/CodeGen/Thumb2/bti-pac-replace-2.ll
    M llvm/test/CodeGen/Thumb2/jump-table-bti.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-basic.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-1.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-3.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-4.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-5.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-overalign.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-stack-arg.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-unsupported-arch.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-1.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-2.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
    M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
    M llvm/test/Transforms/Inline/inline-sign-return-address.ll
    M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
    M llvm/test/Transforms/LowerTypeTests/function-thumb-bti.ll
    M llvm/test/Transforms/LowerTypeTests/function.ll
    M llvm/test/Verifier/branch-prot-attrs.ll

  Log Message:
  -----------
  Revert "[Clang][ARM][AArch64] Alway emit protection attributes for functions." (#98284)

Reverts llvm/llvm-project#82819


  Commit: 8d17824890f668cca654a6b821d642bd3192dc81
      https://github.com/llvm/llvm-project/commit/8d17824890f668cca654a6b821d642bd3192dc81
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [clang][Driver] Fix Linux/sparc64 -m32 (#98124)

`clang` currently fails to find a GCC installation on Linux/sparc64 with
`-m32`. `strace` reveals that `clang` tries to access
`/usr/lib/gcc/sparcv9-linux-gnu` (which doesn't exist) instead of
`/usr/lib/gcc/sparc64-linux-gnu`.

It turns out that 20d497c26fc95c80a1bacb38820d92e5f52bec58 was overeager
in removing some of the necessary directories.

Fixed by reverting the Linux/sparc* part of the patch.

Tested on `sparc64-unknown-linux-gnu`.


  Commit: 8ab19d2e7094c6816ea4f545eb24c503c79a9673
      https://github.com/llvm/llvm-project/commit/8ab19d2e7094c6816ea4f545eb24c503c79a9673
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [RISCV] Add -verify-machineinstrs to RISCVInsertVSETVLI MIR tests. NFC

Now that we're working with LiveIntervals, make sure that they're correct.


  Commit: 7911fb1a257b3a7014b44b4e7d04ee5c3b73a3e3
      https://github.com/llvm/llvm-project/commit/7911fb1a257b3a7014b44b4e7d04ee5c3b73a3e3
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-foreign-type-units.cpp

  Log Message:
  -----------
  [lldb][test] Fix the flaky test dwp-foreign-type-units.cpp. (#98237)

Use `--match-full-lines` with FileCheck. Otherwise, the checks for `int`
and `unsigned int` will match to the fields inside two `CustomType`s and
FileCheck will start scanning from there, causing string not found
error.


  Commit: b7a457e5e6adfab40964c8d3d5dd7077a545ff90
      https://github.com/llvm/llvm-project/commit/b7a457e5e6adfab40964c8d3d5dd7077a545ff90
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-inline-non-constant-len.ll

  Log Message:
  -----------
  [PreISelIntrinsicLowering][test] Demonstrate volatile flag for memset.inline is preserved

Equivalent change ot the one requested in the review for #98281.


  Commit: 145a69294788edf5fd19d7c2162e98558e97e400
      https://github.com/llvm/llvm-project/commit/145a69294788edf5fd19d7c2162e98558e97e400
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [CodeGen] Format `PHIElimination.cpp` NFC (#98289)

clang-format will format entire class when `class PHIElimination :
public MachineFunctionPass {` is changed. Format it firstly to reduce
unnecessary changes when porting it to new pass manager.


  Commit: 7df39ac394c57768abbb254d80fabe7e385c8500
      https://github.com/llvm/llvm-project/commit/7df39ac394c57768abbb254d80fabe7e385c8500
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    A flang/test/Integration/debug-assumed-size-array-2.f90
    A flang/test/Integration/debug-assumed-size-array.f90
    A flang/test/Transforms/debug-assumed-size-array.fir

  Log Message:
  -----------
  [flang][debug] Support assumed size arrays. (#96316)

Here we don't know the size of last dimension and use a null subrange
for that. User will have to provide the dimension when evaluating
variable of this type. The debugging looks like as follows:

subroutine fn(a1, a2)
 integer  a1(5, *), a2(*)
...
end

(gdb) p a1(1,2)
$2 = 2
(gdb) p a2(3)
$3 = 3
(gdb) ptype a1
type = integer (5,*)
(gdb) ptype a2
type = integer (*)


  Commit: 42672199ec2e2a1d38c3f52305e3846b0ec681ed
      https://github.com/llvm/llvm-project/commit/42672199ec2e2a1d38c3f52305e3846b0ec681ed
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/fpext.ll

  Log Message:
  -----------
  [GISel][AArch64] Libcall support for G_FPEXT 128-bit types (#97735)

This patch adds support for generating libcall
for 128-bit types of G_FPEXT.

This fixes ~10 fallbacks in RajaPerf benchmark.


  Commit: 6c84bba218f7b64f2257405ac30a3c6948df8373
      https://github.com/llvm/llvm-project/commit/6c84bba218f7b64f2257405ac30a3c6948df8373
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll

  Log Message:
  -----------
  [LowerMemIntrinsics] Use correct alignment in residual loop for variable llvm.memcpy (#97998)

Memcpy intrinsics with statically unknown loop sizes are lowered with
two load/store loops: one with access widths specified by the target,
and a residual loop that copies remaining bytes individually.

As the residual loop operates byte-wise, its accesses are only
1-aligned. However, we currently use the alignment that is optimal for
the first loop in both, which is unsound. With this patch, we use the
correct alignment in the residual loop.

The lowering of memcpy with a static size already handles alignments for
the residual correctly.


  Commit: 5c09dda5070f1114480d450fdfb528f0b08e6df6
      https://github.com/llvm/llvm-project/commit/5c09dda5070f1114480d450fdfb528f0b08e6df6
  Author: Corentin Ferry <corentin.ferry at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [mlir][emitc] Lower arith.index_cast, arith.index_castui, arith.shli, arith.shrui, arith.shrsi (#95795)

This PR makes use of the newly introduced EmitC types, and lowers:
* ops dealing with index types (index_cast, index_castui),
* ops where `size_t` is used as part of the lowering (shli, shrui,
shrsi, to check for overflow and avoid UB in this case).


  Commit: 1782810b8440144a0141c24192acbaeb55a1545d
      https://github.com/llvm/llvm-project/commit/1782810b8440144a0141c24192acbaeb55a1545d
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/test/CodeGen/aarch64-branch-protection-attr.c
    M clang/test/CodeGen/aarch64-sign-return-address.c
    M clang/test/CodeGen/aarch64-targetattr.c
    M clang/test/CodeGen/arm-branch-protection-attr-1.c
    M clang/test/CodeGen/arm-branch-protection-attr-2.c
    A clang/test/Frontend/arm-branch-protection-lto.c
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
    M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/test/CodeGen/AArch64/branch-target-enforcement-indirect-calls.ll
    M llvm/test/CodeGen/AArch64/bti-branch-relaxation.ll
    M llvm/test/CodeGen/AArch64/kcfi-bti.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-2fixup-blr-terminator.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-bti.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-outline-bti.ll
    M llvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-0.ll
    M llvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-4.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-1.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
    M llvm/test/CodeGen/AArch64/pacbti-module-attrs.ll
    M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
    M llvm/test/CodeGen/AArch64/setjmp-bti-outliner.ll
    M llvm/test/CodeGen/AArch64/setjmp-bti.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
    M llvm/test/CodeGen/AArch64/sign-return-address.ll
    M llvm/test/CodeGen/AArch64/wineh-bti.ll
    M llvm/test/CodeGen/AArch64/wineh-pac.ll
    M llvm/test/CodeGen/ARM/setjmp-bti-basic.ll
    M llvm/test/CodeGen/ARM/setjmp-bti-outliner.ll
    M llvm/test/CodeGen/Thumb2/bti-entry-blocks.ll
    M llvm/test/CodeGen/Thumb2/bti-indirect-branches.ll
    M llvm/test/CodeGen/Thumb2/bti-outliner-1.ll
    M llvm/test/CodeGen/Thumb2/bti-outliner-2.ll
    M llvm/test/CodeGen/Thumb2/bti-outliner-cost-2.ll
    M llvm/test/CodeGen/Thumb2/bti-pac-replace-1.mir
    M llvm/test/CodeGen/Thumb2/bti-pac-replace-2.ll
    M llvm/test/CodeGen/Thumb2/jump-table-bti.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-basic.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-1.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-3.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-4.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-5.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-overalign.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-stack-arg.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-unsupported-arch.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-1.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-2.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
    M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
    M llvm/test/Transforms/Inline/inline-sign-return-address.ll
    M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
    M llvm/test/Transforms/LowerTypeTests/function-thumb-bti.ll
    M llvm/test/Transforms/LowerTypeTests/function.ll
    M llvm/test/Verifier/branch-prot-attrs.ll

  Log Message:
  -----------
  [Clang][ARM][AArch64] Alway emit protection attributes for functions. (#82819)

So far branch protection, sign return address, guarded control stack
attributes are
only emitted as module flags to indicate the functions need to be
generated with
those features.
The problem is in case of an LTO build the module flags are merged with
the `min`
rule which means if one of the module is not build with sign return
address then the features
will be turned off for all functions. Due to the functions take the
branch-protection and
sign-return-address features from the module flags. The
sign-return-address is
function level option therefore it is expected functions from files that
is
compiled with -mbranch-protection=pac-ret to be protected.
The inliner might inline functions with different set of flags as it
doesn't consider
the module flags.

This patch adds the attributes to all functions and drops the checking
of the module flags
for the code generation.
Module flag is still used for generating the ELF markers.
Also drops the "true"/"false" values from the
branch-protection-enforcement,
branch-protection-pauth-lr, guarded-control-stack attributes as presence
of the
attribute means it is on absence means off and no other option.

Releand with test fixes.


  Commit: 5ab755c972327b4d2c118db9b694d199a981579f
      https://github.com/llvm/llvm-project/commit/5ab755c972327b4d2c118db9b694d199a981579f
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [RISCV] Add LiveInterval assertions in insertVSETVLI. NFC

If we're inserting a vsetvli that uses a register AVL, then the AVL
register should either:

a) Be already live at the vsetvli with the expected value
b) Not be live at the vsetvli, but have exactly one value that can be
   extended safely: see #97264


  Commit: 14ba847d273a0defe0f4617bcfe9e1b2163e2bbc
      https://github.com/llvm/llvm-project/commit/14ba847d273a0defe0f4617bcfe9e1b2163e2bbc
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/test/API/commands/expression/timeout/TestCallWithTimeout.py

  Log Message:
  -----------
  [lldb] Bump timeouts in TestCallWithTimeout

this test is occasionally (~3%) failing on an emulator target. The value
used by the test (one second) is quite aggressive given that we set the timeout
for a single gdb packet to 60 seconds.

Bumping it to five to resolve flakyness.


  Commit: 0a95f2f7fe3a01fb94720dbb43679ef197b65f6a
      https://github.com/llvm/llvm-project/commit/0a95f2f7fe3a01fb94720dbb43679ef197b65f6a
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libcxx/include/__chrono/zoned_time.h
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/assign.local_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/assign.sys_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_info.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_local_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_local_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_sys_time.pass.cpp

  Log Message:
  -----------
  [libc++][TZDB] Finishes zoned_time member functions. (#95026)

Note the implementation of
  zoned_time& operator=(const local_time<Duration>& lt);
is not correct; however the wording cannot be easily implemented. It
could be if the object caches the local_time assigned. However this does
not seem to intended. The current implementation matches MSVC STL and
libstdc++.

Implements parts of:
- P0355 Extending to chrono Calendars and Time Zones


  Commit: d5e4e702aa6ba7553ea9f28e4c62ec976876c989
      https://github.com/llvm/llvm-project/commit/d5e4e702aa6ba7553ea9f28e4c62ec976876c989
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/test/lit.cfg.py
    M mlir/test/lit.site.cfg.py.in
    A mlir/test/mlir-tblgen/openmp-ops-verify.td
    M mlir/test/mlir-tblgen/openmp-ops.td
    M mlir/tools/mlir-tblgen/CMakeLists.txt
    A mlir/tools/mlir-tblgen/OmpOpGen.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] Add TableGen pseudo-generator for OpenMP-specific verification (#95552)

The introduction of the clause-based approach to defining OpenMP
operations can make it more difficult to detect and address certain
programming errors derived from this change. Specifically, it's possible
for an operation to inadvertently override otherwise
automatically-populated properties and result in unexpected and
difficult to debug errors or incomplete operation definitions.

This patch introduces a TableGen backend that doesn't produce any
output, but rather only checks for these potential oversights in the
definition of OpenMP dialect operations and flags them as warnings or
errors. This provides descriptive and early feedback before any code is
attempted to be generated for these problematic definitions.


  Commit: 397daea909a63f5265c3654acf84b6818c486c75
      https://github.com/llvm/llvm-project/commit/397daea909a63f5265c3654acf84b6818c486c75
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port for 5c09dda


  Commit: e46468407a7bb7f8b2fe13675a5a1c32b85f8cad
      https://github.com/llvm/llvm-project/commit/e46468407a7bb7f8b2fe13675a5a1c32b85f8cad
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/Lexer.cpp
    A clang/test/Driver/fraw-string-literals-cxx.cpp
    A clang/test/Lexer/raw-string-ext.c
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp

  Log Message:
  -----------
  [Clang] Allow raw string literals in C as an extension (#88265)

This enables raw R"" string literals in C in some language modes
and adds an option to disable or enable them explicitly as an
extension.

Background: GCC supports raw string literals in C in `-gnuXY` modes
starting with gnu99. This pr both enables raw string literals in gnu99 
mode and later in C and adds an `-f[no-]raw-string-literals` flag to override 
this behaviour. The decision not to enable raw string literals in gnu89
mode, according to the GCC devs, is intentional as that mode is supposed
to be used for ‘old code’ that they don’t want to break; we’ve decided to
match GCC’s behaviour here as well.

The `-fraw-string-literals`  flag can additionally be used to enable raw string 
literals in modes where they aren’t enabled by default (such as c99—as 
opposed to gnu99—or even e.g. C++03); conversely, the negated flag can 
be used to disable them in any gnuXY modes that *do* provide them by 
default, or to override a previous flag. However, we do *not*  support 
disabling raw string literals (or indeed either of these two options) in 
C++11 mode and later, because we don’t want to just start supporting 
disabling features that are actually part of the language in the general case.

This fixes #85703.


  Commit: 4dcd9d2d80e12a22fdbbce3e3868275c2cbe3956
      https://github.com/llvm/llvm-project/commit/4dcd9d2d80e12a22fdbbce3e3868275c2cbe3956
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/IR/Function.cpp
    A llvm/test/Instrumentation/AddressSanitizer/module-flags-aarch64.ll
    A llvm/test/Instrumentation/MemorySanitizer/AArch64/module-flags-aarch64.ll

  Log Message:
  -----------
  [llvm][ARM][AArch64] Add attributes to synthetic functions. (#83153)

Module flags represent the original intention.

Depends on #82819

Reland as it was but reland needed as dependent patch relanded.


  Commit: 17316a59895daabfa23e7534f686c08a0949fe09
      https://github.com/llvm/llvm-project/commit/17316a59895daabfa23e7534f686c08a0949fe09
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll

  Log Message:
  -----------
  Revert "[LowerMemIntrinsics] Use correct alignment in residual loop for variable llvm.memcpy" (#98295)

Reverts llvm/llvm-project#97998
This seems to cause a buildbot failure on clang-hip-vega20, in the HIP
test-suite, need to investigate.


  Commit: a7b65836c423c56f56e0c240afd33dabd2aaeaf1
      https://github.com/llvm/llvm-project/commit/a7b65836c423c56f56e0c240afd33dabd2aaeaf1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

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


  Commit: 08ce14732d528ab70309f334446d39782f2f07c0
      https://github.com/llvm/llvm-project/commit/08ce14732d528ab70309f334446d39782f2f07c0
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/tools/lldb-test/lldb-test.cpp

  Log Message:
  -----------
  [lldb][test] Fix lldb-test compile error

https://github.com/llvm/llvm-project/pull/82819 made the lookup here
ambiguous.


  Commit: 3742c2a83cd644c47db969b6dd421665695f94da
      https://github.com/llvm/llvm-project/commit/3742c2a83cd644c47db969b6dd421665695f94da
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/const-reduced-vals-resized.ll

  Log Message:
  -----------
  [SLP]Use stored signedness after minbitwidth analysis.

Need to used stored signedness info for the root node instead of
recalculating it after the vectorization, which may lead to a compiler
crash.


  Commit: 85d6e3cac7150f32cdbe69194ee86747684b3cfa
      https://github.com/llvm/llvm-project/commit/85d6e3cac7150f32cdbe69194ee86747684b3cfa
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td

  Log Message:
  -----------
  [MLIR][OpenMP][NFC] Document omp.section(s) block arguments (#98175)

Following discussion here:
https://github.com/llvm/llvm-project/pull/97858#discussion_r1670173102


  Commit: 3e06392c7db0eacfca94a176d430d9988b3ffbd6
      https://github.com/llvm/llvm-project/commit/3e06392c7db0eacfca94a176d430d9988b3ffbd6
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/test/API/python_api/thread/TestThreadAPI.py

  Log Message:
  -----------
  [lldb][test] Fix instruction test step on Windows

On Windows the function name is the full prototype including
the calling convention, all we care about is that the last part
is correct.

This also reverts the xfail added by 07b3e2c0c68b93a3d4d89426dc7fd14cc31ca6be.


  Commit: abde52aa667118d18e9551ab87a15b95c267b3b6
      https://github.com/llvm/llvm-project/commit/abde52aa667118d18e9551ab87a15b95c267b3b6
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveIntervals.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/CodeGen/LiveRegMatrix.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
    M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
    M llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h
    M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
    M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
    M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    M llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
    M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
    M llvm/lib/Target/LoongArch/LoongArchDeadRegisterDefinitions.cpp
    M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
    M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
    M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
    M llvm/lib/Target/X86/X86TileConfig.cpp
    M llvm/test/CodeGen/AArch64/live-interval-analysis.mir
    M llvm/test/CodeGen/AMDGPU/liveness.mir
    M llvm/test/CodeGen/AMDGPU/phys-partial-liveness.mir
    M llvm/test/CodeGen/AMDGPU/return-with-successors.mir
    M llvm/test/CodeGen/AMDGPU/subreg-intervals.mir
    M llvm/test/CodeGen/X86/invalid-liveness.mir
    M llvm/unittests/MI/LiveIntervalTest.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Port `LiveIntervals` to new pass manager (#98118)

- Add `LiveIntervalsAnalysis`.
- Add `LiveIntervalsPrinterPass`.
- Use `LiveIntervalsWrapperPass` in legacy pass manager.
- Use `std::unique_ptr` instead of raw pointer for `LICalc`, so
destructor and default move constructor can handle it correctly.

This would be the last analysis required by `PHIElimination`.


  Commit: e77b295ada25e061c29db049d2a7a7bdb281c41b
      https://github.com/llvm/llvm-project/commit/e77b295ada25e061c29db049d2a7a7bdb281c41b
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/include/__chrono/zoned_time.h
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/deduction.pass.cpp

  Log Message:
  -----------
  [libc++][TZDB] Adds zoned_time deduction guides. (#95139)

Completes
- LWG3232 Inconsistency in zoned_time  deduction guides
- LWG3294 zoned_time  deduction guides misinterprets stringchar*

Implements parts of:
- P0355 Extending to chrono Calendars and Time Zones


  Commit: 748a6ad68ba31d242e3f86eddd5b0fd7b2a02ff9
      https://github.com/llvm/llvm-project/commit/748a6ad68ba31d242e3f86eddd5b0fd7b2a02ff9
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [RISCV] Remove extra insertVSETVLI method. NFC

There's only one user of it, and to remove it we just need to pass
along the DebugLoc.


  Commit: 27d4877ca4c20277fde47708fcd9cbb7571cc17c
      https://github.com/llvm/llvm-project/commit/27d4877ca4c20277fde47708fcd9cbb7571cc17c
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    A llvm/test/Transforms/IndVarSimplify/preserving-debugloc-sat-overflow.ll

  Log Message:
  -----------
  [DebugInfo][SimplifyIndVar] Missing debug location updates for overflow/saturation instructions (#97987)

Fixes #97986


  Commit: 7333c099aee756e69c2172c52815d1c811691af5
      https://github.com/llvm/llvm-project/commit/7333c099aee756e69c2172c52815d1c811691af5
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M mlir/test/mlir-tblgen/openmp-ops-verify.td
    M mlir/test/mlir-tblgen/openmp-ops.td

  Log Message:
  -----------
  [bazel][mlir][OpenMP] Roll back path improvements from d5e4e70 (#98304)

The bazel setup is not ready to handle `%llvm/mlir_src_root`.
Roll back these improvements for now.
I will look into fixing the bazel setup and roll forward.


  Commit: 87c51e2af006b96d928d55b077c8bb510c4b6e33
      https://github.com/llvm/llvm-project/commit/87c51e2af006b96d928d55b077c8bb510c4b6e33
  Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    A clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp

  Log Message:
  -----------
  Run PreStmt/PostStmt checker for GCCAsmStmt (#95409)

Fixes #94940

Run PreStmt and PostStmt checker for GCCAsmStmt.
Unittest to validate that corresponding callback functions are triggered.


  Commit: 1afd4b7d1e6b4931941b1cdb666718c3dcb06e53
      https://github.com/llvm/llvm-project/commit/1afd4b7d1e6b4931941b1cdb666718c3dcb06e53
  Author: David Truby <david.truby at arm.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/test/Lower/Intrinsics/get_environment_variable.f90

  Log Message:
  -----------
  [flang] Allow getenv as alternate spelling for get_environment_variable (#95777)

This patch adds getenv as an alternate spelling for
get_environment_variable.
This spelling is allowed by multiple other compilers and is used in
OpenRadioss.


  Commit: af47a4ec503fe3efc6ade8cad4882881a202ed41
      https://github.com/llvm/llvm-project/commit/af47a4ec503fe3efc6ade8cad4882881a202ed41
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/icmp-zero.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/many-geps.ll

  Log Message:
  -----------
  [RISCV] Enable TTI::shouldDropLSRSolutionIfLessProfitable by default (#89927)

This avoids some cases where LSR produces results that lead to very poor
codegen. There's a chance we'll see minor degradations for some inputs
in the case that our metrics say the found solution is worse, but in
reality it's better than the starting point.

Per the review thread, at least one vendor has been enabling this by
defualt for some time and found overall it's an improvement. As such,
we'll enable by default and aim to fix any as-yet-unknown regressions
in-tree.


  Commit: e6c75d003150093a1b8ba22a69c56a1f47c5b9b1
      https://github.com/llvm/llvm-project/commit/e6c75d003150093a1b8ba22a69c56a1f47c5b9b1
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [gn build] Port 87c51e2af006


  Commit: 3ef2805dcfb277faeea33e5bc62dc84a0a5f72b4
      https://github.com/llvm/llvm-project/commit/3ef2805dcfb277faeea33e5bc62dc84a0a5f72b4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll

  Log Message:
  -----------
  [PhaseOrdering][X86] Fix cut+paste typo in blendv test


  Commit: 78dcd0270eb2814c1750e24001ec8a33a59d6d65
      https://github.com/llvm/llvm-project/commit/78dcd0270eb2814c1750e24001ec8a33a59d6d65
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h

  Log Message:
  -----------
  AMDGPU: Add a subtarget feature for fine-grained remote memory support (#96442)

Atomic access to fine-grained remote memory does not work on all
subtargets. Add a feature for targets where this is expected to work.


  Commit: 409815d1083776dc049484f830365b52f15621c3
      https://github.com/llvm/llvm-project/commit/409815d1083776dc049484f830365b52f15621c3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h

  Log Message:
  -----------
  AMDGPU: Add subtarget feature for global atomic fadd denormal support (#96443)

Not sure what the behavior for gfx90a is. The SPG says it always flushes.
The instruction documentation says it does not.


  Commit: 2ef4f863f32c3c95433de5d459657273374f51cc
      https://github.com/llvm/llvm-project/commit/2ef4f863f32c3c95433de5d459657273374f51cc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp

  Log Message:
  -----------
  AMDGPU: Add subtarget feature for memory atomic fadd f64 (#96444)


  Commit: 9b95d08ef68e9a1999c201a559e5c18f54ea6bbe
      https://github.com/llvm/llvm-project/commit/9b95d08ef68e9a1999c201a559e5c18f54ea6bbe
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/Mips/Mips.h
    M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/lib/Target/X86/X86.h

  Log Message:
  -----------
  [GISel] Make create.*InstructionSelector arguments const (#98243)

The InstructionSelector objects all take these arguments in as `const`.
This function does not modify the object. Therefore we can mark them as
`const` here.


  Commit: 4f0ebe01a415f293e36f8135c7bb84c0592c8be2
      https://github.com/llvm/llvm-project/commit/4f0ebe01a415f293e36f8135c7bb84c0592c8be2
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-inline-non-constant-len.ll

  Log Message:
  -----------
  [PreISelIntrinsicLowering][test] Test that the expanded memset.inline doesn't drop volatile flag

As suggested in the discussion for #98281.


  Commit: 62b3e68d33035f14e83320b7921c80b36dcbea8c
      https://github.com/llvm/llvm-project/commit/62b3e68d33035f14e83320b7921c80b36dcbea8c
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/MemCpyOpt/memcpy.ll

  Log Message:
  -----------
  [MemCpyOpt] Fixes `test6_memcpy` test (NFC)

We should forward `src` to `dest`.


  Commit: b841e2eca3b5c8b408214a46593f6a025e0fe48b
      https://github.com/llvm/llvm-project/commit/b841e2eca3b5c8b408214a46593f6a025e0fe48b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected

  Log Message:
  -----------
  Recommit "[VPlan] First step towards VPlan cost modeling. (#92555)"

This reverts commit 6f538f6a2d3224efda985e9eb09012fa4275ea92.

A number of crashes have been fixed by separate fixes, including
ttps://github.com/llvm/llvm-project/pull/96622. This version of the
PR also pre-computes the costs for branches (except the latch) instead
of computing their costs as part of costing of replicate regions, as
there may not be a direct correspondence between original branches and
number of replicate regions.

Original message:
This adds a new interface to compute the cost of recipes, VPBasicBlocks,
VPRegionBlocks and VPlan, initially falling back to the legacy cost model
for all recipes. Follow-up patches will gradually migrate recipes to
compute their own costs step-by-step.

It also adds getBestPlan function to LVP which computes the cost of all
VPlans and picks the most profitable one together with the most
profitable VF.

The VPlan selected by the VPlan cost model is executed and there is an
assert to catch cases where the VPlan cost model and the legacy cost
model disagree. Even though I checked a number of different build
configurations on AArch64 and X86, there may be some differences
that have been missed.

Additional discussions and context can be found in @arcbbb's
https://github.com/llvm/llvm-project/pull/67647 and
https://github.com/llvm/llvm-project/pull/67934 which is an earlier
version of the current PR.

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


  Commit: d521324e9fa89f2db8229fb1327c7d45df0ff3cc
      https://github.com/llvm/llvm-project/commit/d521324e9fa89f2db8229fb1327c7d45df0ff3cc
  Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    M mlir/test/Target/Cpp/global.mlir

  Log Message:
  -----------
  [mlir][EmitC] Unify handling of operations which are emitted in a deferred way (#97804)

Several operations from the EmitC dialect don't produce output directly
during emission, but rather when being used as an operand. These changes
unify the handling of such operations and fix a bug in the emission of
global ops.

Co-authored-by: Marius Brehler <marius.brehler at iml.fraunhofer.de>


  Commit: 8b511e14770781bd31b0c03bad790bdd82793dac
      https://github.com/llvm/llvm-project/commit/8b511e14770781bd31b0c03bad790bdd82793dac
  Author: R <rqou00 at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/test/MC/RISCV/rv32fc-aliases-valid.s
    M llvm/test/MC/RISCV/rv64c-aliases-valid.s
    M llvm/test/MC/RISCV/rvc-aliases-valid.s
    M llvm/test/MC/RISCV/rvdc-aliases-valid.s

  Log Message:
  -----------
  [RISCV] Fix 0-offset aliases for compressed sp-based opcodes (#98034)

The "26.3.1. Stack-Pointer-Based Loads and Stores" compressed opcodes
have access to all registers (except x0). Fix the opcode aliases with 0
offset so that the aliases also work for all registers, not only the RVC
registers.

Previously, LLVM would accept e.g. `c.lwsp x8, (sp)` but not e.g.
`c.lwsp x18, (sp)`, even though e.g. `c.lwsp x18, 0(sp)` would be
accepted.

This was noticed while implementing
https://github.com/llvm/llvm-project/pull/97925 . The implementation in
that other PR is indeed correct (i.e `qk.c.lhusp` et al are restricted
to the RVC registers).


  Commit: 51fac7747f8fb5bfa5e32f5d05e9d807c544a650
      https://github.com/llvm/llvm-project/commit/51fac7747f8fb5bfa5e32f5d05e9d807c544a650
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Integration/debug-assumed-shape-array.f90
    M flang/test/Transforms/debug-assumed-shape-array.fir
    M flang/test/Transforms/debug-ptr-type.fir

  Log Message:
  -----------
  [flang][debug] Don't confuse count with upperBound. (#98174)

The code that handled allocatable array had swapped `count` with
`upperBound`. This did not get caught earlier as all the example were
using 1 as `lowerBound`.

Fixes #98166.

With the fix in place, the GDB now correctly handles the case pointed in
the bug ticket.
(gdb) p min::alloc2d
$2 = ((0, 0, 0) (0, 0, 0) (0, 0, 0) (0, 0, 0) (0, 0, 0))
(gdb) ptype min::alloc2d
type = integer, allocatable (-1:1,-2:2)


  Commit: 62d949766b877dc379f2bf883128b7136bae3a52
      https://github.com/llvm/llvm-project/commit/62d949766b877dc379f2bf883128b7136bae3a52
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/ReleaseNotes.rst

  Log Message:
  -----------
  AMDGPU: Add description for new atomicrmw metadata (#85052)

Add a spec for yet-to-be-implemented metadata to allow the backend to
fully handle atomicrmw lowering. This is the base of an alternative
to #69229, which inverts the direction to be correct by default, and
extends to cover the peer device case.


  Commit: 4c0320728e1b0cd590c00e06130a2af7160715b6
      https://github.com/llvm/llvm-project/commit/4c0320728e1b0cd590c00e06130a2af7160715b6
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp

  Log Message:
  -----------
  [DWARF] Hide state in an anonymous namespace. NFC.


  Commit: 0e7590a25cd2e49c5849cc7d2facd5810f8900ce
      https://github.com/llvm/llvm-project/commit/0e7590a25cd2e49c5849cc7d2facd5810f8900ce
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/float.h
    M clang/test/Headers/float.c
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init.c

  Log Message:
  -----------
  [C23] Add *_NORM_MAX macros to <float.h> (#96643)

This adds the *_NORM_MAX macros to <float.h> for freestanding mode in
Clang; the values were chosen based on the behavior seen coming from GCC
and the values already produced for the *_MAX macros by Clang.


  Commit: d1006315b5076e89c3a698e47761370d61b071e3
      https://github.com/llvm/llvm-project/commit/d1006315b5076e89c3a698e47761370d61b071e3
  Author: Allen <zhongyunde at huawei.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sdivpow2.ll

  Log Message:
  -----------
  [AArch64] Lower for power of 2 signed divides with scalar type (#97879)

Expected same assemble for code which doesn't use sve registers when we
compile it with/without -msve-vector-bits=256.

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


  Commit: ad016352ec61af1df87e5e46fcfcbd1bef9ba4dd
      https://github.com/llvm/llvm-project/commit/ad016352ec61af1df87e5e46fcfcbd1bef9ba4dd
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp

  Log Message:
  -----------
  [libc++] Fix sized deallocation comments in tests (#98173)

Clang 19 turned on sized deallocation *by default*, but older versions
of Clang did support sized deallocation nonetheless. This updates a few
comments and removes UNSUPPORTED annotations that shouldn't be needed in
a test that passes -fsized-deallocation directly.


  Commit: 2b1b4e3025bedb43906b3d04151ce5cfc4af17e3
      https://github.com/llvm/llvm-project/commit/2b1b4e3025bedb43906b3d04151ce5cfc4af17e3
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libcxx/docs/Status/SpaceshipProjects.csv
    M libcxx/include/__chrono/zoned_time.h
    M libcxx/include/chrono
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.nonmembers/eq.pass.cpp

  Log Message:
  -----------
  [libc++][TZDB] Implements zoned_time's operator==. (#95140)

Implements parts of:
- P0355 Extending to chrono Calendars and Time Zones
- P1614R2 The Mothership has Landed


  Commit: 82ee7ae3c9273dabd9095fd3e84657fd28322d33
      https://github.com/llvm/llvm-project/commit/82ee7ae3c9273dabd9095fd3e84657fd28322d33
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/include/clang/APINotes/APINotesReader.h
    M clang/include/clang/APINotes/APINotesWriter.h
    M clang/include/clang/APINotes/Types.h
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/Sema/SemaAPINotes.cpp

  Log Message:
  -----------
  [APINotes] Refactor: remove references to `ObjCContext...`

API Notes now support in C++. In preparation for supporting C++ methods
in API Notes, this change renames the remaining usages of
`ObjCContextABC` into `ContextABC` to make it clear that those contexts
might actually be C++, not Objective-C.

This is NFC-ish.


  Commit: f8dbe1d09d4fff30a1fd4f03261b74c44ef64888
      https://github.com/llvm/llvm-project/commit/f8dbe1d09d4fff30a1fd4f03261b74c44ef64888
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/icmp-zero.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/many-geps.ll

  Log Message:
  -----------
  Revert "[RISCV] Enable TTI::shouldDropLSRSolutionIfLessProfitable by default" (#98328)

Reverts llvm/llvm-project#89927 while we investigate performance
regressions reported by @dtcxzyw


  Commit: b5657d6dc7066156e33bc83e297e534d41731560
      https://github.com/llvm/llvm-project/commit/b5657d6dc7066156e33bc83e297e534d41731560
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.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-vwmulsu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsplats-fp.ll

  Log Message:
  -----------
  [RISCV] Reverse default assumption about performance of vlseN.v vd, (rs1), x0 (#98205)

Some cores implement an optimization for a strided load with an x0
stride, which results in fewer memory operations being performed then
implied by VL since all address are the same. It seems to be the case
that this is the case only for a minority of available implementations.
We know that sifive-x280 does, but sifive-p670 and spacemit-x60 both do
not.

(To be more precise, measurements on the x60 appear to indicate that a
 stride of x0 has similar latency to a non-zero stride, and that both
 are about twice a vleN.v.  I'm taking this to mean the x0
 case is not optimized.)

We had an existing flag by which a processor could opt out of this
assumption but no upstream users. Instead of adding this flag to the
p670 and x60, this patch reverses the default and adds the opt-in flag
only to the x280.


  Commit: 884a07fee0ba36649561003e36d197323380f3d2
      https://github.com/llvm/llvm-project/commit/884a07fee0ba36649561003e36d197323380f3d2
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/docs/RISCVUsage.rst

  Log Message:
  -----------
  [RISCV][doc] Document profiles in RISCVUsage (#98326)

Just like we do for extensions, list those which are supported and those
that can be enabled with additional flags.


  Commit: a4a8d36b8591801696aad30fa116669c7bb2348c
      https://github.com/llvm/llvm-project/commit/a4a8d36b8591801696aad30fa116669c7bb2348c
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/lib/InstallAPI/DylibVerifier.cpp
    A clang/test/InstallAPI/reexport-with-linker-symbols.test

  Log Message:
  -----------
  [InstallAPI] Don't look for linker directive symbols in reexports (#98171)

`$ld$previous` symbols need to be exported for them to be seen by
clients. TAPI cannot omit them in tbd files, so account for this in
installapi verification when handling reexport verification.

Reviewed internally by Zixu Wang
resolves: rdar://131317591


  Commit: 6556ba66b278c97b8461a24088e7924bdea52e02
      https://github.com/llvm/llvm-project/commit/6556ba66b278c97b8461a24088e7924bdea52e02
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M offload/test/mapping/prelock.cpp
    M offload/test/offloading/memory_manager.cpp

  Log Message:
  -----------
  [Offload][test]Fix typo of requires (#98327)

Typos in 8823448807f3b1a1362d1417e062d763734e02f5.


  Commit: 4753f8e8f678411c72759e682a03d1a0218c0b88
      https://github.com/llvm/llvm-project/commit/4753f8e8f678411c72759e682a03d1a0218c0b88
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [analyzer][docs] Add clang-19 release notes for CSA (#97418)

The day is coming for creating the release branch for clang-19,
[scheduled](https://discourse.llvm.org/t/llvm-19-release-schedule-and-planning/79828)
for the 23rd of July.
Let's start syncing the ReleaseNotes, and be proud of what we achieved
since clang-18.

After this is merged, let's try to keep the ReleaseNotes in sync with
the changes.


  Commit: 0162df03cd51e5207310424f2a83b7670c3c2ade
      https://github.com/llvm/llvm-project/commit/0162df03cd51e5207310424f2a83b7670c3c2ade
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [Clang] Fix null pointer dereference in VisitUsingEnumDecl (#97910)

This patch addresses static analyzer concern where TSI could be
dereferenced after being assigned a null value from SubstType in
clang::TemplateDeclInstantiator::VisitUsingEnumDecl(clang::UsingEnumDecl
*).

The fix now checks null value of TSI after the call to SubstType and
return nullptr to prevent potential null pointer dereferences when
calling UsingEnumDecl::Create() and ensures safe execution.


  Commit: e03f66516dd75750d6792e2a93e0bb705b591a7a
      https://github.com/llvm/llvm-project/commit/e03f66516dd75750d6792e2a93e0bb705b591a7a
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp

  Log Message:
  -----------
  [Clang][ARM] Call constructor on BranchTargetInfo. (#98307)

Otherwise members will be uninitialised.


  Commit: 8210087beebe173e1ace7a0311adf942294c62c9
      https://github.com/llvm/llvm-project/commit/8210087beebe173e1ace7a0311adf942294c62c9
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py

  Log Message:
  -----------
  [lldb][test] Disable flakey TestMultipleDebuggers on Linux

This has been flakey lately on Linux on the buildbots and in CI
on PRs.

For example:
https://lab.llvm.org/buildbot/#/builders/59/builds/1324
https://github.com/llvm/llvm-project/pull/98237

I will try to track down the cause tomorrow.


  Commit: 588a6d7de612bd19dc262563978711233b74e783
      https://github.com/llvm/llvm-project/commit/588a6d7de612bd19dc262563978711233b74e783
  Author: Chris Copeland <chris at chrisnc.net>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/arm-interrupt-attr.c

  Log Message:
  -----------
  [clang][ARM] Fix warning for using VFP from interrupts. (#91870)

[clang][ARM] Fix warning for using VFP from interrupts.

This warning has three issues:
- The interrupt attribute causes the function to return using an
exception
   return instruction. This warning allows calls from one function with
   the interrupt attribute to another, and the diagnostic text suggests
   that not having the attribute on the callee is a problem. Actually
   making such a call will lead to a double exception return, which is
   unpredictable according to the ARM architecture manual section
   B9.1.1, "Restrictions on exception return instructions". Even on
   machines where an exception return from user/system mode is
   tolerated, if the callee's interrupt type is anything other than a
   supervisor call or secure monitor call, it will also return to a
   different address than a normal function would. For example,
   returning from an "IRQ" handler will return to lr - 4, which will
   generally result in calling the same function again.
 - The interrupt attribute currently does not cause caller-saved VFP
   registers to be saved and restored if they are used, so putting
   __attribute__((interrupt)) on a called function doesn't prevent it
   from clobbering VFP state.
 - It is part of the -Wextra diagnostic group and can't be individually
   disabled when using -Wextra, which also means the diagnostic text of
   this specific warning appears in the documentation of -Wextra.

This change addresses all three issues by instead generating a warning
for any interrupt handler where the vfp feature is enabled. The warning
is
also given its own diagnostic group.

Closes #34876.

[clang][ARM] Emit an error when an interrupt handler is called.

Closes #95359.


  Commit: deeb936863f26e124cc870319148b0576266f11c
      https://github.com/llvm/llvm-project/commit/deeb936863f26e124cc870319148b0576266f11c
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][format] define __cpp_lib_format. (#98275)

In order to define the format __cpp_lib_format to its initial value
(201907) these papers need to be completed:
- P0645R10 Text Formatting
- P1652R1 Printf corner cases in std::format
- 1361R2 Integration of chrono with text formatting The first two have
been implemented for a while the latter is almost done.

The next value (202106) requires:
- P2216R3 std::format improvements which has been implemented

The next value (202110) requires:
- P2418R2 Add support for std::generator-like types to std::format
- P2372R3 Fixing locale handling in chrono formatters The first one has
been implemented for a while the latter is almost done. The latter paper
is a DR against 1361R2 and both are implemented at the same time.

We've had user feedback that the missing of the __cpp_lib_format makes
their lives harder (https://github.com/llvm/llvm-project/issues/77773).
The missing papers 1361R2 and P2372R3 are very close to completion and
might completed before LLVM-19, but it will be a close call. This has
been discussed in the monthly libc++ meeting and we decided to set the
__cpp_lib_format so it will be set in LLVM-19.

Based on the discussion and the implementation status the
__cpp_lib_format is set to 202110.

Fixes #77773


  Commit: 6002e2fd49537e942e819e5d1e6f07481fd1229e
      https://github.com/llvm/llvm-project/commit/6002e2fd49537e942e819e5d1e6f07481fd1229e
  Author: Daniel Krupp <daniel.krupp at ericsson.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp

  Log Message:
  -----------
  [analyzer] Split TaintPropagation checker into reporting and modeling checkers (#98157)

Taint propagation is a a generic modeling feature of the Clang Static
Analyzer which many other checkers depend on. Therefore
GenericTaintChecker is split into a TaintPropagation modeling checker
and a GenericTaint reporting checker.


  Commit: 0fa20c55b58deb94090985a5c5ffda4d5ceb3cd1
      https://github.com/llvm/llvm-project/commit/0fa20c55b58deb94090985a5c5ffda4d5ceb3cd1
  Author: Trass3r <trass3r at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/test/Driver/ftime-trace-sections.py
    M llvm/lib/IR/LegacyPassManager.cpp
    M llvm/lib/Passes/CMakeLists.txt
    M llvm/lib/Passes/StandardInstrumentations.cpp

  Log Message:
  -----------
  demangle function names in trace files (#87626)

This improves consistency in the trace files as other entries are
demangled too.
Submitted by jamieschmeiser on behalf of trass3r
@jamieschmeiser @An-DJ


  Commit: 77ec20c2fcfe1578bd62258cc5e185236d2abf81
      https://github.com/llvm/llvm-project/commit/77ec20c2fcfe1578bd62258cc5e185236d2abf81
  Author: Kefu Chai <kefu.chai at scylladb.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp

  Log Message:
  -----------
  [clang-tidy] let UseAfterMoveFinder::find() return an optional<UseAfterMove> (#98100)

before this change, we use an output parameter so
`UseAfterMoveFinder::find()` can return the found `UseAfterMove`, and
addition to it, `UseAfterMoveFinder::find()` return a bool, so we can
tell if a use-after-free is identified. this arrangement could be
confusing when one needs to understand when the each member variable of
the returned `UseAfterMove` instance is initialized.

in this change, we return an `std::optional<UseAfterMove>` instead of a
bool, so that it's more obvious on when/where the returned
`UseAfterMove` is initialized.

this change is a cleanup. so it does not change the behavior of this
check.

Signed-off-by: Kefu Chai <kefu.chai at scylladb.com>


  Commit: b9496a74eb4029629ca2e440c5441614e766f773
      https://github.com/llvm/llvm-project/commit/b9496a74eb4029629ca2e440c5441614e766f773
  Author: Kevin Frei <freik at meta.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/include/lldb/Host/Config.h.cmake
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    A lldb/test/API/debuginfod/Normal/Makefile
    A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    A lldb/test/API/debuginfod/Normal/main.c
    A lldb/test/API/debuginfod/SplitDWARF/Makefile
    A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    A lldb/test/API/debuginfod/SplitDWARF/main.c

  Log Message:
  -----------
  [lldb] DebugInfoD tests & fixes (but with dwp testing disabled) (#98344)

This is all the tests and fixes I've had percolating since my first
attempt at this in January. After 6 months of trying, I've given up on
adding the ability to test DWP files in LLDB API tests. I've left both
the tests (disabled) and the changes to Makefile.rules in place, in the
hopes that someone who can configure the build bots will be able to
enable the tests once a non-borked dwp tool is widely available.

Other than disabling the DWP tests, this continues to be the same diff
that I've tried to land and
[not](https://github.com/llvm/llvm-project/pull/90622)
[revert](https://github.com/llvm/llvm-project/pull/87676)
[five](https://github.com/llvm/llvm-project/pull/86812)
[times](https://github.com/llvm/llvm-project/pull/85693)
[before](https://github.com/llvm/llvm-project/pull/96802). There are a
couple of fixes that the testing exposed, and I've abandoned the DWP
tests because I want to get those fixes finally upstreamed, as without
them DebugInfoD is less useful.


  Commit: eae174c724de5d3174e3232f40b006a0e0641ed3
      https://github.com/llvm/llvm-project/commit/eae174c724de5d3174e3232f40b006a0e0641ed3
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libcxx/include/__chrono/zoned_time.h
    M libcxx/include/chrono
    M libcxx/modules/std/chrono.inc
    M libcxx/test/std/time/time.zone/time.zone.zonedtime/types.compile.pass.cpp

  Log Message:
  -----------
  [libc++][TZDB] Implements zoned_seconds typedef. (#95141)

Implements parts of:
- P0355 Extending to chrono Calendars and Time Zones


  Commit: e3fe8eee3cf2de6acb3ee30f10ad57da2774631e
      https://github.com/llvm/llvm-project/commit/e3fe8eee3cf2de6acb3ee30f10ad57da2774631e
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port #87626 (#98348)


  Commit: 3c8b18bc512ad87b379b4b7c06d52ca2d13860b2
      https://github.com/llvm/llvm-project/commit/3c8b18bc512ad87b379b4b7c06d52ca2d13860b2
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  [lld-macho] Use larger ordinal encoding if import count requires it (#98305)

The default `dyld_chained_import` entry format only allocates 8 bits to
the library ordinal, of which values 0xF1 - 0xFF are reserved for
special ordinals (`BIND_SPECIAL_DYLIB_*` values). If there are more than
240 imported dylibs (as in the case of component builds of Chromium), we
need to switch to `dyld_chained_import_addend64`, which stores 16-bit
ordinals.


  Commit: 8c1bd67dee964f286ad78a76a7e87f0284b47ebb
      https://github.com/llvm/llvm-project/commit/8c1bd67dee964f286ad78a76a7e87f0284b47ebb
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryProfileInfo.h
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/test/Transforms/PGOProfile/memprof.ll
    M llvm/test/Verifier/memprof-metadata-bad.ll

  Log Message:
  -----------
  [MemProf] Optionally print or record the profiled sizes of allocations (#98248)

This is the first step in being able to track the total profiled sizes
of allocations successfully marked as cold.

Under a new option -memprof-report-hinted-sizes:
- For unambiguous (non-context-sensitive) allocations, print the
  profiled size and the allocation coldness, along with a hash of the
  allocation's location (to allow for deduplication across modules or
  inline instances).
- For context sensitive allocations, add the size as a 3rd operand on
  the MIB metadata. A follow on patch will propagate this through to the
  thin link where the sizes will be reported for each context after
  cloning.


  Commit: 4f8b2fff6df74df4a2736630148e7c29a566bb06
      https://github.com/llvm/llvm-project/commit/4f8b2fff6df74df4a2736630148e7c29a566bb06
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [DAG] Use break instead of continue to leave do while (false) loop (NFC) (#97966)


  Commit: 953c669b6e0948292455cd65c7e2d6748255039f
      https://github.com/llvm/llvm-project/commit/953c669b6e0948292455cd65c7e2d6748255039f
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port #98344 (#98349)


  Commit: 8d800e6c9014e55ff729f0237efeba246750b12c
      https://github.com/llvm/llvm-project/commit/8d800e6c9014e55ff729f0237efeba246750b12c
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CGSCCPassManager.h
    M llvm/lib/Analysis/CGSCCPassManager.cpp
    M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
    M llvm/unittests/Analysis/CGSCCPassManagerTest.cpp

  Log Message:
  -----------
  [CGSCC] Remove CGSCCUpdateResult::InvalidatedRefSCCs (#98213)

The RefSCC that a function marked dead is in may still contain valid
SCCs that we want to visit. We rely on InvalidatedSCCs to skip SCCs
containing dead functions.

The addition of RefSCCs in CallGraphUpdater to InvalidatedRefSCCs was
causing asserts as reported in #94815. Fix some more CallGraphUpdater
function deletion methods as well.


  Commit: dcf70e16684420ae211dad58dbfacc0430409ab4
      https://github.com/llvm/llvm-project/commit/dcf70e16684420ae211dad58dbfacc0430409ab4
  Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Add -static-libasan alias for -static-libsan. (#98194)

This helps compatibility with gcc, which has (static|shared)-libasan,
but not *-libsan.

Clang currently has
  -shared-libasan
  -shared-libsan
  -static-libsan

This change improves consistency by adding
  -static-libasan


  Commit: 0df714364a731822590b3da54f33ed0d6ddee873
      https://github.com/llvm/llvm-project/commit/0df714364a731822590b3da54f33ed0d6ddee873
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.cpp

  Log Message:
  -----------
  [ARM][Mips][PowerPC] Remove unnecessary static_cast creating GISel InstructionSelector. NFC

Some targets only pass a TargetMachine & to their subtarget constructor
and require a static_cast to their target-specific TargetMachine subclass
to create *InstructionSelector.

These 3 targets already have the correct TargetMachine subclass
reference so no cast is needed.


  Commit: 88e9c56990c8f892b5f14b844d1934bb8fcf092a
      https://github.com/llvm/llvm-project/commit/88e9c56990c8f892b5f14b844d1934bb8fcf092a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [LV] Don't adjust name of recurrence phi in scalar loop (NFC).

Adjusting the name of the recurrence phi in the scalar loop is a bit
inconsistent, as we do not adjust any other names in the scalar loops
(including other phis).

Remove this adjustment in preparation for
https://github.com/llvm/llvm-project/pull/94760/ and as discussed there.


  Commit: a38d5e06326fffca5a67d1865046e6992171019a
      https://github.com/llvm/llvm-project/commit/a38d5e06326fffca5a67d1865046e6992171019a
  Author: Dmitry Borisenkov <dmitriy.borisenkov89 at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [SelectionDAG] Use LAST_INTEGER_VALUETYPE instead of i64 (#98299)

When looking for a largest legal integer type for a target
`TargetLowering::findOptimalMemOpLowering` assumes that `MVT::i64` is
the largets possible integer type. The patch removes this assumption and
uses `MVT::LAST_INTEGER_VALUETYPE` instead.


  Commit: 6299681665ae59181c9a082c0b94e6b529a21fbd
      https://github.com/llvm/llvm-project/commit/6299681665ae59181c9a082c0b94e6b529a21fbd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [RISCV] Remove unnecessary cast to RISCVTargetMachine in getInstSizeInBytes. NFC

getMCAsmInfo is a method on the base class so we don't need a cast here.


  Commit: a972b2e9a4cf1864a57b76b226907f8f1dfe7bba
      https://github.com/llvm/llvm-project/commit/a972b2e9a4cf1864a57b76b226907f8f1dfe7bba
  Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Cleanup RangesBase check (#97840)

Moves check for RangesBase under check for UnitDie. This makes the flow
clearer because we add RangesBase when it is a UnitDie.


  Commit: 196ee230fdc9ab90dacfeb846c794f5d0c9d1e0c
      https://github.com/llvm/llvm-project/commit/196ee230fdc9ab90dacfeb846c794f5d0c9d1e0c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/lib/Basic/Targets/NVPTX.h
    R clang/test/CodeGen/builtins-nvptx-native-half-type-err.c
    A clang/test/CodeGen/builtins-nvptx-native-half-type-native.c

  Log Message:
  -----------
  [Clang] Correctly enable the f16 type for offloading (#98331)

Summary:
There's an extra argument that's required to *actually* enable f16
usage. For whatever reason there's a difference between fp16 and f16,
where fp16 is some weird version that converts between the two. Long
story short, without this the math builtins are blatantly broken.


  Commit: 2fa1220a37a3f55b76a29803d8333b3a3937d53a
      https://github.com/llvm/llvm-project/commit/2fa1220a37a3f55b76a29803d8333b3a3937d53a
  Author: Kevin Frei <freik at meta.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py

  Log Message:
  -----------
  Missed disabling the baseline test for DWP stuff (#98351)

This should disable the failing test on the ubuntu build bots
@JDevlieghere (I forgot to disable the 'baseline' test, as it tests the
debugger's basic handling of DWP files, but again, the API
infrastructure doesn't quite support DWP generation)

https://github.com/llvm/llvm-project/pull/98344#issuecomment-2221000566


  Commit: b3c450d4dc8f21f70a4fa35bdcbd4bfaf852ccd7
      https://github.com/llvm/llvm-project/commit/b3c450d4dc8f21f70a4fa35bdcbd4bfaf852ccd7
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [CI][format] Explicitly pass extensions to git-clang-format (take 2) (#98227)

This patch ensures that the CI script controls which file extensions are
considered instead of letting git-clang-format apply its own filtering
rules. In particular, this properly handles libc++ extension-less
headers which were passed to git-clang-format, but then dropped by 
the tool as having an unrecognized extension.

This is a second attempt to land 7620fe0d2d1e, which was reverted in
9572388 because it caused formatting not to be enforced for several patches.
The problem was that we'd incorrectly pass the extensions with additional
quoting to git-clang-format. The incorrect quoting has been removed in this
version of the patch.


  Commit: 33af4bd7a4c42f55646fa7d2826cd41384ecdece
      https://github.com/llvm/llvm-project/commit/33af4bd7a4c42f55646fa7d2826cd41384ecdece
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes.rst
    A libcxx/docs/ReleaseNotes/20.rst

  Log Message:
  -----------
  [libc++] Add empty release notes file for LLVM 20 (#98355)

While we haven't branched yet, this will make it easier for folks to add
release notes for PRs that won't be merged before the LLVM 19 branch
point.


  Commit: 45bc85603a3b96bd8bf39073c2b865aac094ba4b
      https://github.com/llvm/llvm-project/commit/45bc85603a3b96bd8bf39073c2b865aac094ba4b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/20.rst

  Log Message:
  -----------
  [libc++][NFC] Add missing upcoming removal to 19 release notes

This upcoming removal was recorded in the release notes for LLVM 19
as part of the deprecation of the C++20 synchronization library in
pre-C++20 modes, but wasn't included in "Upcoming Deprecations and Removals".


  Commit: 2642f2dbd1991ea8fc3888d10a9655e889027c9c
      https://github.com/llvm/llvm-project/commit/2642f2dbd1991ea8fc3888d10a9655e889027c9c
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [llvm][AArch64] Drop an ignored field on AArch64CPUTestParams. NFC (#98338)

AFAICT, the only use of the field was for the ARM side of this shared
struct.


  Commit: 6c97ad4e6838a1172d957df83ec60af646ccacc0
      https://github.com/llvm/llvm-project/commit/6c97ad4e6838a1172d957df83ec60af646ccacc0
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libcxx/include/__chrono/formatter.h
    M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp

  Log Message:
  -----------
  [libc++][chrono] Fix streaming for unsigned durations. (#97889)

This fixes formatting for durations using the unsigned types unsigned
short, unsigned, unsigned long, and unsigned long long. It does not
allow the unsigned char type. Since the formatting function uses
ostream::operator<< this type probably does not do what it should do.

Note that based on the standard all arithmetic types are allowed,
including bool, char, wchar_t. These types are not implemented either.
Allowing them seems like a defect in the Standard.

No effort is done to support user-defined types; the wording in the
Standard is unclear regarding the constrains for these types.

[LWG 4118](https://cplusplus.github.io/LWG/issue4118) discusses this
issue further.

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


  Commit: 06cecdc60ec9ebfdd4d8cdb2586d201272bdf6bd
      https://github.com/llvm/llvm-project/commit/06cecdc60ec9ebfdd4d8cdb2586d201272bdf6bd
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    R llvm/test/MC/AArch64/elf_osabi_flags.s
    R llvm/test/MC/ELF/osabi-solaris.s
    A llvm/test/MC/ELF/osabi.s

  Log Message:
  -----------
  [MC,test] Reorganize OSABI tests


  Commit: 1f819f0a79d15ac2ea845186e7396499dd474f57
      https://github.com/llvm/llvm-project/commit/1f819f0a79d15ac2ea845186e7396499dd474f57
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCSection.h

  Log Message:
  -----------
  [MC] Remove unused/incorrect postfix MCSection::iterator::operator++


  Commit: 6f13c71d31f7aa08bd59c72f7ba4c5c8b1023e40
      https://github.com/llvm/llvm-project/commit/6f13c71d31f7aa08bd59c72f7ba4c5c8b1023e40
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaInit.cpp
    A clang/test/SemaCXX/pr98102.cpp

  Log Message:
  -----------
  [clang] fix sema init crashing on initialization sequences (#98102)

We ran into a FE crash and root caused to `ER.get()` on line 5584 here
being nullptr. I think this is a result of not checking if ER here is
invalid.

Example of crash-on-valid C++
https://gist.github.com/yuxuanchen1997/576dce964666f0f8713fccacf5847138

Note that this crash happens only with `-std=c++20`.


  Commit: b81fcd01bde51eb8976b81a2c0c19fc0645cd2ff
      https://github.com/llvm/llvm-project/commit/b81fcd01bde51eb8976b81a2c0c19fc0645cd2ff
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  [rtsan] Restrict arches and disable android (#98268)

Follow on to #92460 (reporting old android builds failing) and #98264
(powerpc failing to discover gtests).

Getting back to stability by getting back down to a very basic set of
supported arches and OS's. In the future if there is demand we can build
it back up. Especially when I understand how to test these systems, or
have people who want to do the work on them.

---------

Co-authored-by: David Trevelyan <david.trevelyan at gmail.com>


  Commit: dc8ea046a516c3bdd0ece306f406c9ea833d4dac
      https://github.com/llvm/llvm-project/commit/dc8ea046a516c3bdd0ece306f406c9ea833d4dac
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll

  Log Message:
  -----------
  [AMDGPU] Do not use original PHIs in coercion chains (#98063)

It's possible that we are unable to coerce all the incoming values of a
PHINode (A). Thus, we are unable to coerce the PHINode. In this
situation, we previously would add the PHINode back to the ValMap. This
would cause a problem is PhiNode (B) was a user of A. In this scenario,
if B has been coerced, we would hit an assert regarding the incompatible
type between the PHINode and its incoming value.

Deleting non-coerced PHINodes from the map, and propagating the removal
to users, resolves the issue.


  Commit: 7e10ad99adb7d586f3ba3c8a9459d0e4fcaa0e33
      https://github.com/llvm/llvm-project/commit/7e10ad99adb7d586f3ba3c8a9459d0e4fcaa0e33
  Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/DebugData.h
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/debug-fission-single-convert.s
    M bolt/test/X86/dwarf4-df-dualcu.test
    M bolt/test/X86/dwarf4-df-input-lowpc-ranges-cus.test
    M bolt/test/X86/dwarf4-df-input-lowpc-ranges.test

  Log Message:
  -----------
  [BOLT][DWARF] Cleanup buffer initialization for DWO range writer (#97843)

Cleanup buffer initialization for DWO range writer instances to remove
empty buffer at the beginning.


  Commit: 6e86e11148474e4ecd49dbf0ca5dd9caddcdbd11
      https://github.com/llvm/llvm-project/commit/6e86e11148474e4ecd49dbf0ca5dd9caddcdbd11
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libc/src/__support/FPUtil/nearest_integer.h

  Log Message:
  -----------
  [libc] Use `rint` builtin for rounding on the GPU (#98345)

Summary:
Previously this went through the generic bit-twiddling implementation
instead of using the dedicated GPU instruction. This patch adds this in
to the utility, mirroring the special-casing of the x64 and aarch
targets. This results in much nicer code. The following example shows
the opencl device libs implementation on the left and the LLVM libc on
the right, https://godbolt.org/z/3ch48ccf5. The libc version is
"branchier", but the results seem similar.


  Commit: 24619f6aaf1df4ef07c9b495681fb73f58a767c4
      https://github.com/llvm/llvm-project/commit/24619f6aaf1df4ef07c9b495681fb73f58a767c4
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h

  Log Message:
  -----------
  [RISCV][GISEL] Do not initialize GlobalISel objects unless needed (#98233)

Prior to this commit, we created the GlobalISel objects in the
RISCVSubtarget constructor, even if we are not running GlobalISel. This
patch moves creation of the GlobalISel objects into their getters, which
ensures that we only create these objects if they are actually needed.
This helps since some of the constructors of the GlobalISel objects have
a significant amount of code.

We make the `unique_ptr`s `mutable` since GlobalISel passes only have
access to `const TargetSubtargetInfo` through `MF.getSubtarget()`.

This patch is tested by the fact that all existing RISC-V GlobalISel
tests remain passing.


  Commit: a8cabb6fc8eba78c2c4a8a69f4a256da4c1b01c6
      https://github.com/llvm/llvm-project/commit/a8cabb6fc8eba78c2c4a8a69f4a256da4c1b01c6
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [llvm][misexpect] Update MisExpect to use provenance tracking metadata (#86610)

With the IR extension added to MD_prof branch weights, we can now easily
distinguish between weights added by `llvm.expect*` intrinsics and
weights from other sources. This patch re-enables the assert checking
for malformed metadata, which should never happen using the
`llvm.expect*` family of intrinsics.


  Commit: 9f5756abefc622de543833584e4a25ffa3e9ff02
      https://github.com/llvm/llvm-project/commit/9f5756abefc622de543833584e4a25ffa3e9ff02
  Author: Scott Linder <Scott.Linder at amd.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/AsmParser/Parser.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/AsmParser/Parser.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    A llvm/test/CodeGen/MIR/Generic/diexpression.mir
    M llvm/unittests/AsmParser/AsmParserTest.cpp

  Log Message:
  -----------
  [MIR] Replace bespoke DIExpression parser

Resolve FIXME by using the LLParser implementation of parseDIExpression
from the MIParser.


  Commit: eee5d2d37c761e71d7a406acc112be0c71f4c3af
      https://github.com/llvm/llvm-project/commit/eee5d2d37c761e71d7a406acc112be0c71f4c3af
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/docs/CommandGuide/clang.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/Driver.cpp
    M clang/tools/driver/cc1_main.cpp
    M llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add ability to list extensions enabled for a target (#98207)

bb83a3d introduced `--print-enabled-extensions` command line option for
AArch64. This patch introduces RISC-V support for this option. This patch
adds documentation for this option.

`riscvExtensionsHelp` is renamed to `printSupportedExtensions` to by
synonymous with AArch64 and so it is clear what that function does.


  Commit: 8c664a9f507fb36aaec995a895178d88566ad58f
      https://github.com/llvm/llvm-project/commit/8c664a9f507fb36aaec995a895178d88566ad58f
  Author: Poseydon42 <vvmposeydon at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
    M llvm/test/Transforms/InstCombine/scmp.ll
    M llvm/test/Transforms/InstCombine/ucmp.ll

  Log Message:
  -----------
  [InstCombine] Fold negation of calls to `ucmp/scmp` by swapping its operands (#98360)

Proofs: https://alive2.llvm.org/ce/z/cp_a36


  Commit: c97a8e4bcf6f11d87c7137a4c31c468299687420
      https://github.com/llvm/llvm-project/commit/c97a8e4bcf6f11d87c7137a4c31c468299687420
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove unneed static_cast from GCNSubtarget constructor. NFC

RegBankInfo is a std::unique_ptr<AMDGPURegisterBankInfo> so we don't
need the cast.


  Commit: ed17431bf7489c87ea81a6a67af5c7c206da0080
      https://github.com/llvm/llvm-project/commit/ed17431bf7489c87ea81a6a67af5c7c206da0080
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake

  Log Message:
  -----------
  [rtsan] Disable ${ARM32} 

Still fails after #98268


  Commit: d18ca43edc6fed920db86a99ed9f7e3bcafc99d2
      https://github.com/llvm/llvm-project/commit/d18ca43edc6fed920db86a99ed9f7e3bcafc99d2
  Author: Poseydon42 <vvmposeydon at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/uscmp.ll

  Log Message:
  -----------
  [ConstraintElimination] Add support for UCMP/SCMP intrinsics (#97974)

This adds checks to fold calls to `ucmp`/`scmp` where a comparative
relationship between the arguments can be established.


  Commit: 34c544e1cc852d9a1039ff57773db0481c1a79e1
      https://github.com/llvm/llvm-project/commit/34c544e1cc852d9a1039ff57773db0481c1a79e1
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][linalg] Remove unused #includes. NFC.


  Commit: ed8565cf0b64ea5e88cc94f321b1870bb105d09d
      https://github.com/llvm/llvm-project/commit/ed8565cf0b64ea5e88cc94f321b1870bb105d09d
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp

  Log Message:
  -----------
  [sanitizer_common] Block asynchronous signals only (#98200)

This changes the behavior of `BlockSignals` and `ScopedBlockSignals` to
block only asynchronous signals.

This extension is intended to be used in a future fix for MSan (block
async signals during `MsanThread::Destroy`).


  Commit: e4b1813bb85d2efe76c2d69781a8dab0698c823b
      https://github.com/llvm/llvm-project/commit/e4b1813bb85d2efe76c2d69781a8dab0698c823b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  Fix deps for clean "ninja check-compiler-rt" (#98266)

Without the patch even FileCheck is missing.


  Commit: e6352604cda75270b24f55c02eddbd4bc648d537
      https://github.com/llvm/llvm-project/commit/e6352604cda75270b24f55c02eddbd4bc648d537
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/CMakeLists.txt
    M compiler-rt/lib/gwp_asan/CMakeLists.txt
    M compiler-rt/lib/lsan/CMakeLists.txt
    M compiler-rt/lib/nsan/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan_minimal/CMakeLists.txt
    M compiler-rt/test/cfi/CMakeLists.txt
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M compiler-rt/test/orc/CMakeLists.txt
    M compiler-rt/test/rtsan/CMakeLists.txt
    M compiler-rt/test/scudo/standalone/CMakeLists.txt
    M compiler-rt/test/xray/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Remove redundant COMPILER_RT_HAS_*SAN checks (#98240)

They are checked in the parent CMakeLists in
`compiler_rt_build_runtime` and `compiler_rt_test_runtime`.

There are non-redundant checks when a sanitizer checks
for the presense of another one. They should not be removed.


  Commit: dad7442aff5c85ff9141b0d0f231bcd731cbadc6
      https://github.com/llvm/llvm-project/commit/dad7442aff5c85ff9141b0d0f231bcd731cbadc6
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/BuiltinTests.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    A compiler-rt/cmake/caches/GPU.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Initial support for builtins on GPU targets (#95304)

Summary:
This patch adds initial support to build the `builtins` library for GPU
targets. Primarily this requires adding a few new architectures for
`amdgcn` and `nvptx64`. I built this using the following invocations.

```console
$ cmake ../compiler-rt -DCMAKE_C_COMPILER=clang
  -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -GNinja
  -DCMAKE_C_COMPILER_TARGET=<nvptx64-nvidia-cuda|amdgcn-amd-amdhsa>
  -DCMAKE_CXX_COMPILER_TARGET=<nvptx64-nvidia-cuda|amdgcn-amd-amdhsa>
  -DCMAKE_C_COMPILER_WORKS=1 -DCMAKE_CXX_COMPILER_WORKS=1
  -DLLVM_CMAKE_DIR=../cmake/Modules -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
  -C ../compiler-rt/cmake/caches/GPU.cmake
```

Some pointers would be appreciated for how to test this using a standard
(non-default target only) build.

GPU builds are somewhat finnicky. We only expect this to be built with a
sufficiently new clang, as it's the only compiler that supports the
target and output we distribute. Distribution is done as LLVM-IR blobs
for now.
GPUs have little backward compatibility, so linking object files is
left to a future patch.

More work is necessary to build correctly for all targets and ship into
the correct clang resource directory. Additionally we need to use the
`libc` project's support for running unit tests.


  Commit: 145ae81fa4ee55ccb31928109d72166b7c71b831
      https://github.com/llvm/llvm-project/commit/145ae81fa4ee55ccb31928109d72166b7c71b831
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/CMakeLists.txt
    M compiler-rt/lib/gwp_asan/CMakeLists.txt
    M compiler-rt/lib/lsan/CMakeLists.txt
    M compiler-rt/lib/nsan/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan_minimal/CMakeLists.txt
    M compiler-rt/test/cfi/CMakeLists.txt
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M compiler-rt/test/orc/CMakeLists.txt
    M compiler-rt/test/rtsan/CMakeLists.txt
    M compiler-rt/test/scudo/standalone/CMakeLists.txt
    M compiler-rt/test/xray/CMakeLists.txt

  Log Message:
  -----------
  Revert "[compiler-rt] Remove redundant COMPILER_RT_HAS_*SAN checks" (#98380)

Reverts llvm/llvm-project#98240

https://lab.llvm.org/buildbot/#/builders/109/builds/816


  Commit: 694b132177a96a61dac62b3e3d2989a063feafa7
      https://github.com/llvm/llvm-project/commit/694b132177a96a61dac62b3e3d2989a063feafa7
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp

  Log Message:
  -----------
  [sanitizer_common] Fix edge case for stack mapping parsing (#98381)

On some systems (e.g., at least two AArch64 Linux instances), the
process map can have:
```
    fffffffdf000-1000000000000 ... [stack]
```
instead of:
```
    fffffffdf000- ffffffffffff
```
The stack top value is larger than `GetMaxUserVirtualAddress()`, which
violates the precondition that shadow memory calculations expect. This
patch fixes the issue by saturating off-by-one values (and also adds
checks for more flagrant violations).

This fixes an issue that was observed with DFSan on AArch64 Linux (with
high-entropy ASLR, resulting in ASLR being disabled on some runs):
```
==11057==ERROR: DataflowSanitizer failed to allocate 0x1600000800000 (387028101365760) bytes at address 4fffff800000 (errno: 12)
```

(https://lab.llvm.org/staging/#/builders/90/builds/552/steps/9/logs/stdio)
This was trying to allocate a shadow at `[0x4fffff800000, 0x4fffff800000
+ 0x1600000800000] = [0x4fffff800000, 0x1b00000000000]`. Notice that the
end of the shadow region - an invalid value - is equal to
`MEM_TO_SHADOW(0x1000000000000)`, where `MEM_TO_SHADOW` is defined as
`(mem ^ 0xB00000000000ULL)`.


  Commit: dd3aa5eb706eb18a9039e01f9434d432ac468340
      https://github.com/llvm/llvm-project/commit/dd3aa5eb706eb18a9039e01f9434d432ac468340
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll

  Log Message:
  -----------
  [NVPTX] Update 32-bit NVPTX tests to use 64-bit

Summary:
These used the now-removed `nvptx` target. Because they used
`ptxas-verify` they would then fail since it's been removed. Update
these to 64-bit.


  Commit: eb66e31bc2e2b45c5ccc95300b89c48394084e30
      https://github.com/llvm/llvm-project/commit/eb66e31bc2e2b45c5ccc95300b89c48394084e30
  Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    A libc/benchmarks/gpu/timing/amdgpu/CMakeLists.txt
    A libc/benchmarks/gpu/timing/amdgpu/timing.h
    M libc/benchmarks/gpu/timing/timing.h

  Log Message:
  -----------
  [libc] Add Timing Utils for AMDGPU (#96828)

PR for adding AMDGPU timing utils for benchmarking.

I was not able to test this code since I do not have an AMD GPU, but I
was able to successfully compile this code using
-DRUNTIMES_amdgcn-amd-amdhsa_LIBC_GPU_TEST_ARCHITECTURE=gfx90a
-DRUNTIMES_amdgcn-amd-amdhsa_LIBC_GPU_LOADER_EXECUTABLE=echo
-DRUNTIMES_amdgcn_amd-amdhsa_LIBC_GPU_TARGET_ARCHITECTURE=gfx90a to
force the code to compile without having an AMD gpu on my machine.

@jhuber6


  Commit: 31c9c41873d06f3029ad200c04819e2e9d33c7e7
      https://github.com/llvm/llvm-project/commit/31c9c41873d06f3029ad200c04819e2e9d33c7e7
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__tuple/ignore.h
    M libcxx/include/module.modulemap
    M libcxx/include/tuple
    M libcxx/include/utility
    A libcxx/test/std/utilities/tuple/tuple.general/ignore.include.compile.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
    A libcxx/test/std/utilities/utility/ignore/ignore.include.compile.pass.cpp

  Log Message:
  -----------
  [libc++][tuple][utility] P2968R2: Make `std::ignore` a first-class object (#97401)

Implements:  https://wg21.link/P2968R2

References:
- https://eel.is/c++draft/tuple.general
- https://eel.is/c++draft/tuple.syn
- https://eel.is/c++draft/tuple.creation
- https://github.com/cplusplus/draft/milestone/31
- https://github.com/cplusplus/draft/pull/7109
- https://github.com/cplusplus/papers/issues/1640
- https://cplusplus.github.io/LWG/issue2933
- https://cplusplus.github.io/LWG/issue3978

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: 919caa89ee3323228ccb1dd065d86805b34b9b6a
      https://github.com/llvm/llvm-project/commit/919caa89ee3323228ccb1dd065d86805b34b9b6a
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp

  Log Message:
  -----------
  [lldb] Don't crash on malformed filesets (#98388)

The memory read can fail for a malformed fileset. Handle it gracefully
instead of passing a nullptr to the std::string constructor.

rdar://131477833


  Commit: 1819323781a7bdb3bbd60fad67da915ae0e59df6
      https://github.com/llvm/llvm-project/commit/1819323781a7bdb3bbd60fad67da915ae0e59df6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h

  Log Message:
  -----------
  [RISCV] Store a std::unique_ptr<RISCVRegisterBankInfo> in RISCVSubtarget. NFC (#98375)

Instead of std::unique_ptr<RegisterBankInfo>. This allows us to return a
RISCVRegisterBankInfo* from getRegBankInfo so we can avoid a
static_cast.

This does require an additional header file to be included in
RISCVSubtarget.h, but I don't think it's a big deal.


  Commit: 6789e1bb77c030c25ba5686c784bf4966770c324
      https://github.com/llvm/llvm-project/commit/6789e1bb77c030c25ba5686c784bf4966770c324
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp

  Log Message:
  -----------
  [sanitizer_common] Fix forward: limit #98200 to Linux only

My patch broke Solaris: https://github.com/llvm/llvm-project/pull/98200#issuecomment-2221463400
Fixing forward by limiting the change to Linux only.


  Commit: b96eb76d21dde43c6a92027ac083ad1a95f9dd0b
      https://github.com/llvm/llvm-project/commit/b96eb76d21dde43c6a92027ac083ad1a95f9dd0b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/CMakeLists.txt
    M compiler-rt/lib/gwp_asan/CMakeLists.txt
    M compiler-rt/lib/lsan/CMakeLists.txt
    M compiler-rt/lib/nsan/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan_minimal/CMakeLists.txt
    M compiler-rt/test/cfi/CMakeLists.txt
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M compiler-rt/test/orc/CMakeLists.txt
    M compiler-rt/test/rtsan/CMakeLists.txt
    M compiler-rt/test/scudo/standalone/CMakeLists.txt
    M compiler-rt/test/xray/CMakeLists.txt

  Log Message:
  -----------
  Revert "Revert "[compiler-rt] Remove redundant COMPILER_RT_HAS_*SAN checks"" (#98395)

Reverts llvm/llvm-project#98380

Probably some incremental build issue, the build before revert was
green:
https://lab.llvm.org/buildbot/#/builders/109/builds/817


  Commit: 5cb7e49e737fefb245c7988502e5033d0eb15201
      https://github.com/llvm/llvm-project/commit/5cb7e49e737fefb245c7988502e5033d0eb15201
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/test/MachO/objc-category-merging-complete-test.s

  Log Message:
  -----------
  [lld-macho] Fix -no_objc_category_merging flag (#98238)

`-no_objc_category_merging` flag was behaving like
`-objc_category_merging` - i.e. acting to enable category merging.
This is because we were using `hasArg` instead of `hasFlag` to test for
it. Fix this and add test to ensure it behaves as expected.


  Commit: 41de50b773c1c146ddafd4d363dab3b492e4485a
      https://github.com/llvm/llvm-project/commit/41de50b773c1c146ddafd4d363dab3b492e4485a
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/timing_test.cpp
    M compiler-rt/lib/scudo/standalone/timing.h

  Log Message:
  -----------
  [scudo] Add a maximum value into the timer. (#96989)

Modify the timer code to keep track of the maximum time that any call
takes.

Add a method to get a ScopedString representing the timer data. Allows
the testing of the timer on all platforms.

Add new unit tests for the maximum, and a lot of new tests.


  Commit: 5f1bb62c6bb83b9a46e3c6a45999d4468edb11e0
      https://github.com/llvm/llvm-project/commit/5f1bb62c6bb83b9a46e3c6a45999d4468edb11e0
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineModuleInfo.h
    M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
    M llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
    M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/ptrauth-constant-in-code.ll
    M llvm/test/CodeGen/AArch64/ptrauth-constant-in-code.ll

  Log Message:
  -----------
  [AArch64][PAC] Lower ptrauth constants in code for MachO. (#97665)

This also adds support for auth stubs on MachO using __DATA,__auth_ptr.

Some of the machinery for auth stubs is already implemented;  this
generalizes that a bit to support MachO, and moves some of the shared
logic into MMIImpls.

In particular, this originally had an AuthStubInfo struct, but we no
longer need it beyond a single MCExpr.  So this provides variants of
the symbol stub helper type declarations and functions for "expr
stubs", where a stub points at an arbitrary MCExpr, rather than
a simple MCSymbol (and a bit).


  Commit: eb97761b4db4877e8c2507054d94a35154e2ba54
      https://github.com/llvm/llvm-project/commit/eb97761b4db4877e8c2507054d94a35154e2ba54
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [SandboxIR] sandboxir::Use operands (part 1) and uses (part 2) (#98251)

This PR adds the Use class and several operands-related functions to the
User class (part 1) and several uses-related functions to the Value
class (part 2).


  Commit: a105113feff58bf568a25d7b45e20b6dde4ccd8f
      https://github.com/llvm/llvm-project/commit/a105113feff58bf568a25d7b45e20b6dde4ccd8f
  Author: RoseZhang03 <rosezhang at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libc/newhdrgen/class_implementation/classes/function.py
    M libc/newhdrgen/header.py
    A libc/newhdrgen/yaml/dlfcn.yaml
    M libc/newhdrgen/yaml/math.yaml
    M libc/newhdrgen/yaml/sys_prctl.yaml
    M libc/newhdrgen/yaml/unistd.yaml
    M libc/newhdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] newhdrgen: updated sorting of guarded functions in fuction generation (#98241)

In yaml_to_classes.py, changed order of adding functions so that guarded
functions appear after regular functions. Guarded functions will still
be alphabetically sorted within each guard. Each group of guarded
functions will appear in alphabetical order of the guard name.

Fixed issus in math.yaml such as missing guards.

Fixed Function class for spacing issues and the order in which
attributes are listed in the function header.

Deleted extra whitespace in the last line of unistd.yaml.


  Commit: 9392b45ef4720f470ffc11fb052f397c92758a16
      https://github.com/llvm/llvm-project/commit/9392b45ef4720f470ffc11fb052f397c92758a16
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  Revert "[SandboxIR] sandboxir::Use operands (part 1) and uses (part 2) (#98251)"

This reverts commit eb97761b4db4877e8c2507054d94a35154e2ba54.


  Commit: 9865171e24961d9ae85d7183d5f52c44b82a9c58
      https://github.com/llvm/llvm-project/commit/9865171e24961d9ae85d7183d5f52c44b82a9c58
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A clang/include/clang/Driver/aarch64-mlr-for-calls-only.c
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
    M llvm/test/CodeGen/AArch64/framelayout-sve.mir
    A llvm/test/CodeGen/AArch64/lr-reserved-for-ra-live-in.ll

  Log Message:
  -----------
  [AArch64] Add -mlr-for-calls-only to replace the now removed -ffixed-x30 flag. (#98073)

This re-introduces the effective behaviour that was reverted in
7ad481e76c9bee5b9895ebfa0fdb52f31cb7de77.

This time we're not using the same mechanism, exposing another
reservation feature
that prevents only regalloc from using the register, but not for other
required uses
like ABIs.

This also fixes a consequent issue with reserving LR, which is that
frame lowering
was only adding live-in flags for non-reserved regs. This would cause
issues later
since the outliner needs accurate flags to determine when LR needs to be
preserved.

rdar://131313095


  Commit: 388c55a3e676a75ac242ff4f2db3fa39e5f0b0a3
      https://github.com/llvm/llvm-project/commit/388c55a3e676a75ac242ff4f2db3fa39e5f0b0a3
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [lsan][ubsan] Use compiler_rt_build_runtime

Missed by #98240


  Commit: 797a2ec6bba2147301205e1acf3a219d7cf93d8e
      https://github.com/llvm/llvm-project/commit/797a2ec6bba2147301205e1acf3a219d7cf93d8e
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  Reapply "[SandboxIR] sandboxir::Use operands (part 1) and uses (part 2) (#98251)"

This reverts commit 9392b45ef4720f470ffc11fb052f397c92758a16.


  Commit: f7c673da00e5b0a4b14d059cfdbd7655259fd74c
      https://github.com/llvm/llvm-project/commit/f7c673da00e5b0a4b14d059cfdbd7655259fd74c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libc/src/__support/macros/sanitizer.h

  Log Message:
  -----------
  [libc] Clean up sanitizer macros

https://reviews.llvm.org/D99598 introduced some unneeded macros
including `ADDRESS_SANITIZER` and `MEMORY_SANITIZER`. The definitions
appeared to be from older absl/base/internal/dynamic_annotations.h,
which has then been cleaned up.

`ADDRESS_SANITIZER` is not defined by compilers. Some Bazel users define
it as part of --config=asan. If a translation unit specifies
-fno-sanitize=address, libc/src/__support/macros/sanitizer.h and
sanitizer/asan_interface.h will define ASAN_POISON_MEMORY_REGION
differently, leading to

```
libc/src/__support/macros/sanitizer.h:66:9: error: 'ASAN_UNPOISON_MEMORY_REGION' macro redefined [-Werror,-Wmacro-redefined]
   66 | #define ASAN_UNPOISON_MEMORY_REGION(addr, size)                                \
      |         ^
```

To fix this issue, just remove unneeded macros.

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


  Commit: 131eb30584333b61888735b4fefe53dd25b741e0
      https://github.com/llvm/llvm-project/commit/131eb30584333b61888735b4fefe53dd25b741e0
  Author: Shaw Young <58664393+shawbyoung at users.noreply.github.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/HashUtilities.h
    M bolt/include/bolt/Profile/YAMLProfileReader.h
    M bolt/include/bolt/Utils/NameResolver.h
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    A bolt/test/X86/match-functions-with-calls-as-anchors.test

  Log Message:
  -----------
  [BOLT] Match blocks with calls as anchors (#96596)

Added another hash level – call hash – following opcode hash matching
for stale block matching. Call hash strings are the concatenation of the
lexicographically ordered names of each blocks’ called functions. This 
change bolsters block matching in cases where some instructions have
been removed or added but calls remain constant.

Test Plan: added match-functions-with-calls-as-anchors.test.


  Commit: 8146aeef41e9a3a272b2d0017c0e94f0e387ae08
      https://github.com/llvm/llvm-project/commit/8146aeef41e9a3a272b2d0017c0e94f0e387ae08
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h

  Log Message:
  -----------
  NFC: clang-format X86IntrinsicsInfo.h.

(To reduce noise from a future real change, since changes in these
giant arrays trigger a reformat of the whole array.)


  Commit: ed09637c496dee37b23d73040dff6f7a4805c53a
      https://github.com/llvm/llvm-project/commit/ed09637c496dee37b23d73040dff6f7a4805c53a
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  [NFC] Move HWASAN_SUPPORTED_ARCH close to COMPILER_RT_HAS_ASAN


  Commit: 541f22ee361a8b3029ac898db29d3e9184fb1671
      https://github.com/llvm/llvm-project/commit/541f22ee361a8b3029ac898db29d3e9184fb1671
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lldb/include/lldb/API/SBLanguageRuntime.h
    M lldb/include/lldb/Target/Language.h
    M lldb/source/API/SBLanguageRuntime.cpp
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Options.td
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Support throw and catch exception breakpoints for dynamica… (#97871)

…lly registered languages

First of all, this is done to support exceptions for the Mojo language,
but it's done in a way that will benefit any other plugin language.

1. I added a new lldb-dap CLI argument (not DAP field) called
`pre-init-commands`. These commands are executed before DAP
initialization. The other `init-commands` are executed after DAP
initialization. It's worth mentioning that the debug adapter returns to
VSCode the list of supported exception breakpoints during DAP
initialization, which means that I need to register the Mojo plugin
before that initialization step, hence the need for `pre-init-commands`.
In general, language plugins should be registered in that step, as they
affect the capabilities of the debugger.
2. I added a set of APIs for lldb-dap to query information of each
language related to exception breakpoints. E.g. whether a language
supports throw or catch breakpoints, how the throw keyword is called in
each particular language, etc.
3. I'm realizing that the Swift support for exception breakpoints in
lldb-dap should have been implemented in this way, instead of hardcoding
it.


  Commit: 56069ab1a35e74d0d8d632121e1891d41cb56a2d
      https://github.com/llvm/llvm-project/commit/56069ab1a35e74d0d8d632121e1891d41cb56a2d
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port #96596 (#98411)

This change added a circular dependency in the profile and core headers,
so this splits out a target with just the headers for use by the core
library.


  Commit: d38a8e937b51f52ab4c324b99d984d3031833b63
      https://github.com/llvm/llvm-project/commit/d38a8e937b51f52ab4c324b99d984d3031833b63
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  Undo lsan part of #98240 (#98409)

Undo lsan, ubsan from #98240 and
388c55a3e676a75ac242ff4f2db3fa39e5f0b0a3

There are parts which do not check COMPILER_RT_HAS_*.


  Commit: 8ab1dd3c5196960a42965081fdf521b367e8607a
      https://github.com/llvm/llvm-project/commit/8ab1dd3c5196960a42965081fdf521b367e8607a
  Author: David Tellenbach <dtellenbach at apple.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
    M llvm/lib/DWARFLinker/Parallel/DebugLineSectionEmitter.h
    M llvm/test/tools/dsymutil/ARM/discriminator.test
    A llvm/test/tools/dsymutil/ARM/discriminator_repeated.test
    A llvm/test/tools/dsymutil/Inputs/discriminator_repeated.arm64.dylib
    A llvm/test/tools/dsymutil/Inputs/discriminator_repeated.arm64.o

  Log Message:
  -----------
  [DWARFLinker] Allow emission of repeated identical discriminators (#98255)

Zero discriminator for each row in the line-table to correctly emit
repeated but identical discriminators.

Without this patch line-tables like

    0x0000000100003bac     12     20      0   0            65       0
    0x0000000100003bb4     12     30      0   0            65       0
    0x0000000100003bbc     12     28      0   0            65       0
    0x0000000100003bcc     12     17      0   0            65       0

get falsely linked as

    0x0000000100003bac     12     20      0   0            65       0
    0x0000000100003bb4     12     30      0   0             0       0
    0x0000000100003bbc     12     28      0   0             0       0
    0x0000000100003bcc     12     17      0   0             0       0


  Commit: b1e03d3d2960c879066b43c228712a52f50e88a3
      https://github.com/llvm/llvm-project/commit/b1e03d3d2960c879066b43c228712a52f50e88a3
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M libc/src/__support/macros/sanitizer.h

  Log Message:
  -----------
  [libc] Restore LIBC_HAVE_ADDRESS_SANITIZER as it is used by some tests

Follow-up to #98402


  Commit: 54c32becf0991e60261bf8e80caee43cc6c0d65f
      https://github.com/llvm/llvm-project/commit/54c32becf0991e60261bf8e80caee43cc6c0d65f
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/test/Driver/dxc_debug.hlsl

  Log Message:
  -----------
  [HLSL] Set default DwarfVersion to 4 for HLSL. (#97854)

Set default DwarfVersion to 4 for HLSL to match DXIL which does not
support DwarfVersion 5.

Based on
https://registry.khronos.org/SPIR-V/specs/unified1/DebugInfo.html SPIRV
is currently using Dwarf4 as well.

This is for the Dwarf Version 5 part of #96912.


  Commit: 9324c952e5d4744f86fc87662dee387134915bf0
      https://github.com/llvm/llvm-project/commit/9324c952e5d4744f86fc87662dee387134915bf0
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [Driver] -fsanitize=numerical: work with ubsan and support -shared-libsan

* `-fsanitize=numerical,undefined`: don't link in the ubsan standalone
  runtime.
* `-shared-libsan`: link against `libclang_rt.nsan.so`

The compiler-rt part will be properly fixed by #98415


  Commit: cda245a339da2857406e288e0a11e8f9794ca4c4
      https://github.com/llvm/llvm-project/commit/cda245a339da2857406e288e0a11e8f9794ca4c4
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll

  Log Message:
  -----------
  [RISCV] Expand vp.stride.load to splat of a scalar load. (#98140)

It's a similar patch as a214c521f8763b36dd400b89017f74ad5ae4b6c7 for
vp.stride.load. Some targets prefer pattern (vmv.v.x (load)) instead of
vlse with zero stride.

It's IR version of #97798.


  Commit: e274d5f6ac729e0d4b1fa76f9610c397789656d7
      https://github.com/llvm/llvm-project/commit/e274d5f6ac729e0d4b1fa76f9610c397789656d7
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [MCP] Use MCRegUnit as the key type of CopyTracker::Copies map. NFC. (#98277)

`CopyTracker` is in fact tracking at RegUnit level, not MCRegister.


  Commit: 14fb6162a97e60a8aefcb0702a713f7a50205fce
      https://github.com/llvm/llvm-project/commit/14fb6162a97e60a8aefcb0702a713f7a50205fce
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn

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


  Commit: cea7bad732eb8d87a9305db859e87eb833fa3225
      https://github.com/llvm/llvm-project/commit/cea7bad732eb8d87a9305db859e87eb833fa3225
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll

  Log Message:
  -----------
  Revert "[RISCV] Expand vp.stride.load to splat of a scalar load." (#98422)

Reverts llvm/llvm-project#98140

Breaks tests, see comments on the PR.


  Commit: a75322c3c4905a20758c41e4f4d7304d6ca15f3d
      https://github.com/llvm/llvm-project/commit/a75322c3c4905a20758c41e4f4d7304d6ca15f3d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  Fix typo in #98409


  Commit: 1428004aaa308c6417e4401a17b676fa5a886f62
      https://github.com/llvm/llvm-project/commit/1428004aaa308c6417e4401a17b676fa5a886f62
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [gn build] Port 31c9c41873d0


  Commit: ae9bab563ac0320ae1d619ea35a5accc173cae03
      https://github.com/llvm/llvm-project/commit/ae9bab563ac0320ae1d619ea35a5accc173cae03
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan_thread.cpp

  Log Message:
  -----------
  [NFC] Clang-format the file


  Commit: 80ff3acd364810ec11efd45c2ce98a1bf9ce0f73
      https://github.com/llvm/llvm-project/commit/80ff3acd364810ec11efd45c2ce98a1bf9ce0f73
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/nsan/CMakeLists.txt
    M compiler-rt/lib/nsan/nsan.h
    M compiler-rt/lib/nsan/nsan.syms.extra
    M compiler-rt/lib/nsan/nsan_interceptors.cpp
    A compiler-rt/lib/nsan/nsan_malloc_linux.cpp

  Log Message:
  -----------
  [nsan] Add shared runtime

so that `clang -fsanitize=numerical -shared-libsan` will use
`libclang_rt.nsan.so` on Linux.

Shared runtime is preferred for some platforms (Android, Apple, Fuchsia;
though they are not supported yet) and helps plugin use cases (#98302).

* Update `ninja nsan` to build `libclang_rt.nsan.so`
* Fix `nsan.syms.extra`: `nsan_*` is unneeded. Add `__ubsan_*` so that
  `-fsanitize=numerical,undefined -shared-libsan` works.
* Move allocation functions to `nsan_malloc_linux.cpp`. While Apple
  platforms aren't supported yet, this separation makes it easier to add
  Apple support.
* Delete interceptors for very obsoleted pvalloc/valloc but retain
  memalign.
* Replace `HandleEarlyAlloc` with `DlsymAlloc`.

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


  Commit: 1b3e376ec0a77f7d7d20d0d32047678dafa142ae
      https://github.com/llvm/llvm-project/commit/1b3e376ec0a77f7d7d20d0d32047678dafa142ae
  Author: Alexander Qi <xdqi at users.noreply.github.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    A lld/test/ELF/wrap-weak.s

  Log Message:
  -----------
  [lld][ELF] --wrap: Make X weak when __real_X is to avoid undefined symbol errors (#98297)

Fix #98294.

When you specify --wrap=foo, sometimes foo is undefined in any context.
If you declare __real_foo as weak, GNU ld will not attempt to find the
strong symbol foo, instead, it generates a weak undefined symbol.

This pull request imitates this behavior by copying the binding
attribute from __real_foo to foo.


  Commit: a31cbd242e03c3994c852bc96e53a4539ce29c95
      https://github.com/llvm/llvm-project/commit/a31cbd242e03c3994c852bc96e53a4539ce29c95
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  Revert "[rtsan] Restrict arches and disable android (#98268)"

Some failures in Rtsan-aarch64-NoInstTest have been reported.

This reverts commit ed17431bf7489c87ea81a6a67af5c7c206da0080.
This reverts commit b81fcd01bde51eb8976b81a2c0c19fc0645cd2ff.


  Commit: 4052de6cb52e2d902a10b49ffc13bb4085ca092a
      https://github.com/llvm/llvm-project/commit/4052de6cb52e2d902a10b49ffc13bb4085ca092a
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp

  Log Message:
  -----------
  [tsan] Fix calculation of shadow end address in MemoryAccessRangeT (#98404)

MemoryAccessRangeT overestimates the size of the shadow region by 8x,
occasionally leading to assertion failure:
```
  RawShadow* shadow_mem = MemToShadow(addr);
  ...
  // Check that end of shadow is valid
  if (!IsShadowMem(shadow_mem + size * kShadowCnt - 1)) {
    DCHECK(IsShadowMem(shadow_mem + size * kShadowCnt - 1));
```
It is erroneous for two separate reasons:
- it uses kShadowCnt (== 4) instead of kShadowMultiplier (== 2)
- since shadow_mem is a RawShadow*, pointer arithmetic is multiplied by
sizeof(RawShadow) == 4

This patch fixes the calculation, and also improves the debugging
information.

The assertion error was observed on a buildbot
(https://lab.llvm.org/staging/#/builders/89/builds/656/steps/13/logs/stdio):
```
Bad shadow addr 0x3000000190bc (7fffffffe85f)
ThreadSanitizer: CHECK failed: tsan_rtl_access.cpp:690 "((IsShadowMem(shadow_mem + size * kShadowCnt - 1))) != (0)" (0x0, 0x0) (tid=2202676)
```
Notice that 0x3000000190bc is not the correct shadow for the end address
0x7fffffffe85f.

This error is more commonly observed on high-entropy ASLR systems, since
ASLR may be disabled (if the randomized memory layout is incompatible),
leading to an allocation near the boundaries of the high app memory
region (and therefore a shadow end that may be erroneously calculated to
be past the end of the shadow region). Also note that the assertion is
guarded by SANITIZER_DEBUG.

---------

Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>


  Commit: 45f4249217dad132350ae61d595025173364164e
      https://github.com/llvm/llvm-project/commit/45f4249217dad132350ae61d595025173364164e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt

  Log Message:
  -----------
  [symbolizer] Update symbol list for Ubuntu 24.04


  Commit: cb3bc5be9c20d893adf94cdf436092657ab5ab40
      https://github.com/llvm/llvm-project/commit/cb3bc5be9c20d893adf94cdf436092657ab5ab40
  Author: Mogball <jeff at modular.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [mlir] Fix build breakage on some systems

Some includes were shuffled around in LLVM support headers, causing
`<vector>` to no longer be included in certain files. Depending on the
system stdlib, the header might not transitively get included. Adding
`<vector>` to `DialectInterface.h` fixes a build breakage on some
systems


  Commit: c5e5088033fed170068d818c54af6862e449b545
      https://github.com/llvm/llvm-project/commit/c5e5088033fed170068d818c54af6862e449b545
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineDominators.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
    M llvm/lib/CodeGen/MachineDominators.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
    M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
    M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp

  Log Message:
  -----------
  [CodeGen] Remove `applySplitCriticalEdges` in `MachineDominatorTree` (#97055)

Summary:
- Remove wrappers in `MachineDominatorTree`.
- Remove `MachineDominatorTree` update code in
`MachineBasicBlock::SplitCriticalEdge`.
- Use `MachineDomTreeUpdater` in passes which call
`MachineBasicBlock::SplitCriticalEdge` and preserve
`MachineDominatorTreeWrapperPass` or CFG analyses.

Commit abea99f65a97248974c02a5544eaf25fc4240056 introduced related
methods in 2014. Now we have SemiNCA based dominator tree in 2017 and
dominator tree updater, the solution adopted here seems a bit outdated.


  Commit: 3c5f929ad093a2053b3194474609f1fc3eb15431
      https://github.com/llvm/llvm-project/commit/3c5f929ad093a2053b3194474609f1fc3eb15431
  Author: R <rqou00 at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [RISCV] Add QingKe "XW" compressed opcode extension (#97925)

This extension consists of 8 additional 16-bit compressed forms for
existing standard load/store opcodes.

These opcodes are found in some RISC-V microcontrollers from WCH /
Nanjing Qinheng Microelectronics.

As discussed in the Discourse forums, this uses incompatible extension
and opcode names vs the vendor binary toolchain. The chosen names
instead follow the conventions for other vendor extensions listed on the
"riscv-non-isa" project.


  Commit: 502a40ac7074a6f63cc87dd19110246e9dd5c07c
      https://github.com/llvm/llvm-project/commit/502a40ac7074a6f63cc87dd19110246e9dd5c07c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

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

  Log Message:
  -----------
  [CFI Simplify condition for testing

Helps to avoid failures like https://lab.llvm.org/buildbot/#/builders/76/builds/844
after #98395.


  Commit: f43ad50b7e353a6a67647bf3bb44c2d5cafe62c4
      https://github.com/llvm/llvm-project/commit/f43ad50b7e353a6a67647bf3bb44c2d5cafe62c4
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/SandboxIR/SandboxIR.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Refactor Function::dumpNameAndArgs()


  Commit: 6db0a3f853c901fd47d9d8b715c8d68ece2837c4
      https://github.com/llvm/llvm-project/commit/6db0a3f853c901fd47d9d8b715c8d68ece2837c4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/SandboxIR/SandboxIR.cpp

  Log Message:
  -----------
  [SandboxIR] Fix a warning

This patch fixes:

  llvm/lib/SandboxIR/SandboxIR.cpp:282:8: error: lambda capture 'this'
  is not used [-Werror,-Wunused-lambda-capture]


  Commit: a92bcb20b8cfeb74852ccade1651cdf4d1f296de
      https://github.com/llvm/llvm-project/commit/a92bcb20b8cfeb74852ccade1651cdf4d1f296de
  Author: Koakuma <koachan at protonmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
    M llvm/test/MC/Sparc/sparc-asm-errors.s
    M llvm/test/MC/Sparc/sparc-cas-instructions.s
    M llvm/test/MC/Sparc/sparcv9-instructions.s

  Log Message:
  -----------
  [SPARC][IAS] Reject unknown/unavailable mnemonics early in ParseInstruction

Validate and reject any unknown or unavailable instruction mnemonics early
in ParseInstruction, before any operand parsing is performed. Some operands
(mainly memory ones) can be parsed slightly differently in V8 and V9
assembly language, so by rejecting unknown or unavailable instructions early
we can prevent the error message from being shadowed by the one raised during
operand parsing.

As a side effect this also allows us to tell unknown and unavailable
mnemonics apart, and issue a suggestion in appropriate cases.

This is based on the approach taken by the MIPS backend.

Reviewers: brad0, rorth, s-barannikov, jrtc27

Reviewed By: s-barannikov

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


  Commit: cd6750fa5fddbd0783243711bfc2f7880736586e
      https://github.com/llvm/llvm-project/commit/cd6750fa5fddbd0783243711bfc2f7880736586e
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV][NFC] Add a newline when using --print-enabled-extensions (#98425)

The `--print-enabled-extensions` has been introduced in the
https://github.com/llvm/llvm-project/pull/98207 , but it seems to be
missing a newline in the end.


  Commit: 2cec041a103137343e1019f6f883bdcdf60db708
      https://github.com/llvm/llvm-project/commit/2cec041a103137343e1019f6f883bdcdf60db708
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/nsan/CMakeLists.txt
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan.h
    A compiler-rt/lib/nsan/nsan_preinit.cpp

  Log Message:
  -----------
  [nsan] Add nsan_preinit.cpp and make it static library only

#94322 defines .preinit_array to initialize nsan early.
DT_PREINIT_ARRAY can only be used with the main executable. GNU ld would
complain when a DSO has .preinit_array .


  Commit: d9d977f6e4177a241057d50e6edf74cad1bafa89
      https://github.com/llvm/llvm-project/commit/d9d977f6e4177a241057d50e6edf74cad1bafa89
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGenData/OutlinedHashTreeRecord.cpp

  Log Message:
  -----------
  Fix assert for [CGData] Outlined Hash Tree #89792 (#98383)


  Commit: 4710e0f498cb661ca17c99cb174616102fcad923
      https://github.com/llvm/llvm-project/commit/4710e0f498cb661ca17c99cb174616102fcad923
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/TargetInfo.cpp

  Log Message:
  -----------
  [NFC][Clang] Move functions of BranchProtectionInfo out of line (#98329)

Also let's add const to the setFnAttributes.


  Commit: dbd00a5968d6c823d686714c91f2b4fcfd03797a
      https://github.com/llvm/llvm-project/commit/dbd00a5968d6c823d686714c91f2b4fcfd03797a
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/SpecConstants/restore-spec-type.ll
    A llvm/test/CodeGen/SPIRV/instructions/atomic-ptr.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic_acqrel.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic_seq.ll
    A llvm/test/CodeGen/SPIRV/pointers/complex.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-sycl-stub.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpGenericCastToPtr.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAsyncCopy-strided.ll
    M llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll

  Log Message:
  -----------
  [SPIRV] Improve type inference of operand presented by opaque pointers and aggregate types (#98035)

This PR improves type inference of operand presented by opaque pointers
and aggregate types:
* tries to restore original function return type for aggregate types so
that it's possible to deduce a correct type during emit-intrinsics step
(see llvm/test/CodeGen/SPIRV/SpecConstants/restore-spec-type.ll for the
reproducer of the previously existed issue when spirv-val found a
mismatch between object and ptr types in OpStore due to the incorrect
aggregate types tracing),
* explores untyped pointer operands of store to deduce correct pointee
types,
* creates an extension type to track pointee types from emit-intrinsics
step and further instead of direct and naive usage of TypePointerType
that led previously to crashes due to ban of creation of Value of
TypePointerType type,
* tracks instructions with uncomplete type information and tries to
improve their type info after pass calculated types for all machine
functions (it doesn't traverse a code but rather checks only those
instructions which were tracked as uncompleted),
* address more cases of removing unnecessary bitcasts (see, for example,
changes in test/CodeGen/SPIRV/transcoding/OpGenericCastToPtr.ll where
`CHECK-SPIRV-NEXT` in LIT checks show absence of unneeded bitcasts and
unmangled/mangled versions have proper typing now with equivalent type
info),
* address more cases of well known types or relations between types
within instructions (see, for example, atomic*.ll test cases and
Event-related test cases for improved SPIR-V code generated by the
Backend),
* fix the issue of removing unneeded ptrcast instructions in
pre-legalizer pass that led to creation of new assign-type instructions
with the same argument as source in ptrcast and caused errors in type
inference (the reproducer `complex.ll` test case is added to the PR).


  Commit: 0483f14b003cb3a2c0045d8f54523a2e9a266b0f
      https://github.com/llvm/llvm-project/commit/0483f14b003cb3a2c0045d8f54523a2e9a266b0f
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp

  Log Message:
  -----------
  [NFC][Coroutines] Remove redundant checks for replacing PrepareFns (#98392)

If `Coroutines.empty()` the following loop is going to be skipped
entirely and same goes for `PrepareFns.empty()`. These two conditions
here aren't useful and adds to complexity.


  Commit: 7eae9bb856135136cddc4208a2b1546e9db44c9c
      https://github.com/llvm/llvm-project/commit/7eae9bb856135136cddc4208a2b1546e9db44c9c
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/Utils/Utils.h

  Log Message:
  -----------
  [mlir][scf] Fix doc on `emitNormalizedLoopBounds`, NFC (#98372)

Fix an old comment that doesn't match the function anymore.


  Commit: c74ba57e0bd910b2f890f596291f7da23931ed70
      https://github.com/llvm/llvm-project/commit/c74ba57e0bd910b2f890f596291f7da23931ed70
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/RISCV.h
    R llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    A llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
    M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/vlmax-peephole.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll

  Log Message:
  -----------
  [RISCV] Convert AVLs with vlenb to VLMAX where possible (#97800)

Given an AVL that's computed from vlenb, if it's equal to VLMAX then we
can replace it with the VLMAX sentinel value.

The main motiviation is to be able to express an EVL of VLMAX in VP
intrinsics whilst emitting vsetvli a0, zero, so that we can replace
llvm.riscv.masked.strided.{load,store} with their VP counterparts.

This is done in RISCVVectorPeephole (previously RISCVFoldMasks, renamed
to account for the fact that it no longer just folds masks) instead of
SelectionDAG since there are multiple places places where VP nodes are
lowered that would have need to have been handled.

This also avoids doing it in RISCVInsertVSETVLI as it's much harder to
lookup the value of the AVL, and in RISCVVectorPeephole we can take
advantage of DeadMachineInstrElim to remove any leftover
PseudoReadVLENBs.


  Commit: ccceeeb577878f3e9b7301042f68e37552a3d2c1
      https://github.com/llvm/llvm-project/commit/ccceeeb577878f3e9b7301042f68e37552a3d2c1
  Author: Connie <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/test/msan/Linux/sigandorset.cpp

  Log Message:
  -----------
  [compiler-rt][test] Fix typo in stderr redirection (#98397)

This patch fixes a typo in the RUN line where stderr should be
redirected to stdout instead of the other way around.


  Commit: b65aba292e0d485de286ec36134375e74b1fb95c
      https://github.com/llvm/llvm-project/commit/b65aba292e0d485de286ec36134375e74b1fb95c
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/TargetInfo.cpp

  Log Message:
  -----------
  Revert "[NFC][Clang] Move functions of BranchProtectionInfo out of line" (#98437)

Reverts llvm/llvm-project#98329


  Commit: 2ca3f87e89f4a72e9ad5ac8de7267948d8147625
      https://github.com/llvm/llvm-project/commit/2ca3f87e89f4a72e9ad5ac8de7267948d8147625
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

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


  Commit: 0b15f89182a4b2a4c46ad207fa2e282ad35f12ee
      https://github.com/llvm/llvm-project/commit/0b15f89182a4b2a4c46ad207fa2e282ad35f12ee
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    M compiler-rt/lib/nsan/CMakeLists.txt
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan.h
    R compiler-rt/lib/nsan/nsan_preinit.cpp

  Log Message:
  -----------
  Revert "[nsan] Add nsan_preinit.cpp and make it static library only"

https://lab.llvm.org/buildbot/#/builders/66/builds/1345

This reverts commit 2cec041a103137343e1019f6f883bdcdf60db708.


  Commit: 7868033d2e846fa30c20455ca819fad29d9d795e
      https://github.com/llvm/llvm-project/commit/7868033d2e846fa30c20455ca819fad29d9d795e
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/MC/AArch64/armv9.5a-pauthlr.s
    M llvm/test/MC/Disassembler/AArch64/armv9.5a-pauthlr.txt

  Log Message:
  -----------
  [AArch64] Update AUTIxSPPC and RETAxSPPC instructions for registers (#98303)

As of the 2024.06 Arm Architecture release, the register variants of the
AUTIxSPPC and RETAxSPPC instructions have been updated to be explicitly
different to the immediate variant. The instructions now follow the
format AUTIxSPPCR and RETAxSPPCR for the register variants, with the
immediate variants keeping their current form.

The Specs can be found at the following locations
AUTIASPPCR:
https://developer.arm.com/documentation/ddi0602/2024-06/Base-Instructions/AUTIASPPCR--Authenticate-return-address-using-key-A--using-a-register-?lang=en
AUTIBSPPCR:
https://developer.arm.com/documentation/ddi0602/2024-06/Base-Instructions/AUTIBSPPCR--Authenticate-return-address-using-key-B--using-a-register-?lang=en
RETAASPPCR and RETABSPPCR:
https://developer.arm.com/documentation/ddi0602/2024-06/Base-Instructions/RETAASPPCR--RETABSPPCR--Return-from-subroutine--with-enhanced-pointer-authentication-return-using-a-register-?lang=en


  Commit: 6a907699d8b4fb35a843ab8fd84ca56ed93fc201
      https://github.com/llvm/llvm-project/commit/6a907699d8b4fb35a843ab8fd84ca56ed93fc201
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineDominators.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
    M llvm/lib/CodeGen/MachineDominators.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
    M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
    M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp

  Log Message:
  -----------
  Revert "[CodeGen] Remove `applySplitCriticalEdges` in `MachineDominatorTree` (#97055)"

This reverts commit c5e5088033fed170068d818c54af6862e449b545.

Causes large compile-time regressions.


  Commit: a18f45f556c781d711f82043bf451fcce8324163
      https://github.com/llvm/llvm-project/commit/a18f45f556c781d711f82043bf451fcce8324163
  Author: Shivam Gupta <shivam98.tkg at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp

  Log Message:
  -----------
  [lldb] Fix string truncation method when substring is the prefix of string (NFC) (#94785)

Correct the method used to truncate the source_file string when
substring is a prefix. The previous method used substr, which was
changed to resize for clarity and efficiency.

Caught by cppcheck - 
lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp:290:19:
performance: Ineffective call of function 'substr' because a prefix of
the string is assigned to itself. Use resize() or pop_back() instead.
[uselessCallsSubstr]

Source code - 
source_file = source_file.substr(0, pos);

Fix #91211

---------

Co-authored-by: Shivam Gupta <shivma98.tkg at gmail.com>


  Commit: 00fd188f3744ce7511ebc41260f3fcf34a80ae6b
      https://github.com/llvm/llvm-project/commit/00fd188f3744ce7511ebc41260f3fcf34a80ae6b
  Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CXX/module/module.import/p6.cpp

  Log Message:
  -----------
  [C++20][Modules] static data members of template classes should be allowed in header units (#98309)

Summary:
There is no sense to report these cases as an error or add `inline`
explicitly in these cases, if it is not required in normal headers.
Similar to #60079.

Test Plan: check-clang


  Commit: ce92b2f594809c39c37bf3ef3d881f2b33bd6730
      https://github.com/llvm/llvm-project/commit/ce92b2f594809c39c37bf3ef3d881f2b33bd6730
  Author: Andrei Safronov <safronov at espressif.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaOperators.td
    M llvm/test/CodeGen/Xtensa/brcc.ll
    A llvm/test/CodeGen/Xtensa/select-cc.ll
    A llvm/test/CodeGen/Xtensa/setcc.ll

  Log Message:
  -----------
  [Xtensa] Implement lowering SELECT_CC, SETCC. (#97017)


  Commit: d4e46f0e864e37085da0c5e56e4f6f278e2f7aee
      https://github.com/llvm/llvm-project/commit/d4e46f0e864e37085da0c5e56e4f6f278e2f7aee
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/test/CodeGen/AMDGPU/wqm.ll

  Log Message:
  -----------
  [AMDGPU] Fix machine verification failure from INIT_EXEC lowering (#98333)

Fix machine verification failure from INIT_EXEC lowering since it was
moved from SILowerControlFlow to SIWholeQuadMode in #94452.


  Commit: bf4167fd1d06ff68da2cbea210a4ccfa045694d3
      https://github.com/llvm/llvm-project/commit/bf4167fd1d06ff68da2cbea210a4ccfa045694d3
  Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/lib/Frontend/FrontendActions.cpp
    A clang/test/Frontend/module-file-info-not-a-module.c

  Log Message:
  -----------
  [Clang] Don't crash if input file is not a module. (#98439)

Currently clang crashes with `-module-file-info` and input file which is
not a module
Emit error instead of segfaulting.
Fix #98365


  Commit: eb61956d1a039d9cb03e0d041f33ab2ecc80519e
      https://github.com/llvm/llvm-project/commit/eb61956d1a039d9cb03e0d041f33ab2ecc80519e
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/test/CodeGenObjC/arc-foreach.m

  Log Message:
  -----------
  [ObjC][CodeGen] Assume a for-in loop is in bounds and cannot overflow (#94885)

When accessing data in the buffer, we know we won't overrun the buffer,
so we know it is inbounds. In addition, we know that the addition to
increase the index is also NUW because the buffer's end has to be
unsigned-greater-than 0, which becomes untrue if the bounds ever has an
unsigned wrap.


  Commit: 55c00485eb05dfa75d4a20efff2131edd111066d
      https://github.com/llvm/llvm-project/commit/55c00485eb05dfa75d4a20efff2131edd111066d
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChain.cpp
    A clang/test/Driver/aarch64-multilib-rcpc3.c

  Log Message:
  -----------
  [Clang][Driver] Skip empty strings in getAArch64MultilibFlags (#97827)

In a multilib setting, if you compile with a command line such as `clang
--target=aarch64-none-elf -march=armv8.9-a+rcpc3`,
`getAArch64MultilibFlags` returns an ill-formed string containing two
consecutive `+` signs, of the form `...+rcpc++rcpc3+...`, causing later
stages of multilib selection to get confused.

The `++` arises from the entry in `AArch64::Extensions` for the
SubtargetFeature `rcpc-immo`, which is a dependency of the `rcpc3`
SubtargetFeature, but doesn't have an _extension_ name for the purposes
of the `-march=foo+bar` option. So its `UserVisibleName` field is the
empty string.

To fix this, I've excluded extensions from consideration in
`getAArch64MultilibFlags` if they have an empty `UserVisibleName`. Since
the input to this function is not derived from a completely general set
of SubtargetFeatures, but from a set that has only just been converted
_from_ a clang driver command line, the only extensions skipped by this
check should be cases like this one, where the anonymous extension was
only included because it was a dependency of one mentioned explicitly.

I've also made the analogous change in `getARMMultilibFlags`. I don't
think it's necessary right now, because the architecture extensions for
ARM (defined in `ARMTargetParser.def` rather than Tablegen) don't
include any anonymous ones. But it seems sensible to add the check
anyway, in case future refactoring introduces anonymous array elements
in the same way that AArch64 did, and also in case someone writes a
function for another platform by using either of these as example code.


  Commit: 18e70a4d5042299054dae7d3995f6ccd8f4112b3
      https://github.com/llvm/llvm-project/commit/18e70a4d5042299054dae7d3995f6ccd8f4112b3
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M lldb/utils/lit-cpuid/lit-cpuid.cpp
    M llvm/include/llvm/TargetParser/Host.h
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
    M llvm/lib/Target/TargetMachineC.cpp
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [llvm][TargetParser] Return StringMap from getHostCPUFeatures (#97824)

Previously this took a reference to a map and returned a bool to say
whether it succeeded. We can return a StringMap instead, as all callers
but 1 simply iterated the map if the bool was true, and passed in empty
maps as the starting point.

lldb's lit-cpuid did specifically check whether the call failed, but due
to the way the x86 routines work this works out the same as checking if
the returned map is empty.


  Commit: 74b933c28e777fdc04e50f5f96e4f7a4ad1e79a6
      https://github.com/llvm/llvm-project/commit/74b933c28e777fdc04e50f5f96e4f7a4ad1e79a6
  Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/test/Driver/loongarch-msimd.c

  Log Message:
  -----------
  [LoongArch][clang] Modify `loongarch-msimd.c` to avoid `grep -o`. NFC (#98442)

Address buildbot failure:
https://lab.llvm.org/buildbot/#/builders/64/builds/250/steps/6/logs/FAIL__Clang__loongarch-msimd_c


  Commit: 67f4968a57789fa07dcdb0c4421e4beeb725a0db
      https://github.com/llvm/llvm-project/commit/67f4968a57789fa07dcdb0c4421e4beeb725a0db
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [LV] Skip cost for ZExt/SExts that will be removed by truncating ops.

If an extend is truncated, it will be removed if the result type is <=
the source type, as there is nothing to extend. Return a cost of 0.

This was caught by the first step to perform cost-modeling based on
VPlan (b841e2e), as the legacy cost model would query the cost of an
invalid extend, while the extend has been folded away by VPlan
transforms.

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


  Commit: e980990ee4ef0b2690094186cb4331e224561a20
      https://github.com/llvm/llvm-project/commit/e980990ee4ef0b2690094186cb4331e224561a20
  Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/cabs-discrete.ll

  Log Message:
  -----------
  [SimplifyLibCalls] Simplify cabs libcall if real or imaginary part of input is zero (#97976)

cabs(a + i0) -> abs(a)
cabs(0 +ib) -> abs(b)

Closes #97336


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

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

  Log Message:
  -----------
  [X86] combineX86ShufflesConstants - replace Root argument with VT/DL arguments.

combineX86ShufflesConstants doesn't need to know specifically about the Root node, it just needs the type + SDLoc.

Minor tweak to make it easier to reuse this function in places other than recursive shuffle combining.


  Commit: 117cc4abeaee0cf7e0e4d1f9883313ad1effabd0
      https://github.com/llvm/llvm-project/commit/117cc4abeaee0cf7e0e4d1f9883313ad1effabd0
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/memcpy.ll

  Log Message:
  -----------
  [MemCpyOpt] No need to create `memcpy(a <- a)` (#98321)

When forwarding `memcpy`, we don't need to create `memcpy(a, a)`.


  Commit: eeed5896deed205997bd3cfc70b5bf134017c694
      https://github.com/llvm/llvm-project/commit/eeed5896deed205997bd3cfc70b5bf134017c694
  Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
    M libc/benchmarks/gpu/src/ctype/isalnum_benchmark.cpp

  Log Message:
  -----------
  [libc] Correctly Run Multiple Benchmarks in the Same File (#98467)

There was previously an issue where registering multiple benchmarks in
the same file would only give the results for the last benchmark to run.
This PR fixes the issue.

@jhuber6


  Commit: eb977399de30a166e3b1db905950c913fe36730b
      https://github.com/llvm/llvm-project/commit/eb977399de30a166e3b1db905950c913fe36730b
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/builtins/riscv/restore.S
    M compiler-rt/lib/builtins/riscv/save.S

  Log Message:
  -----------
  [compiler-rt][RISC-V] Save/Restore for E goes with ABI (#95390)

When compiling for the ILP32E/LP64E ABIs, even on a RISC-V machine with
`i`, we should be using the ILP32E/LP64E save/restore routines, so use
the right preprocessor macro.


  Commit: e1bd337865fca9f455225ba37b76595d37bad213
      https://github.com/llvm/llvm-project/commit/e1bd337865fca9f455225ba37b76595d37bad213
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lldb/include/lldb/Target/ThreadList.h
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/ThreadList.cpp

  Log Message:
  -----------
  [lldb] Fix ThreadList assignment race (#98293)

ThreadList uses the Process mutex to guard its state. This means its not
possible to safely modify its process member, as the member is required
to lock the mutex.

Fortunately for us, we never actually need to change the process member
(we always just juggle different kinds of thread lists belonging to the
same process).

This patch replaces the process member assignment (which is technically
a race even when it assigns the same value) with an assertion.

Since all this means that the class can never change its process member
value (and it also must be non-null at all times), I've also changed the
member type to a reference.


  Commit: 0248b597b1442ba803b61ba1d099ec8ef3872b2d
      https://github.com/llvm/llvm-project/commit/0248b597b1442ba803b61ba1d099ec8ef3872b2d
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/ohos.c
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [clang][Driver] Fix safestack -u ordering (#98468)

When re-enabling safestack testing on Solaris after the unexplained
b0260c5b1052f8e3ff1ec77dc42a11f42da762cc, all tests `FAIL`ed to link:

```
Undefined			first referenced
 symbol  			    in file
__safestack_unsafe_stack_ptr        buffer-copy-vla.o
__safestack_init                    (command line)
ld: fatal: symbol referencing errors
```

The problem is that `-u __safestack_init` was passed to the linker after
the corresponding version of `libclang_rt.safestack-*.a`. Since the
Solaris linker (like Unix linkers for decades) respects the command line
argument order (unlike e.g. GNU ld which uses GNU getopt), this cannot
work. Fixed by moving the `-u` arg further to the front. Two affected
testcases were fixed accordingly.

Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`,
`x86_64-pc-linux-gnu`, and `sparc64-unknown-linux-gnu`.


  Commit: 5c205b6f7d82ee88ee5a869d6102c5a6388fb3f0
      https://github.com/llvm/llvm-project/commit/5c205b6f7d82ee88ee5a869d6102c5a6388fb3f0
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/lib/safestack/CMakeLists.txt
    M compiler-rt/lib/safestack/safestack.cpp
    M compiler-rt/lib/safestack/safestack_platform.h
    M compiler-rt/test/safestack/lit.cfg.py

  Log Message:
  -----------
  [safestack] Various Solaris fixes (#98469)

Even with the `-u __safestack_init` link order fixed on Solaris, there
are still several safestack test issues left:

* While 540fd42c755f20f7b79c6c79493ec36d8cb9b3d3 enabled safestack on
Solaris in the driver unconditionally, it ignored that Solaris also
exists on SPARC and forgot to enable SPARC support for the runtime lib.
This patch fixes that.

- The tests fail to link with undefined references to
`__sanitizer_internal_memset` etc. These are from
`sanitizer_redefine_builtins.h`. Definitions live in
`sanitizer_libc.cpp.o`. This patch adds them to the safestack runtime
lib as is already the case e.g. for asan and ubsan. Why GNU ld allows
the link to complete with those references undefined is beyond me.

- The `pthread*.c` tests `FAIL` with

``` safestack CHECK failed:
/vol/llvm/src/llvm-project/local/compiler-rt/lib/safestack/safestack.cpp:227
size ```

The problem is that `pthread_attr_init` initializes the `stacksize`
attribute to 0, signifying the default. Unless explicitly overridded, it
stays that way. I think this is allowed by XPG7. Since safestack cannot
deal with this, I set `size` to the defaults documented in
`pthread_create(3C)`. Unfortunately, there's no macro for those values
outside of private `libc` headers.

- The Solaris `syscall` interface isn't stable. This is not just a
theoretical concern, but the syscalls have changed incompatibly several
times in the past. Therefore this patch switches the implementations of
`TgKill` (where `SYS_lwp_kill` doesn't exist on Solaris 11.4 anyway),
`Mmap`, `Munmap`, and `Mprotect` to the same `_REAL*` solution already
used in `sanitizer_solaris.cpp`. Instead of duplicating what's already
in `sanitizer_common`, it seems way better to me to just reuse those
implementations, though. A subsequent patch does just that.

With those changes, safestack compiles and all tests `PASS`, so the
tests are re-enabled for good.

Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`,
`x86_64-pc-linux-gnu`, and `sparc64-unknown-linux-gnu`.


  Commit: d69e94916e5012174c7f27866031b7a8e2cec7a0
      https://github.com/llvm/llvm-project/commit/d69e94916e5012174c7f27866031b7a8e2cec7a0
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/test/Dialect/Tensor/bufferize.mlir

  Log Message:
  -----------
  [mlir] [linalg] Fix bufferize error in tensor.parallel_insert_slice op (#98312)

tensor.parallel_insert_slice op has implicit inplace behavior. In the
"copy-before-write" bufferize mode, the resolveConflict function will
generate bufferize.copy, making the result incorrect. This patch fixes
this issue.


  Commit: e4163c0927772f2ec73cf16d53e000614c419c45
      https://github.com/llvm/llvm-project/commit/e4163c0927772f2ec73cf16d53e000614c419c45
  Author: Budimir Aranđelović <123091736+budimirarandjelovicsyrmia at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/C/drs/dr0xx.c
    M clang/test/C/drs/dr2xx.c
    M clang/test/Sema/builtins.c
    M clang/test/Sema/constant-builtins-2.c
    M clang/test/Sema/integer-overflow.c
    A clang/test/Sema/shift-count-negative.c
    A clang/test/Sema/shift-count-overflow.c
    A clang/test/Sema/shift-negative-value.c
    M clang/test/Sema/vla-2.c
    M clang/test/SemaCXX/enum.cpp
    M clang/test/SemaCXX/shift.cpp

  Log Message:
  -----------
  [clang] Emit bad shift warnings (#70307)

Diagnose bad shifts and emit warnings


  Commit: a3913a19185e3513a317aab792e85d5c50ef0242
      https://github.com/llvm/llvm-project/commit/a3913a19185e3513a317aab792e85d5c50ef0242
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/test/tools/llvm-dlltool/coff-weak-exports.def

  Log Message:
  -----------
  [llvm-dlltool] Respect the DATA flag when creating aliases (#98225)


  Commit: 81cdf9472c347adeee91f39f661e06da77902c93
      https://github.com/llvm/llvm-project/commit/81cdf9472c347adeee91f39f661e06da77902c93
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/Inputs/nesting_of_regions.cpp

  Log Message:
  -----------
  [clang][OpenMP] Fix region nesting check for `scan` directive (#98386)

The previous check was inconsistent. For example, it would allow
```
#pragma omp target
#pragma omp parallel for
  for (...) {
#pragma omp scan
  }
```
but not
```
#pragma omp target parallel for
  for (...) {
#pragma omp scan
  }
```

Make the check conform to the wording on the specification.


  Commit: 3a14ffbae39b0308fe57a278b5d29703a4d98211
      https://github.com/llvm/llvm-project/commit/3a14ffbae39b0308fe57a278b5d29703a4d98211
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/lib/Headers/arm_acle.h
    A clang/test/CodeGen/aarch64-gcs.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/gcs-intrinsics.ll

  Log Message:
  -----------
  [AArch64] Implement GCS ACLE intrinsics (#96903)

This adds intrinsics defined in ARM-software/acle#260

Doing this requires some changes to the GCS instruction definitions, as
these intrinsics make use of how some instructions don't modify the
input register when GCS is disabled, and they need to be correctly
marked with mayLoad/mayStore/hasSideEffects for instruction selection to
work.


  Commit: b64c1de714c50bec7493530446ebf5e540d5f96a
      https://github.com/llvm/llvm-project/commit/b64c1de714c50bec7493530446ebf5e540d5f96a
  Author: John Ericson <John.Ericson at Obsidian.Systems>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/test/MC/ELF/osabi.s

  Log Message:
  -----------
  [MC] set OpenBSD's ELFOSABI by default (#98158)

This matches what is done for FreeBSD.

OpenBSD has a few special program header types, and other such ELF
extensions. Setting the ELFOSABI like so will allow LLD to support them
without needlessly impacting non-OpenBSD ELFs.

Testing strategy matches 06cecdc60ec9ebfdd4d8cdb2586d201272bdf6bd.


  Commit: 2fb53f37660498ad84c2489a6dbf05c94dc703a8
      https://github.com/llvm/llvm-project/commit/2fb53f37660498ad84c2489a6dbf05c94dc703a8
  Author: Spenser Bauman <sbauman at mathworks.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tosa] Fix for incorrect cannonicalization of tosa.pad (#98356)

The current fold method for tosa.pad can produce invalid IR by replacing
the padded value with the tosa.pad is a noop. When the type of the input
value does not match the type of the tosa.pad, the canonicalizer detects
the change in types and asserts.

This change addresses the issue by avoiding folding when the input and
result types do not match.


  Commit: 4a8f1d670f6135eaf4fabb6f5ed677e6cb571464
      https://github.com/llvm/llvm-project/commit/4a8f1d670f6135eaf4fabb6f5ed677e6cb571464
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    A flang/test/Lower/Intrinsics/atan.f90
    M flang/test/Lower/Intrinsics/atan_real16.f90

  Log Message:
  -----------
  [flang] Lower 2-argument F2008 atan intrinsic

Implement lowering and testing of the atan(y,x) form of the atan
intrinsic. Since the standard specifies that the behavior of this form
is identical to the atan2 intrinsic, everything is lowered to atan2.

In addition to tests for the atan(y,x) intrinsic, tests for the atan(x)
intrinsic were also added/updated.


  Commit: ddbad861c4c8e61679552a551f35bee83902fc63
      https://github.com/llvm/llvm-project/commit/ddbad861c4c8e61679552a551f35bee83902fc63
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/test/CodeGen/AArch64/arm64-anyregcc.ll

  Log Message:
  -----------
  [Patchpoint] Implement integer result type legalization for patchpoints (#97278)

Previously, if a patchpoint had a non-native integer type result, e.g.
i8 or i16 on AArch64, or some non-power-of-two wide integer type (e.g.
i29), the type legalizer would crash.


  Commit: d9c26b9d560f4362503b8f0ec97a52a0a36a57ce
      https://github.com/llvm/llvm-project/commit/d9c26b9d560f4362503b8f0ec97a52a0a36a57ce
  Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
    A mlir/test/Dialect/Linalg/transform-winograd-conv2d.mlir

  Log Message:
  -----------
  [mlir][linalg] Add transform operator for Winograd Conv2D algorithm (#96182)

Add a transform operation structured.winograd_conv2d to convert
linalg.conv_2d_nhwc_fhwc to Linalg winograd operations.

Reviewers: ftynse, Max191, GeorgeARM, nicolasvasilache, MaheshRavishankar, dcaballe, rengolin

Reviewed By: ftynse, Max191

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


  Commit: 8b7263ba3051125ab2bb9df514bdaadaca1b637d
      https://github.com/llvm/llvm-project/commit/8b7263ba3051125ab2bb9df514bdaadaca1b637d
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp

  Log Message:
  -----------
  [clang] CTAD: use index and depth to retrieve template parameter for TemplateParamsReferencedInTemplateArgumentList (#98013)

As described in https://github.com/llvm/llvm-project/issues/90209#issuecomment-2135972202,
Clang may not preserve enough information during template argument
deduction. This can result in a merely canonical `TemplateTypeParmType`
with a null `Decl`, leading to an incomplete template parameter list for
the synthesized deduction guide.

This patch addresses the issue by using the index and depth information
to retrieve the corresponding template parameter, rather than relying on
`TTP->getDecl()`.

Fixes #90209


  Commit: 22671910721ecbe89e14649f42ab0e7f9feb575f
      https://github.com/llvm/llvm-project/commit/22671910721ecbe89e14649f42ab0e7f9feb575f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [LV] Add missing check, drop 'then'.

Address post-commit comments for 67f4968a577.


  Commit: 2a79fd0b92004feac0254ad8a4d4ac09e488c7dc
      https://github.com/llvm/llvm-project/commit/2a79fd0b92004feac0254ad8a4d4ac09e488c7dc
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port for d9c26b9d560f4362503b8f0ec97a52a0a36a57ce


  Commit: 1860fd049e35055fccac14e439227fae803976b8
      https://github.com/llvm/llvm-project/commit/1860fd049e35055fccac14e439227fae803976b8
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    A llvm/test/Analysis/LoopAccessAnalysis/histogram.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll

  Log Message:
  -----------
  [LV] Autovectorization for the all-in-one histogram intrinsic (#91458)

This patch implements limited loop vectorization support for the 'all-in-one' histogram intrinsic. The feature is disabled by default, and when enabled will only vectorize if there are no other users of values in the gather-modify-scatter sequence.


  Commit: 4a9de115bfbb083144761b48157c3b51a96e5fd5
      https://github.com/llvm/llvm-project/commit/4a9de115bfbb083144761b48157c3b51a96e5fd5
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt

  Log Message:
  -----------
  [libc][math][c23] Enable roundeven{,f,l,f128} C23 math functions on AArch64 Linux (#98472)


  Commit: dffa28fa3a907a3e0c64c9b06a46b55fc5cea40a
      https://github.com/llvm/llvm-project/commit/dffa28fa3a907a3e0c64c9b06a46b55fc5cea40a
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [libc] Fix BigInt's operator %= (#98484)

This patch fixes cases where we try to do var %= 1. Previously this operator was calling .div directly since it would perform the inplace division and return the remainder, however, as an early exit condition a division by one returns zero as the remainder. The remainder being returned by div was not being assigned to var.


  Commit: c66e1d6f3429cb596ceb58daa5184bc3bbb28750
      https://github.com/llvm/llvm-project/commit/c66e1d6f3429cb596ceb58daa5184bc3bbb28750
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    A llvm/test/MC/AArch64/armv9.1a-rme.s
    A llvm/test/MC/AArch64/armv9.2a-mec.s
    R llvm/test/MC/AArch64/armv9a-mec.s
    R llvm/test/MC/AArch64/armv9a-rme.s
    M llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [llvm][AArch64] apple-m4 is armv9.2-a (#98267)

But since SVE and friends have been added to the default extensions
list, and every CPU was opted into those extensions by default, we
couldn't correctly announce its architecutral version to the backend.
Additionally, we FEAT_MEC from llvm's "required" list for v9.0 to the
optional list for v9.2, as the spec considers it optional, and M4 does
not implement it. Similarly, fixes up several bugs w.r.t. FEAT_RME.

As a drive-by, I noticed that saphira did not have an
AArch64CPUTestParams entry, and thus added one.


  Commit: 4502ea89b9a067f8d76b89acdfef83d7cab59adb
      https://github.com/llvm/llvm-project/commit/4502ea89b9a067f8d76b89acdfef83d7cab59adb
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/cast_ptr.ll

  Log Message:
  -----------
  [InstCombine] More precise nuw preservation in ptrtoint of gep fold

We can transfer a nuw flag from the gep to the add. Additionally,
the inbounds + nneg case can be relaxed to nusw + nneg. Finally,
don't forget to pass the correct context instruction to
SimplifyQuery.


  Commit: 9a5a8731e77bb61c64d400a828dc215dc80fb839
      https://github.com/llvm/llvm-project/commit/9a5a8731e77bb61c64d400a828dc215dc80fb839
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Introduce ResumePhi VPInstruction, use to create phi for FOR. (#94760)

This patch introduces a new ResumePhi VPInstruction which creates a phi
in a leaf block of a VPlan. The first use is to create the phi node for
fixed-order recurrence resume values in the scalar preheader.

The VPInstruction takes 2 operands: 1) the incoming value from the
middle-block and a default value to be used for all other incoming
blocks.

In follow-up changes, it will also be used to create phis for reduction
and induction resume values.

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

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


  Commit: 36d5281174566c207a99d30c6a42219dddcaa4bf
      https://github.com/llvm/llvm-project/commit/36d5281174566c207a99d30c6a42219dddcaa4bf
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/apx/ccmp.ll
    M llvm/test/CodeGen/X86/apx/ctest.ll

  Log Message:
  -----------
  [X86][test] Pre-commit test for an incorrect pattern for CCMP/CTEST with imm64


  Commit: e8e2cff1607627e52079741af368064cea3e28d4
      https://github.com/llvm/llvm-project/commit/e8e2cff1607627e52079741af368064cea3e28d4
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrConditionalCompare.td
    M llvm/test/CodeGen/X86/apx/ccmp.ll
    M llvm/test/CodeGen/X86/apx/ctest.ll

  Log Message:
  -----------
  [X86][CodeGen] Fix an incorrect pattern for CCMP/CTEST with imm64


  Commit: c0261351136e4a826be697e5ebb5fa638abe7485
      https://github.com/llvm/llvm-project/commit/c0261351136e4a826be697e5ebb5fa638abe7485
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/test/MC/ELF/osabi.s

  Log Message:
  -----------
  Revert "[MC] set OpenBSD's ELFOSABI by default" (#98494)

Reverts llvm/llvm-project#98158

bot is broken.


  Commit: bbb90feb8742b4a83c4bbfbbbdf0f9735939d184
      https://github.com/llvm/llvm-project/commit/bbb90feb8742b4a83c4bbfbbbdf0f9735939d184
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp

  Log Message:
  -----------
  [tsan] Fix ASLR edge case, and improve diagnostics (#97125)

In extremely rare cases (estimated 1 in 3 million), minor allocations
that happen after the memory layout was checked in
InitializePlatformEarly() [1] may result in the memory layout
unexpectedly being incompatible in InitializePlatform(). We fix this by
adding another memory layout check (and opportunity to re-exec without
ASLR) in InitializePlatform().

To improve future debuggability, this patch also dumps the process map
if the memory layout is unexpectedly incompatible.

[1]
```
 __sanitizer::InitializePlatformEarly();
  __tsan::InitializePlatformEarly();

#if !SANITIZER_GO
  InitializeAllocator(); // <-- ~8MB mmap'ed
  ReplaceSystemMalloc();
#endif
  if (common_flags()->detect_deadlocks)
    ctx->dd = DDetector::Create(flags()); // <-- ~4MB mmap'ed
  Processor *proc = ProcCreate(); // <-- ~1MB mmap'ed
  ProcWire(proc, thr);
  InitializeInterceptors(); <-- ~3MB mmap'ed
  InitializePlatform();
```


  Commit: fff8b3236ab8ce8f99ea83a4de7c0e88687fc09d
      https://github.com/llvm/llvm-project/commit/fff8b3236ab8ce8f99ea83a4de7c0e88687fc09d
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan_linux.cpp

  Log Message:
  -----------
  [msan] Block signals during MsanThread::TSDDtor (#98405)

MSan may segfault inside a signal handler, if MSan instrumentation is
trying to access thread-local storage that has already been destroyed.
This fixes the issue by blocking asychronous signals inside
MsanThread::TSDDtor. This is based on an idea suggested by Paul
Pluzhnikov (block async signals in MsanThread::Destroy()) and refined by
Vitaly Buka.
    
Note: ed8565cf0b64ea5e88cc94f321b1870bb105d09d changed *BlockSignals to
only block asynchronous signals, despite the name.


  Commit: dab36b288a1566d7b41154751e547c555ad43358
      https://github.com/llvm/llvm-project/commit/dab36b288a1566d7b41154751e547c555ad43358
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [mlir][debug] Allow global with local scope. (#98358)

Currently, only those global variables in debug info are allowed which
have a compile unit or module scope. But global variable with function
scope are used in debug info to represent certain type of variables. One
example will be static local variables in C. Here the variable is
represented as global variable with parent function as its scope. See
the code and debug metadata as generated by clang below. You can see
that scope of `DIGlobalVariable` is `DISubprogram`.

```
int test() {
    static int a = 0;
    return a++;
}

!0 = !DIGlobalVariableExpression(var: !1...)
!1 = !DIGlobalVariable(name: "a", scope: !2 ...)
!2 = !DISubprogram(name: "test" ...)
!7 = !DICompileUnit(... globals: !8...)
!8 = !{!0}
```

Similar issue exist in fortran where global variable with function scope
are used to represent local variable with save attribute.

This PR will allows such variables during module translation.


  Commit: 621bcfc2fdff7b344938cca76a010a69f0375034
      https://github.com/llvm/llvm-project/commit/621bcfc2fdff7b344938cca76a010a69f0375034
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/test/src/math/performance_testing/CMakeLists.txt
    A libc/test/src/math/performance_testing/nearest_integer_funcs_perf.cpp

  Log Message:
  -----------
  [libc][math] Optimize generic nearest integer functions (#98483)


  Commit: 22a7f6dcc4fc83f80f81722ab9c83b6fa73416f8
      https://github.com/llvm/llvm-project/commit/22a7f6dcc4fc83f80f81722ab9c83b6fa73416f8
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    R llvm/test/Analysis/LoopAccessAnalysis/histogram.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll

  Log Message:
  -----------
  Revert "[LV] Autovectorization for the all-in-one histogram intrinsic" (#98493)

Reverts llvm/llvm-project#91458 to deal with post-commit reviewer
requests.


  Commit: 90ccf2187332ff900d46a58a27cb0353577d37cb
      https://github.com/llvm/llvm-project/commit/90ccf2187332ff900d46a58a27cb0353577d37cb
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/test/CMakeLists.txt
    A clang/test/Driver/linker-wrapper-llvm-help.c
    A clang/test/Driver/linker-wrapper-passes.c
    M clang/test/lit.cfg.py
    M clang/test/lit.site.cfg.py.in
    M clang/tools/clang-linker-wrapper/CMakeLists.txt
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td

  Log Message:
  -----------
  [LinkerWrapper] Extend with usual pass options (#96704)

The goal of this patch is to enable utilizing LLVM plugin passes and
remarks for GPU offload code at link time. Specifically, this patch
extends clang-linker-wrapper's `--offload-opt` (and consequently
`-mllvm`) to accept the various LLVM pass options that tools like opt
usually accept. Those options include `--passes`, `--load-pass-plugin`,
and various remarks options.

Unlike many other LLVM options that are inherited from linked code by
clang-linker-wrapper (e.g., `-pass-remarks` is already implemented in
`llvm/lib/IR/DiagnosticHandler.cpp`), these options are implemented
separately as needed by each tool (e.g., opt, llc). Fortunately, this
patch is able to handle most of the implementation by passing the option
values to `lto::Config`.

For testing plugin support, this patch uses the simple `Bye` plugin from
LLVM core, but that requires several small Clang test suite config
extensions.


  Commit: 0431c61f6b80b4ba34e36e7763c58edafcbbf1a9
      https://github.com/llvm/llvm-project/commit/0431c61f6b80b4ba34e36e7763c58edafcbbf1a9
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaLambda.cpp
    M clang/test/SemaCXX/lambda-pack-expansion.cpp

  Log Message:
  -----------
  [Clang] Correctly recognize unexpanded packs in lambda template params (#98496)

Fixes #48937
Fixes #49099


  Commit: fb5a38bb4930736b0aab3ce428b60245921f982f
      https://github.com/llvm/llvm-project/commit/fb5a38bb4930736b0aab3ce428b60245921f982f
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    A llvm/test/tools/llvm-objcopy/ELF/add-invalid-note.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOpts.td

  Log Message:
  -----------
  [llvm-objcopy] Add verification of added .note section format

Also add a --no-verify-note-sections flag to make it possible to add
invalid sections if needs be.

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


  Commit: 1cbddcebb9a9f97ed04f35a859e31d55f6b9b824
      https://github.com/llvm/llvm-project/commit/1cbddcebb9a9f97ed04f35a859e31d55f6b9b824
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/test/DebugInfo/X86/DW_OP_LLVM_extract_bits.ll

  Log Message:
  -----------
  [DebugInfo] Use DW_OP_deref_size for DW_OP_LLVM_extract_bits (#97609)

Using DW_OP_deref can result in the debugger reading past the end of an
object into inaccessible memory, causing an error. Instead use
DW_OP_deref_size to make sure we don't read any bytes beyond what we
need to.


  Commit: ae18b9410297963a379e03b94eae7433ff69a62b
      https://github.com/llvm/llvm-project/commit/ae18b9410297963a379e03b94eae7433ff69a62b
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/CodeGen/CodeGenABITypes.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/ConstantEmitter.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CodeGen/ptrauth-function-type-discriminator.c
    M clang/test/Preprocessor/ptrauth_feature.c

  Log Message:
  -----------
  [PAC] Implement function pointer type discrimination (#96992)

Give users an option (-fptrauth-function-pointer-type-discrimination) to
sign a function pointer using a non-zero discriminator based on the
function type.

The discriminator is computed by first translating the function type to
a string and then computing the hash value of the string. Two function
types that are compatible in C must be translated to the same string
with the exception of function types that use typedefs of anonymous
structs in their return type or parameter types.

This patch doesn't have the code to resign function pointers, which is
needed when a function pointer is converted to a different function
type. That will be implemented in another patch.

Co-authored-by: John McCall <rjmccall at apple.com>

---------

Co-authored-by: John McCall <rjmccall at apple.com>


  Commit: 88cbc8ce58a0e6724f3054c7d65a494999d85483
      https://github.com/llvm/llvm-project/commit/88cbc8ce58a0e6724f3054c7d65a494999d85483
  Author: Kevin McAfee <kmcafee at nvidia.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp

  Log Message:
  -----------
  [NVPTX][NFC] Use same logic to get alignment in param declarations and function prototypes (#98220)

Unifies the logic used to choose function prototype argument alignment
and param alignment declared in the caller. The call in `getPrototype`
to `getAlign`/`getFunctionParamOptimizedAlign` is replaced with
`getArgumentAlignment`, which is what is currently used to select the
alignment for the param declarations. This avoids code duplication of
`getAlign().value_or(getFunctionParamOptimizedAlign())` and ensures that
param alignments are the same in declarations and prototypes.


  Commit: 84682ad8c6e264a7ddd375aee805518c8917dddf
      https://github.com/llvm/llvm-project/commit/84682ad8c6e264a7ddd375aee805518c8917dddf
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/test/hwasan/TestCases/Linux/fixed-shadow.c

  Log Message:
  -----------
  [hwasan] Temporarily disable test broken on Ubuntu 24.04

Somehow I missed this one trying the upgrade on staging.


  Commit: 55b1410895b69d8e4517f6a2a2978b414b4ecac3
      https://github.com/llvm/llvm-project/commit/55b1410895b69d8e4517f6a2a2978b414b4ecac3
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/test/Shell/ObjectFile/ELF/PT_TLS-overlap-PT_LOAD.yaml

  Log Message:
  -----------
  [lldb] Fix a bug for PT_TLS segments getting loaded when they shouldn't. (#98432)

PT_LOAD and PT_TLS segments are top level sections in the ObjectFileELF
section list. The two segments can often have the same program header
p_vaddr and p_paddr values and this can cause section load list issues
in LLDB if we load the PT_TLS segments. What happens is the
SectionLoadList::m_addr_to_sect, when a library is loaded, will first
map one of the sections named "PT_LOAD[0]" with the load address that
matches the p_vaddr entry from the program header. Then the "PT_TLS[0]"
would come along and try to load this section at the same address. This
would cause the "PT_LOAD[0]" section to be unloaded as the
SectionLoadList::m_addr_to_sect would replace the value for the matching
p_vaddr with the last section to be seen. The sizes of the PT_TLS and
PT_LOAD that have the same p_vaddr value don't need to have the same
byte size, so this could cause lookups to fail for an addresses in the
"PT_LOAD[0]" section or any of its children if the offset is greater
than the offset size of the PT_TLS segment. It could also cause us to
incorrectly attribute addresses from the "PT_LOAD[0]" to the "PT_TLS[0]"
segment when doing lookups for offset that are less than the size of the
PT_TLS segment.

This fix stops us from loading PT_TLS segments in the section load lists
and will prevent the bugs that resulted from this. No addresses the the
DWARF refer to TLS data with a "file address" in any way. They all have
TLS DWARF location expressions to locate these variables. We also don't
have any support for having actual thread specific sections and having
those sections resolve to something different for each thread, so there
currently is no point in loading thread specific sections. Both the
ObjectFileMachO and ObjectFileCOFF both ignore thread specific sections
at the moment, so this brings the ObjectFileELF to parity with those
plug-ins.

I added a test into an existing test to verify that things work as
expected.

Prior to this fix with a real binary, the output of "target dump
section-load-list" would look like this for the old LLDB:
```
// (lldb) target dump section-load-list
// addr = 0x0000000000000000, section = 0x55d46ab8c510: 0xfffffffffffffffd container        [0x0000000000000000-0x0000000000000628)  r--  0x00000000 0x00000628 0x00000000 a.out.PT_LOAD[0]
// addr = 0x0000000000001000, section = 0x55d46ab8b0c0: 0xfffffffffffffffc container        [0x0000000000001000-0x0000000000001185)  r-x  0x00001000 0x00000185 0x00000000 a.out.PT_LOAD[1]
// addr = 0x0000000000002000, section = 0x55d46ac040f0: 0xfffffffffffffffb container        [0x0000000000002000-0x00000000000020cc)  r--  0x00002000 0x000000cc 0x00000000 a.out.PT_LOAD[2]
// addr = 0x0000000000003db0, section = 0x55d46ab7cef0: 0xfffffffffffffff6 container        [0x0000000000003db0-0x0000000000003db4)  r--  0x00002db0 0x00000000 0x00000000 a.out.PT_TLS[0]
```
And this for the fixed LLDB:
```
// (lldb) target dump section-load-list
// addr = 0x0000000000000000, section = 0x105f0a9a8: 0xfffffffffffffffd container        [0x0000000000000000-0x0000000000000628)  r--  0x00000000 0x00000628 0x00000000 a.out.PT_LOAD[0]
// addr = 0x0000000000001000, section = 0x105f0adb8: 0xfffffffffffffffc container        [0x0000000000001000-0x0000000000001185)  r-x  0x00001000 0x00000185 0x00000000 a.out.PT_LOAD[1]
// addr = 0x0000000000002000, section = 0x105f0af48: 0xfffffffffffffffb container        [0x0000000000002000-0x00000000000020cc)  r--  0x00002000 0x000000cc 0x00000000 a.out.PT_LOAD[2]
// addr = 0x0000000000003db0, section = 0x105f0b078: 0xfffffffffffffffa container        [0x0000000000003db0-0x0000000000004028)  rw-  0x00002db0 0x00000274 0x00000000 a.out.PT_LOAD[3]
```
We can see that previously the "PT_LOAD[3]" segment would be removed
from the section load list, and after the fix it remains and there is on
PT_TLS in the loaded sections.


  Commit: 9ddfe62f5c11e3f65f444209f514029ded2d58b9
      https://github.com/llvm/llvm-project/commit/9ddfe62f5c11e3f65f444209f514029ded2d58b9
  Author: Connie <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_perf.s

  Log Message:
  -----------
  [LLVM][test][nfc] Updating test to work with internal shell (#98370)

The RUN line attempts to set the JITDUMPDIR environment variable, which
fails in llvm-lit's internal shell. This patch prefixes JITDUMPDIR with
env so that the behavior of setting the variable is as expected in the
internal shell.


  Commit: e16882fc7416a30d56d5b5a19d549ca7c653e668
      https://github.com/llvm/llvm-project/commit/e16882fc7416a30d56d5b5a19d549ca7c653e668
  Author: Constantin Kronbichler <56307024+ccrownhill at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    A clang/test/Sema/undefined-internal-basic.c
    A clang/test/Sema/undefined-internal-typeof-c23.c

  Log Message:
  -----------
  fix bug that undefined internal is a warning only for -pedantic-errors (#98016)

This fixes issue #39558 which mentions the problem when compiling the
following code with `-pedantic-errors` flag (it also mentions `-Wall
-Wextra` but those shouldn't change the output, which is also the case
in GCC):

```c
static void f();

int main()
{
    f;
}
```

Clang only outputs an `undefined-internal` warning on the first line,
but according to 6.9/3

```
"... Moreover, if an identifier declared with internal linkage is used in an
 expression (other than as a part of the operand of a sizeof or _Alignof
 operator whose result is an integer constant), there shall be exactly one
 external definition for the identifier in the translation unit."
```

this should be illegal and hence an error.

I fixed this by changing the warning type from `Warning` to `ExtWarn`
and by adding a suitable test.


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

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Improve data transfer detection by filtering symbols (#98378)

The current data transfer detection was collecting too many symbol and
made wrong decision. This patch introduces a new function
`CollectCudaSymbols` that is different than `CollectSymbols` and collect
only symbol of interest for cuda data transfer in an expression.

Currently two cases where symbols are filtered out are: 
- array subscripts: only the array symbol is on interest, the indexing
can be filtered out
- function arguments: symbols of the function arguments are filtered
out.

This fix some false positive data transfer and implicit data transfer. 

More filtering might be needed and will be added as follow up patches.


  Commit: dd44003f579cc0f3538b58ef2cba2b6870598bc0
      https://github.com/llvm/llvm-project/commit/dd44003f579cc0f3538b58ef2cba2b6870598bc0
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port #96704 (#98507)


  Commit: 9f283bfb9e66d57fefeb3a28318ec40081fa9a24
      https://github.com/llvm/llvm-project/commit/9f283bfb9e66d57fefeb3a28318ec40081fa9a24
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    R clang/test/Sema/undefined-internal-basic.c
    R clang/test/Sema/undefined-internal-typeof-c23.c

  Log Message:
  -----------
  Revert "fix bug that undefined internal is a warning only for -pedantic-errors (#98016)"

This reverts commit e16882fc7416a30d56d5b5a19d549ca7c653e668.

Broken bots:
https://lab.llvm.org/buildbot/#/builders/144/builds/2080


  Commit: 0171e23647d58f65c1cddbc22e16fda2bafa6e85
      https://github.com/llvm/llvm-project/commit/0171e23647d58f65c1cddbc22e16fda2bafa6e85
  Author: Constantin Kronbichler <ckronbichler at proton.me>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    A clang/test/Sema/undefined-internal-basic.c
    A clang/test/Sema/undefined-internal-typeof-c23.c

  Log Message:
  -----------
  Revert "Revert fix bug that undefined internal is a warning only for -pedantic-errors

This reverts commit 9f283bfb9e66d57fefeb3a28318ec40081fa9a24 which was
a revert of commit e16882fc7416a30d56d5b5a19d549ca7c653e668; it
addresses the issue found by the failing buildbot.


  Commit: 6c903f05f30147828662eb23f3d91939dbb06a43
      https://github.com/llvm/llvm-project/commit/6c903f05f30147828662eb23f3d91939dbb06a43
  Author: Garvit Gupta <quic_garvgupt at quicinc.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/docs/TableGen/BackEnds.rst
    M llvm/include/llvm/TableGen/SearchableTable.td
    A llvm/test/TableGen/generic-tables-return-range.td
    M llvm/utils/TableGen/SearchableTableEmitter.cpp

  Log Message:
  -----------
  [TableGen] Add support for emitting new function definition to return a range of results for Primary Key (#96174)

In the RISC-V architecture, multiple vendor-specific Control and Status
Registers (CSRs) share the same encoding. However, the existing lookup
function, which currently returns only a single result, falls short.
During disassembly, it consistently returns the first CSR encountered,
which may not be the correct CSR for the subtarget.

To address this issue, we modify the function definition to return a
range of results. These results can then be iterated upon to identify
the CSR that best fits the subtarget’s feature requirements. The
behavior of this new definition is controlled by a variable named
`ReturnRange`, which defaults to `false`.

Specifically, this patch introduces support for emitting a new lookup
function for the primary key. This function returns a pair of iterators
pointing to the first and last values, providing a comprehensive range
of values that satisfy the query


  Commit: 3f1a76757269d0770bdb7e8086656e61019002ec
      https://github.com/llvm/llvm-project/commit/3f1a76757269d0770bdb7e8086656e61019002ec
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/AVR/AVRISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [LLVM] Factor disabled Libcalls into the initializer (#98421)

Summary:
These Libcalls represent which functions are available to the backend.
If a runtime call is not available, the target sets the the name to
`nullptr`. Currently, this logic is spread around the various targets.
This patch pulls all of the locations that disable libcalls into the
intializer. This patch is effectively NFC.

The motivation behind this patch is that currently the LTO handling uses
the list of all runtime calls to determine which functions cannot be
internalized and must be extracted from static libraries. We do not want
this to happen for libcalls that are not emitted by the backend. A
follow-up patch will move out this logic so the LTO pass can know which
rtlib calls are actually used by the backend.


  Commit: a27223a7375afaaf5abd66c26d6b0f4fda372abf
      https://github.com/llvm/llvm-project/commit/a27223a7375afaaf5abd66c26d6b0f4fda372abf
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Support/CyclicReplacerCache.h

  Log Message:
  -----------
  Apply suggestions from code review

Co-authored-by: Jeff Niu <jeff at modular.com>


  Commit: 05b7b22a2f28f7bdeea61e6e55871c2db4cdab3b
      https://github.com/llvm/llvm-project/commit/05b7b22a2f28f7bdeea61e6e55871c2db4cdab3b
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/newhdrgen/CMakeLists.txt
    R libc/newhdrgen/tests/output/test_small.h
    M libc/newhdrgen/tests/test_integration.py

  Log Message:
  -----------
  [libc] integration test outputs header in build (#98385)

- python's unittest does not allow for custom args so sys.argv was used


  Commit: 5aed6d67e3f051262c67e3295476bf13cfc099c4
      https://github.com/llvm/llvm-project/commit/5aed6d67e3f051262c67e3295476bf13cfc099c4
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/config/gpu/api.td
    M libc/config/linux/api.td
    M libc/hdr/CMakeLists.txt
    A libc/hdr/stdio_macros.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/FILE.h
    A libc/hdr/types/cookie_io_functions_t.h
    A libc/hdr/types/off_t.h
    M libc/include/llvm-libc-macros/stdio-macros.h
    M libc/newhdrgen/yaml/stdio.yaml
    M libc/src/__support/File/CMakeLists.txt
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/File/linux/CMakeLists.txt
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/File/linux/file.h
    M libc/src/__support/File/linux/lseekImpl.h
    M libc/src/__support/File/linux/stderr.cpp
    M libc/src/__support/File/linux/stdin.cpp
    M libc/src/__support/File/linux/stdout.cpp
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/fcntl.cpp
    M libc/src/gpu/rpc_fprintf.h
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/baremetal/getchar.cpp
    M libc/src/stdio/baremetal/printf.cpp
    M libc/src/stdio/baremetal/vprintf.cpp
    M libc/src/stdio/clearerr.h
    M libc/src/stdio/clearerr_unlocked.h
    M libc/src/stdio/fclose.h
    M libc/src/stdio/fdopen.h
    M libc/src/stdio/feof.h
    M libc/src/stdio/feof_unlocked.h
    M libc/src/stdio/ferror.h
    M libc/src/stdio/ferror_unlocked.h
    M libc/src/stdio/fflush.h
    M libc/src/stdio/fgetc.h
    M libc/src/stdio/fgetc_unlocked.h
    M libc/src/stdio/fgets.h
    M libc/src/stdio/flockfile.cpp
    M libc/src/stdio/flockfile.h
    M libc/src/stdio/fopen.h
    M libc/src/stdio/fopencookie.cpp
    M libc/src/stdio/fopencookie.h
    M libc/src/stdio/fprintf.cpp
    M libc/src/stdio/fprintf.h
    M libc/src/stdio/fputc.h
    M libc/src/stdio/fputs.h
    M libc/src/stdio/fread.h
    M libc/src/stdio/fread_unlocked.h
    M libc/src/stdio/fscanf.cpp
    M libc/src/stdio/fscanf.h
    M libc/src/stdio/fseek.h
    M libc/src/stdio/fseeko.h
    M libc/src/stdio/ftell.h
    M libc/src/stdio/ftello.h
    M libc/src/stdio/funlockfile.cpp
    M libc/src/stdio/funlockfile.h
    M libc/src/stdio/fwrite.h
    M libc/src/stdio/fwrite_unlocked.h
    M libc/src/stdio/generic/CMakeLists.txt
    M libc/src/stdio/generic/clearerr.cpp
    M libc/src/stdio/generic/clearerr_unlocked.cpp
    M libc/src/stdio/generic/fclose.cpp
    M libc/src/stdio/generic/feof.cpp
    M libc/src/stdio/generic/feof_unlocked.cpp
    M libc/src/stdio/generic/ferror.cpp
    M libc/src/stdio/generic/ferror_unlocked.cpp
    M libc/src/stdio/generic/fflush.cpp
    M libc/src/stdio/generic/fgetc.cpp
    M libc/src/stdio/generic/fgetc_unlocked.cpp
    M libc/src/stdio/generic/fgets.cpp
    M libc/src/stdio/generic/fopen.cpp
    M libc/src/stdio/generic/fputc.cpp
    M libc/src/stdio/generic/fputs.cpp
    M libc/src/stdio/generic/fread.cpp
    M libc/src/stdio/generic/fread_unlocked.cpp
    M libc/src/stdio/generic/fwrite.cpp
    M libc/src/stdio/generic/fwrite_unlocked.cpp
    M libc/src/stdio/generic/getc.cpp
    M libc/src/stdio/generic/getc_unlocked.cpp
    M libc/src/stdio/generic/getchar.cpp
    M libc/src/stdio/generic/getchar_unlocked.cpp
    M libc/src/stdio/generic/printf.cpp
    M libc/src/stdio/generic/putc.cpp
    M libc/src/stdio/generic/putchar.cpp
    M libc/src/stdio/generic/puts.cpp
    M libc/src/stdio/generic/stderr.cpp
    M libc/src/stdio/generic/stdin.cpp
    M libc/src/stdio/generic/stdout.cpp
    M libc/src/stdio/generic/ungetc.cpp
    M libc/src/stdio/generic/vprintf.cpp
    M libc/src/stdio/getc.h
    M libc/src/stdio/getc_unlocked.h
    M libc/src/stdio/gpu/CMakeLists.txt
    M libc/src/stdio/gpu/clearerr.cpp
    M libc/src/stdio/gpu/fclose.cpp
    M libc/src/stdio/gpu/feof.cpp
    M libc/src/stdio/gpu/ferror.cpp
    M libc/src/stdio/gpu/fflush.cpp
    M libc/src/stdio/gpu/fgetc.cpp
    M libc/src/stdio/gpu/fgets.cpp
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fopen.cpp
    M libc/src/stdio/gpu/fputc.cpp
    M libc/src/stdio/gpu/fputs.cpp
    M libc/src/stdio/gpu/fread.cpp
    M libc/src/stdio/gpu/fseek.cpp
    M libc/src/stdio/gpu/ftell.cpp
    M libc/src/stdio/gpu/fwrite.cpp
    M libc/src/stdio/gpu/getc.cpp
    M libc/src/stdio/gpu/getchar.cpp
    M libc/src/stdio/gpu/putc.cpp
    M libc/src/stdio/gpu/putchar.cpp
    M libc/src/stdio/gpu/puts.cpp
    M libc/src/stdio/gpu/remove.cpp
    M libc/src/stdio/gpu/stderr.cpp
    M libc/src/stdio/gpu/stdin.cpp
    M libc/src/stdio/gpu/stdout.cpp
    M libc/src/stdio/gpu/ungetc.cpp
    M libc/src/stdio/printf.h
    M libc/src/stdio/printf_core/vfprintf_internal.h
    M libc/src/stdio/putc.h
    M libc/src/stdio/remove.h
    M libc/src/stdio/scanf.cpp
    M libc/src/stdio/scanf_core/vfscanf_internal.h
    M libc/src/stdio/setbuf.cpp
    M libc/src/stdio/setbuf.h
    M libc/src/stdio/setvbuf.cpp
    M libc/src/stdio/setvbuf.h
    M libc/src/stdio/sscanf.cpp
    M libc/src/stdio/ungetc.h
    M libc/src/stdio/vfprintf.cpp
    M libc/src/stdio/vfprintf.h
    M libc/src/stdio/vprintf.h
    M libc/src/unistd/getopt.cpp
    M libc/src/unistd/getopt.h
    M libc/src/wchar/btowc.cpp
    M libc/src/wchar/wctob.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  Reland: [libc] Move off_t and stdio macros to proxy hdrs (#98384)

reland of https://github.com/llvm/llvm-project/pull/98215

Additionally adds proxy headers for FILE and the fopencookie types

The arm32 build has been failing due to redefinitions of the off_t type.
This patch fixes this by moving off_t to a proper proxy header. To do
this, it also moves stdio macros to a proxy header to hopefully avoid
including this proxy header alongside this public stdio.h.


  Commit: 546c09018a615388a36bdf898649fffbd2df529f
      https://github.com/llvm/llvm-project/commit/546c09018a615388a36bdf898649fffbd2df529f
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [MachineSink] Only add sink candidate if ToBB is a successor of fromBB


  Commit: 04c8c95c24c051628ef260ba2a32a236f8b81c5d
      https://github.com/llvm/llvm-project/commit/04c8c95c24c051628ef260ba2a32a236f8b81c5d
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  Revert "[MachineSink] Only add sink candidate if ToBB is a successor of fromBB"

This reverts commit 546c09018a615388a36bdf898649fffbd2df529f.


  Commit: 1abb63f81154de65757b25717a1e616b5b8971d1
      https://github.com/llvm/llvm-project/commit/1abb63f81154de65757b25717a1e616b5b8971d1
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Support/CyclicReplacerCache.h
    M mlir/unittests/Support/CyclicReplacerCacheTest.cpp

  Log Message:
  -----------
  double down on trivial type support


  Commit: ef18615ccff50ccd6a5e805167580bfc95a67e69
      https://github.com/llvm/llvm-project/commit/ef18615ccff50ccd6a5e805167580bfc95a67e69
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Support/CyclicReplacerCache.h
    M mlir/unittests/Support/CyclicReplacerCacheTest.cpp

  Log Message:
  -----------
  Merge branch 'users/zyx-billy/mlir/cyclic_replacer_cache' into users/zyx-billy/mlir/llvm/fix_cyclic_importer


  Commit: 9340c9fba6f89f68b5c7359b24fc28defc26fb30
      https://github.com/llvm/llvm-project/commit/9340c9fba6f89f68b5c7359b24fc28defc26fb30
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/fileno.h
    M libc/src/stdio/generic/fileno.cpp

  Log Message:
  -----------
  [libc] fix fileno includes (#98514)

Fileno was directly including the FILE and so I missed it when replacing
all of the direct includes of stdio.h


  Commit: b187ecb6ab05c12eea2e96ee56e2ed805744507b
      https://github.com/llvm/llvm-project/commit/b187ecb6ab05c12eea2e96ee56e2ed805744507b
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/src/stdio/baremetal/CMakeLists.txt
    M libc/src/stdio/baremetal/getchar.cpp

  Log Message:
  -----------
  [libc] fix baremetal getchar (#98515)

baremetal getchar got the wrong find/replace in the initial patch. This
patch fixes it.


  Commit: 01a9888694a9c4724fefd6b734f05254f881027b
      https://github.com/llvm/llvm-project/commit/01a9888694a9c4724fefd6b734f05254f881027b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Add isGather() function and use it instead direct comparison, NFC.


  Commit: 7f2a5dfe35f8bbaca2819644c7aa844f938befd6
      https://github.com/llvm/llvm-project/commit/7f2a5dfe35f8bbaca2819644c7aa844f938befd6
  Author: David Green <david.green at arm.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    A llvm/lib/Target/AArch64/peephole-sxtw.mir
    M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll

  Log Message:
  -----------
  [AArch64] Remove superfluous sxtw in peephole opt (#96293)

Across a basic-block we might have in i32 extract from a value that only
operates on upper bits (for example a sxtw). We can replace the COPY
with a new version skipping the sxtw.


  Commit: 2d7e136fc0e31207b962397250bc1581203c8d59
      https://github.com/llvm/llvm-project/commit/2d7e136fc0e31207b962397250bc1581203c8d59
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    M flang/test/Lower/HLFIR/array-ctor-character.f90
    M flang/test/Semantics/array-constr-len.f90

  Log Message:
  -----------
  [flang] Adjust semantics of the char length of an array constructor (#97337)

An implied DO loop with no trips in an array constructor does not have a
well-defined character length unless its data items have a length that
is constant expression. That works, but the implementation is too
broadly applied. An array constructor with an explicit type-spec always
has a well-defined length.


  Commit: 3f30effe1bd81fa1b039218a9bfe79c3b03fafad
      https://github.com/llvm/llvm-project/commit/3f30effe1bd81fa1b039218a9bfe79c3b03fafad
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/benchmarks/LibcDefaultImplementations.cpp
    M libc/benchmarks/LibcMemoryBenchmarkMain.cpp
    M libc/benchmarks/automemcpy/lib/CodeGen.cpp
    M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
    M libc/benchmarks/gpu/BenchmarkLogger.cpp
    M libc/benchmarks/gpu/BenchmarkLogger.h
    M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
    M libc/benchmarks/gpu/LibcGpuBenchmark.h
    M libc/benchmarks/gpu/timing/amdgpu/timing.h
    M libc/benchmarks/gpu/timing/nvptx/timing.h
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/linux/app.h
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/fuzzing/__support/hashtable_fuzz.cpp
    M libc/src/__support/CPP/algorithm.h
    M libc/src/__support/CPP/array.h
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/bitset.h
    M libc/src/__support/CPP/cstddef.h
    M libc/src/__support/CPP/expected.h
    M libc/src/__support/CPP/functional.h
    M libc/src/__support/CPP/iterator.h
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/mutex.h
    M libc/src/__support/CPP/new.h
    M libc/src/__support/CPP/optional.h
    M libc/src/__support/CPP/span.h
    M libc/src/__support/CPP/string.h
    M libc/src/__support/CPP/string_view.h
    M libc/src/__support/CPP/stringstream.h
    M libc/src/__support/CPP/type_traits/add_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/add_pointer.h
    M libc/src/__support/CPP/type_traits/add_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/aligned_storage.h
    M libc/src/__support/CPP/type_traits/always_false.h
    M libc/src/__support/CPP/type_traits/bool_constant.h
    M libc/src/__support/CPP/type_traits/conditional.h
    M libc/src/__support/CPP/type_traits/decay.h
    M libc/src/__support/CPP/type_traits/enable_if.h
    M libc/src/__support/CPP/type_traits/false_type.h
    M libc/src/__support/CPP/type_traits/integral_constant.h
    M libc/src/__support/CPP/type_traits/invoke.h
    M libc/src/__support/CPP/type_traits/invoke_result.h
    M libc/src/__support/CPP/type_traits/is_arithmetic.h
    M libc/src/__support/CPP/type_traits/is_array.h
    M libc/src/__support/CPP/type_traits/is_base_of.h
    M libc/src/__support/CPP/type_traits/is_class.h
    M libc/src/__support/CPP/type_traits/is_const.h
    M libc/src/__support/CPP/type_traits/is_constant_evaluated.h
    M libc/src/__support/CPP/type_traits/is_convertible.h
    M libc/src/__support/CPP/type_traits/is_destructible.h
    M libc/src/__support/CPP/type_traits/is_enum.h
    M libc/src/__support/CPP/type_traits/is_fixed_point.h
    M libc/src/__support/CPP/type_traits/is_floating_point.h
    M libc/src/__support/CPP/type_traits/is_function.h
    M libc/src/__support/CPP/type_traits/is_integral.h
    M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_member_pointer.h
    M libc/src/__support/CPP/type_traits/is_null_pointer.h
    M libc/src/__support/CPP/type_traits/is_object.h
    M libc/src/__support/CPP/type_traits/is_pointer.h
    M libc/src/__support/CPP/type_traits/is_reference.h
    M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_same.h
    M libc/src/__support/CPP/type_traits/is_scalar.h
    M libc/src/__support/CPP/type_traits/is_signed.h
    M libc/src/__support/CPP/type_traits/is_trivially_constructible.h
    M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
    M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
    M libc/src/__support/CPP/type_traits/is_union.h
    M libc/src/__support/CPP/type_traits/is_unsigned.h
    M libc/src/__support/CPP/type_traits/is_void.h
    M libc/src/__support/CPP/type_traits/make_signed.h
    M libc/src/__support/CPP/type_traits/make_unsigned.h
    M libc/src/__support/CPP/type_traits/remove_all_extents.h
    M libc/src/__support/CPP/type_traits/remove_cv.h
    M libc/src/__support/CPP/type_traits/remove_cvref.h
    M libc/src/__support/CPP/type_traits/remove_extent.h
    M libc/src/__support/CPP/type_traits/remove_reference.h
    M libc/src/__support/CPP/type_traits/true_type.h
    M libc/src/__support/CPP/type_traits/type_identity.h
    M libc/src/__support/CPP/type_traits/void_t.h
    M libc/src/__support/CPP/utility/declval.h
    M libc/src/__support/CPP/utility/forward.h
    M libc/src/__support/CPP/utility/in_place.h
    M libc/src/__support/CPP/utility/integer_sequence.h
    M libc/src/__support/CPP/utility/move.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/FMA.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/src/__support/FPUtil/NormalFloat.h
    M libc/src/__support/FPUtil/PolyEval.h
    M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
    M libc/src/__support/FPUtil/aarch64/nearest_integer.h
    M libc/src/__support/FPUtil/aarch64/sqrt.h
    M libc/src/__support/FPUtil/arm/FEnvImpl.h
    M libc/src/__support/FPUtil/double_double.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/except_value_utils.h
    M libc/src/__support/FPUtil/fpbits_str.h
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/README.md
    M libc/src/__support/FPUtil/generic/add_sub.h
    M libc/src/__support/FPUtil/generic/div.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/FPUtil/multiply_add.h
    M libc/src/__support/FPUtil/nearest_integer.h
    M libc/src/__support/FPUtil/riscv/FEnvImpl.h
    M libc/src/__support/FPUtil/riscv/sqrt.h
    M libc/src/__support/FPUtil/rounding_mode.h
    M libc/src/__support/FPUtil/triple_double.h
    M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
    M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
    M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
    M libc/src/__support/FPUtil/x86_64/nearest_integer.h
    M libc/src/__support/FPUtil/x86_64/sqrt.h
    M libc/src/__support/File/dir.cpp
    M libc/src/__support/File/dir.h
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/File/linux/dir.cpp
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/File/linux/file.h
    M libc/src/__support/File/linux/lseekImpl.h
    M libc/src/__support/File/linux/stderr.cpp
    M libc/src/__support/File/linux/stdin.cpp
    M libc/src/__support/File/linux/stdout.cpp
    M libc/src/__support/GPU/allocator.cpp
    M libc/src/__support/GPU/allocator.h
    M libc/src/__support/GPU/amdgpu/utils.h
    M libc/src/__support/GPU/generic/utils.h
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/GPU/utils.h
    M libc/src/__support/HashTable/bitmask.h
    M libc/src/__support/HashTable/generic/bitmask_impl.inc
    M libc/src/__support/HashTable/randomness.h
    M libc/src/__support/HashTable/sse2/bitmask_impl.inc
    M libc/src/__support/HashTable/table.h
    M libc/src/__support/OSUtil/baremetal/exit.cpp
    M libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/__support/OSUtil/baremetal/io.h
    M libc/src/__support/OSUtil/darwin/arm/syscall.h
    M libc/src/__support/OSUtil/darwin/io.h
    M libc/src/__support/OSUtil/darwin/syscall.h
    M libc/src/__support/OSUtil/exit.h
    M libc/src/__support/OSUtil/fcntl.h
    M libc/src/__support/OSUtil/fuchsia/io.h
    M libc/src/__support/OSUtil/gpu/exit.cpp
    M libc/src/__support/OSUtil/gpu/io.cpp
    M libc/src/__support/OSUtil/gpu/io.h
    M libc/src/__support/OSUtil/linux/aarch64/syscall.h
    M libc/src/__support/OSUtil/linux/arm/syscall.h
    M libc/src/__support/OSUtil/linux/exit.cpp
    M libc/src/__support/OSUtil/linux/fcntl.cpp
    M libc/src/__support/OSUtil/linux/io.h
    M libc/src/__support/OSUtil/linux/riscv/syscall.h
    M libc/src/__support/OSUtil/linux/syscall.h
    M libc/src/__support/OSUtil/linux/x86_64/syscall.h
    M libc/src/__support/RPC/rpc.h
    M libc/src/__support/RPC/rpc_client.cpp
    M libc/src/__support/RPC/rpc_client.h
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/__support/StringUtil/error_to_string.cpp
    M libc/src/__support/StringUtil/error_to_string.h
    M libc/src/__support/StringUtil/message_mapper.h
    M libc/src/__support/StringUtil/signal_to_string.cpp
    M libc/src/__support/StringUtil/signal_to_string.h
    M libc/src/__support/StringUtil/tables/linux_extension_errors.h
    M libc/src/__support/StringUtil/tables/linux_extension_signals.h
    M libc/src/__support/StringUtil/tables/linux_platform_errors.h
    M libc/src/__support/StringUtil/tables/linux_platform_signals.h
    M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
    M libc/src/__support/StringUtil/tables/minimal_platform_signals.h
    M libc/src/__support/StringUtil/tables/posix_errors.h
    M libc/src/__support/StringUtil/tables/posix_signals.h
    M libc/src/__support/StringUtil/tables/signal_table.h
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/src/__support/StringUtil/tables/stdc_signals.h
    M libc/src/__support/arg_list.h
    M libc/src/__support/big_int.h
    M libc/src/__support/block.h
    M libc/src/__support/blockstore.h
    M libc/src/__support/c_string.h
    M libc/src/__support/char_vector.h
    M libc/src/__support/common.h
    M libc/src/__support/ctype_utils.h
    M libc/src/__support/detailed_powers_of_ten.h
    M libc/src/__support/endian.h
    M libc/src/__support/error_or.h
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/src/__support/fixed_point/sqrt.h
    M libc/src/__support/fixedvector.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/freelist.h
    M libc/src/__support/freelist_heap.h
    M libc/src/__support/hash.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_operations.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/intrusive_list.h
    M libc/src/__support/libc_assert.h
    M libc/src/__support/macros/config.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/number_pair.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/__support/str_to_num_result.h
    M libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/callonce.h
    M libc/src/__support/threads/fork_callbacks.cpp
    M libc/src/__support/threads/fork_callbacks.h
    M libc/src/__support/threads/gpu/mutex.h
    M libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/__support/threads/linux/callonce.cpp
    M libc/src/__support/threads/linux/callonce.h
    M libc/src/__support/threads/linux/futex_utils.h
    M libc/src/__support/threads/linux/futex_word.h
    M libc/src/__support/threads/linux/mutex.h
    M libc/src/__support/threads/linux/raw_mutex.h
    M libc/src/__support/threads/linux/rwlock.h
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/__support/threads/mutex_common.h
    M libc/src/__support/threads/sleep.h
    M libc/src/__support/threads/thread.cpp
    M libc/src/__support/threads/thread.h
    M libc/src/__support/time/linux/abs_timeout.h
    M libc/src/__support/time/linux/clock_conversion.h
    M libc/src/__support/time/linux/clock_gettime.h
    M libc/src/__support/time/linux/monotonicity.h
    M libc/src/__support/time/units.h
    M libc/src/__support/wctype_utils.h
    M libc/src/assert/__assert_fail.h
    M libc/src/assert/generic/__assert_fail.cpp
    M libc/src/assert/gpu/__assert_fail.cpp
    M libc/src/ctype/isalnum.cpp
    M libc/src/ctype/isalnum.h
    M libc/src/ctype/isalpha.cpp
    M libc/src/ctype/isalpha.h
    M libc/src/ctype/isascii.cpp
    M libc/src/ctype/isascii.h
    M libc/src/ctype/isblank.cpp
    M libc/src/ctype/isblank.h
    M libc/src/ctype/iscntrl.cpp
    M libc/src/ctype/iscntrl.h
    M libc/src/ctype/isdigit.cpp
    M libc/src/ctype/isdigit.h
    M libc/src/ctype/isgraph.cpp
    M libc/src/ctype/isgraph.h
    M libc/src/ctype/islower.cpp
    M libc/src/ctype/islower.h
    M libc/src/ctype/isprint.cpp
    M libc/src/ctype/isprint.h
    M libc/src/ctype/ispunct.cpp
    M libc/src/ctype/ispunct.h
    M libc/src/ctype/isspace.cpp
    M libc/src/ctype/isspace.h
    M libc/src/ctype/isupper.cpp
    M libc/src/ctype/isupper.h
    M libc/src/ctype/isxdigit.cpp
    M libc/src/ctype/isxdigit.h
    M libc/src/ctype/toascii.cpp
    M libc/src/ctype/toascii.h
    M libc/src/ctype/tolower.cpp
    M libc/src/ctype/tolower.h
    M libc/src/ctype/toupper.cpp
    M libc/src/ctype/toupper.h
    M libc/src/dirent/closedir.cpp
    M libc/src/dirent/closedir.h
    M libc/src/dirent/dirfd.cpp
    M libc/src/dirent/dirfd.h
    M libc/src/dirent/opendir.cpp
    M libc/src/dirent/opendir.h
    M libc/src/dirent/readdir.cpp
    M libc/src/dirent/readdir.h
    M libc/src/dlfcn/dlclose.cpp
    M libc/src/dlfcn/dlclose.h
    M libc/src/dlfcn/dlerror.cpp
    M libc/src/dlfcn/dlerror.h
    M libc/src/dlfcn/dlopen.cpp
    M libc/src/dlfcn/dlopen.h
    M libc/src/dlfcn/dlsym.cpp
    M libc/src/dlfcn/dlsym.h
    M libc/src/errno/libc_errno.cpp
    M libc/src/errno/libc_errno.h
    M libc/src/fcntl/creat.h
    M libc/src/fcntl/fcntl.h
    M libc/src/fcntl/linux/creat.cpp
    M libc/src/fcntl/linux/fcntl.cpp
    M libc/src/fcntl/linux/open.cpp
    M libc/src/fcntl/linux/openat.cpp
    M libc/src/fcntl/open.h
    M libc/src/fcntl/openat.h
    M libc/src/fenv/feclearexcept.cpp
    M libc/src/fenv/feclearexcept.h
    M libc/src/fenv/fedisableexcept.cpp
    M libc/src/fenv/fedisableexcept.h
    M libc/src/fenv/feenableexcept.cpp
    M libc/src/fenv/feenableexcept.h
    M libc/src/fenv/fegetenv.cpp
    M libc/src/fenv/fegetenv.h
    M libc/src/fenv/fegetexcept.cpp
    M libc/src/fenv/fegetexcept.h
    M libc/src/fenv/fegetexceptflag.cpp
    M libc/src/fenv/fegetexceptflag.h
    M libc/src/fenv/fegetround.cpp
    M libc/src/fenv/fegetround.h
    M libc/src/fenv/feholdexcept.cpp
    M libc/src/fenv/feholdexcept.h
    M libc/src/fenv/feraiseexcept.cpp
    M libc/src/fenv/feraiseexcept.h
    M libc/src/fenv/fesetenv.cpp
    M libc/src/fenv/fesetenv.h
    M libc/src/fenv/fesetexcept.cpp
    M libc/src/fenv/fesetexcept.h
    M libc/src/fenv/fesetexceptflag.cpp
    M libc/src/fenv/fesetexceptflag.h
    M libc/src/fenv/fesetround.cpp
    M libc/src/fenv/fesetround.h
    M libc/src/fenv/fetestexcept.cpp
    M libc/src/fenv/fetestexcept.h
    M libc/src/fenv/fetestexceptflag.cpp
    M libc/src/fenv/fetestexceptflag.h
    M libc/src/fenv/feupdateenv.cpp
    M libc/src/fenv/feupdateenv.h
    M libc/src/gpu/rpc_fprintf.cpp
    M libc/src/gpu/rpc_fprintf.h
    M libc/src/gpu/rpc_host_call.cpp
    M libc/src/gpu/rpc_host_call.h
    M libc/src/inttypes/imaxabs.cpp
    M libc/src/inttypes/imaxabs.h
    M libc/src/inttypes/imaxdiv.cpp
    M libc/src/inttypes/imaxdiv.h
    M libc/src/inttypes/strtoimax.cpp
    M libc/src/inttypes/strtoimax.h
    M libc/src/inttypes/strtoumax.cpp
    M libc/src/inttypes/strtoumax.h
    M libc/src/math/aarch64/ceil.cpp
    M libc/src/math/aarch64/ceilf.cpp
    M libc/src/math/aarch64/floor.cpp
    M libc/src/math/aarch64/floorf.cpp
    M libc/src/math/aarch64/round.cpp
    M libc/src/math/aarch64/roundf.cpp
    M libc/src/math/aarch64/trunc.cpp
    M libc/src/math/aarch64/truncf.cpp
    M libc/src/math/acos.h
    M libc/src/math/acosf.h
    M libc/src/math/acosh.h
    M libc/src/math/acoshf.h
    M libc/src/math/amdgpu/acos.cpp
    M libc/src/math/amdgpu/acosf.cpp
    M libc/src/math/amdgpu/acosh.cpp
    M libc/src/math/amdgpu/acoshf.cpp
    M libc/src/math/amdgpu/asin.cpp
    M libc/src/math/amdgpu/asinf.cpp
    M libc/src/math/amdgpu/asinh.cpp
    M libc/src/math/amdgpu/asinhf.cpp
    M libc/src/math/amdgpu/atan.cpp
    M libc/src/math/amdgpu/atan2.cpp
    M libc/src/math/amdgpu/atan2f.cpp
    M libc/src/math/amdgpu/atanf.cpp
    M libc/src/math/amdgpu/atanh.cpp
    M libc/src/math/amdgpu/atanhf.cpp
    M libc/src/math/amdgpu/ceil.cpp
    M libc/src/math/amdgpu/ceilf.cpp
    M libc/src/math/amdgpu/copysign.cpp
    M libc/src/math/amdgpu/copysignf.cpp
    M libc/src/math/amdgpu/cos.cpp
    M libc/src/math/amdgpu/cosf.cpp
    M libc/src/math/amdgpu/cosh.cpp
    M libc/src/math/amdgpu/coshf.cpp
    M libc/src/math/amdgpu/declarations.h
    M libc/src/math/amdgpu/erf.cpp
    M libc/src/math/amdgpu/erff.cpp
    M libc/src/math/amdgpu/exp.cpp
    M libc/src/math/amdgpu/exp10.cpp
    M libc/src/math/amdgpu/exp10f.cpp
    M libc/src/math/amdgpu/exp2.cpp
    M libc/src/math/amdgpu/exp2f.cpp
    M libc/src/math/amdgpu/expf.cpp
    M libc/src/math/amdgpu/expm1.cpp
    M libc/src/math/amdgpu/expm1f.cpp
    M libc/src/math/amdgpu/fabs.cpp
    M libc/src/math/amdgpu/fabsf.cpp
    M libc/src/math/amdgpu/fdim.cpp
    M libc/src/math/amdgpu/fdimf.cpp
    M libc/src/math/amdgpu/floor.cpp
    M libc/src/math/amdgpu/floorf.cpp
    M libc/src/math/amdgpu/fma.cpp
    M libc/src/math/amdgpu/fmaf.cpp
    M libc/src/math/amdgpu/fmax.cpp
    M libc/src/math/amdgpu/fmaxf.cpp
    M libc/src/math/amdgpu/fmin.cpp
    M libc/src/math/amdgpu/fminf.cpp
    M libc/src/math/amdgpu/fmod.cpp
    M libc/src/math/amdgpu/fmodf.cpp
    M libc/src/math/amdgpu/frexp.cpp
    M libc/src/math/amdgpu/frexpf.cpp
    M libc/src/math/amdgpu/hypot.cpp
    M libc/src/math/amdgpu/hypotf.cpp
    M libc/src/math/amdgpu/ilogb.cpp
    M libc/src/math/amdgpu/ilogbf.cpp
    M libc/src/math/amdgpu/ldexp.cpp
    M libc/src/math/amdgpu/ldexpf.cpp
    M libc/src/math/amdgpu/llrint.cpp
    M libc/src/math/amdgpu/llrintf.cpp
    M libc/src/math/amdgpu/log.cpp
    M libc/src/math/amdgpu/log10.cpp
    M libc/src/math/amdgpu/log10f.cpp
    M libc/src/math/amdgpu/log1p.cpp
    M libc/src/math/amdgpu/log1pf.cpp
    M libc/src/math/amdgpu/log2.cpp
    M libc/src/math/amdgpu/log2f.cpp
    M libc/src/math/amdgpu/logb.cpp
    M libc/src/math/amdgpu/logbf.cpp
    M libc/src/math/amdgpu/logf.cpp
    M libc/src/math/amdgpu/lrint.cpp
    M libc/src/math/amdgpu/lrintf.cpp
    M libc/src/math/amdgpu/nearbyint.cpp
    M libc/src/math/amdgpu/nearbyintf.cpp
    M libc/src/math/amdgpu/nextafter.cpp
    M libc/src/math/amdgpu/nextafterf.cpp
    M libc/src/math/amdgpu/platform.h
    M libc/src/math/amdgpu/pow.cpp
    M libc/src/math/amdgpu/powf.cpp
    M libc/src/math/amdgpu/powi.cpp
    M libc/src/math/amdgpu/powif.cpp
    M libc/src/math/amdgpu/remainder.cpp
    M libc/src/math/amdgpu/remainderf.cpp
    M libc/src/math/amdgpu/remquo.cpp
    M libc/src/math/amdgpu/remquof.cpp
    M libc/src/math/amdgpu/rint.cpp
    M libc/src/math/amdgpu/rintf.cpp
    M libc/src/math/amdgpu/round.cpp
    M libc/src/math/amdgpu/roundf.cpp
    M libc/src/math/amdgpu/scalbn.cpp
    M libc/src/math/amdgpu/scalbnf.cpp
    M libc/src/math/amdgpu/sin.cpp
    M libc/src/math/amdgpu/sincos.cpp
    M libc/src/math/amdgpu/sincosf.cpp
    M libc/src/math/amdgpu/sinf.cpp
    M libc/src/math/amdgpu/sinh.cpp
    M libc/src/math/amdgpu/sinhf.cpp
    M libc/src/math/amdgpu/sqrt.cpp
    M libc/src/math/amdgpu/sqrtf.cpp
    M libc/src/math/amdgpu/tan.cpp
    M libc/src/math/amdgpu/tanf.cpp
    M libc/src/math/amdgpu/tanh.cpp
    M libc/src/math/amdgpu/tanhf.cpp
    M libc/src/math/amdgpu/tgamma.cpp
    M libc/src/math/amdgpu/tgammaf.cpp
    M libc/src/math/amdgpu/trunc.cpp
    M libc/src/math/amdgpu/truncf.cpp
    M libc/src/math/asin.h
    M libc/src/math/asinf.h
    M libc/src/math/asinh.h
    M libc/src/math/asinhf.h
    M libc/src/math/atan.h
    M libc/src/math/atan2.h
    M libc/src/math/atan2f.h
    M libc/src/math/atanf.h
    M libc/src/math/atanh.h
    M libc/src/math/atanhf.h
    M libc/src/math/canonicalize.h
    M libc/src/math/canonicalizef.h
    M libc/src/math/canonicalizef128.h
    M libc/src/math/canonicalizef16.h
    M libc/src/math/canonicalizel.h
    M libc/src/math/cbrtf.h
    M libc/src/math/ceil.h
    M libc/src/math/ceilf.h
    M libc/src/math/ceilf128.h
    M libc/src/math/ceilf16.h
    M libc/src/math/ceill.h
    M libc/src/math/copysign.h
    M libc/src/math/copysignf.h
    M libc/src/math/copysignf128.h
    M libc/src/math/copysignf16.h
    M libc/src/math/copysignl.h
    M libc/src/math/cos.h
    M libc/src/math/cosf.h
    M libc/src/math/cosh.h
    M libc/src/math/coshf.h
    M libc/src/math/cospif.h
    M libc/src/math/erf.h
    M libc/src/math/erff.h
    M libc/src/math/exp.h
    M libc/src/math/exp10.h
    M libc/src/math/exp10f.h
    M libc/src/math/exp2.h
    M libc/src/math/exp2f.h
    M libc/src/math/exp2m1f.h
    M libc/src/math/expf.h
    M libc/src/math/expm1.h
    M libc/src/math/expm1f.h
    M libc/src/math/f16add.h
    M libc/src/math/f16addf.h
    M libc/src/math/f16addf128.h
    M libc/src/math/f16addl.h
    M libc/src/math/f16div.h
    M libc/src/math/f16divf.h
    M libc/src/math/f16divf128.h
    M libc/src/math/f16divl.h
    M libc/src/math/f16fma.h
    M libc/src/math/f16fmaf.h
    M libc/src/math/f16fmaf128.h
    M libc/src/math/f16fmal.h
    M libc/src/math/f16sqrt.h
    M libc/src/math/f16sqrtf.h
    M libc/src/math/f16sqrtf128.h
    M libc/src/math/f16sqrtl.h
    M libc/src/math/f16sub.h
    M libc/src/math/f16subf.h
    M libc/src/math/f16subf128.h
    M libc/src/math/f16subl.h
    M libc/src/math/fabs.h
    M libc/src/math/fabsf.h
    M libc/src/math/fabsf128.h
    M libc/src/math/fabsf16.h
    M libc/src/math/fabsl.h
    M libc/src/math/fdim.h
    M libc/src/math/fdimf.h
    M libc/src/math/fdimf128.h
    M libc/src/math/fdimf16.h
    M libc/src/math/fdiml.h
    M libc/src/math/floor.h
    M libc/src/math/floorf.h
    M libc/src/math/floorf128.h
    M libc/src/math/floorf16.h
    M libc/src/math/floorl.h
    M libc/src/math/fma.h
    M libc/src/math/fmaf.h
    M libc/src/math/fmax.h
    M libc/src/math/fmaxf.h
    M libc/src/math/fmaxf128.h
    M libc/src/math/fmaxf16.h
    M libc/src/math/fmaximum.h
    M libc/src/math/fmaximum_mag.h
    M libc/src/math/fmaximum_mag_num.h
    M libc/src/math/fmaximum_mag_numf.h
    M libc/src/math/fmaximum_mag_numf128.h
    M libc/src/math/fmaximum_mag_numf16.h
    M libc/src/math/fmaximum_mag_numl.h
    M libc/src/math/fmaximum_magf.h
    M libc/src/math/fmaximum_magf128.h
    M libc/src/math/fmaximum_magf16.h
    M libc/src/math/fmaximum_magl.h
    M libc/src/math/fmaximum_num.h
    M libc/src/math/fmaximum_numf.h
    M libc/src/math/fmaximum_numf128.h
    M libc/src/math/fmaximum_numf16.h
    M libc/src/math/fmaximum_numl.h
    M libc/src/math/fmaximumf.h
    M libc/src/math/fmaximumf128.h
    M libc/src/math/fmaximumf16.h
    M libc/src/math/fmaximuml.h
    M libc/src/math/fmaxl.h
    M libc/src/math/fmin.h
    M libc/src/math/fminf.h
    M libc/src/math/fminf128.h
    M libc/src/math/fminf16.h
    M libc/src/math/fminimum.h
    M libc/src/math/fminimum_mag.h
    M libc/src/math/fminimum_mag_num.h
    M libc/src/math/fminimum_mag_numf.h
    M libc/src/math/fminimum_mag_numf128.h
    M libc/src/math/fminimum_mag_numf16.h
    M libc/src/math/fminimum_mag_numl.h
    M libc/src/math/fminimum_magf.h
    M libc/src/math/fminimum_magf128.h
    M libc/src/math/fminimum_magf16.h
    M libc/src/math/fminimum_magl.h
    M libc/src/math/fminimum_num.h
    M libc/src/math/fminimum_numf.h
    M libc/src/math/fminimum_numf128.h
    M libc/src/math/fminimum_numf16.h
    M libc/src/math/fminimum_numl.h
    M libc/src/math/fminimumf.h
    M libc/src/math/fminimumf128.h
    M libc/src/math/fminimumf16.h
    M libc/src/math/fminimuml.h
    M libc/src/math/fminl.h
    M libc/src/math/fmod.h
    M libc/src/math/fmodf.h
    M libc/src/math/fmodf128.h
    M libc/src/math/fmodf16.h
    M libc/src/math/fmodl.h
    M libc/src/math/fmul.h
    M libc/src/math/frexp.h
    M libc/src/math/frexpf.h
    M libc/src/math/frexpf128.h
    M libc/src/math/frexpf16.h
    M libc/src/math/frexpl.h
    M libc/src/math/fromfp.h
    M libc/src/math/fromfpf.h
    M libc/src/math/fromfpf128.h
    M libc/src/math/fromfpf16.h
    M libc/src/math/fromfpl.h
    M libc/src/math/fromfpx.h
    M libc/src/math/fromfpxf.h
    M libc/src/math/fromfpxf128.h
    M libc/src/math/fromfpxf16.h
    M libc/src/math/fromfpxl.h
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/acoshf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/asinhf.cpp
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/canonicalize.cpp
    M libc/src/math/generic/canonicalizef.cpp
    M libc/src/math/generic/canonicalizef128.cpp
    M libc/src/math/generic/canonicalizef16.cpp
    M libc/src/math/generic/canonicalizel.cpp
    M libc/src/math/generic/cbrtf.cpp
    M libc/src/math/generic/ceil.cpp
    M libc/src/math/generic/ceilf.cpp
    M libc/src/math/generic/ceilf128.cpp
    M libc/src/math/generic/ceilf16.cpp
    M libc/src/math/generic/ceill.cpp
    M libc/src/math/generic/common_constants.cpp
    M libc/src/math/generic/common_constants.h
    M libc/src/math/generic/copysign.cpp
    M libc/src/math/generic/copysignf.cpp
    M libc/src/math/generic/copysignf128.cpp
    M libc/src/math/generic/copysignf16.cpp
    M libc/src/math/generic/copysignl.cpp
    M libc/src/math/generic/cos.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/coshf.cpp
    M libc/src/math/generic/cospif.cpp
    M libc/src/math/generic/erff.cpp
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp10f.cpp
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/exp2f.cpp
    M libc/src/math/generic/exp2f_impl.h
    M libc/src/math/generic/exp2m1f.cpp
    M libc/src/math/generic/exp_utils.cpp
    M libc/src/math/generic/exp_utils.h
    M libc/src/math/generic/expf.cpp
    M libc/src/math/generic/explogxf.cpp
    M libc/src/math/generic/explogxf.h
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/expm1f.cpp
    M libc/src/math/generic/f16add.cpp
    M libc/src/math/generic/f16addf.cpp
    M libc/src/math/generic/f16addf128.cpp
    M libc/src/math/generic/f16addl.cpp
    M libc/src/math/generic/f16div.cpp
    M libc/src/math/generic/f16divf.cpp
    M libc/src/math/generic/f16divf128.cpp
    M libc/src/math/generic/f16divl.cpp
    M libc/src/math/generic/f16fma.cpp
    M libc/src/math/generic/f16fmaf.cpp
    M libc/src/math/generic/f16fmaf128.cpp
    M libc/src/math/generic/f16fmal.cpp
    M libc/src/math/generic/f16sqrt.cpp
    M libc/src/math/generic/f16sqrtf.cpp
    M libc/src/math/generic/f16sqrtf128.cpp
    M libc/src/math/generic/f16sqrtl.cpp
    M libc/src/math/generic/f16sub.cpp
    M libc/src/math/generic/f16subf.cpp
    M libc/src/math/generic/f16subf128.cpp
    M libc/src/math/generic/f16subl.cpp
    M libc/src/math/generic/fabs.cpp
    M libc/src/math/generic/fabsf.cpp
    M libc/src/math/generic/fabsf128.cpp
    M libc/src/math/generic/fabsf16.cpp
    M libc/src/math/generic/fabsl.cpp
    M libc/src/math/generic/fdim.cpp
    M libc/src/math/generic/fdimf.cpp
    M libc/src/math/generic/fdimf128.cpp
    M libc/src/math/generic/fdimf16.cpp
    M libc/src/math/generic/fdiml.cpp
    M libc/src/math/generic/floor.cpp
    M libc/src/math/generic/floorf.cpp
    M libc/src/math/generic/floorf128.cpp
    M libc/src/math/generic/floorf16.cpp
    M libc/src/math/generic/floorl.cpp
    M libc/src/math/generic/fma.cpp
    M libc/src/math/generic/fmaf.cpp
    M libc/src/math/generic/fmax.cpp
    M libc/src/math/generic/fmaxf.cpp
    M libc/src/math/generic/fmaxf128.cpp
    M libc/src/math/generic/fmaxf16.cpp
    M libc/src/math/generic/fmaximum.cpp
    M libc/src/math/generic/fmaximum_mag.cpp
    M libc/src/math/generic/fmaximum_mag_num.cpp
    M libc/src/math/generic/fmaximum_mag_numf.cpp
    M libc/src/math/generic/fmaximum_mag_numf128.cpp
    M libc/src/math/generic/fmaximum_mag_numf16.cpp
    M libc/src/math/generic/fmaximum_mag_numl.cpp
    M libc/src/math/generic/fmaximum_magf.cpp
    M libc/src/math/generic/fmaximum_magf128.cpp
    M libc/src/math/generic/fmaximum_magf16.cpp
    M libc/src/math/generic/fmaximum_magl.cpp
    M libc/src/math/generic/fmaximum_num.cpp
    M libc/src/math/generic/fmaximum_numf.cpp
    M libc/src/math/generic/fmaximum_numf128.cpp
    M libc/src/math/generic/fmaximum_numf16.cpp
    M libc/src/math/generic/fmaximum_numl.cpp
    M libc/src/math/generic/fmaximumf.cpp
    M libc/src/math/generic/fmaximumf128.cpp
    M libc/src/math/generic/fmaximumf16.cpp
    M libc/src/math/generic/fmaximuml.cpp
    M libc/src/math/generic/fmaxl.cpp
    M libc/src/math/generic/fmin.cpp
    M libc/src/math/generic/fminf.cpp
    M libc/src/math/generic/fminf128.cpp
    M libc/src/math/generic/fminf16.cpp
    M libc/src/math/generic/fminimum.cpp
    M libc/src/math/generic/fminimum_mag.cpp
    M libc/src/math/generic/fminimum_mag_num.cpp
    M libc/src/math/generic/fminimum_mag_numf.cpp
    M libc/src/math/generic/fminimum_mag_numf128.cpp
    M libc/src/math/generic/fminimum_mag_numf16.cpp
    M libc/src/math/generic/fminimum_mag_numl.cpp
    M libc/src/math/generic/fminimum_magf.cpp
    M libc/src/math/generic/fminimum_magf128.cpp
    M libc/src/math/generic/fminimum_magf16.cpp
    M libc/src/math/generic/fminimum_magl.cpp
    M libc/src/math/generic/fminimum_num.cpp
    M libc/src/math/generic/fminimum_numf.cpp
    M libc/src/math/generic/fminimum_numf128.cpp
    M libc/src/math/generic/fminimum_numf16.cpp
    M libc/src/math/generic/fminimum_numl.cpp
    M libc/src/math/generic/fminimumf.cpp
    M libc/src/math/generic/fminimumf128.cpp
    M libc/src/math/generic/fminimumf16.cpp
    M libc/src/math/generic/fminimuml.cpp
    M libc/src/math/generic/fminl.cpp
    M libc/src/math/generic/fmod.cpp
    M libc/src/math/generic/fmodf.cpp
    M libc/src/math/generic/fmodf128.cpp
    M libc/src/math/generic/fmodf16.cpp
    M libc/src/math/generic/fmodl.cpp
    M libc/src/math/generic/fmul.cpp
    M libc/src/math/generic/frexp.cpp
    M libc/src/math/generic/frexpf.cpp
    M libc/src/math/generic/frexpf128.cpp
    M libc/src/math/generic/frexpf16.cpp
    M libc/src/math/generic/frexpl.cpp
    M libc/src/math/generic/fromfp.cpp
    M libc/src/math/generic/fromfpf.cpp
    M libc/src/math/generic/fromfpf128.cpp
    M libc/src/math/generic/fromfpf16.cpp
    M libc/src/math/generic/fromfpl.cpp
    M libc/src/math/generic/fromfpx.cpp
    M libc/src/math/generic/fromfpxf.cpp
    M libc/src/math/generic/fromfpxf128.cpp
    M libc/src/math/generic/fromfpxf16.cpp
    M libc/src/math/generic/fromfpxl.cpp
    M libc/src/math/generic/getpayloadf16.cpp
    M libc/src/math/generic/hypot.cpp
    M libc/src/math/generic/hypotf.cpp
    M libc/src/math/generic/ilogb.cpp
    M libc/src/math/generic/ilogbf.cpp
    M libc/src/math/generic/ilogbf128.cpp
    M libc/src/math/generic/ilogbf16.cpp
    M libc/src/math/generic/ilogbl.cpp
    M libc/src/math/generic/inv_trigf_utils.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    M libc/src/math/generic/isnan.cpp
    M libc/src/math/generic/isnanf.cpp
    M libc/src/math/generic/isnanl.cpp
    M libc/src/math/generic/ldexp.cpp
    M libc/src/math/generic/ldexpf.cpp
    M libc/src/math/generic/ldexpf128.cpp
    M libc/src/math/generic/ldexpf16.cpp
    M libc/src/math/generic/ldexpl.cpp
    M libc/src/math/generic/llogb.cpp
    M libc/src/math/generic/llogbf.cpp
    M libc/src/math/generic/llogbf128.cpp
    M libc/src/math/generic/llogbf16.cpp
    M libc/src/math/generic/llogbl.cpp
    M libc/src/math/generic/llrint.cpp
    M libc/src/math/generic/llrintf.cpp
    M libc/src/math/generic/llrintf128.cpp
    M libc/src/math/generic/llrintf16.cpp
    M libc/src/math/generic/llrintl.cpp
    M libc/src/math/generic/llround.cpp
    M libc/src/math/generic/llroundf.cpp
    M libc/src/math/generic/llroundf128.cpp
    M libc/src/math/generic/llroundf16.cpp
    M libc/src/math/generic/llroundl.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2.cpp
    M libc/src/math/generic/log2f.cpp
    M libc/src/math/generic/log_range_reduction.h
    M libc/src/math/generic/logb.cpp
    M libc/src/math/generic/logbf.cpp
    M libc/src/math/generic/logbf128.cpp
    M libc/src/math/generic/logbf16.cpp
    M libc/src/math/generic/logbl.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/lrint.cpp
    M libc/src/math/generic/lrintf.cpp
    M libc/src/math/generic/lrintf128.cpp
    M libc/src/math/generic/lrintf16.cpp
    M libc/src/math/generic/lrintl.cpp
    M libc/src/math/generic/lround.cpp
    M libc/src/math/generic/lroundf.cpp
    M libc/src/math/generic/lroundf128.cpp
    M libc/src/math/generic/lroundf16.cpp
    M libc/src/math/generic/lroundl.cpp
    M libc/src/math/generic/modf.cpp
    M libc/src/math/generic/modff.cpp
    M libc/src/math/generic/modff128.cpp
    M libc/src/math/generic/modff16.cpp
    M libc/src/math/generic/modfl.cpp
    M libc/src/math/generic/nan.cpp
    M libc/src/math/generic/nanf.cpp
    M libc/src/math/generic/nanf128.cpp
    M libc/src/math/generic/nanf16.cpp
    M libc/src/math/generic/nanl.cpp
    M libc/src/math/generic/nearbyint.cpp
    M libc/src/math/generic/nearbyintf.cpp
    M libc/src/math/generic/nearbyintf128.cpp
    M libc/src/math/generic/nearbyintf16.cpp
    M libc/src/math/generic/nearbyintl.cpp
    M libc/src/math/generic/nextafter.cpp
    M libc/src/math/generic/nextafterf.cpp
    M libc/src/math/generic/nextafterf128.cpp
    M libc/src/math/generic/nextafterf16.cpp
    M libc/src/math/generic/nextafterl.cpp
    M libc/src/math/generic/nextdown.cpp
    M libc/src/math/generic/nextdownf.cpp
    M libc/src/math/generic/nextdownf128.cpp
    M libc/src/math/generic/nextdownf16.cpp
    M libc/src/math/generic/nextdownl.cpp
    M libc/src/math/generic/nexttoward.cpp
    M libc/src/math/generic/nexttowardf.cpp
    M libc/src/math/generic/nexttowardf16.cpp
    M libc/src/math/generic/nexttowardl.cpp
    M libc/src/math/generic/nextup.cpp
    M libc/src/math/generic/nextupf.cpp
    M libc/src/math/generic/nextupf128.cpp
    M libc/src/math/generic/nextupf16.cpp
    M libc/src/math/generic/nextupl.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/range_reduction.h
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/range_reduction_double_fma.h
    M libc/src/math/generic/range_reduction_double_nofma.h
    M libc/src/math/generic/range_reduction_fma.h
    M libc/src/math/generic/remainder.cpp
    M libc/src/math/generic/remainderf.cpp
    M libc/src/math/generic/remainderf16.cpp
    M libc/src/math/generic/remainderl.cpp
    M libc/src/math/generic/remquo.cpp
    M libc/src/math/generic/remquof.cpp
    M libc/src/math/generic/remquof128.cpp
    M libc/src/math/generic/remquof16.cpp
    M libc/src/math/generic/remquol.cpp
    M libc/src/math/generic/rint.cpp
    M libc/src/math/generic/rintf.cpp
    M libc/src/math/generic/rintf128.cpp
    M libc/src/math/generic/rintf16.cpp
    M libc/src/math/generic/rintl.cpp
    M libc/src/math/generic/round.cpp
    M libc/src/math/generic/roundeven.cpp
    M libc/src/math/generic/roundevenf.cpp
    M libc/src/math/generic/roundevenf128.cpp
    M libc/src/math/generic/roundevenf16.cpp
    M libc/src/math/generic/roundevenl.cpp
    M libc/src/math/generic/roundf.cpp
    M libc/src/math/generic/roundf128.cpp
    M libc/src/math/generic/roundf16.cpp
    M libc/src/math/generic/roundl.cpp
    M libc/src/math/generic/scalblnf16.cpp
    M libc/src/math/generic/scalbn.cpp
    M libc/src/math/generic/scalbnf.cpp
    M libc/src/math/generic/scalbnf128.cpp
    M libc/src/math/generic/scalbnf16.cpp
    M libc/src/math/generic/scalbnl.cpp
    M libc/src/math/generic/setpayloadf16.cpp
    M libc/src/math/generic/setpayloadsigf16.cpp
    M libc/src/math/generic/sin.cpp
    M libc/src/math/generic/sincos.cpp
    M libc/src/math/generic/sincos_eval.h
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sincosf_utils.h
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/sinhf.cpp
    M libc/src/math/generic/sinpif.cpp
    M libc/src/math/generic/sqrt.cpp
    M libc/src/math/generic/sqrtf.cpp
    M libc/src/math/generic/sqrtf128.cpp
    M libc/src/math/generic/sqrtl.cpp
    M libc/src/math/generic/tan.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/math/generic/tanhf.cpp
    M libc/src/math/generic/totalorderf16.cpp
    M libc/src/math/generic/totalordermagf16.cpp
    M libc/src/math/generic/trunc.cpp
    M libc/src/math/generic/truncf.cpp
    M libc/src/math/generic/truncf128.cpp
    M libc/src/math/generic/truncf16.cpp
    M libc/src/math/generic/truncl.cpp
    M libc/src/math/generic/ufromfp.cpp
    M libc/src/math/generic/ufromfpf.cpp
    M libc/src/math/generic/ufromfpf128.cpp
    M libc/src/math/generic/ufromfpf16.cpp
    M libc/src/math/generic/ufromfpl.cpp
    M libc/src/math/generic/ufromfpx.cpp
    M libc/src/math/generic/ufromfpxf.cpp
    M libc/src/math/generic/ufromfpxf128.cpp
    M libc/src/math/generic/ufromfpxf16.cpp
    M libc/src/math/generic/ufromfpxl.cpp
    M libc/src/math/getpayloadf16.h
    M libc/src/math/hypot.h
    M libc/src/math/hypotf.h
    M libc/src/math/ilogb.h
    M libc/src/math/ilogbf.h
    M libc/src/math/ilogbf128.h
    M libc/src/math/ilogbf16.h
    M libc/src/math/ilogbl.h
    M libc/src/math/isnan.h
    M libc/src/math/isnanf.h
    M libc/src/math/isnanl.h
    M libc/src/math/ldexp.h
    M libc/src/math/ldexpf.h
    M libc/src/math/ldexpf128.h
    M libc/src/math/ldexpf16.h
    M libc/src/math/ldexpl.h
    M libc/src/math/llogb.h
    M libc/src/math/llogbf.h
    M libc/src/math/llogbf128.h
    M libc/src/math/llogbf16.h
    M libc/src/math/llogbl.h
    M libc/src/math/llrint.h
    M libc/src/math/llrintf.h
    M libc/src/math/llrintf128.h
    M libc/src/math/llrintf16.h
    M libc/src/math/llrintl.h
    M libc/src/math/llround.h
    M libc/src/math/llroundf.h
    M libc/src/math/llroundf128.h
    M libc/src/math/llroundf16.h
    M libc/src/math/llroundl.h
    M libc/src/math/log.h
    M libc/src/math/log10.h
    M libc/src/math/log10f.h
    M libc/src/math/log1p.h
    M libc/src/math/log1pf.h
    M libc/src/math/log2.h
    M libc/src/math/log2f.h
    M libc/src/math/logb.h
    M libc/src/math/logbf.h
    M libc/src/math/logbf128.h
    M libc/src/math/logbf16.h
    M libc/src/math/logbl.h
    M libc/src/math/logf.h
    M libc/src/math/lrint.h
    M libc/src/math/lrintf.h
    M libc/src/math/lrintf128.h
    M libc/src/math/lrintf16.h
    M libc/src/math/lrintl.h
    M libc/src/math/lround.h
    M libc/src/math/lroundf.h
    M libc/src/math/lroundf128.h
    M libc/src/math/lroundf16.h
    M libc/src/math/lroundl.h
    M libc/src/math/modf.h
    M libc/src/math/modff.h
    M libc/src/math/modff128.h
    M libc/src/math/modff16.h
    M libc/src/math/modfl.h
    M libc/src/math/nan.h
    M libc/src/math/nanf.h
    M libc/src/math/nanf128.h
    M libc/src/math/nanf16.h
    M libc/src/math/nanl.h
    M libc/src/math/nearbyint.h
    M libc/src/math/nearbyintf.h
    M libc/src/math/nearbyintf128.h
    M libc/src/math/nearbyintf16.h
    M libc/src/math/nearbyintl.h
    M libc/src/math/nextafter.h
    M libc/src/math/nextafterf.h
    M libc/src/math/nextafterf128.h
    M libc/src/math/nextafterf16.h
    M libc/src/math/nextafterl.h
    M libc/src/math/nextdown.h
    M libc/src/math/nextdownf.h
    M libc/src/math/nextdownf128.h
    M libc/src/math/nextdownf16.h
    M libc/src/math/nextdownl.h
    M libc/src/math/nexttoward.h
    M libc/src/math/nexttowardf.h
    M libc/src/math/nexttowardf16.h
    M libc/src/math/nexttowardl.h
    M libc/src/math/nextup.h
    M libc/src/math/nextupf.h
    M libc/src/math/nextupf128.h
    M libc/src/math/nextupf16.h
    M libc/src/math/nextupl.h
    M libc/src/math/nvptx/acos.cpp
    M libc/src/math/nvptx/acosf.cpp
    M libc/src/math/nvptx/acosh.cpp
    M libc/src/math/nvptx/acoshf.cpp
    M libc/src/math/nvptx/asin.cpp
    M libc/src/math/nvptx/asinf.cpp
    M libc/src/math/nvptx/asinh.cpp
    M libc/src/math/nvptx/asinhf.cpp
    M libc/src/math/nvptx/atan.cpp
    M libc/src/math/nvptx/atan2.cpp
    M libc/src/math/nvptx/atan2f.cpp
    M libc/src/math/nvptx/atanf.cpp
    M libc/src/math/nvptx/atanh.cpp
    M libc/src/math/nvptx/atanhf.cpp
    M libc/src/math/nvptx/ceil.cpp
    M libc/src/math/nvptx/ceilf.cpp
    M libc/src/math/nvptx/copysign.cpp
    M libc/src/math/nvptx/copysignf.cpp
    M libc/src/math/nvptx/cos.cpp
    M libc/src/math/nvptx/cosf.cpp
    M libc/src/math/nvptx/cosh.cpp
    M libc/src/math/nvptx/coshf.cpp
    M libc/src/math/nvptx/declarations.h
    M libc/src/math/nvptx/erf.cpp
    M libc/src/math/nvptx/erff.cpp
    M libc/src/math/nvptx/exp.cpp
    M libc/src/math/nvptx/exp10.cpp
    M libc/src/math/nvptx/exp10f.cpp
    M libc/src/math/nvptx/exp2.cpp
    M libc/src/math/nvptx/exp2f.cpp
    M libc/src/math/nvptx/expf.cpp
    M libc/src/math/nvptx/expm1.cpp
    M libc/src/math/nvptx/expm1f.cpp
    M libc/src/math/nvptx/fabs.cpp
    M libc/src/math/nvptx/fabsf.cpp
    M libc/src/math/nvptx/fdim.cpp
    M libc/src/math/nvptx/fdimf.cpp
    M libc/src/math/nvptx/floor.cpp
    M libc/src/math/nvptx/floorf.cpp
    M libc/src/math/nvptx/fma.cpp
    M libc/src/math/nvptx/fmaf.cpp
    M libc/src/math/nvptx/fmax.cpp
    M libc/src/math/nvptx/fmaxf.cpp
    M libc/src/math/nvptx/fmin.cpp
    M libc/src/math/nvptx/fminf.cpp
    M libc/src/math/nvptx/fmod.cpp
    M libc/src/math/nvptx/fmodf.cpp
    M libc/src/math/nvptx/frexp.cpp
    M libc/src/math/nvptx/frexpf.cpp
    M libc/src/math/nvptx/hypot.cpp
    M libc/src/math/nvptx/hypotf.cpp
    M libc/src/math/nvptx/ilogb.cpp
    M libc/src/math/nvptx/ilogbf.cpp
    M libc/src/math/nvptx/ldexp.cpp
    M libc/src/math/nvptx/ldexpf.cpp
    M libc/src/math/nvptx/llrint.cpp
    M libc/src/math/nvptx/llrintf.cpp
    M libc/src/math/nvptx/log.cpp
    M libc/src/math/nvptx/log10.cpp
    M libc/src/math/nvptx/log10f.cpp
    M libc/src/math/nvptx/log1p.cpp
    M libc/src/math/nvptx/log1pf.cpp
    M libc/src/math/nvptx/log2.cpp
    M libc/src/math/nvptx/log2f.cpp
    M libc/src/math/nvptx/logb.cpp
    M libc/src/math/nvptx/logbf.cpp
    M libc/src/math/nvptx/logf.cpp
    M libc/src/math/nvptx/lrint.cpp
    M libc/src/math/nvptx/lrintf.cpp
    M libc/src/math/nvptx/nearbyint.cpp
    M libc/src/math/nvptx/nearbyintf.cpp
    M libc/src/math/nvptx/nextafter.cpp
    M libc/src/math/nvptx/nextafterf.cpp
    M libc/src/math/nvptx/nvptx.h
    M libc/src/math/nvptx/pow.cpp
    M libc/src/math/nvptx/powf.cpp
    M libc/src/math/nvptx/powi.cpp
    M libc/src/math/nvptx/powif.cpp
    M libc/src/math/nvptx/remainder.cpp
    M libc/src/math/nvptx/remainderf.cpp
    M libc/src/math/nvptx/remquo.cpp
    M libc/src/math/nvptx/remquof.cpp
    M libc/src/math/nvptx/rint.cpp
    M libc/src/math/nvptx/rintf.cpp
    M libc/src/math/nvptx/round.cpp
    M libc/src/math/nvptx/roundf.cpp
    M libc/src/math/nvptx/scalbn.cpp
    M libc/src/math/nvptx/scalbnf.cpp
    M libc/src/math/nvptx/sin.cpp
    M libc/src/math/nvptx/sincos.cpp
    M libc/src/math/nvptx/sincosf.cpp
    M libc/src/math/nvptx/sinf.cpp
    M libc/src/math/nvptx/sinh.cpp
    M libc/src/math/nvptx/sinhf.cpp
    M libc/src/math/nvptx/sqrt.cpp
    M libc/src/math/nvptx/sqrtf.cpp
    M libc/src/math/nvptx/tan.cpp
    M libc/src/math/nvptx/tanf.cpp
    M libc/src/math/nvptx/tanh.cpp
    M libc/src/math/nvptx/tanhf.cpp
    M libc/src/math/nvptx/tgamma.cpp
    M libc/src/math/nvptx/tgammaf.cpp
    M libc/src/math/nvptx/trunc.cpp
    M libc/src/math/nvptx/truncf.cpp
    M libc/src/math/pow.h
    M libc/src/math/powf.h
    M libc/src/math/powi.h
    M libc/src/math/powif.h
    M libc/src/math/remainder.h
    M libc/src/math/remainderf.h
    M libc/src/math/remainderf16.h
    M libc/src/math/remainderl.h
    M libc/src/math/remquo.h
    M libc/src/math/remquof.h
    M libc/src/math/remquof128.h
    M libc/src/math/remquof16.h
    M libc/src/math/remquol.h
    M libc/src/math/rint.h
    M libc/src/math/rintf.h
    M libc/src/math/rintf128.h
    M libc/src/math/rintf16.h
    M libc/src/math/rintl.h
    M libc/src/math/round.h
    M libc/src/math/roundeven.h
    M libc/src/math/roundevenf.h
    M libc/src/math/roundevenf128.h
    M libc/src/math/roundevenf16.h
    M libc/src/math/roundevenl.h
    M libc/src/math/roundf.h
    M libc/src/math/roundf128.h
    M libc/src/math/roundf16.h
    M libc/src/math/roundl.h
    M libc/src/math/scalblnf16.h
    M libc/src/math/scalbn.h
    M libc/src/math/scalbnf.h
    M libc/src/math/scalbnf128.h
    M libc/src/math/scalbnf16.h
    M libc/src/math/scalbnl.h
    M libc/src/math/setpayloadf16.h
    M libc/src/math/setpayloadsigf16.h
    M libc/src/math/sin.h
    M libc/src/math/sincos.h
    M libc/src/math/sincosf.h
    M libc/src/math/sinf.h
    M libc/src/math/sinh.h
    M libc/src/math/sinhf.h
    M libc/src/math/sinpif.h
    M libc/src/math/sqrt.h
    M libc/src/math/sqrtf.h
    M libc/src/math/sqrtf128.h
    M libc/src/math/sqrtl.h
    M libc/src/math/tan.h
    M libc/src/math/tanf.h
    M libc/src/math/tanh.h
    M libc/src/math/tanhf.h
    M libc/src/math/tgamma.h
    M libc/src/math/tgammaf.h
    M libc/src/math/totalorderf16.h
    M libc/src/math/totalordermagf16.h
    M libc/src/math/trunc.h
    M libc/src/math/truncf.h
    M libc/src/math/truncf128.h
    M libc/src/math/truncf16.h
    M libc/src/math/truncl.h
    M libc/src/math/ufromfp.h
    M libc/src/math/ufromfpf.h
    M libc/src/math/ufromfpf128.h
    M libc/src/math/ufromfpf16.h
    M libc/src/math/ufromfpl.h
    M libc/src/math/ufromfpx.h
    M libc/src/math/ufromfpxf.h
    M libc/src/math/ufromfpxf128.h
    M libc/src/math/ufromfpxf16.h
    M libc/src/math/ufromfpxl.h
    M libc/src/network/htonl.cpp
    M libc/src/network/htonl.h
    M libc/src/network/htons.cpp
    M libc/src/network/htons.h
    M libc/src/network/ntohl.cpp
    M libc/src/network/ntohl.h
    M libc/src/network/ntohs.cpp
    M libc/src/network/ntohs.h
    M libc/src/pthread/pthread_atfork.cpp
    M libc/src/pthread/pthread_atfork.h
    M libc/src/pthread/pthread_attr_destroy.cpp
    M libc/src/pthread/pthread_attr_destroy.h
    M libc/src/pthread/pthread_attr_getdetachstate.cpp
    M libc/src/pthread/pthread_attr_getdetachstate.h
    M libc/src/pthread/pthread_attr_getguardsize.cpp
    M libc/src/pthread/pthread_attr_getguardsize.h
    M libc/src/pthread/pthread_attr_getstack.cpp
    M libc/src/pthread/pthread_attr_getstack.h
    M libc/src/pthread/pthread_attr_getstacksize.cpp
    M libc/src/pthread/pthread_attr_getstacksize.h
    M libc/src/pthread/pthread_attr_init.cpp
    M libc/src/pthread/pthread_attr_init.h
    M libc/src/pthread/pthread_attr_setdetachstate.cpp
    M libc/src/pthread/pthread_attr_setdetachstate.h
    M libc/src/pthread/pthread_attr_setguardsize.cpp
    M libc/src/pthread/pthread_attr_setguardsize.h
    M libc/src/pthread/pthread_attr_setstack.cpp
    M libc/src/pthread/pthread_attr_setstack.h
    M libc/src/pthread/pthread_attr_setstacksize.cpp
    M libc/src/pthread/pthread_attr_setstacksize.h
    M libc/src/pthread/pthread_condattr_destroy.cpp
    M libc/src/pthread/pthread_condattr_destroy.h
    M libc/src/pthread/pthread_condattr_getclock.cpp
    M libc/src/pthread/pthread_condattr_getclock.h
    M libc/src/pthread/pthread_condattr_getpshared.cpp
    M libc/src/pthread/pthread_condattr_getpshared.h
    M libc/src/pthread/pthread_condattr_init.cpp
    M libc/src/pthread/pthread_condattr_init.h
    M libc/src/pthread/pthread_condattr_setclock.cpp
    M libc/src/pthread/pthread_condattr_setclock.h
    M libc/src/pthread/pthread_condattr_setpshared.cpp
    M libc/src/pthread/pthread_condattr_setpshared.h
    M libc/src/pthread/pthread_create.cpp
    M libc/src/pthread/pthread_create.h
    M libc/src/pthread/pthread_detach.cpp
    M libc/src/pthread/pthread_detach.h
    M libc/src/pthread/pthread_equal.cpp
    M libc/src/pthread/pthread_equal.h
    M libc/src/pthread/pthread_exit.cpp
    M libc/src/pthread/pthread_exit.h
    M libc/src/pthread/pthread_getname_np.cpp
    M libc/src/pthread/pthread_getname_np.h
    M libc/src/pthread/pthread_getspecific.cpp
    M libc/src/pthread/pthread_getspecific.h
    M libc/src/pthread/pthread_join.cpp
    M libc/src/pthread/pthread_join.h
    M libc/src/pthread/pthread_key_create.cpp
    M libc/src/pthread/pthread_key_create.h
    M libc/src/pthread/pthread_key_delete.cpp
    M libc/src/pthread/pthread_key_delete.h
    M libc/src/pthread/pthread_mutex_destroy.cpp
    M libc/src/pthread/pthread_mutex_destroy.h
    M libc/src/pthread/pthread_mutex_init.cpp
    M libc/src/pthread/pthread_mutex_init.h
    M libc/src/pthread/pthread_mutex_lock.cpp
    M libc/src/pthread/pthread_mutex_lock.h
    M libc/src/pthread/pthread_mutex_unlock.cpp
    M libc/src/pthread/pthread_mutex_unlock.h
    M libc/src/pthread/pthread_mutexattr.h
    M libc/src/pthread/pthread_mutexattr_destroy.cpp
    M libc/src/pthread/pthread_mutexattr_destroy.h
    M libc/src/pthread/pthread_mutexattr_getpshared.cpp
    M libc/src/pthread/pthread_mutexattr_getpshared.h
    M libc/src/pthread/pthread_mutexattr_getrobust.cpp
    M libc/src/pthread/pthread_mutexattr_getrobust.h
    M libc/src/pthread/pthread_mutexattr_gettype.cpp
    M libc/src/pthread/pthread_mutexattr_gettype.h
    M libc/src/pthread/pthread_mutexattr_init.cpp
    M libc/src/pthread/pthread_mutexattr_init.h
    M libc/src/pthread/pthread_mutexattr_setpshared.cpp
    M libc/src/pthread/pthread_mutexattr_setpshared.h
    M libc/src/pthread/pthread_mutexattr_setrobust.cpp
    M libc/src/pthread/pthread_mutexattr_setrobust.h
    M libc/src/pthread/pthread_mutexattr_settype.cpp
    M libc/src/pthread/pthread_mutexattr_settype.h
    M libc/src/pthread/pthread_once.cpp
    M libc/src/pthread/pthread_once.h
    M libc/src/pthread/pthread_rwlock_destroy.cpp
    M libc/src/pthread/pthread_rwlock_destroy.h
    M libc/src/pthread/pthread_rwlock_init.cpp
    M libc/src/pthread/pthread_rwlock_init.h
    M libc/src/pthread/pthread_rwlock_rdlock.cpp
    M libc/src/pthread/pthread_rwlock_rdlock.h
    M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedrdlock.h
    M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
    M libc/src/pthread/pthread_rwlock_timedwrlock.h
    M libc/src/pthread/pthread_rwlock_tryrdlock.cpp
    M libc/src/pthread/pthread_rwlock_tryrdlock.h
    M libc/src/pthread/pthread_rwlock_trywrlock.cpp
    M libc/src/pthread/pthread_rwlock_trywrlock.h
    M libc/src/pthread/pthread_rwlock_unlock.cpp
    M libc/src/pthread/pthread_rwlock_unlock.h
    M libc/src/pthread/pthread_rwlock_wrlock.cpp
    M libc/src/pthread/pthread_rwlock_wrlock.h
    M libc/src/pthread/pthread_rwlockattr_destroy.cpp
    M libc/src/pthread/pthread_rwlockattr_destroy.h
    M libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
    M libc/src/pthread/pthread_rwlockattr_getkind_np.h
    M libc/src/pthread/pthread_rwlockattr_getpshared.cpp
    M libc/src/pthread/pthread_rwlockattr_getpshared.h
    M libc/src/pthread/pthread_rwlockattr_init.cpp
    M libc/src/pthread/pthread_rwlockattr_init.h
    M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
    M libc/src/pthread/pthread_rwlockattr_setkind_np.h
    M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
    M libc/src/pthread/pthread_rwlockattr_setpshared.h
    M libc/src/pthread/pthread_self.cpp
    M libc/src/pthread/pthread_self.h
    M libc/src/pthread/pthread_setname_np.cpp
    M libc/src/pthread/pthread_setname_np.h
    M libc/src/pthread/pthread_setspecific.cpp
    M libc/src/pthread/pthread_setspecific.h
    M libc/src/sched/linux/sched_get_priority_max.cpp
    M libc/src/sched/linux/sched_get_priority_min.cpp
    M libc/src/sched/linux/sched_getaffinity.cpp
    M libc/src/sched/linux/sched_getcpucount.cpp
    M libc/src/sched/linux/sched_getparam.cpp
    M libc/src/sched/linux/sched_getscheduler.cpp
    M libc/src/sched/linux/sched_rr_get_interval.cpp
    M libc/src/sched/linux/sched_setaffinity.cpp
    M libc/src/sched/linux/sched_setparam.cpp
    M libc/src/sched/linux/sched_setscheduler.cpp
    M libc/src/sched/linux/sched_yield.cpp
    M libc/src/sched/sched_get_priority_max.h
    M libc/src/sched/sched_get_priority_min.h
    M libc/src/sched/sched_getaffinity.h
    M libc/src/sched/sched_getcpucount.h
    M libc/src/sched/sched_getparam.h
    M libc/src/sched/sched_getscheduler.h
    M libc/src/sched/sched_rr_get_interval.h
    M libc/src/sched/sched_setaffinity.h
    M libc/src/sched/sched_setparam.h
    M libc/src/sched/sched_setscheduler.h
    M libc/src/sched/sched_yield.h
    M libc/src/search/hcreate.cpp
    M libc/src/search/hcreate.h
    M libc/src/search/hcreate_r.cpp
    M libc/src/search/hcreate_r.h
    M libc/src/search/hdestroy.cpp
    M libc/src/search/hdestroy.h
    M libc/src/search/hdestroy_r.cpp
    M libc/src/search/hdestroy_r.h
    M libc/src/search/hsearch.cpp
    M libc/src/search/hsearch.h
    M libc/src/search/hsearch/global.cpp
    M libc/src/search/hsearch/global.h
    M libc/src/search/hsearch_r.cpp
    M libc/src/search/hsearch_r.h
    M libc/src/search/insque.cpp
    M libc/src/search/insque.h
    M libc/src/search/remque.cpp
    M libc/src/search/remque.h
    M libc/src/setjmp/arm/longjmp.cpp
    M libc/src/setjmp/arm/setjmp.cpp
    M libc/src/setjmp/longjmp.h
    M libc/src/setjmp/riscv/longjmp.cpp
    M libc/src/setjmp/riscv/setjmp.cpp
    M libc/src/setjmp/setjmp_impl.h
    M libc/src/setjmp/x86_64/longjmp.cpp
    M libc/src/setjmp/x86_64/setjmp.cpp
    M libc/src/signal/kill.h
    M libc/src/signal/linux/__restore.cpp
    M libc/src/signal/linux/kill.cpp
    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/sigaltstack.cpp
    M libc/src/signal/linux/sigdelset.cpp
    M libc/src/signal/linux/sigemptyset.cpp
    M libc/src/signal/linux/sigfillset.cpp
    M libc/src/signal/linux/signal.cpp
    M libc/src/signal/linux/signal_utils.h
    M libc/src/signal/linux/sigprocmask.cpp
    M libc/src/signal/raise.h
    M libc/src/signal/sigaction.h
    M libc/src/signal/sigaddset.h
    M libc/src/signal/sigaltstack.h
    M libc/src/signal/sigdelset.h
    M libc/src/signal/sigemptyset.h
    M libc/src/signal/sigfillset.h
    M libc/src/signal/signal.h
    M libc/src/signal/sigprocmask.h
    M libc/src/spawn/file_actions.h
    M libc/src/spawn/linux/posix_spawn.cpp
    M libc/src/spawn/posix_spawn.h
    M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
    M libc/src/spawn/posix_spawn_file_actions_addclose.h
    M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
    M libc/src/spawn/posix_spawn_file_actions_adddup2.h
    M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
    M libc/src/spawn/posix_spawn_file_actions_addopen.h
    M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
    M libc/src/spawn/posix_spawn_file_actions_destroy.h
    M libc/src/spawn/posix_spawn_file_actions_init.cpp
    M libc/src/spawn/posix_spawn_file_actions_init.h
    M libc/src/stdbit/stdc_bit_ceil_uc.cpp
    M libc/src/stdbit/stdc_bit_ceil_uc.h
    M libc/src/stdbit/stdc_bit_ceil_ui.cpp
    M libc/src/stdbit/stdc_bit_ceil_ui.h
    M libc/src/stdbit/stdc_bit_ceil_ul.cpp
    M libc/src/stdbit/stdc_bit_ceil_ul.h
    M libc/src/stdbit/stdc_bit_ceil_ull.cpp
    M libc/src/stdbit/stdc_bit_ceil_ull.h
    M libc/src/stdbit/stdc_bit_ceil_us.cpp
    M libc/src/stdbit/stdc_bit_ceil_us.h
    M libc/src/stdbit/stdc_bit_floor_uc.cpp
    M libc/src/stdbit/stdc_bit_floor_uc.h
    M libc/src/stdbit/stdc_bit_floor_ui.cpp
    M libc/src/stdbit/stdc_bit_floor_ui.h
    M libc/src/stdbit/stdc_bit_floor_ul.cpp
    M libc/src/stdbit/stdc_bit_floor_ul.h
    M libc/src/stdbit/stdc_bit_floor_ull.cpp
    M libc/src/stdbit/stdc_bit_floor_ull.h
    M libc/src/stdbit/stdc_bit_floor_us.cpp
    M libc/src/stdbit/stdc_bit_floor_us.h
    M libc/src/stdbit/stdc_bit_width_uc.cpp
    M libc/src/stdbit/stdc_bit_width_uc.h
    M libc/src/stdbit/stdc_bit_width_ui.cpp
    M libc/src/stdbit/stdc_bit_width_ui.h
    M libc/src/stdbit/stdc_bit_width_ul.cpp
    M libc/src/stdbit/stdc_bit_width_ul.h
    M libc/src/stdbit/stdc_bit_width_ull.cpp
    M libc/src/stdbit/stdc_bit_width_ull.h
    M libc/src/stdbit/stdc_bit_width_us.cpp
    M libc/src/stdbit/stdc_bit_width_us.h
    M libc/src/stdbit/stdc_count_ones_uc.cpp
    M libc/src/stdbit/stdc_count_ones_uc.h
    M libc/src/stdbit/stdc_count_ones_ui.cpp
    M libc/src/stdbit/stdc_count_ones_ui.h
    M libc/src/stdbit/stdc_count_ones_ul.cpp
    M libc/src/stdbit/stdc_count_ones_ul.h
    M libc/src/stdbit/stdc_count_ones_ull.cpp
    M libc/src/stdbit/stdc_count_ones_ull.h
    M libc/src/stdbit/stdc_count_ones_us.cpp
    M libc/src/stdbit/stdc_count_ones_us.h
    M libc/src/stdbit/stdc_count_zeros_uc.cpp
    M libc/src/stdbit/stdc_count_zeros_uc.h
    M libc/src/stdbit/stdc_count_zeros_ui.cpp
    M libc/src/stdbit/stdc_count_zeros_ui.h
    M libc/src/stdbit/stdc_count_zeros_ul.cpp
    M libc/src/stdbit/stdc_count_zeros_ul.h
    M libc/src/stdbit/stdc_count_zeros_ull.cpp
    M libc/src/stdbit/stdc_count_zeros_ull.h
    M libc/src/stdbit/stdc_count_zeros_us.cpp
    M libc/src/stdbit/stdc_count_zeros_us.h
    M libc/src/stdbit/stdc_first_leading_one_uc.cpp
    M libc/src/stdbit/stdc_first_leading_one_uc.h
    M libc/src/stdbit/stdc_first_leading_one_ui.cpp
    M libc/src/stdbit/stdc_first_leading_one_ui.h
    M libc/src/stdbit/stdc_first_leading_one_ul.cpp
    M libc/src/stdbit/stdc_first_leading_one_ul.h
    M libc/src/stdbit/stdc_first_leading_one_ull.cpp
    M libc/src/stdbit/stdc_first_leading_one_ull.h
    M libc/src/stdbit/stdc_first_leading_one_us.cpp
    M libc/src/stdbit/stdc_first_leading_one_us.h
    M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
    M libc/src/stdbit/stdc_first_leading_zero_uc.h
    M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ui.h
    M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ul.h
    M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ull.h
    M libc/src/stdbit/stdc_first_leading_zero_us.cpp
    M libc/src/stdbit/stdc_first_leading_zero_us.h
    M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_one_uc.h
    M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ui.h
    M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ul.h
    M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ull.h
    M libc/src/stdbit/stdc_first_trailing_one_us.cpp
    M libc/src/stdbit/stdc_first_trailing_one_us.h
    M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_uc.h
    M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ui.h
    M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ul.h
    M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ull.h
    M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_us.h
    M libc/src/stdbit/stdc_has_single_bit_uc.cpp
    M libc/src/stdbit/stdc_has_single_bit_uc.h
    M libc/src/stdbit/stdc_has_single_bit_ui.cpp
    M libc/src/stdbit/stdc_has_single_bit_ui.h
    M libc/src/stdbit/stdc_has_single_bit_ul.cpp
    M libc/src/stdbit/stdc_has_single_bit_ul.h
    M libc/src/stdbit/stdc_has_single_bit_ull.cpp
    M libc/src/stdbit/stdc_has_single_bit_ull.h
    M libc/src/stdbit/stdc_has_single_bit_us.cpp
    M libc/src/stdbit/stdc_has_single_bit_us.h
    M libc/src/stdbit/stdc_leading_ones_uc.cpp
    M libc/src/stdbit/stdc_leading_ones_uc.h
    M libc/src/stdbit/stdc_leading_ones_ui.cpp
    M libc/src/stdbit/stdc_leading_ones_ui.h
    M libc/src/stdbit/stdc_leading_ones_ul.cpp
    M libc/src/stdbit/stdc_leading_ones_ul.h
    M libc/src/stdbit/stdc_leading_ones_ull.cpp
    M libc/src/stdbit/stdc_leading_ones_ull.h
    M libc/src/stdbit/stdc_leading_ones_us.cpp
    M libc/src/stdbit/stdc_leading_ones_us.h
    M libc/src/stdbit/stdc_leading_zeros_uc.cpp
    M libc/src/stdbit/stdc_leading_zeros_uc.h
    M libc/src/stdbit/stdc_leading_zeros_ui.cpp
    M libc/src/stdbit/stdc_leading_zeros_ui.h
    M libc/src/stdbit/stdc_leading_zeros_ul.cpp
    M libc/src/stdbit/stdc_leading_zeros_ul.h
    M libc/src/stdbit/stdc_leading_zeros_ull.cpp
    M libc/src/stdbit/stdc_leading_zeros_ull.h
    M libc/src/stdbit/stdc_leading_zeros_us.cpp
    M libc/src/stdbit/stdc_leading_zeros_us.h
    M libc/src/stdbit/stdc_trailing_ones_uc.cpp
    M libc/src/stdbit/stdc_trailing_ones_uc.h
    M libc/src/stdbit/stdc_trailing_ones_ui.cpp
    M libc/src/stdbit/stdc_trailing_ones_ui.h
    M libc/src/stdbit/stdc_trailing_ones_ul.cpp
    M libc/src/stdbit/stdc_trailing_ones_ul.h
    M libc/src/stdbit/stdc_trailing_ones_ull.cpp
    M libc/src/stdbit/stdc_trailing_ones_ull.h
    M libc/src/stdbit/stdc_trailing_ones_us.cpp
    M libc/src/stdbit/stdc_trailing_ones_us.h
    M libc/src/stdbit/stdc_trailing_zeros_uc.cpp
    M libc/src/stdbit/stdc_trailing_zeros_uc.h
    M libc/src/stdbit/stdc_trailing_zeros_ui.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ui.h
    M libc/src/stdbit/stdc_trailing_zeros_ul.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ul.h
    M libc/src/stdbit/stdc_trailing_zeros_ull.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ull.h
    M libc/src/stdbit/stdc_trailing_zeros_us.cpp
    M libc/src/stdbit/stdc_trailing_zeros_us.h
    M libc/src/stdfix/abshk.cpp
    M libc/src/stdfix/abshk.h
    M libc/src/stdfix/abshr.cpp
    M libc/src/stdfix/abshr.h
    M libc/src/stdfix/absk.cpp
    M libc/src/stdfix/absk.h
    M libc/src/stdfix/abslk.cpp
    M libc/src/stdfix/abslk.h
    M libc/src/stdfix/abslr.cpp
    M libc/src/stdfix/abslr.h
    M libc/src/stdfix/absr.cpp
    M libc/src/stdfix/absr.h
    M libc/src/stdfix/exphk.cpp
    M libc/src/stdfix/exphk.h
    M libc/src/stdfix/expk.cpp
    M libc/src/stdfix/expk.h
    M libc/src/stdfix/roundhk.cpp
    M libc/src/stdfix/roundhk.h
    M libc/src/stdfix/roundhr.cpp
    M libc/src/stdfix/roundhr.h
    M libc/src/stdfix/roundk.cpp
    M libc/src/stdfix/roundk.h
    M libc/src/stdfix/roundlk.cpp
    M libc/src/stdfix/roundlk.h
    M libc/src/stdfix/roundlr.cpp
    M libc/src/stdfix/roundlr.h
    M libc/src/stdfix/roundr.cpp
    M libc/src/stdfix/roundr.h
    M libc/src/stdfix/rounduhk.cpp
    M libc/src/stdfix/rounduhk.h
    M libc/src/stdfix/rounduhr.cpp
    M libc/src/stdfix/rounduhr.h
    M libc/src/stdfix/rounduk.cpp
    M libc/src/stdfix/rounduk.h
    M libc/src/stdfix/roundulk.cpp
    M libc/src/stdfix/roundulk.h
    M libc/src/stdfix/roundulr.cpp
    M libc/src/stdfix/roundulr.h
    M libc/src/stdfix/roundur.cpp
    M libc/src/stdfix/roundur.h
    M libc/src/stdfix/sqrtuhk.cpp
    M libc/src/stdfix/sqrtuhk.h
    M libc/src/stdfix/sqrtuhr.cpp
    M libc/src/stdfix/sqrtuhr.h
    M libc/src/stdfix/sqrtuk.cpp
    M libc/src/stdfix/sqrtuk.h
    M libc/src/stdfix/sqrtulr.cpp
    M libc/src/stdfix/sqrtulr.h
    M libc/src/stdfix/sqrtur.cpp
    M libc/src/stdfix/sqrtur.h
    M libc/src/stdfix/uhksqrtus.cpp
    M libc/src/stdfix/uhksqrtus.h
    M libc/src/stdfix/uksqrtui.cpp
    M libc/src/stdfix/uksqrtui.h
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/baremetal/getchar.cpp
    M libc/src/stdio/baremetal/printf.cpp
    M libc/src/stdio/baremetal/putchar.cpp
    M libc/src/stdio/baremetal/puts.cpp
    M libc/src/stdio/baremetal/remove.cpp
    M libc/src/stdio/baremetal/vprintf.cpp
    M libc/src/stdio/clearerr.h
    M libc/src/stdio/clearerr_unlocked.h
    M libc/src/stdio/fclose.h
    M libc/src/stdio/fdopen.h
    M libc/src/stdio/feof.h
    M libc/src/stdio/feof_unlocked.h
    M libc/src/stdio/ferror.h
    M libc/src/stdio/ferror_unlocked.h
    M libc/src/stdio/fflush.h
    M libc/src/stdio/fgetc.h
    M libc/src/stdio/fgetc_unlocked.h
    M libc/src/stdio/fgets.h
    M libc/src/stdio/fileno.h
    M libc/src/stdio/flockfile.cpp
    M libc/src/stdio/flockfile.h
    M libc/src/stdio/fopen.h
    M libc/src/stdio/fopencookie.cpp
    M libc/src/stdio/fopencookie.h
    M libc/src/stdio/fprintf.cpp
    M libc/src/stdio/fprintf.h
    M libc/src/stdio/fputc.h
    M libc/src/stdio/fputs.h
    M libc/src/stdio/fread.h
    M libc/src/stdio/fread_unlocked.h
    M libc/src/stdio/fscanf.cpp
    M libc/src/stdio/fscanf.h
    M libc/src/stdio/fseek.h
    M libc/src/stdio/fseeko.h
    M libc/src/stdio/ftell.h
    M libc/src/stdio/ftello.h
    M libc/src/stdio/funlockfile.cpp
    M libc/src/stdio/funlockfile.h
    M libc/src/stdio/fwrite.h
    M libc/src/stdio/fwrite_unlocked.h
    M libc/src/stdio/generic/clearerr.cpp
    M libc/src/stdio/generic/clearerr_unlocked.cpp
    M libc/src/stdio/generic/fclose.cpp
    M libc/src/stdio/generic/feof.cpp
    M libc/src/stdio/generic/feof_unlocked.cpp
    M libc/src/stdio/generic/ferror.cpp
    M libc/src/stdio/generic/ferror_unlocked.cpp
    M libc/src/stdio/generic/fflush.cpp
    M libc/src/stdio/generic/fgetc.cpp
    M libc/src/stdio/generic/fgetc_unlocked.cpp
    M libc/src/stdio/generic/fgets.cpp
    M libc/src/stdio/generic/fileno.cpp
    M libc/src/stdio/generic/fopen.cpp
    M libc/src/stdio/generic/fputc.cpp
    M libc/src/stdio/generic/fputs.cpp
    M libc/src/stdio/generic/fread.cpp
    M libc/src/stdio/generic/fread_unlocked.cpp
    M libc/src/stdio/generic/fseek.cpp
    M libc/src/stdio/generic/fseeko.cpp
    M libc/src/stdio/generic/ftell.cpp
    M libc/src/stdio/generic/ftello.cpp
    M libc/src/stdio/generic/fwrite.cpp
    M libc/src/stdio/generic/fwrite_unlocked.cpp
    M libc/src/stdio/generic/getc.cpp
    M libc/src/stdio/generic/getc_unlocked.cpp
    M libc/src/stdio/generic/getchar.cpp
    M libc/src/stdio/generic/getchar_unlocked.cpp
    M libc/src/stdio/generic/printf.cpp
    M libc/src/stdio/generic/putc.cpp
    M libc/src/stdio/generic/putchar.cpp
    M libc/src/stdio/generic/puts.cpp
    M libc/src/stdio/generic/ungetc.cpp
    M libc/src/stdio/generic/vprintf.cpp
    M libc/src/stdio/getc.h
    M libc/src/stdio/getc_unlocked.h
    M libc/src/stdio/getchar.h
    M libc/src/stdio/getchar_unlocked.h
    M libc/src/stdio/gpu/clearerr.cpp
    M libc/src/stdio/gpu/fclose.cpp
    M libc/src/stdio/gpu/feof.cpp
    M libc/src/stdio/gpu/ferror.cpp
    M libc/src/stdio/gpu/fflush.cpp
    M libc/src/stdio/gpu/fgetc.cpp
    M libc/src/stdio/gpu/fgets.cpp
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fopen.cpp
    M libc/src/stdio/gpu/fputc.cpp
    M libc/src/stdio/gpu/fputs.cpp
    M libc/src/stdio/gpu/fread.cpp
    M libc/src/stdio/gpu/fseek.cpp
    M libc/src/stdio/gpu/ftell.cpp
    M libc/src/stdio/gpu/fwrite.cpp
    M libc/src/stdio/gpu/getc.cpp
    M libc/src/stdio/gpu/getchar.cpp
    M libc/src/stdio/gpu/putc.cpp
    M libc/src/stdio/gpu/putchar.cpp
    M libc/src/stdio/gpu/puts.cpp
    M libc/src/stdio/gpu/remove.cpp
    M libc/src/stdio/gpu/stderr.cpp
    M libc/src/stdio/gpu/stdin.cpp
    M libc/src/stdio/gpu/stdout.cpp
    M libc/src/stdio/gpu/ungetc.cpp
    M libc/src/stdio/linux/fdopen.cpp
    M libc/src/stdio/linux/remove.cpp
    M libc/src/stdio/linux/rename.cpp
    M libc/src/stdio/printf.h
    M libc/src/stdio/printf_core/char_converter.h
    M libc/src/stdio/printf_core/converter.cpp
    M libc/src/stdio/printf_core/converter.h
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    M libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_hex_converter.h
    M libc/src/stdio/printf_core/float_inf_nan_converter.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/printf_main.cpp
    M libc/src/stdio/printf_core/printf_main.h
    M libc/src/stdio/printf_core/ptr_converter.h
    M libc/src/stdio/printf_core/string_converter.h
    M libc/src/stdio/printf_core/vfprintf_internal.h
    M libc/src/stdio/printf_core/write_int_converter.h
    M libc/src/stdio/printf_core/writer.cpp
    M libc/src/stdio/printf_core/writer.h
    M libc/src/stdio/putc.h
    M libc/src/stdio/putchar.h
    M libc/src/stdio/puts.h
    M libc/src/stdio/remove.h
    M libc/src/stdio/rename.h
    M libc/src/stdio/scanf.cpp
    M libc/src/stdio/scanf.h
    M libc/src/stdio/scanf_core/converter.cpp
    M libc/src/stdio/scanf_core/converter.h
    M libc/src/stdio/scanf_core/converter_utils.h
    M libc/src/stdio/scanf_core/core_structs.h
    M libc/src/stdio/scanf_core/current_pos_converter.h
    M libc/src/stdio/scanf_core/float_converter.cpp
    M libc/src/stdio/scanf_core/float_converter.h
    M libc/src/stdio/scanf_core/int_converter.cpp
    M libc/src/stdio/scanf_core/int_converter.h
    M libc/src/stdio/scanf_core/parser.h
    M libc/src/stdio/scanf_core/ptr_converter.cpp
    M libc/src/stdio/scanf_core/ptr_converter.h
    M libc/src/stdio/scanf_core/reader.cpp
    M libc/src/stdio/scanf_core/reader.h
    M libc/src/stdio/scanf_core/scanf_main.cpp
    M libc/src/stdio/scanf_core/scanf_main.h
    M libc/src/stdio/scanf_core/string_converter.cpp
    M libc/src/stdio/scanf_core/string_converter.h
    M libc/src/stdio/scanf_core/vfscanf_internal.h
    M libc/src/stdio/setbuf.cpp
    M libc/src/stdio/setbuf.h
    M libc/src/stdio/setvbuf.cpp
    M libc/src/stdio/setvbuf.h
    M libc/src/stdio/snprintf.cpp
    M libc/src/stdio/snprintf.h
    M libc/src/stdio/sprintf.cpp
    M libc/src/stdio/sprintf.h
    M libc/src/stdio/sscanf.cpp
    M libc/src/stdio/sscanf.h
    M libc/src/stdio/ungetc.h
    M libc/src/stdio/vfprintf.cpp
    M libc/src/stdio/vfprintf.h
    M libc/src/stdio/vprintf.h
    M libc/src/stdio/vsnprintf.cpp
    M libc/src/stdio/vsnprintf.h
    M libc/src/stdio/vsprintf.cpp
    M libc/src/stdio/vsprintf.h
    M libc/src/stdlib/_Exit.cpp
    M libc/src/stdlib/_Exit.h
    M libc/src/stdlib/abort.h
    M libc/src/stdlib/abs.cpp
    M libc/src/stdlib/abs.h
    M libc/src/stdlib/aligned_alloc.h
    M libc/src/stdlib/at_quick_exit.cpp
    M libc/src/stdlib/at_quick_exit.h
    M libc/src/stdlib/atexit.cpp
    M libc/src/stdlib/atexit.h
    M libc/src/stdlib/atof.cpp
    M libc/src/stdlib/atof.h
    M libc/src/stdlib/atoi.cpp
    M libc/src/stdlib/atoi.h
    M libc/src/stdlib/atol.cpp
    M libc/src/stdlib/atol.h
    M libc/src/stdlib/atoll.cpp
    M libc/src/stdlib/atoll.h
    M libc/src/stdlib/baremetal/abort.cpp
    M libc/src/stdlib/bsearch.cpp
    M libc/src/stdlib/bsearch.h
    M libc/src/stdlib/calloc.h
    M libc/src/stdlib/div.cpp
    M libc/src/stdlib/div.h
    M libc/src/stdlib/exit.cpp
    M libc/src/stdlib/exit.h
    M libc/src/stdlib/exit_handler.cpp
    M libc/src/stdlib/exit_handler.h
    M libc/src/stdlib/free.h
    M libc/src/stdlib/freelist_malloc.cpp
    M libc/src/stdlib/getenv.cpp
    M libc/src/stdlib/getenv.h
    M libc/src/stdlib/gpu/abort.cpp
    M libc/src/stdlib/gpu/free.cpp
    M libc/src/stdlib/gpu/malloc.cpp
    M libc/src/stdlib/labs.cpp
    M libc/src/stdlib/labs.h
    M libc/src/stdlib/ldiv.cpp
    M libc/src/stdlib/ldiv.h
    M libc/src/stdlib/linux/abort.cpp
    M libc/src/stdlib/llabs.cpp
    M libc/src/stdlib/llabs.h
    M libc/src/stdlib/lldiv.cpp
    M libc/src/stdlib/lldiv.h
    M libc/src/stdlib/malloc.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_r.h
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_exit.cpp
    M libc/src/stdlib/quick_exit.h
    M libc/src/stdlib/rand.cpp
    M libc/src/stdlib/rand.h
    M libc/src/stdlib/rand_util.cpp
    M libc/src/stdlib/rand_util.h
    M libc/src/stdlib/realloc.h
    M libc/src/stdlib/srand.cpp
    M libc/src/stdlib/srand.h
    M libc/src/stdlib/str_from_util.h
    M libc/src/stdlib/strfromd.cpp
    M libc/src/stdlib/strfromd.h
    M libc/src/stdlib/strfromf.cpp
    M libc/src/stdlib/strfromf.h
    M libc/src/stdlib/strfroml.cpp
    M libc/src/stdlib/strfroml.h
    M libc/src/stdlib/strtod.cpp
    M libc/src/stdlib/strtod.h
    M libc/src/stdlib/strtof.cpp
    M libc/src/stdlib/strtof.h
    M libc/src/stdlib/strtol.cpp
    M libc/src/stdlib/strtol.h
    M libc/src/stdlib/strtold.cpp
    M libc/src/stdlib/strtold.h
    M libc/src/stdlib/strtoll.cpp
    M libc/src/stdlib/strtoll.h
    M libc/src/stdlib/strtoul.cpp
    M libc/src/stdlib/strtoul.h
    M libc/src/stdlib/strtoull.cpp
    M libc/src/stdlib/strtoull.h
    M libc/src/string/allocating_string_utils.h
    M libc/src/string/bcmp.cpp
    M libc/src/string/bcmp.h
    M libc/src/string/bcopy.cpp
    M libc/src/string/bcopy.h
    M libc/src/string/bzero.cpp
    M libc/src/string/bzero.h
    M libc/src/string/index.cpp
    M libc/src/string/index.h
    M libc/src/string/memccpy.cpp
    M libc/src/string/memccpy.h
    M libc/src/string/memchr.cpp
    M libc/src/string/memchr.h
    M libc/src/string/memcmp.cpp
    M libc/src/string/memcmp.h
    M libc/src/string/memcpy.cpp
    M libc/src/string/memcpy.h
    M libc/src/string/memmem.cpp
    M libc/src/string/memmem.h
    M libc/src/string/memmove.cpp
    M libc/src/string/memmove.h
    M libc/src/string/memory_utils/aarch64/inline_bcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcpy.h
    M libc/src/string/memory_utils/aarch64/inline_memmove.h
    M libc/src/string/memory_utils/aarch64/inline_memset.h
    M libc/src/string/memory_utils/generic/aligned_access.h
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/generic/byte_per_byte.h
    M libc/src/string/memory_utils/inline_bcmp.h
    M libc/src/string/memory_utils/inline_bzero.h
    M libc/src/string/memory_utils/inline_memcmp.h
    M libc/src/string/memory_utils/inline_memcpy.h
    M libc/src/string/memory_utils/inline_memmem.h
    M libc/src/string/memory_utils/inline_memmove.h
    M libc/src/string/memory_utils/inline_memset.h
    M libc/src/string/memory_utils/inline_strcmp.h
    M libc/src/string/memory_utils/inline_strstr.h
    M libc/src/string/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/op_generic.h
    M libc/src/string/memory_utils/op_riscv.h
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/memory_utils/riscv/inline_bcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcpy.h
    M libc/src/string/memory_utils/riscv/inline_memmove.h
    M libc/src/string/memory_utils/riscv/inline_memset.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/memory_utils/x86_64/inline_bcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/src/string/memory_utils/x86_64/inline_memmove.h
    M libc/src/string/memory_utils/x86_64/inline_memset.h
    M libc/src/string/mempcpy.cpp
    M libc/src/string/mempcpy.h
    M libc/src/string/memrchr.cpp
    M libc/src/string/memrchr.h
    M libc/src/string/memset.cpp
    M libc/src/string/memset.h
    M libc/src/string/memset_explicit.cpp
    M libc/src/string/memset_explicit.h
    M libc/src/string/rindex.cpp
    M libc/src/string/rindex.h
    M libc/src/string/stpcpy.cpp
    M libc/src/string/stpcpy.h
    M libc/src/string/stpncpy.cpp
    M libc/src/string/stpncpy.h
    M libc/src/string/strcasecmp.cpp
    M libc/src/string/strcasecmp.h
    M libc/src/string/strcasestr.cpp
    M libc/src/string/strcasestr.h
    M libc/src/string/strcat.cpp
    M libc/src/string/strcat.h
    M libc/src/string/strchr.cpp
    M libc/src/string/strchr.h
    M libc/src/string/strchrnul.cpp
    M libc/src/string/strchrnul.h
    M libc/src/string/strcmp.cpp
    M libc/src/string/strcmp.h
    M libc/src/string/strcoll.cpp
    M libc/src/string/strcoll.h
    M libc/src/string/strcpy.cpp
    M libc/src/string/strcpy.h
    M libc/src/string/strcspn.cpp
    M libc/src/string/strcspn.h
    M libc/src/string/strdup.cpp
    M libc/src/string/strdup.h
    M libc/src/string/strerror.cpp
    M libc/src/string/strerror.h
    M libc/src/string/strerror_r.cpp
    M libc/src/string/strerror_r.h
    M libc/src/string/string_utils.h
    M libc/src/string/strlcat.cpp
    M libc/src/string/strlcat.h
    M libc/src/string/strlcpy.cpp
    M libc/src/string/strlcpy.h
    M libc/src/string/strlen.cpp
    M libc/src/string/strlen.h
    M libc/src/string/strncasecmp.cpp
    M libc/src/string/strncasecmp.h
    M libc/src/string/strncat.cpp
    M libc/src/string/strncat.h
    M libc/src/string/strncmp.cpp
    M libc/src/string/strncmp.h
    M libc/src/string/strncpy.cpp
    M libc/src/string/strncpy.h
    M libc/src/string/strndup.cpp
    M libc/src/string/strndup.h
    M libc/src/string/strnlen.cpp
    M libc/src/string/strnlen.h
    M libc/src/string/strpbrk.cpp
    M libc/src/string/strpbrk.h
    M libc/src/string/strrchr.cpp
    M libc/src/string/strrchr.h
    M libc/src/string/strsep.cpp
    M libc/src/string/strsep.h
    M libc/src/string/strsignal.cpp
    M libc/src/string/strsignal.h
    M libc/src/string/strspn.cpp
    M libc/src/string/strspn.h
    M libc/src/string/strstr.cpp
    M libc/src/string/strstr.h
    M libc/src/string/strtok.cpp
    M libc/src/string/strtok.h
    M libc/src/string/strtok_r.cpp
    M libc/src/string/strtok_r.h
    M libc/src/string/strxfrm.cpp
    M libc/src/string/strxfrm.h
    M libc/src/sys/auxv/getauxval.h
    M libc/src/sys/auxv/linux/getauxval.cpp
    M libc/src/sys/epoll/epoll_create.h
    M libc/src/sys/epoll/epoll_create1.h
    M libc/src/sys/epoll/epoll_ctl.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/epoll_create.cpp
    M libc/src/sys/epoll/linux/epoll_create1.cpp
    M libc/src/sys/epoll/linux/epoll_ctl.cpp
    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/mman/linux/madvise.cpp
    M libc/src/sys/mman/linux/mincore.cpp
    M libc/src/sys/mman/linux/mlock.cpp
    M libc/src/sys/mman/linux/mlock2.cpp
    M libc/src/sys/mman/linux/mlockall.cpp
    M libc/src/sys/mman/linux/mmap.cpp
    M libc/src/sys/mman/linux/mprotect.cpp
    M libc/src/sys/mman/linux/msync.cpp
    M libc/src/sys/mman/linux/munlock.cpp
    M libc/src/sys/mman/linux/munlockall.cpp
    M libc/src/sys/mman/linux/munmap.cpp
    M libc/src/sys/mman/linux/posix_madvise.cpp
    M libc/src/sys/mman/linux/shm_common.h
    M libc/src/sys/mman/linux/shm_open.cpp
    M libc/src/sys/mman/linux/shm_unlink.cpp
    M libc/src/sys/mman/madvise.h
    M libc/src/sys/mman/mincore.h
    M libc/src/sys/mman/mlock.h
    M libc/src/sys/mman/mlock2.h
    M libc/src/sys/mman/mlockall.h
    M libc/src/sys/mman/mmap.h
    M libc/src/sys/mman/mprotect.h
    M libc/src/sys/mman/msync.h
    M libc/src/sys/mman/munlock.h
    M libc/src/sys/mman/munlockall.h
    M libc/src/sys/mman/munmap.h
    M libc/src/sys/mman/posix_madvise.h
    M libc/src/sys/mman/shm_open.h
    M libc/src/sys/mman/shm_unlink.h
    M libc/src/sys/prctl/linux/prctl.cpp
    M libc/src/sys/prctl/prctl.h
    M libc/src/sys/random/getrandom.h
    M libc/src/sys/random/linux/getrandom.cpp
    M libc/src/sys/resource/getrlimit.h
    M libc/src/sys/resource/linux/getrlimit.cpp
    M libc/src/sys/resource/linux/setrlimit.cpp
    M libc/src/sys/resource/setrlimit.h
    M libc/src/sys/select/linux/select.cpp
    M libc/src/sys/select/select.h
    M libc/src/sys/sendfile/linux/sendfile.cpp
    M libc/src/sys/sendfile/sendfile.h
    M libc/src/sys/socket/bind.h
    M libc/src/sys/socket/linux/bind.cpp
    M libc/src/sys/socket/linux/socket.cpp
    M libc/src/sys/socket/socket.h
    M libc/src/sys/stat/chmod.h
    M libc/src/sys/stat/fchmod.h
    M libc/src/sys/stat/fchmodat.h
    M libc/src/sys/stat/fstat.h
    M libc/src/sys/stat/linux/chmod.cpp
    M libc/src/sys/stat/linux/fchmod.cpp
    M libc/src/sys/stat/linux/fchmodat.cpp
    M libc/src/sys/stat/linux/fstat.cpp
    M libc/src/sys/stat/linux/kernel_statx.h
    M libc/src/sys/stat/linux/lstat.cpp
    M libc/src/sys/stat/linux/mkdir.cpp
    M libc/src/sys/stat/linux/mkdirat.cpp
    M libc/src/sys/stat/linux/stat.cpp
    M libc/src/sys/stat/lstat.h
    M libc/src/sys/stat/mkdir.h
    M libc/src/sys/stat/mkdirat.h
    M libc/src/sys/stat/stat.h
    M libc/src/sys/statvfs/fstatvfs.h
    M libc/src/sys/statvfs/linux/fstatvfs.cpp
    M libc/src/sys/statvfs/linux/statfs_utils.h
    M libc/src/sys/statvfs/linux/statvfs.cpp
    M libc/src/sys/statvfs/statvfs.h
    M libc/src/sys/utsname/linux/uname.cpp
    M libc/src/sys/utsname/uname.h
    M libc/src/sys/wait/linux/wait.cpp
    M libc/src/sys/wait/linux/wait4.cpp
    M libc/src/sys/wait/linux/waitpid.cpp
    M libc/src/sys/wait/wait.h
    M libc/src/sys/wait/wait4.h
    M libc/src/sys/wait/wait4Impl.h
    M libc/src/sys/wait/waitpid.h
    M libc/src/termios/cfgetispeed.h
    M libc/src/termios/cfgetospeed.h
    M libc/src/termios/cfsetispeed.h
    M libc/src/termios/cfsetospeed.h
    M libc/src/termios/linux/cfgetispeed.cpp
    M libc/src/termios/linux/cfgetospeed.cpp
    M libc/src/termios/linux/cfsetispeed.cpp
    M libc/src/termios/linux/cfsetospeed.cpp
    M libc/src/termios/linux/kernel_termios.h
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/termios/tcdrain.h
    M libc/src/termios/tcflow.h
    M libc/src/termios/tcflush.h
    M libc/src/termios/tcgetattr.h
    M libc/src/termios/tcgetsid.h
    M libc/src/termios/tcsendbreak.h
    M libc/src/termios/tcsetattr.h
    M libc/src/threads/call_once.cpp
    M libc/src/threads/call_once.h
    M libc/src/threads/cnd_broadcast.h
    M libc/src/threads/cnd_destroy.h
    M libc/src/threads/cnd_init.h
    M libc/src/threads/cnd_signal.h
    M libc/src/threads/cnd_wait.h
    M libc/src/threads/linux/Futex.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp
    M libc/src/threads/mtx_destroy.cpp
    M libc/src/threads/mtx_destroy.h
    M libc/src/threads/mtx_init.cpp
    M libc/src/threads/mtx_init.h
    M libc/src/threads/mtx_lock.cpp
    M libc/src/threads/mtx_lock.h
    M libc/src/threads/mtx_unlock.cpp
    M libc/src/threads/mtx_unlock.h
    M libc/src/threads/thrd_create.cpp
    M libc/src/threads/thrd_create.h
    M libc/src/threads/thrd_current.cpp
    M libc/src/threads/thrd_current.h
    M libc/src/threads/thrd_detach.cpp
    M libc/src/threads/thrd_detach.h
    M libc/src/threads/thrd_equal.cpp
    M libc/src/threads/thrd_equal.h
    M libc/src/threads/thrd_exit.cpp
    M libc/src/threads/thrd_exit.h
    M libc/src/threads/thrd_join.cpp
    M libc/src/threads/thrd_join.h
    M libc/src/threads/tss_create.cpp
    M libc/src/threads/tss_create.h
    M libc/src/threads/tss_delete.cpp
    M libc/src/threads/tss_delete.h
    M libc/src/threads/tss_get.cpp
    M libc/src/threads/tss_get.h
    M libc/src/threads/tss_set.cpp
    M libc/src/threads/tss_set.h
    M libc/src/time/asctime.cpp
    M libc/src/time/asctime.h
    M libc/src/time/asctime_r.cpp
    M libc/src/time/asctime_r.h
    M libc/src/time/clock.h
    M libc/src/time/clock_gettime.h
    M libc/src/time/difftime.cpp
    M libc/src/time/difftime.h
    M libc/src/time/gettimeofday.h
    M libc/src/time/gmtime.cpp
    M libc/src/time/gmtime.h
    M libc/src/time/gmtime_r.cpp
    M libc/src/time/gmtime_r.h
    M libc/src/time/gpu/clock.cpp
    M libc/src/time/gpu/nanosleep.cpp
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    M libc/src/time/linux/clock.cpp
    M libc/src/time/linux/clock_gettime.cpp
    M libc/src/time/linux/gettimeofday.cpp
    M libc/src/time/linux/nanosleep.cpp
    M libc/src/time/linux/time.cpp
    M libc/src/time/mktime.cpp
    M libc/src/time/mktime.h
    M libc/src/time/nanosleep.h
    M libc/src/time/time_func.h
    M libc/src/time/time_utils.cpp
    M libc/src/time/time_utils.h
    M libc/src/unistd/_exit.cpp
    M libc/src/unistd/_exit.h
    M libc/src/unistd/access.h
    M libc/src/unistd/chdir.h
    M libc/src/unistd/close.h
    M libc/src/unistd/dup.h
    M libc/src/unistd/dup2.h
    M libc/src/unistd/dup3.h
    M libc/src/unistd/environ.cpp
    M libc/src/unistd/environ.h
    M libc/src/unistd/execv.h
    M libc/src/unistd/execve.h
    M libc/src/unistd/fchdir.h
    M libc/src/unistd/fork.h
    M libc/src/unistd/fpathconf.h
    M libc/src/unistd/fsync.h
    M libc/src/unistd/ftruncate.h
    M libc/src/unistd/getcwd.h
    M libc/src/unistd/geteuid.h
    M libc/src/unistd/getopt.cpp
    M libc/src/unistd/getopt.h
    M libc/src/unistd/getpid.h
    M libc/src/unistd/getppid.h
    M libc/src/unistd/getuid.h
    M libc/src/unistd/isatty.h
    M libc/src/unistd/link.h
    M libc/src/unistd/linkat.h
    M libc/src/unistd/linux/access.cpp
    M libc/src/unistd/linux/chdir.cpp
    M libc/src/unistd/linux/close.cpp
    M libc/src/unistd/linux/dup.cpp
    M libc/src/unistd/linux/dup2.cpp
    M libc/src/unistd/linux/dup3.cpp
    M libc/src/unistd/linux/execv.cpp
    M libc/src/unistd/linux/execve.cpp
    M libc/src/unistd/linux/fchdir.cpp
    M libc/src/unistd/linux/fork.cpp
    M libc/src/unistd/linux/fpathconf.cpp
    M libc/src/unistd/linux/fsync.cpp
    M libc/src/unistd/linux/ftruncate.cpp
    M libc/src/unistd/linux/getcwd.cpp
    M libc/src/unistd/linux/geteuid.cpp
    M libc/src/unistd/linux/getpid.cpp
    M libc/src/unistd/linux/getppid.cpp
    M libc/src/unistd/linux/getuid.cpp
    M libc/src/unistd/linux/isatty.cpp
    M libc/src/unistd/linux/link.cpp
    M libc/src/unistd/linux/linkat.cpp
    M libc/src/unistd/linux/lseek.cpp
    M libc/src/unistd/linux/pathconf.cpp
    M libc/src/unistd/linux/pathconf_utils.cpp
    M libc/src/unistd/linux/pathconf_utils.h
    M libc/src/unistd/linux/pipe.cpp
    M libc/src/unistd/linux/pread.cpp
    M libc/src/unistd/linux/pwrite.cpp
    M libc/src/unistd/linux/read.cpp
    M libc/src/unistd/linux/readlink.cpp
    M libc/src/unistd/linux/readlinkat.cpp
    M libc/src/unistd/linux/rmdir.cpp
    M libc/src/unistd/linux/symlink.cpp
    M libc/src/unistd/linux/symlinkat.cpp
    M libc/src/unistd/linux/syscall.cpp
    M libc/src/unistd/linux/sysconf.cpp
    M libc/src/unistd/linux/truncate.cpp
    M libc/src/unistd/linux/unlink.cpp
    M libc/src/unistd/linux/unlinkat.cpp
    M libc/src/unistd/linux/write.cpp
    M libc/src/unistd/lseek.h
    M libc/src/unistd/pathconf.h
    M libc/src/unistd/pipe.h
    M libc/src/unistd/pread.h
    M libc/src/unistd/pwrite.h
    M libc/src/unistd/read.h
    M libc/src/unistd/readlink.h
    M libc/src/unistd/readlinkat.h
    M libc/src/unistd/rmdir.h
    M libc/src/unistd/swab.cpp
    M libc/src/unistd/swab.h
    M libc/src/unistd/symlink.h
    M libc/src/unistd/symlinkat.h
    M libc/src/unistd/syscall.h
    M libc/src/unistd/sysconf.h
    M libc/src/unistd/truncate.h
    M libc/src/unistd/unlink.h
    M libc/src/unistd/unlinkat.h
    M libc/src/unistd/write.h
    M libc/src/wchar/btowc.cpp
    M libc/src/wchar/btowc.h
    M libc/src/wchar/wctob.cpp
    M libc/src/wchar/wctob.h
    M libc/startup/baremetal/fini.cpp
    M libc/startup/baremetal/init.cpp
    M libc/startup/gpu/amdgpu/start.cpp
    M libc/startup/gpu/nvptx/start.cpp
    M libc/startup/linux/aarch64/tls.cpp
    M libc/startup/linux/do_start.cpp
    M libc/startup/linux/do_start.h
    M libc/startup/linux/riscv/tls.cpp
    M libc/startup/linux/x86_64/tls.cpp
    M libc/test/IntegrationTest/test.cpp
    M libc/test/UnitTest/BazelFilePath.cpp
    M libc/test/UnitTest/CmakeFilePath.cpp
    M libc/test/UnitTest/ErrnoSetterMatcher.h
    M libc/test/UnitTest/ExecuteFunction.h
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FEnvSafeTest.cpp
    M libc/test/UnitTest/FEnvSafeTest.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPExceptMatcher.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/UnitTest/GTest.h
    M libc/test/UnitTest/HermeticTestUtils.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    M libc/test/UnitTest/PrintfMatcher.cpp
    M libc/test/UnitTest/PrintfMatcher.h
    M libc/test/UnitTest/RoundingModeUtils.cpp
    M libc/test/UnitTest/RoundingModeUtils.h
    M libc/test/UnitTest/ScanfMatcher.cpp
    M libc/test/UnitTest/ScanfMatcher.h
    M libc/test/UnitTest/StringUtils.h
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/UnitTest/TestLogger.h
    M libc/test/UnitTest/ZxTest.h
    M libc/test/include/sys/queue_test.cpp
    M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
    M libc/test/src/__support/CPP/algorithm_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/CPP/cstddef_test.cpp
    M libc/test/src/__support/CPP/limits_test.cpp
    M libc/test/src/__support/CPP/type_traits_test.cpp
    M libc/test/src/__support/HashTable/bitmask_test.cpp
    M libc/test/src/__support/HashTable/group_test.cpp
    M libc/test/src/__support/HashTable/table_test.cpp
    M libc/test/src/__support/big_int_test.cpp
    M libc/test/src/__support/endian_test.cpp
    M libc/test/src/__support/freelist_heap_test.cpp
    M libc/test/src/__support/math_extras_test.cpp
    M libc/test/src/__support/memory_size_test.cpp
    M libc/test/src/__support/str_to_double_test.cpp
    M libc/test/src/__support/str_to_float_test.cpp
    M libc/test/src/__support/str_to_fp_test.h
    M libc/test/src/__support/str_to_long_double_test.cpp
    M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
    M libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
    M libc/test/src/math/performance_testing/Timer.cpp
    M libc/test/src/math/performance_testing/Timer.h
    M libc/test/src/math/sdcomp26094.h
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdlib/strtoint32_test.cpp
    M libc/test/src/stdlib/strtoint64_test.cpp
    M libc/test/src/string/bcmp_test.cpp
    M libc/test/src/string/bcopy_test.cpp
    M libc/test/src/string/bzero_test.cpp
    M libc/test/src/string/memcmp_test.cpp
    M libc/test/src/string/memcpy_test.cpp
    M libc/test/src/string/memmem_test.cpp
    M libc/test/src/string/memmove_test.cpp
    M libc/test/src/string/memory_utils/memory_check_utils.h
    M libc/test/src/string/memory_utils/op_tests.cpp
    M libc/test/src/string/memory_utils/utils_test.cpp
    M libc/test/src/string/memset_explicit_test.cpp
    M libc/test/src/string/memset_test.cpp
    M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
    M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
    M libc/test/src/time/TmHelper.h
    M libc/test/src/time/TmMatcher.h
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl

  Log Message:
  -----------
  [libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98075)

This is a part of #97655.


  Commit: 60c90336b66c2df1b5ca3d2fb6041bb56c56759c
      https://github.com/llvm/llvm-project/commit/60c90336b66c2df1b5ca3d2fb6041bb56c56759c
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Semantics/type.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/type.cpp
    M flang/test/Semantics/c_loc01.f90

  Log Message:
  -----------
  [flang] Silence over-eager warning about interoperable character length (#97353)

Make the results of the two IsInteroperableIntrinsicType() utility
routines a tri-state std::optional<bool> so that cases where the
character length is simply unknown can be distinguished from those cases
where the length is known and not acceptable. Use this distinction to
not emit a confusing warning about interoperability with C_LOC()
arguments when the length is unknown and might well be acceptable during
execution.


  Commit: 5024a6ec974536596b3d51895e73462f2f71dc0d
      https://github.com/llvm/llvm-project/commit/5024a6ec974536596b3d51895e73462f2f71dc0d
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/include/flang/Parser/provenance.h
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/provenance.cpp
    A flang/test/Preprocessing/timestamp.F90

  Log Message:
  -----------
  [flang][preprocessor] Support __TIMESTAMP__ (#98057)

Support the predefined macro __TIMESTAMP__ as interpreted by GCC. It
expands to a character literal with the time of last modification of the
top-level source file in asctime(3) format, e.g. "Tue Jul 4 10:18:05
1776".


  Commit: 43024a465120315464490ca9c6074553cd968089
      https://github.com/llvm/llvm-project/commit/43024a465120315464490ca9c6074553cd968089
  Author: Alan Zhao <ayzhao at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lldb/docs/conf.py

  Log Message:
  -----------
  [lldb][man][nfc] Don't register a markdown parser when building man packages (#98420)

This reduces Sphinx dependencies for building lldb man pages as lldb man
pages don't use markdown.


  Commit: ea4ae2590dea6ab5acf790a6098863d4ba63300f
      https://github.com/llvm/llvm-project/commit/ea4ae2590dea6ab5acf790a6098863d4ba63300f
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lldb/source/Core/Section.cpp
    M lldb/test/Shell/Commands/command-target-modules-dump-sections.yaml

  Log Message:
  -----------
  [lldb] Fix section printing to always align. (#98521)

Section IDs are 64 bit and if a section ID was over 4GB, then the
tabular output of the "target modules dump sections" command would not
align to the column headers. Also if the section type's name was too
long, the output wouldn't algin. This patch fixes this issue.

Old output looked like:
```
(lldb) image dump sections a.out
Sections for '/tmp/a.out' (arm):
  SectID     Type             File Address                             Perm File Off.  File Size  Flags      Section Name
  ---------- ---------------- ---------------------------------------  ---- ---------- ---------- ---------- ----------------------------
  0xffffffffffffffff container        [0x0000000000001000-0x0000000000001010)  rw-  0x00000074 0x00000010 0x00000000 a.out.PT_LOAD[0]
  0x00000001 data             [0x0000000000001000-0x0000000000001010)  rw-  0x00000074 0x00000010 0x00000003 a.out.PT_LOAD[0]..data
  0xfffffffffffffffe container        [0x0000000000001000-0x0000000000001010)  rw-  0x00000084 0x00000000 0x00000000 a.out.PT_TLS[0]
  0x00000002 zero-fill        [0x0000000000001000-0x0000000000001010)  rw-  0x00000084 0x00000000 0x00000403 a.out.PT_TLS[0]..tbss
  0x00000003 regular                                                   ---  0x00000084 0x00000001 0x00000000 a.out..strtab
  0x00000004 regular                                                   ---  0x00000085 0x0000001f 0x00000000 a.out..shstrtab
```
New output looks like:
```
(lldb) image dump sections a.out
Sections for '/tmp/a.out' (arm):
  SectID             Type                   File Address                             Perm File Off.  File Size  Flags      Section Name
  ------------------ ---------------------- ---------------------------------------  ---- ---------- ---------- ---------- ----------------------------
  0xffffffffffffffff container              [0x0000000000001000-0x0000000000001010)  rw-  0x00000074 0x00000010 0x00000000 a.out.PT_LOAD[0]
  0x0000000000000001 data                   [0x0000000000001000-0x0000000000001010)  rw-  0x00000074 0x00000010 0x00000003 a.out.PT_LOAD[0]..data
  0xfffffffffffffffe container              [0x0000000000001000-0x0000000000001010)  rw-  0x00000084 0x00000000 0x00000000 a.out.PT_TLS[0]
  0x0000000000000002 zero-fill              [0x0000000000001000-0x0000000000001010)  rw-  0x00000084 0x00000000 0x00000403 a.out.PT_TLS[0]..tbss
  0x0000000000000003 regular                                                         ---  0x00000084 0x00000001 0x00000000 a.out..strtab
  0x0000000000000004 regular                                                         ---  0x00000085 0x0000001f 0x00000000 a.out..shstrtab
```


  Commit: 0b58f34c98e4715c3c920820d79e53e8d99c1b59
      https://github.com/llvm/llvm-project/commit/0b58f34c98e4715c3c920820d79e53e8d99c1b59
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/IR/ConstrainedOps.def
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/Assembler/fp-intrinsics-attr.ll
    M llvm/test/CodeGen/X86/fp-intrinsics.ll
    M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
    M llvm/test/CodeGen/X86/fp80-strict-libcalls.ll
    A llvm/test/CodeGen/X86/llvm.acos.ll
    A llvm/test/CodeGen/X86/llvm.asin.ll
    A llvm/test/CodeGen/X86/llvm.atan.ll
    A llvm/test/CodeGen/X86/llvm.cosh.ll
    A llvm/test/CodeGen/X86/llvm.sinh.ll
    A llvm/test/CodeGen/X86/llvm.tanh.ll
    M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
    M llvm/test/Feature/fp-intrinsics.ll

  Log Message:
  -----------
  [X86][CodeGen] Add base trig intrinsic lowerings (#96222)

This change is an implementation of
https://github.com/llvm/llvm-project/issues/87367's investigation on
supporting IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294

This change adds constraint intrinsics and some lowering cases for
`acos`, `asin`, `atan`, `cosh`, `sinh`, and `tanh`.
The only x86 specific change was for f80.

https://github.com/llvm/llvm-project/issues/70079
https://github.com/llvm/llvm-project/issues/70080
https://github.com/llvm/llvm-project/issues/70081
https://github.com/llvm/llvm-project/issues/70083
https://github.com/llvm/llvm-project/issues/70084
https://github.com/llvm/llvm-project/issues/95966
    
The x86 lowering is going to be done in three pr changes with this being
the first.
A second PR will be put up for Loop Vectorizing and then SLPVectorizer.

The constraint intrinsics is also going to be in multiple parts, but
just 2.
This part covers just the llvm specific changes, part2 will cover clang
specifc changes and legalization for backends than have special
legalization
 requirements like aarch64 and wasm.


  Commit: d5285fef00f6c5a725a515118192dd117fc3c665
      https://github.com/llvm/llvm-project/commit/d5285fef00f6c5a725a515118192dd117fc3c665
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-deallocate.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/check-nullify.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/definable.h
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/definable02.f90
    M flang/test/Semantics/final03.f90

  Log Message:
  -----------
  [flang] Downgrade error message to a portability warning (#98368)

f18 current emits an error when an assignment is made to an array
section with a vector subscript, and the array is finalized with a
non-elemental final subroutine. Some other compilers emit this error
because (I think) they want variables to only be finalized in place, not
by a subroutine call involving copy-in & copy-out of the finalized
elements.

Since many other Fortran compilers can handle this case, and there's
nothing in the standards to preclude it, let's downgrade this error
message to a portability warning.

This patch got complicated because the API for the WhyNotDefinable()
utility routine was such that it would return a message only in error
cases, and there was no provision for returning non-fatal messages. It
now returns either nothing, a fatal message, or a non-fatal warning
message, and all of its call sites have been modified to cope.


  Commit: d6f314ce870266a051a659d09938d8ceb34e36f1
      https://github.com/llvm/llvm-project/commit/d6f314ce870266a051a659d09938d8ceb34e36f1
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/ignore_tkr01.f90

  Log Message:
  -----------
  [flang] Accept IGNORE_TKR in separate module procedure interface (#98374)

We emit an incorrect error message when !DIR$ IGNORE_TKR appears in a
separate module procedure's interface declaration.

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


  Commit: a074f8869563cb5b296732e0e8af46dcdc286ae5
      https://github.com/llvm/llvm-project/commit/a074f8869563cb5b296732e0e8af46dcdc286ae5
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
    M clang-tools-extra/docs/clang-tidy/checks/llvmlibc/implementation-in-namespace.rst
    M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/implementation-in-namespace.cpp

  Log Message:
  -----------
  [libc] Update libc namespace clang-tidy checks (#98424)

This patch updates the clang-tidy checks for llvm-libc to ensure that
the namespace macro used to declare the libc namespace is updated from
LIBC_NAMESPACE to LIBC_NAMESPACE_DECL which by default has hidden
visibility.

Co-authored-by: Prabhu Rajesakeran <prabhukr at google.com>


  Commit: eb9a78bb542434258f4f06097a0a336a055847a3
      https://github.com/llvm/llvm-project/commit/eb9a78bb542434258f4f06097a0a336a055847a3
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp

  Log Message:
  -----------
  [flang] Fix bad parse tree rewrite into a substring (#98407)

Data designators like "a(j:k)" are parsed into array section references,
but once rank and type information is in hand, some of them turn out to
actually be substring references. The code that recognizes these cases
was suffering from a "false positive" in the case of a construct entity
in a SELECT RANK construct due to the use of a predicate member function
(Symbol::IsObjectArray) that only works on ObjectEntityDetails symbols.
Fix the test to use the more general Symbol::Rank() member function.


  Commit: 6f04f46927cf54d19cc2a1470f47d5db4b3b96bb
      https://github.com/llvm/llvm-project/commit/6f04f46927cf54d19cc2a1470f47d5db4b3b96bb
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Headers/avx512fp16intrin.h

  Log Message:
  -----------
  [clang] [Headers] Don't use unreserved names in avx512fp16intrin.h (#98478)

This can cause breakage with user code that does "#define A ...".


  Commit: 657dbc3febb92d8e675b601d127b071c5ba61028
      https://github.com/llvm/llvm-project/commit/657dbc3febb92d8e675b601d127b071c5ba61028
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll

  Log Message:
  -----------
  [RISCV] Reorder shuffle operands if one side is an identity (#98534)

Doing so allows one side to fold entirely into the mask applied to the
other recursive call (or a vmerge.vv at worst). This is a generalization
of the existing IsSelect case (both operands are selects), so I removed
that code in the process.

This actually started as an attempt to remove the IsSelect bit as I'd
thought it was fully redundant
with the recursive formulation, but digging into test deltas revealed
that we depended on that
to catch the majority of the identity cases, and that in turn we were
missing some cases where only RHS was an identity.


  Commit: c9a4a27b9e490aff8d6ec21e55b22af0c882adb6
      https://github.com/llvm/llvm-project/commit/c9a4a27b9e490aff8d6ec21e55b22af0c882adb6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/lib/safestack/CMakeLists.txt
    M compiler-rt/lib/safestack/safestack.cpp
    M compiler-rt/lib/safestack/safestack_platform.h
    M compiler-rt/test/safestack/lit.cfg.py

  Log Message:
  -----------
  Revert "[safestack] Various Solaris fixes" (#98541)

Reverts llvm/llvm-project#98469

We can't add this dependency

```
   OBJECT_LIBS RTSanitizerCommon
                RTSanitizerCommonLibc
```

safestack is security hardening, and RTSanitizerCommon is too fat for
that.


  Commit: 65987954d9903e4fa3dfbf1ccac9d942d4af1fbb
      https://github.com/llvm/llvm-project/commit/65987954d9903e4fa3dfbf1ccac9d942d4af1fbb
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Semantics/semantics.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/semantics.cpp
    A flang/test/Semantics/modfile65.f90

  Log Message:
  -----------
  [flang] Add -fhermetic-module-files (#98083)

Module files emitted by this Fortran compiler are valid Fortran source
files. Symbols that are USE-associated into modules are represented in
their module files with USE statements and special comments with hash
codes in them to ensure that those USE statements resolve to the same
modules that were used to build the module when its module file was
generated.

This scheme prevents unchecked module file growth in large applications
by not emitting USE-associated symbols redundantly. This problem can be
especially bad when derived type definitions must be repeated in the
module files of their clients, and the clients of those modules, and so
on. However, this scheme has the disadvantage that clients of modules
must be compiled with dependent modules in the module search path.

This new -fhermetic-module-files option causes module file output to be
free of dependences on any non-intrinsic module files; dependent modules
are instead emitted as part of the module file, rather than being
USE-associated. It is intended for top level library module files that
are shipped with binary libraries when it is not convenient to collect
and ship their dependent module files as well.

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


  Commit: 7a49d80f587eff76d29d1770b1e90e9e13bc5759
      https://github.com/llvm/llvm-project/commit/7a49d80f587eff76d29d1770b1e90e9e13bc5759
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll

  Log Message:
  -----------
  [VPlan] Skip users outside loop in check for exit pre-compute candidates

When collecting candidates to pre-compute cost for operands of exit
conditions, skip users outside the loop when checking if they are in
ExistInstrs. The users outside the loop should be ignored, as they won't
make a value live in the VPlan.

This fixes a failure when building for X86 with sanitizers on macOS
after b841e2eca3b5c
(https://green.lab.llvm.org/job/llvm.org/job/clang-stage2-cmake-RgSan/287/)


  Commit: 8901c1c2801018ec3efa042a3acc8bada7b790e3
      https://github.com/llvm/llvm-project/commit/8901c1c2801018ec3efa042a3acc8bada7b790e3
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/src/stdlib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix atexit not getting linked on linux (#98537)

Atexit needs to be linked into exit on linux since atexit defines
__cxa_finalize. This should probably be fixed a different way but this
works for now.


  Commit: 92fc1eb0c1ae3813f2ac9208e2c74207aae9d23f
      https://github.com/llvm/llvm-project/commit/92fc1eb0c1ae3813f2ac9208e2c74207aae9d23f
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    A clang/test/CodeGenHLSL/loops/unroll.hlsl
    A clang/test/SemaHLSL/Loops/unroll.hlsl

  Log Message:
  -----------
  [HLSL] add loop unroll (#93879)

spec: https://github.com/microsoft/hlsl-specs/pull/263

- `Attr.td` - Define the HLSL loop attribute hints (unroll and loop)
- `AttrDocs.td` - Add documentation for unroll and loop
- `CGLoopInfo.cpp` - Add codegen for HLSL unroll that maps to clang
unroll expectations
- `ParseStmt.cpp` - For statements if HLSL define DeclSpecAttrs via
MaybeParseMicrosoftAttributes
- `SemaStmtAttr.cpp` - Add the HLSL loop unroll handeling

resolves #70114

dxc examples: 
- for loop: https://hlsl.godbolt.org/z/8EK6Pa139
- while loop:  https://hlsl.godbolt.org/z/ebr5MvEcK
- do while: https://hlsl.godbolt.org/z/be8cedoTs 

Documentation:

![Screenshot_20240531_143000](https://github.com/llvm/llvm-project/assets/1802579/9da9df9b-68a6-49eb-9d4f-e080aa2eff7f)


  Commit: cfeb8f20b3830f88fd1cd95fe4a2426f5f885450
      https://github.com/llvm/llvm-project/commit/cfeb8f20b3830f88fd1cd95fe4a2426f5f885450
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/test/Lower/Intrinsics/atan_real16.f90

  Log Message:
  -----------
  [flang] Fix broken atan_real16 test (#98499)

The names in the `end function` were incorrect. Those have been removed.


  Commit: 6cbea4880ea957aaa4f1ecc8dd49d60bc55ed723
      https://github.com/llvm/llvm-project/commit/6cbea4880ea957aaa4f1ecc8dd49d60bc55ed723
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [libc] Define `HUGE_VALF` in math.h (#98522)

This is analogous to `HUGE_VAL`.


  Commit: 53cc24d70d40c1b1ccc00ef2525c4006c8f4bdde
      https://github.com/llvm/llvm-project/commit/53cc24d70d40c1b1ccc00ef2525c4006c8f4bdde
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/src/__support/macros/config.h

  Log Message:
  -----------
  [libc] Disable hidden visibility for LIBC_NAMESPACE with GCC (#98549)

GCC emits a warning when using the visibility attribute which needs to
be diagnosed and addressed, but this change should unbreak the GCC build
as a temporary workaround.

The issue is tracked as #98548.


  Commit: 7d6a6e6dc92ce9200cdf26b756e9c9a0dbb2a469
      https://github.com/llvm/llvm-project/commit/7d6a6e6dc92ce9200cdf26b756e9c9a0dbb2a469
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/test/src/math/performance_testing/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add missing dependency on `src.__support.macros.config` (#98552)

We automatically inject this dependency into all object libraries that
use the libc CMake functions, but `libc_diff_test_utils` uses `add_library`
so we need to add this dependency manually.


  Commit: 6bc6f6b0fa8724ac2e6d9d025084a393d4d15694
      https://github.com/llvm/llvm-project/commit/6bc6f6b0fa8724ac2e6d9d025084a393d4d15694
  Author: John Ericson <John.Ericson at Obsidian.Systems>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lld/test/ELF/basic-sparcv9.s
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/test/MC/ELF/osabi.s

  Log Message:
  -----------
  [MC] set OpenBSD's ELFOSABI by default (#98158) (#98553)

This matches what is done for FreeBSD.

OpenBSD has a few special program header types, and other such ELF
extensions. Setting the ELFOSABI like so will allow LLD to support them
without needlessly impacting non-OpenBSD ELFs.

Testing strategy matches 06cecdc60ec9ebfdd4d8cdb2586d201272bdf6bd.

Take two of #98158 / b64c1de714c50bec7493530446ebf5e540d5f96a, which was
reverted in #98494 / c0261351136e4a826be697e5ebb5fa638abe7485.
Preexisting test is fixed now.


  Commit: 280d82e8ad7ee8c6600772ace5345b26f2da8bc0
      https://github.com/llvm/llvm-project/commit/280d82e8ad7ee8c6600772ace5345b26f2da8bc0
  Author: John Ericson <John.Ericson at Obsidian.Systems>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lld/test/ELF/basic-sparcv9.s

  Log Message:
  -----------
  Small fix of `lld/test/ELF/basic-sparcv9.s` (#98555)

I made a mistake in https://github.com/llvm/llvm-project/pull/98553.
Sorry.


  Commit: 9c1861bd5de0174fded95ea76c46ad7c7175af8b
      https://github.com/llvm/llvm-project/commit/9c1861bd5de0174fded95ea76c46ad7c7175af8b
  Author: Pranav Kant <prka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][NFC] Remove unused includes (#98557)

Adding dep to TosaDialect increases binary size unnecessarily


  Commit: d0d05aec3b6792136a9f75eb85dd2ea66005ae12
      https://github.com/llvm/llvm-project/commit/d0d05aec3b6792136a9f75eb85dd2ea66005ae12
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
    M llvm/test/CodeGen/ARM/exp10-libcall-names.ll
    M llvm/test/CodeGen/X86/exp10-libcall-names.ll

  Log Message:
  -----------
  [Darwin] Fix availability of exp10 for watchOS, tvOS, xROS. (#98542)

Update availability information added in 1eb7f055d9a. exp10 is available
on iOS >= 7.0 and macOS >= 10.9. On all other platforms, it is available
on any version. Also drop the x86 check, as the availability only
depends on the OS version, not the target platform.

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


  Commit: ac304d5ffdea7676582e987f75caeba33355a5dd
      https://github.com/llvm/llvm-project/commit/ac304d5ffdea7676582e987f75caeba33355a5dd
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/newhdrgen/header.py
    M libc/newhdrgen/tests/expected_output/test_header.h
    M libc/newhdrgen/tests/input/test_small.yaml

  Log Message:
  -----------
  [libc] newheadergen: quick fixes to tests (#98561)

- if there is an object made there is a space after
- fixed tests.yaml -- spacing between characters issue


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/UnresolvedSet.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp
    M clang/test/CXX/class.derived/class.member.lookup/p8.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    A clang/test/CXX/temp/temp.names/p3-23.cpp
    M clang/test/CXX/temp/temp.res/p3.cpp
    M clang/test/FixIt/fixit.cpp
    M clang/test/Misc/warning-flags.c
    M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
    M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
    M clang/test/SemaCXX/pseudo-destructors.cpp
    M clang/test/SemaCXX/static-assert-cxx17.cpp
    M clang/test/SemaTemplate/dependent-base-classes.cpp
    M clang/test/SemaTemplate/dependent-template-recover.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/test/SemaTemplate/template-id-expr.cpp
    M clang/test/SemaTemplate/typename-specifier-3.cpp
    M libcxx/include/regex
    M llvm/include/llvm/ADT/ArrayRef.h

  Log Message:
  -----------
  Reapply "[Clang] Implement resolution for CWG1835 (#92957)" (#98547)

Reapplies #92957, fixing an instance where the `template` keyword was
missing prior to a dependent name in `llvm/ADT/ArrayRef.h`. An
_alias-declaration_ is used to work around a bug affecting GCC releases
before 11.1 (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94799) which
rejects the use of the `template` keyword prior to the
_nested-name-specifier_ in the class member access.


  Commit: 1cafde234865cdcd37311dcd77d3ef9a3e12f177
      https://github.com/llvm/llvm-project/commit/1cafde234865cdcd37311dcd77d3ef9a3e12f177
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Headers/cpuid.h
    A clang/test/Headers/__cpuidex_conflict.c
    M clang/test/Headers/cpuid.c

  Log Message:
  -----------
  [clang][X86] Add __cpuidex function to cpuid.h (#97785)

MSVC has a __cpuidex function implemented to call the underlying cpuid
instruction which accepts a leaf, subleaf, and data array that the
output data is written into. This patch adds this functionality into
clang under the cpuid.h header. This also makes clang match GCC's
behavior. GCC has had __cpuidex in its cpuid.h since 2020.

This is another attempt to land https://reviews.llvm.org/D158348.


  Commit: 9f8205d9d8ddccd5c821c2a654805434706a43c2
      https://github.com/llvm/llvm-project/commit/9f8205d9d8ddccd5c821c2a654805434706a43c2
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/Bitcode/summary_version.ll
    M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
    M llvm/test/ThinLTO/X86/memprof-basic.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll

  Log Message:
  -----------
  [MemProf] Track and report profiled sizes through cloning (#98382)

If requested, via the -memprof-report-hinted-sizes option, track the
total profiled size of each MIB through the thin link, then report on
the corresponding allocation coldness after all cloning is complete.

To save size, a different bitcode record type is used for the allocation
info when the option is specified, and the sizes are kept separate from
the MIBs in the index.


  Commit: 46307f1a84bf832f32938c8ad2dc0605441a5319
      https://github.com/llvm/llvm-project/commit/46307f1a84bf832f32938c8ad2dc0605441a5319
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/test/BUILD.gn

  Log Message:
  -----------
  [gn build] Manually port 90ccf21


  Commit: 6c8ff4cbb8d6ba6ff168c9209cfd1a7279995b40
      https://github.com/llvm/llvm-project/commit/6c8ff4cbb8d6ba6ff168c9209cfd1a7279995b40
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [ProfileData] Take ArrayRef<InstrProfValueData> in addValueData (NFC) (#97363)

This patch fixes another place in ProfileData where we have a pointer
to an array of InstrProfValueData and its length separately.

addValueData is a bit unique in that it remaps incoming values in
place before adding them to ValueSites.  AFAICT, no caller of
addValueData uses updated incoming values.  With this patch, we add
value data to ValueSites first and then remaps values there.  This
way, we can take ArrayRef<InstrProfValueData> as a parameter.


  Commit: 1988c27e5f4dbcf42c9a80f44bdee7ccd208a0ac
      https://github.com/llvm/llvm-project/commit/1988c27e5f4dbcf42c9a80f44bdee7ccd208a0ac
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py

  Log Message:
  -----------
  [lldb] [NFC] Update TestEarlyProcessLaunch to work on macOS 15

This test sets a breakpoint on malloc, as a way to stop early in
dyld's setting up code, before the system libraries are initialized
so we can confirm that we don't fetch the Objective-C class table
before it's initialized.

In macOS 15 (macOS Sonoma), dyld doesn't call malloc any longer,
so this heuristic/trick isn't working.  It does call other things
called *alloc though, so I'm changing this to use a regex breakpoint
on that, to keep the test working.


  Commit: 9b6504e98359f5d14fdaa353b2789e7e95239f96
      https://github.com/llvm/llvm-project/commit/9b6504e98359f5d14fdaa353b2789e7e95239f96
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [flang][cuda] Make sure to issue freemem for the allocated temp (#98078)

When implicit data transfer is created, make sure we generate the
`freemem` op on the `allocmem` result value and not the declare op
value.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with minnum/maxnum patterns, NFC.


  Commit: ce2b28055330b37e67ece18bd42d13beb537955d
      https://github.com/llvm/llvm-project/commit/ce2b28055330b37e67ece18bd42d13beb537955d
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp

  Log Message:
  -----------
  [BitcodeReader] Remove dead increment (#98412)

This was found by the Clang Static Analyzer.


  Commit: db3d3378ba751337c12147d11367006f23becc0c
      https://github.com/llvm/llvm-project/commit/db3d3378ba751337c12147d11367006f23becc0c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_linux.cpp

  Log Message:
  -----------
  [NFC][hwasan] Print after protecting gaps

PrintAddressSpaceLayout can accidentally
mmap into the gap.


  Commit: cdd29f5bd2f5e55ae116be1a912f0b036d7c98e7
      https://github.com/llvm/llvm-project/commit/cdd29f5bd2f5e55ae116be1a912f0b036d7c98e7
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/riscv-tlsdesc.s

  Log Message:
  -----------
  [ELF,RISCV] Fix TLSDESC=>IE when there is no TLS section

See the comment in handleTlsRelocation. For TLSDESC=>IE (the TLS symbol
is defined in another DSO), R_RISCV_TLSDESC_{LOAD_LO12,ADD_LO12_I,CALL}
referencing a non-preemptible label uses the `R_RELAX_TLS_GD_TO_LE` code
path.

If there is no TLS section, `getTlsTpOffset` will be called with null
`Out::tlsPhdr`, leading to a null pointer dereference. Since the return
value is used by `RISCV::relocateAlloc` and ignored there, just return
0.

LoongArch TLSDESC doesn't use STT_NOTYPE labels. The `if (..) return 0;`
is a no-op for LoongArch.

This patch is a follow-up to #79239 and fixes some comments.

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


  Commit: 941f794e492bddf82b01dd4b0cb3475a67dc3b1f
      https://github.com/llvm/llvm-project/commit/941f794e492bddf82b01dd4b0cb3475a67dc3b1f
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
    M llvm/test/CodeGen/AArch64/sign-return-address.ll

  Log Message:
  -----------
  [AArch64][PAC] Reduce the size of synchronous CFI (#96377)

For synchronous unwind tables, the call frame information can be
slightly reduced by bundling the `.cfi_negate_ra_state` instruction with
other CFI instructions in the prolog, saving 1 byte per function used
for `DW_CFA_advance_loc`.

This was suggested in
[D156428](https://reviews.llvm.org/D156428#4554317).


  Commit: 1bafe77d773e6cb32243fabbef2c71b4516896fb
      https://github.com/llvm/llvm-project/commit/1bafe77d773e6cb32243fabbef2c71b4516896fb
  Author: Allen <zhongyunde at huawei.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
    M llvm/test/CodeGen/AArch64/sdivpow2.ll

  Log Message:
  -----------
  [AArch64] Improve the codegen for sdiv 2 (#98324)

Same as X86, , if X's size is BitWidth, then X sdiv 2 can be
expressived as
```
  X += X >> (BitWidth - 1)
  X = X >> 1
```

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


  Commit: a853fe25df1cda0117055c0d836e7b107d98c791
      https://github.com/llvm/llvm-project/commit/a853fe25df1cda0117055c0d836e7b107d98c791
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/nsan/CMakeLists.txt
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan.h
    A compiler-rt/lib/nsan/nsan_preinit.cpp
    M compiler-rt/lib/nsan/tests/CMakeLists.txt

  Log Message:
  -----------
  [nsan] Add nsan_preinit.cpp and make it static library only

#94322 defines .preinit_array to initialize nsan early.
DT_PREINIT_ARRAY can only be used with the main executable. GNU ld would
complain when a DSO has .preinit_array. Therefore,
nsan_preinit.cpp cannot be linked into `libclang_rt.nsan.so` (#98415).

Working with @alexander-shaposhnikov, we noticed that `Nsan-x86_64-Test
--gtest_output=json` without `.preinit_array` will sigsegv. This is
because googletest with the JSON output calls `localtime_r` , which
calls `free(0)` and fails when `REAL(free)` remains uninitialized
(nullptr). This is benign with the default output because malloc/free
are all paired and `REAL(free)(ptr)` is not called.

To fix the unittest failure, `__nsan_init` needs to be called early
(.preinit_array).
`asan/tests/CMakeLists.txt:ASAN_UNITTEST_INSTRUMENTED_LINK_FLAGS` ues
`-fsanitize=address` to ensure `asan_preinit.cpp.o` is linked into the
unittest executable. Port the approach and remove
`NSAN_TEST_RUNTIME_OBJECTS`.

Fix #98523

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


  Commit: 79bd6287a9075efd6ef18755d27c540e744a892c
      https://github.com/llvm/llvm-project/commit/79bd6287a9075efd6ef18755d27c540e744a892c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan_linux.cpp

  Log Message:
  -----------
  [NFC][msan] Mention sanitizer in error messages

And remove spaces around '-' printing ranges.


  Commit: ff8a03a7acca35eeba15bf4f1af8afa009cd04f3
      https://github.com/llvm/llvm-project/commit/ff8a03a7acca35eeba15bf4f1af8afa009cd04f3
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir

  Log Message:
  -----------
  [RISCV] Fix coalesced vsetvli's AVL LiveInterval not always being shrunk (#98286)

Most of the time when we coalesce and delete a vsetvli, we shrink the
LiveInterval of its AVL register now that there is one less use. However
there's one edge case we were missing where if we have two vsetvlis with
no users of vl or vtype in between, we coalesced a vsetvli without
shrinking it's AVL.

This fixes it by shrinking the LiveInterval whenever we delete a
vsetvli, and also makes the LiveIntervals consistent in-situ by not
removing the use before shrinking.

This fixes a -verify-machineinstrs assertion in an MIR test case I found
while investigating
https://github.com/llvm/llvm-project/pull/97264#issuecomment-2218036877.
I couldn't recreate this at the LLVM IR level, seemingly because
RISCVInsertVSETVLI will just avoid inserting extra vsetvlis that don't
need coalesced.


  Commit: 6dd1f080e16e44cdda1ac72b24e563a3a274d094
      https://github.com/llvm/llvm-project/commit/6dd1f080e16e44cdda1ac72b24e563a3a274d094
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan_linux.cpp

  Log Message:
  -----------
  [NFC][msan] Use %p to print addresses


  Commit: f52a4679e683807d699e105a6139a5a91401667f
      https://github.com/llvm/llvm-project/commit/f52a4679e683807d699e105a6139a5a91401667f
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp

  Log Message:
  -----------
  [Clang] Ensure the method scope at the late parsing of noexcept specifiers (#98023)

Previously, we only pushed the function scope once we entered the
function definition, whereas tryCaptureVariable() requires at least one
function scope available when ParmVarDecls being captured have been
owned by a function. This led to problems parsing the noexcept
specifiers, as the DeclRefExprs inside them were improperly computed.

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


  Commit: 90abdf83e273586a43e1270e5f0a11de5cc35383
      https://github.com/llvm/llvm-project/commit/90abdf83e273586a43e1270e5f0a11de5cc35383
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h

  Log Message:
  -----------
  [CUDA][HIP][NFC] add CodeGenModule::shouldEmitCUDAGlobalVar (#98543)

Extract the logic whether to emit a global var based on CUDA/HIP
host/device related attributes to CodeGenModule::shouldEmitCUDAGlobalVar
to be used by other places.


  Commit: b12e141fb14a8b603984e1d29339e344e0db36ce
      https://github.com/llvm/llvm-project/commit/b12e141fb14a8b603984e1d29339e344e0db36ce
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/memprof/memprof_allocator.h

  Log Message:
  -----------
  [memprof] Switch allocator to dynamic base address (#98510)

memprof_rtl.cpp calls InitializeShadowMemory() - which
dynamically/"randomly" chooses a base address for the shadow mapping -
prior to InitializeAllocator(). If we are unlucky, the shadow memory may
be mapped in the same region where the allocator wants to be.

This patch fixes the issue by changing the allocator to dynamically
choosing a base address, as suggested by Vitaly. For comparison, HWASan
already dynamically chooses the base addresses for the shadow mapping
and allocator.

The "unlucky" failure was observed on a new buildbot:
https://lab.llvm.org/buildbot/#/builders/66/builds/1361/steps/17/logs/stdio

---------

Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>


  Commit: 56b73f2a73b082c7b6a17cad37799fc218436be1
      https://github.com/llvm/llvm-project/commit/56b73f2a73b082c7b6a17cad37799fc218436be1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan_linux.cpp

  Log Message:
  -----------
  [msan] Fix compilation broken by invalid conflict resolution


  Commit: dcf6b7a8ea9a9be04dd66d20e4a7c55cd0f50a11
      https://github.com/llvm/llvm-project/commit/dcf6b7a8ea9a9be04dd66d20e4a7c55cd0f50a11
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/unittests/Format/FormatTestComments.cpp

  Log Message:
  -----------
  [clang-format] Fix a bug in TCAS_Leave using tabs for indentation (#98427)

Fixes #92530.


  Commit: 4f1de83d537f62070cde85e09e88bc229316b3e1
      https://github.com/llvm/llvm-project/commit/4f1de83d537f62070cde85e09e88bc229316b3e1
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp

  Log Message:
  -----------
  [Clang][NFC][Coroutine] Do not leave dangling pointers after removing CoroBegin (#98546)


  Commit: 062844615db5e141da118c1ad780bf102537f40a
      https://github.com/llvm/llvm-project/commit/062844615db5e141da118c1ad780bf102537f40a
  Author: Garvit Gupta <quic_garvgupt at quicinc.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td

  Log Message:
  -----------
  [RISCV] Enable framework to resolve encoding conflicts among vendor-specific CSRs (#97287)

This PR is a follow-up of PR #96174 which added the framework to resolve
encoding conflicts among vendor specific CSRs. This PR explicitly
enables this only for the RISCV target.


  Commit: 9818ba29b91479e8f484455f36ca9f1b9a845bd1
      https://github.com/llvm/llvm-project/commit/9818ba29b91479e8f484455f36ca9f1b9a845bd1
  Author: Guillaume Belz <gbdivers.spam at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  fix assert in AArch64Arm64ECCallLowering.cpp (#98408)

The precedence of `==` operator is superior to `?:` operator. This line
is evaluated as:

```cpp
assert((ArgTranslations.size() == F->isVarArg()) ? 5 : PassthroughArgSize);
```
I guess this is not what is wanted. This causes a warning with gcc:
```
[131/602] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64Arm64ECCallLowering.cpp.o
In file included from /usr/include/c++/11/cassert:44,
                 from /home/linux/dev/llvm-project/llvm/include/llvm/Support/CommandLine.h:33,
                 from /home/linux/dev/llvm-project/llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp:31:
/home/linux/dev/llvm-project/llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp: In member function ‘llvm::Function* {anonymous}::AArch64Arm64ECCallLowering::buildEntryThunk(llvm::Function*)’:
/home/linux/dev/llvm-project/llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp:528:50: warning: ‘?:’ using integer constants in boolean context [-Wint-in-bool-context]
  528 |   assert(ArgTranslations.size() == F->isVarArg() ? 5 : PassthroughArgSize);
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
```
Add parenthesis to fix the problem.


  Commit: 076ae5821671aa7911b0eba6636e844381115237
      https://github.com/llvm/llvm-project/commit/076ae5821671aa7911b0eba6636e844381115237
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    R llvm/test/MC/AsmParser/altmacro-arg.s

  Log Message:
  -----------
  Revert "[MCParser] .altmacro: Support argument expansion not preceded by \"

This reverts commit f8b1ca4992a22b4b65282c09dd6f07a1a2839070.
It incorrectly replaces `t` in `blt` to `h`.

```
.altmacro
.macro gen t
  blt 2f
2:
.endm

gen h
```

Fix #98558


  Commit: 144dae207a3b1750ec94553248bf44c359b6d452
      https://github.com/llvm/llvm-project/commit/144dae207a3b1750ec94553248bf44c359b6d452
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_linux.cpp
    M compiler-rt/test/hwasan/TestCases/Linux/fixed-shadow.c

  Log Message:
  -----------
  [hwasan] Report unavalible fixed shadow range (#98574)

Before the patch `fixed-shadow.c` test died with an obscure SEGV, 
because shadow was mapped over libc.so.

Note, FindDynamicShadowStart is expected to select in available region.


  Commit: ecd2bf73cb212452951b3010bbf06e4d96330a92
      https://github.com/llvm/llvm-project/commit/ecd2bf73cb212452951b3010bbf06e4d96330a92
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [SandboxIR] Add setOperand() and RAUW,RUWIf,RUOW (#98410)

This patch adds the following member functions:
- User::setOperand()
- User::replaceUsesOfWith()
- Value::replaceAllUsesWith()
- Value::replaceUsesWithIf()


  Commit: 0d9d5f7ea282f938e39a9b319076ef84c45ee482
      https://github.com/llvm/llvm-project/commit/0d9d5f7ea282f938e39a9b319076ef84c45ee482
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineCSE.cpp
    A llvm/test/CodeGen/AMDGPU/copyprop_regsequence_with_undef.mir

  Log Message:
  -----------
  [CodeGen] Guard copy propagation in machine CSE against undefs (#97413)


  Commit: 8698160d1dedfb8bfa9dae094c14443c43b32a31
      https://github.com/llvm/llvm-project/commit/8698160d1dedfb8bfa9dae094c14443c43b32a31
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/memprof/memprof_rtl.cpp

  Log Message:
  -----------
  [NFC][memprof] Use %p to print addresses (#98577)


  Commit: d22a419da2aec60ceb84eff489d4f64f7395c73d
      https://github.com/llvm/llvm-project/commit/d22a419da2aec60ceb84eff489d4f64f7395c73d
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    A llvm/test/MC/AsmParser/altmacro-arg.s

  Log Message:
  -----------
  [MC,test] Improve .altmacro test


  Commit: ec50f5828f25ae8b494475c6e151d9849800da7c
      https://github.com/llvm/llvm-project/commit/ec50f5828f25ae8b494475c6e151d9849800da7c
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    A mlir/include/mlir/Support/CyclicReplacerCache.h
    M mlir/unittests/Support/CMakeLists.txt
    A mlir/unittests/Support/CyclicReplacerCacheTest.cpp

  Log Message:
  -----------
  [MLIR][Support] A cache for cyclical replacers/maps (#98202)

This is a support data structure that acts as a cache for replacer-like
functions that map values between two domains. The difference compared
to just using a map to cache in-out pairs is that this class is able to
handle replacer logic that is self-recursive (and thus may cause
infinite recursion in the naive case).

This class provides a hook for the user to perform cycle pruning when a
cycle is identified, and is able to perform context-sensitive caching so
that the replacement result for an input that is part of a pruned cycle
can be distinct from the replacement result for the same input when it
is not part of a cycle.

In addition, this class allows deferring cycle pruning until specific
inputs are repeated. This is useful for cases where not all elements in
a cycle can perform pruning. The user still must guarantee that at least
one element in any given cycle can perform pruning. Even if not, an
assertion will eventually be tripped instead of infinite recursion (the
run-time is linearly bounded by the maximum cycle length of its input).


  Commit: a474b3b86c10620129a933d8360957004e2b222d
      https://github.com/llvm/llvm-project/commit/a474b3b86c10620129a933d8360957004e2b222d
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/HashUtilities.h
    M bolt/include/bolt/Profile/YAMLProfileReader.h
    M bolt/include/bolt/Utils/NameResolver.h
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/debug-fission-single-convert.s
    M bolt/test/X86/dwarf4-df-dualcu.test
    M bolt/test/X86/dwarf4-df-input-lowpc-ranges-cus.test
    M bolt/test/X86/dwarf4-df-input-lowpc-ranges.test
    M bolt/test/X86/infer_no_exits.test
    M bolt/test/X86/jt-symbol-disambiguation-4.s
    A bolt/test/X86/match-functions-with-calls-as-anchors.test
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
    M clang-tools-extra/docs/clang-tidy/checks/llvmlibc/implementation-in-namespace.rst
    M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/implementation-in-namespace.cpp
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
    M clang/include/clang/APINotes/APINotesReader.h
    M clang/include/clang/APINotes/APINotesWriter.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/UnresolvedSet.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/CodeGen/CodeGenABITypes.h
    M clang/include/clang/Driver/Options.td
    A clang/include/clang/Driver/aarch64-mlr-for-calls-only.c
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/ConstantEmitter.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Headers/avx512fp16intrin.h
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/float.h
    M clang/lib/InstallAPI/DylibVerifier.cpp
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    A clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
    A clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
    A clang/test/AST/attr-sized-by-struct-ptrs.c
    M clang/test/C/drs/dr0xx.c
    M clang/test/C/drs/dr2xx.c
    M clang/test/CMakeLists.txt
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p2.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp
    M clang/test/CXX/class.derived/class.member.lookup/p8.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/module/module.import/p6.cpp
    A clang/test/CXX/temp/temp.names/p3-23.cpp
    M clang/test/CXX/temp/temp.res/p3.cpp
    M clang/test/CodeGen/aarch64-branch-protection-attr.c
    A clang/test/CodeGen/aarch64-gcs.c
    A clang/test/CodeGen/aarch64-inlineasm-ios.c
    M clang/test/CodeGen/aarch64-sign-return-address.c
    M clang/test/CodeGen/aarch64-targetattr.c
    M clang/test/CodeGen/arm-branch-protection-attr-1.c
    M clang/test/CodeGen/arm-branch-protection-attr-2.c
    R clang/test/CodeGen/builtins-nvptx-native-half-type-err.c
    A clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
    A clang/test/CodeGen/ptrauth-function-type-discriminator.c
    M clang/test/CodeGenCXX/modules-vtable.cppm
    R clang/test/CodeGenCXX/pr70585.cppm
    A clang/test/CodeGenHLSL/loops/unroll.hlsl
    M clang/test/CodeGenObjC/arc-foreach.m
    M clang/test/CodeGenOpenCL/amdgpu-features-illegal.cl
    M clang/test/CoverageMapping/system_macro.cpp
    A clang/test/Driver/aarch64-multilib-rcpc3.c
    M clang/test/Driver/dxc_debug.hlsl
    A clang/test/Driver/fraw-string-literals-cxx.cpp
    M clang/test/Driver/ftime-trace-sections.py
    A clang/test/Driver/linker-wrapper-llvm-help.c
    A clang/test/Driver/linker-wrapper-passes.c
    M clang/test/Driver/loongarch-msimd.c
    M clang/test/Driver/ohos.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/sanitizer-ld.c
    M clang/test/FixIt/fixit.cpp
    A clang/test/Frontend/arm-branch-protection-lto.c
    A clang/test/Frontend/module-file-info-not-a-module.c
    A clang/test/Headers/__cpuidex_conflict.c
    M clang/test/Headers/cpuid.c
    M clang/test/Headers/float.c
    A clang/test/InstallAPI/reexport-with-linker-symbols.test
    A clang/test/Lexer/raw-string-ext.c
    M clang/test/Misc/warning-flags.c
    R clang/test/Modules/pr97313.cppm
    M clang/test/OpenMP/Inputs/nesting_of_regions.cpp
    M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/ptrauth_feature.c
    M clang/test/Sema/arm-interrupt-attr.c
    A clang/test/Sema/attr-counted-by-or-null-last-field.c
    A clang/test/Sema/attr-counted-by-or-null-late-parsed-off.c
    A clang/test/Sema/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-or-null-struct-ptrs-sizeless-types.c
    A clang/test/Sema/attr-counted-by-or-null-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-or-null-vla-sizeless-types.c
    M clang/test/Sema/attr-counted-by-vla.c
    A clang/test/Sema/attr-sized-by-last-field.c
    A clang/test/Sema/attr-sized-by-late-parsed-off.c
    A clang/test/Sema/attr-sized-by-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-sized-by-or-null-last-field.c
    A clang/test/Sema/attr-sized-by-or-null-late-parsed-off.c
    A clang/test/Sema/attr-sized-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-sized-by-or-null-struct-ptrs-sizeless-types.c
    A clang/test/Sema/attr-sized-by-or-null-struct-ptrs.c
    A clang/test/Sema/attr-sized-by-or-null-vla-sizeless-types.c
    A clang/test/Sema/attr-sized-by-struct-ptrs-sizeless-types.c
    A clang/test/Sema/attr-sized-by-struct-ptrs.c
    A clang/test/Sema/attr-sized-by-vla-sizeless-types.c
    M clang/test/Sema/builtins.c
    M clang/test/Sema/constant-builtins-2.c
    M clang/test/Sema/integer-overflow.c
    M clang/test/Sema/no-warn-missing-prototype.c
    A clang/test/Sema/shift-count-negative.c
    A clang/test/Sema/shift-count-overflow.c
    A clang/test/Sema/shift-negative-value.c
    A clang/test/Sema/undefined-internal-basic.c
    A clang/test/Sema/undefined-internal-typeof-c23.c
    M clang/test/Sema/vla-2.c
    M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/enum.cpp
    M clang/test/SemaCXX/lambda-pack-expansion.cpp
    A clang/test/SemaCXX/pr98102.cpp
    M clang/test/SemaCXX/pseudo-destructors.cpp
    M clang/test/SemaCXX/shift.cpp
    M clang/test/SemaCXX/static-assert-cxx17.cpp
    A clang/test/SemaHLSL/Loops/unroll.hlsl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
    M clang/test/SemaTemplate/dependent-base-classes.cpp
    M clang/test/SemaTemplate/dependent-template-recover.cpp
    M clang/test/SemaTemplate/nested-deduction-guides.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/test/SemaTemplate/template-id-expr.cpp
    M clang/test/SemaTemplate/typename-specifier-3.cpp
    M clang/test/lit.cfg.py
    M clang/test/lit.site.cfg.py.in
    M clang/tools/clang-linker-wrapper/CMakeLists.txt
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
    M clang/tools/driver/cc1_main.cpp
    M clang/unittests/Format/FormatTestComments.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    A clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/BuiltinTests.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    A compiler-rt/cmake/caches/GPU.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/riscv/restore.S
    M compiler-rt/lib/builtins/riscv/save.S
    M compiler-rt/lib/gwp_asan/CMakeLists.txt
    M compiler-rt/lib/hwasan/hwasan_linux.cpp
    M compiler-rt/lib/lsan/CMakeLists.txt
    M compiler-rt/lib/memprof/memprof_allocator.h
    M compiler-rt/lib/memprof/memprof_rtl.cpp
    M compiler-rt/lib/msan/msan_linux.cpp
    M compiler-rt/lib/msan/msan_thread.cpp
    M compiler-rt/lib/nsan/CMakeLists.txt
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan.h
    M compiler-rt/lib/nsan/nsan.syms.extra
    M compiler-rt/lib/nsan/nsan_interceptors.cpp
    A compiler-rt/lib/nsan/nsan_malloc_linux.cpp
    A compiler-rt/lib/nsan/nsan_preinit.cpp
    M compiler-rt/lib/nsan/tests/CMakeLists.txt
    M compiler-rt/lib/rtsan/tests/CMakeLists.txt
    M compiler-rt/lib/safestack/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
    M compiler-rt/lib/scudo/standalone/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/tests/timing_test.cpp
    M compiler-rt/lib/scudo/standalone/timing.h
    M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
    M compiler-rt/lib/ubsan_minimal/CMakeLists.txt
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/cfi/CMakeLists.txt
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M compiler-rt/test/hwasan/TestCases/Linux/fixed-shadow.c
    M compiler-rt/test/msan/Linux/sigandorset.cpp
    M compiler-rt/test/orc/CMakeLists.txt
    M compiler-rt/test/rtsan/CMakeLists.txt
    M compiler-rt/test/scudo/standalone/CMakeLists.txt
    M compiler-rt/test/xray/CMakeLists.txt
    M flang/docs/Intrinsics.md
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Parser/provenance.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/type.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/provenance.cpp
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-deallocate.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/check-nullify.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/definable.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/type.cpp
    M flang/test/Integration/debug-assumed-shape-array.f90
    A flang/test/Integration/debug-assumed-size-array-2.f90
    A flang/test/Integration/debug-assumed-size-array.f90
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/HLFIR/array-ctor-character.f90
    A flang/test/Lower/Intrinsics/atan.f90
    M flang/test/Lower/Intrinsics/atan_real16.f90
    M flang/test/Lower/Intrinsics/get_environment_variable.f90
    A flang/test/Preprocessing/timestamp.F90
    M flang/test/Semantics/array-constr-len.f90
    M flang/test/Semantics/c_loc01.f90
    M flang/test/Semantics/definable02.f90
    M flang/test/Semantics/final03.f90
    M flang/test/Semantics/ignore_tkr01.f90
    A flang/test/Semantics/modfile65.f90
    M flang/test/Transforms/debug-assumed-shape-array.fir
    A flang/test/Transforms/debug-assumed-size-array.fir
    M flang/test/Transforms/debug-ptr-type.fir
    M libc/benchmarks/LibcDefaultImplementations.cpp
    M libc/benchmarks/LibcMemoryBenchmarkMain.cpp
    M libc/benchmarks/automemcpy/lib/CodeGen.cpp
    M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
    M libc/benchmarks/gpu/BenchmarkLogger.cpp
    M libc/benchmarks/gpu/BenchmarkLogger.h
    M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
    M libc/benchmarks/gpu/LibcGpuBenchmark.h
    M libc/benchmarks/gpu/src/ctype/isalnum_benchmark.cpp
    A libc/benchmarks/gpu/timing/amdgpu/CMakeLists.txt
    A libc/benchmarks/gpu/timing/amdgpu/timing.h
    M libc/benchmarks/gpu/timing/nvptx/timing.h
    M libc/benchmarks/gpu/timing/timing.h
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/gpu/api.td
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/api.td
    M libc/config/linux/app.h
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/docs/math/index.rst
    M libc/fuzzing/__support/hashtable_fuzz.cpp
    M libc/hdr/CMakeLists.txt
    M libc/hdr/math_macros.h
    A libc/hdr/stdio_macros.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/FILE.h
    A libc/hdr/types/cookie_io_functions_t.h
    A libc/hdr/types/off_t.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/math-function-macros.h
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/include/llvm-libc-macros/stdio-macros.h
    M libc/include/math.h.def
    M libc/newhdrgen/CMakeLists.txt
    M libc/newhdrgen/class_implementation/classes/function.py
    M libc/newhdrgen/header.py
    M libc/newhdrgen/tests/expected_output/test_header.h
    M libc/newhdrgen/tests/input/test_small.yaml
    R libc/newhdrgen/tests/output/test_small.h
    M libc/newhdrgen/tests/test_integration.py
    A libc/newhdrgen/yaml/dlfcn.yaml
    M libc/newhdrgen/yaml/math.yaml
    M libc/newhdrgen/yaml/stdio.yaml
    M libc/newhdrgen/yaml/sys_prctl.yaml
    M libc/newhdrgen/yaml/unistd.yaml
    M libc/newhdrgen/yaml_to_classes.py
    M libc/spec/bsd_ext.td
    M libc/spec/llvm_libc_ext.td
    M libc/src/__support/CPP/algorithm.h
    M libc/src/__support/CPP/array.h
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/bitset.h
    M libc/src/__support/CPP/cstddef.h
    M libc/src/__support/CPP/expected.h
    M libc/src/__support/CPP/functional.h
    M libc/src/__support/CPP/iterator.h
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/mutex.h
    M libc/src/__support/CPP/new.h
    M libc/src/__support/CPP/optional.h
    M libc/src/__support/CPP/span.h
    M libc/src/__support/CPP/string.h
    M libc/src/__support/CPP/string_view.h
    M libc/src/__support/CPP/stringstream.h
    M libc/src/__support/CPP/type_traits/add_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/add_pointer.h
    M libc/src/__support/CPP/type_traits/add_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/aligned_storage.h
    M libc/src/__support/CPP/type_traits/always_false.h
    M libc/src/__support/CPP/type_traits/bool_constant.h
    M libc/src/__support/CPP/type_traits/conditional.h
    M libc/src/__support/CPP/type_traits/decay.h
    M libc/src/__support/CPP/type_traits/enable_if.h
    M libc/src/__support/CPP/type_traits/false_type.h
    M libc/src/__support/CPP/type_traits/integral_constant.h
    M libc/src/__support/CPP/type_traits/invoke.h
    M libc/src/__support/CPP/type_traits/invoke_result.h
    M libc/src/__support/CPP/type_traits/is_arithmetic.h
    M libc/src/__support/CPP/type_traits/is_array.h
    M libc/src/__support/CPP/type_traits/is_base_of.h
    M libc/src/__support/CPP/type_traits/is_class.h
    M libc/src/__support/CPP/type_traits/is_const.h
    M libc/src/__support/CPP/type_traits/is_constant_evaluated.h
    M libc/src/__support/CPP/type_traits/is_convertible.h
    M libc/src/__support/CPP/type_traits/is_destructible.h
    M libc/src/__support/CPP/type_traits/is_enum.h
    M libc/src/__support/CPP/type_traits/is_fixed_point.h
    M libc/src/__support/CPP/type_traits/is_floating_point.h
    M libc/src/__support/CPP/type_traits/is_function.h
    M libc/src/__support/CPP/type_traits/is_integral.h
    M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_member_pointer.h
    M libc/src/__support/CPP/type_traits/is_null_pointer.h
    M libc/src/__support/CPP/type_traits/is_object.h
    M libc/src/__support/CPP/type_traits/is_pointer.h
    M libc/src/__support/CPP/type_traits/is_reference.h
    M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_same.h
    M libc/src/__support/CPP/type_traits/is_scalar.h
    M libc/src/__support/CPP/type_traits/is_signed.h
    M libc/src/__support/CPP/type_traits/is_trivially_constructible.h
    M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
    M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
    M libc/src/__support/CPP/type_traits/is_union.h
    M libc/src/__support/CPP/type_traits/is_unsigned.h
    M libc/src/__support/CPP/type_traits/is_void.h
    M libc/src/__support/CPP/type_traits/make_signed.h
    M libc/src/__support/CPP/type_traits/make_unsigned.h
    M libc/src/__support/CPP/type_traits/remove_all_extents.h
    M libc/src/__support/CPP/type_traits/remove_cv.h
    M libc/src/__support/CPP/type_traits/remove_cvref.h
    M libc/src/__support/CPP/type_traits/remove_extent.h
    M libc/src/__support/CPP/type_traits/remove_reference.h
    M libc/src/__support/CPP/type_traits/true_type.h
    M libc/src/__support/CPP/type_traits/type_identity.h
    M libc/src/__support/CPP/type_traits/void_t.h
    M libc/src/__support/CPP/utility/declval.h
    M libc/src/__support/CPP/utility/forward.h
    M libc/src/__support/CPP/utility/in_place.h
    M libc/src/__support/CPP/utility/integer_sequence.h
    M libc/src/__support/CPP/utility/move.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/FMA.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/src/__support/FPUtil/NormalFloat.h
    M libc/src/__support/FPUtil/PolyEval.h
    M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
    M libc/src/__support/FPUtil/aarch64/nearest_integer.h
    M libc/src/__support/FPUtil/aarch64/sqrt.h
    M libc/src/__support/FPUtil/arm/FEnvImpl.h
    M libc/src/__support/FPUtil/double_double.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/except_value_utils.h
    M libc/src/__support/FPUtil/fpbits_str.h
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/README.md
    M libc/src/__support/FPUtil/generic/add_sub.h
    M libc/src/__support/FPUtil/generic/div.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/FPUtil/multiply_add.h
    M libc/src/__support/FPUtil/nearest_integer.h
    M libc/src/__support/FPUtil/riscv/FEnvImpl.h
    M libc/src/__support/FPUtil/riscv/sqrt.h
    M libc/src/__support/FPUtil/rounding_mode.h
    M libc/src/__support/FPUtil/triple_double.h
    M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
    M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
    M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
    M libc/src/__support/FPUtil/x86_64/nearest_integer.h
    M libc/src/__support/FPUtil/x86_64/sqrt.h
    M libc/src/__support/File/CMakeLists.txt
    M libc/src/__support/File/dir.cpp
    M libc/src/__support/File/dir.h
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/File/linux/CMakeLists.txt
    M libc/src/__support/File/linux/dir.cpp
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/File/linux/file.h
    M libc/src/__support/File/linux/lseekImpl.h
    M libc/src/__support/File/linux/stderr.cpp
    M libc/src/__support/File/linux/stdin.cpp
    M libc/src/__support/File/linux/stdout.cpp
    M libc/src/__support/GPU/allocator.cpp
    M libc/src/__support/GPU/allocator.h
    M libc/src/__support/GPU/amdgpu/utils.h
    M libc/src/__support/GPU/generic/utils.h
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/GPU/utils.h
    M libc/src/__support/HashTable/bitmask.h
    M libc/src/__support/HashTable/generic/bitmask_impl.inc
    M libc/src/__support/HashTable/randomness.h
    M libc/src/__support/HashTable/sse2/bitmask_impl.inc
    M libc/src/__support/HashTable/table.h
    M libc/src/__support/OSUtil/baremetal/exit.cpp
    M libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/__support/OSUtil/baremetal/io.h
    M libc/src/__support/OSUtil/darwin/arm/syscall.h
    M libc/src/__support/OSUtil/darwin/io.h
    M libc/src/__support/OSUtil/darwin/syscall.h
    M libc/src/__support/OSUtil/exit.h
    M libc/src/__support/OSUtil/fcntl.h
    M libc/src/__support/OSUtil/fuchsia/io.h
    M libc/src/__support/OSUtil/gpu/exit.cpp
    M libc/src/__support/OSUtil/gpu/io.cpp
    M libc/src/__support/OSUtil/gpu/io.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/aarch64/syscall.h
    M libc/src/__support/OSUtil/linux/arm/syscall.h
    M libc/src/__support/OSUtil/linux/exit.cpp
    M libc/src/__support/OSUtil/linux/fcntl.cpp
    M libc/src/__support/OSUtil/linux/io.h
    M libc/src/__support/OSUtil/linux/riscv/syscall.h
    M libc/src/__support/OSUtil/linux/syscall.h
    M libc/src/__support/OSUtil/linux/x86_64/syscall.h
    M libc/src/__support/RPC/rpc.h
    M libc/src/__support/RPC/rpc_client.cpp
    M libc/src/__support/RPC/rpc_client.h
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/__support/StringUtil/error_to_string.cpp
    M libc/src/__support/StringUtil/error_to_string.h
    M libc/src/__support/StringUtil/message_mapper.h
    M libc/src/__support/StringUtil/signal_to_string.cpp
    M libc/src/__support/StringUtil/signal_to_string.h
    M libc/src/__support/StringUtil/tables/linux_extension_errors.h
    M libc/src/__support/StringUtil/tables/linux_extension_signals.h
    M libc/src/__support/StringUtil/tables/linux_platform_errors.h
    M libc/src/__support/StringUtil/tables/linux_platform_signals.h
    M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
    M libc/src/__support/StringUtil/tables/minimal_platform_signals.h
    M libc/src/__support/StringUtil/tables/posix_errors.h
    M libc/src/__support/StringUtil/tables/posix_signals.h
    M libc/src/__support/StringUtil/tables/signal_table.h
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/src/__support/StringUtil/tables/stdc_signals.h
    M libc/src/__support/arg_list.h
    M libc/src/__support/big_int.h
    M libc/src/__support/block.h
    M libc/src/__support/blockstore.h
    M libc/src/__support/c_string.h
    M libc/src/__support/char_vector.h
    M libc/src/__support/common.h
    M libc/src/__support/ctype_utils.h
    M libc/src/__support/detailed_powers_of_ten.h
    M libc/src/__support/endian.h
    M libc/src/__support/error_or.h
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/src/__support/fixed_point/sqrt.h
    M libc/src/__support/fixedvector.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/freelist.h
    M libc/src/__support/freelist_heap.h
    M libc/src/__support/hash.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_operations.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/intrusive_list.h
    M libc/src/__support/libc_assert.h
    M libc/src/__support/macros/config.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/macros/sanitizer.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/number_pair.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/__support/str_to_num_result.h
    M libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/callonce.h
    M libc/src/__support/threads/fork_callbacks.cpp
    M libc/src/__support/threads/fork_callbacks.h
    M libc/src/__support/threads/gpu/mutex.h
    M libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/__support/threads/linux/callonce.cpp
    M libc/src/__support/threads/linux/callonce.h
    M libc/src/__support/threads/linux/futex_utils.h
    M libc/src/__support/threads/linux/futex_word.h
    M libc/src/__support/threads/linux/mutex.h
    M libc/src/__support/threads/linux/raw_mutex.h
    M libc/src/__support/threads/linux/rwlock.h
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/__support/threads/mutex_common.h
    M libc/src/__support/threads/sleep.h
    M libc/src/__support/threads/thread.cpp
    M libc/src/__support/threads/thread.h
    M libc/src/__support/time/linux/abs_timeout.h
    M libc/src/__support/time/linux/clock_conversion.h
    M libc/src/__support/time/linux/clock_gettime.h
    M libc/src/__support/time/linux/monotonicity.h
    M libc/src/__support/time/units.h
    M libc/src/__support/wctype_utils.h
    M libc/src/assert/__assert_fail.h
    M libc/src/assert/generic/__assert_fail.cpp
    M libc/src/assert/gpu/__assert_fail.cpp
    M libc/src/ctype/isalnum.cpp
    M libc/src/ctype/isalnum.h
    M libc/src/ctype/isalpha.cpp
    M libc/src/ctype/isalpha.h
    M libc/src/ctype/isascii.cpp
    M libc/src/ctype/isascii.h
    M libc/src/ctype/isblank.cpp
    M libc/src/ctype/isblank.h
    M libc/src/ctype/iscntrl.cpp
    M libc/src/ctype/iscntrl.h
    M libc/src/ctype/isdigit.cpp
    M libc/src/ctype/isdigit.h
    M libc/src/ctype/isgraph.cpp
    M libc/src/ctype/isgraph.h
    M libc/src/ctype/islower.cpp
    M libc/src/ctype/islower.h
    M libc/src/ctype/isprint.cpp
    M libc/src/ctype/isprint.h
    M libc/src/ctype/ispunct.cpp
    M libc/src/ctype/ispunct.h
    M libc/src/ctype/isspace.cpp
    M libc/src/ctype/isspace.h
    M libc/src/ctype/isupper.cpp
    M libc/src/ctype/isupper.h
    M libc/src/ctype/isxdigit.cpp
    M libc/src/ctype/isxdigit.h
    M libc/src/ctype/toascii.cpp
    M libc/src/ctype/toascii.h
    M libc/src/ctype/tolower.cpp
    M libc/src/ctype/tolower.h
    M libc/src/ctype/toupper.cpp
    M libc/src/ctype/toupper.h
    M libc/src/dirent/closedir.cpp
    M libc/src/dirent/closedir.h
    M libc/src/dirent/dirfd.cpp
    M libc/src/dirent/dirfd.h
    M libc/src/dirent/opendir.cpp
    M libc/src/dirent/opendir.h
    M libc/src/dirent/readdir.cpp
    M libc/src/dirent/readdir.h
    M libc/src/dlfcn/dlclose.cpp
    M libc/src/dlfcn/dlclose.h
    M libc/src/dlfcn/dlerror.cpp
    M libc/src/dlfcn/dlerror.h
    M libc/src/dlfcn/dlopen.cpp
    M libc/src/dlfcn/dlopen.h
    M libc/src/dlfcn/dlsym.cpp
    M libc/src/dlfcn/dlsym.h
    M libc/src/errno/libc_errno.cpp
    M libc/src/errno/libc_errno.h
    M libc/src/fcntl/creat.h
    M libc/src/fcntl/fcntl.h
    M libc/src/fcntl/linux/creat.cpp
    M libc/src/fcntl/linux/fcntl.cpp
    M libc/src/fcntl/linux/open.cpp
    M libc/src/fcntl/linux/openat.cpp
    M libc/src/fcntl/open.h
    M libc/src/fcntl/openat.h
    M libc/src/fenv/feclearexcept.cpp
    M libc/src/fenv/feclearexcept.h
    M libc/src/fenv/fedisableexcept.cpp
    M libc/src/fenv/fedisableexcept.h
    M libc/src/fenv/feenableexcept.cpp
    M libc/src/fenv/feenableexcept.h
    M libc/src/fenv/fegetenv.cpp
    M libc/src/fenv/fegetenv.h
    M libc/src/fenv/fegetexcept.cpp
    M libc/src/fenv/fegetexcept.h
    M libc/src/fenv/fegetexceptflag.cpp
    M libc/src/fenv/fegetexceptflag.h
    M libc/src/fenv/fegetround.cpp
    M libc/src/fenv/fegetround.h
    M libc/src/fenv/feholdexcept.cpp
    M libc/src/fenv/feholdexcept.h
    M libc/src/fenv/feraiseexcept.cpp
    M libc/src/fenv/feraiseexcept.h
    M libc/src/fenv/fesetenv.cpp
    M libc/src/fenv/fesetenv.h
    M libc/src/fenv/fesetexcept.cpp
    M libc/src/fenv/fesetexcept.h
    M libc/src/fenv/fesetexceptflag.cpp
    M libc/src/fenv/fesetexceptflag.h
    M libc/src/fenv/fesetround.cpp
    M libc/src/fenv/fesetround.h
    M libc/src/fenv/fetestexcept.cpp
    M libc/src/fenv/fetestexcept.h
    M libc/src/fenv/fetestexceptflag.cpp
    M libc/src/fenv/fetestexceptflag.h
    M libc/src/fenv/feupdateenv.cpp
    M libc/src/fenv/feupdateenv.h
    M libc/src/gpu/rpc_fprintf.cpp
    M libc/src/gpu/rpc_fprintf.h
    M libc/src/gpu/rpc_host_call.cpp
    M libc/src/gpu/rpc_host_call.h
    M libc/src/inttypes/imaxabs.cpp
    M libc/src/inttypes/imaxabs.h
    M libc/src/inttypes/imaxdiv.cpp
    M libc/src/inttypes/imaxdiv.h
    M libc/src/inttypes/strtoimax.cpp
    M libc/src/inttypes/strtoimax.h
    M libc/src/inttypes/strtoumax.cpp
    M libc/src/inttypes/strtoumax.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/aarch64/ceil.cpp
    M libc/src/math/aarch64/ceilf.cpp
    M libc/src/math/aarch64/floor.cpp
    M libc/src/math/aarch64/floorf.cpp
    M libc/src/math/aarch64/round.cpp
    M libc/src/math/aarch64/roundf.cpp
    M libc/src/math/aarch64/trunc.cpp
    M libc/src/math/aarch64/truncf.cpp
    M libc/src/math/acos.h
    M libc/src/math/acosf.h
    M libc/src/math/acosh.h
    M libc/src/math/acoshf.h
    M libc/src/math/amdgpu/CMakeLists.txt
    M libc/src/math/amdgpu/acos.cpp
    M libc/src/math/amdgpu/acosf.cpp
    M libc/src/math/amdgpu/acosh.cpp
    M libc/src/math/amdgpu/acoshf.cpp
    M libc/src/math/amdgpu/asin.cpp
    M libc/src/math/amdgpu/asinf.cpp
    M libc/src/math/amdgpu/asinh.cpp
    M libc/src/math/amdgpu/asinhf.cpp
    M libc/src/math/amdgpu/atan.cpp
    M libc/src/math/amdgpu/atan2.cpp
    M libc/src/math/amdgpu/atan2f.cpp
    M libc/src/math/amdgpu/atanf.cpp
    M libc/src/math/amdgpu/atanh.cpp
    M libc/src/math/amdgpu/atanhf.cpp
    M libc/src/math/amdgpu/ceil.cpp
    M libc/src/math/amdgpu/ceilf.cpp
    M libc/src/math/amdgpu/copysign.cpp
    M libc/src/math/amdgpu/copysignf.cpp
    M libc/src/math/amdgpu/cos.cpp
    M libc/src/math/amdgpu/cosf.cpp
    M libc/src/math/amdgpu/cosh.cpp
    M libc/src/math/amdgpu/coshf.cpp
    M libc/src/math/amdgpu/declarations.h
    M libc/src/math/amdgpu/erf.cpp
    M libc/src/math/amdgpu/erff.cpp
    M libc/src/math/amdgpu/exp.cpp
    M libc/src/math/amdgpu/exp10.cpp
    M libc/src/math/amdgpu/exp10f.cpp
    M libc/src/math/amdgpu/exp2.cpp
    M libc/src/math/amdgpu/exp2f.cpp
    M libc/src/math/amdgpu/expf.cpp
    M libc/src/math/amdgpu/expm1.cpp
    M libc/src/math/amdgpu/expm1f.cpp
    M libc/src/math/amdgpu/fabs.cpp
    M libc/src/math/amdgpu/fabsf.cpp
    M libc/src/math/amdgpu/fdim.cpp
    M libc/src/math/amdgpu/fdimf.cpp
    M libc/src/math/amdgpu/floor.cpp
    M libc/src/math/amdgpu/floorf.cpp
    M libc/src/math/amdgpu/fma.cpp
    M libc/src/math/amdgpu/fmaf.cpp
    M libc/src/math/amdgpu/fmax.cpp
    M libc/src/math/amdgpu/fmaxf.cpp
    M libc/src/math/amdgpu/fmin.cpp
    M libc/src/math/amdgpu/fminf.cpp
    M libc/src/math/amdgpu/fmod.cpp
    M libc/src/math/amdgpu/fmodf.cpp
    M libc/src/math/amdgpu/frexp.cpp
    M libc/src/math/amdgpu/frexpf.cpp
    M libc/src/math/amdgpu/hypot.cpp
    M libc/src/math/amdgpu/hypotf.cpp
    M libc/src/math/amdgpu/ilogb.cpp
    M libc/src/math/amdgpu/ilogbf.cpp
    M libc/src/math/amdgpu/ldexp.cpp
    M libc/src/math/amdgpu/ldexpf.cpp
    M libc/src/math/amdgpu/llrint.cpp
    M libc/src/math/amdgpu/llrintf.cpp
    M libc/src/math/amdgpu/log.cpp
    M libc/src/math/amdgpu/log10.cpp
    M libc/src/math/amdgpu/log10f.cpp
    M libc/src/math/amdgpu/log1p.cpp
    M libc/src/math/amdgpu/log1pf.cpp
    M libc/src/math/amdgpu/log2.cpp
    M libc/src/math/amdgpu/log2f.cpp
    M libc/src/math/amdgpu/logb.cpp
    M libc/src/math/amdgpu/logbf.cpp
    M libc/src/math/amdgpu/logf.cpp
    M libc/src/math/amdgpu/lrint.cpp
    M libc/src/math/amdgpu/lrintf.cpp
    M libc/src/math/amdgpu/nearbyint.cpp
    M libc/src/math/amdgpu/nearbyintf.cpp
    M libc/src/math/amdgpu/nextafter.cpp
    M libc/src/math/amdgpu/nextafterf.cpp
    M libc/src/math/amdgpu/platform.h
    M libc/src/math/amdgpu/pow.cpp
    M libc/src/math/amdgpu/powf.cpp
    A libc/src/math/amdgpu/powi.cpp
    A libc/src/math/amdgpu/powif.cpp
    M libc/src/math/amdgpu/remainder.cpp
    M libc/src/math/amdgpu/remainderf.cpp
    M libc/src/math/amdgpu/remquo.cpp
    M libc/src/math/amdgpu/remquof.cpp
    M libc/src/math/amdgpu/rint.cpp
    M libc/src/math/amdgpu/rintf.cpp
    M libc/src/math/amdgpu/round.cpp
    M libc/src/math/amdgpu/roundf.cpp
    M libc/src/math/amdgpu/scalbn.cpp
    M libc/src/math/amdgpu/scalbnf.cpp
    M libc/src/math/amdgpu/sin.cpp
    M libc/src/math/amdgpu/sincos.cpp
    M libc/src/math/amdgpu/sincosf.cpp
    M libc/src/math/amdgpu/sinf.cpp
    M libc/src/math/amdgpu/sinh.cpp
    M libc/src/math/amdgpu/sinhf.cpp
    M libc/src/math/amdgpu/sqrt.cpp
    M libc/src/math/amdgpu/sqrtf.cpp
    M libc/src/math/amdgpu/tan.cpp
    M libc/src/math/amdgpu/tanf.cpp
    M libc/src/math/amdgpu/tanh.cpp
    M libc/src/math/amdgpu/tanhf.cpp
    M libc/src/math/amdgpu/tgamma.cpp
    M libc/src/math/amdgpu/tgammaf.cpp
    M libc/src/math/amdgpu/trunc.cpp
    M libc/src/math/amdgpu/truncf.cpp
    M libc/src/math/asin.h
    M libc/src/math/asinf.h
    M libc/src/math/asinh.h
    M libc/src/math/asinhf.h
    M libc/src/math/atan.h
    M libc/src/math/atan2.h
    M libc/src/math/atan2f.h
    M libc/src/math/atanf.h
    M libc/src/math/atanh.h
    M libc/src/math/atanhf.h
    M libc/src/math/canonicalize.h
    M libc/src/math/canonicalizef.h
    M libc/src/math/canonicalizef128.h
    M libc/src/math/canonicalizef16.h
    M libc/src/math/canonicalizel.h
    M libc/src/math/cbrtf.h
    M libc/src/math/ceil.h
    M libc/src/math/ceilf.h
    M libc/src/math/ceilf128.h
    M libc/src/math/ceilf16.h
    M libc/src/math/ceill.h
    M libc/src/math/copysign.h
    M libc/src/math/copysignf.h
    M libc/src/math/copysignf128.h
    M libc/src/math/copysignf16.h
    M libc/src/math/copysignl.h
    M libc/src/math/cos.h
    M libc/src/math/cosf.h
    M libc/src/math/cosh.h
    M libc/src/math/coshf.h
    M libc/src/math/cospif.h
    M libc/src/math/erf.h
    M libc/src/math/erff.h
    M libc/src/math/exp.h
    M libc/src/math/exp10.h
    M libc/src/math/exp10f.h
    M libc/src/math/exp2.h
    M libc/src/math/exp2f.h
    M libc/src/math/exp2m1f.h
    M libc/src/math/expf.h
    M libc/src/math/expm1.h
    M libc/src/math/expm1f.h
    M libc/src/math/f16add.h
    M libc/src/math/f16addf.h
    M libc/src/math/f16addf128.h
    M libc/src/math/f16addl.h
    M libc/src/math/f16div.h
    M libc/src/math/f16divf.h
    M libc/src/math/f16divf128.h
    M libc/src/math/f16divl.h
    M libc/src/math/f16fma.h
    M libc/src/math/f16fmaf.h
    M libc/src/math/f16fmaf128.h
    M libc/src/math/f16fmal.h
    M libc/src/math/f16sqrt.h
    M libc/src/math/f16sqrtf.h
    M libc/src/math/f16sqrtf128.h
    M libc/src/math/f16sqrtl.h
    M libc/src/math/f16sub.h
    M libc/src/math/f16subf.h
    M libc/src/math/f16subf128.h
    M libc/src/math/f16subl.h
    M libc/src/math/fabs.h
    M libc/src/math/fabsf.h
    M libc/src/math/fabsf128.h
    M libc/src/math/fabsf16.h
    M libc/src/math/fabsl.h
    M libc/src/math/fdim.h
    M libc/src/math/fdimf.h
    M libc/src/math/fdimf128.h
    M libc/src/math/fdimf16.h
    M libc/src/math/fdiml.h
    M libc/src/math/floor.h
    M libc/src/math/floorf.h
    M libc/src/math/floorf128.h
    M libc/src/math/floorf16.h
    M libc/src/math/floorl.h
    M libc/src/math/fma.h
    M libc/src/math/fmaf.h
    M libc/src/math/fmax.h
    M libc/src/math/fmaxf.h
    M libc/src/math/fmaxf128.h
    M libc/src/math/fmaxf16.h
    M libc/src/math/fmaximum.h
    M libc/src/math/fmaximum_mag.h
    M libc/src/math/fmaximum_mag_num.h
    M libc/src/math/fmaximum_mag_numf.h
    M libc/src/math/fmaximum_mag_numf128.h
    M libc/src/math/fmaximum_mag_numf16.h
    M libc/src/math/fmaximum_mag_numl.h
    M libc/src/math/fmaximum_magf.h
    M libc/src/math/fmaximum_magf128.h
    M libc/src/math/fmaximum_magf16.h
    M libc/src/math/fmaximum_magl.h
    M libc/src/math/fmaximum_num.h
    M libc/src/math/fmaximum_numf.h
    M libc/src/math/fmaximum_numf128.h
    M libc/src/math/fmaximum_numf16.h
    M libc/src/math/fmaximum_numl.h
    M libc/src/math/fmaximumf.h
    M libc/src/math/fmaximumf128.h
    M libc/src/math/fmaximumf16.h
    M libc/src/math/fmaximuml.h
    M libc/src/math/fmaxl.h
    M libc/src/math/fmin.h
    M libc/src/math/fminf.h
    M libc/src/math/fminf128.h
    M libc/src/math/fminf16.h
    M libc/src/math/fminimum.h
    M libc/src/math/fminimum_mag.h
    M libc/src/math/fminimum_mag_num.h
    M libc/src/math/fminimum_mag_numf.h
    M libc/src/math/fminimum_mag_numf128.h
    M libc/src/math/fminimum_mag_numf16.h
    M libc/src/math/fminimum_mag_numl.h
    M libc/src/math/fminimum_magf.h
    M libc/src/math/fminimum_magf128.h
    M libc/src/math/fminimum_magf16.h
    M libc/src/math/fminimum_magl.h
    M libc/src/math/fminimum_num.h
    M libc/src/math/fminimum_numf.h
    M libc/src/math/fminimum_numf128.h
    M libc/src/math/fminimum_numf16.h
    M libc/src/math/fminimum_numl.h
    M libc/src/math/fminimumf.h
    M libc/src/math/fminimumf128.h
    M libc/src/math/fminimumf16.h
    M libc/src/math/fminimuml.h
    M libc/src/math/fminl.h
    M libc/src/math/fmod.h
    M libc/src/math/fmodf.h
    M libc/src/math/fmodf128.h
    M libc/src/math/fmodf16.h
    M libc/src/math/fmodl.h
    M libc/src/math/fmul.h
    M libc/src/math/frexp.h
    M libc/src/math/frexpf.h
    M libc/src/math/frexpf128.h
    M libc/src/math/frexpf16.h
    M libc/src/math/frexpl.h
    M libc/src/math/fromfp.h
    M libc/src/math/fromfpf.h
    M libc/src/math/fromfpf128.h
    M libc/src/math/fromfpf16.h
    M libc/src/math/fromfpl.h
    M libc/src/math/fromfpx.h
    M libc/src/math/fromfpxf.h
    M libc/src/math/fromfpxf128.h
    M libc/src/math/fromfpxf16.h
    M libc/src/math/fromfpxl.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/acoshf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/asinhf.cpp
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/canonicalize.cpp
    M libc/src/math/generic/canonicalizef.cpp
    M libc/src/math/generic/canonicalizef128.cpp
    M libc/src/math/generic/canonicalizef16.cpp
    M libc/src/math/generic/canonicalizel.cpp
    M libc/src/math/generic/cbrtf.cpp
    M libc/src/math/generic/ceil.cpp
    M libc/src/math/generic/ceilf.cpp
    M libc/src/math/generic/ceilf128.cpp
    M libc/src/math/generic/ceilf16.cpp
    M libc/src/math/generic/ceill.cpp
    M libc/src/math/generic/common_constants.cpp
    M libc/src/math/generic/common_constants.h
    M libc/src/math/generic/copysign.cpp
    M libc/src/math/generic/copysignf.cpp
    M libc/src/math/generic/copysignf128.cpp
    M libc/src/math/generic/copysignf16.cpp
    M libc/src/math/generic/copysignl.cpp
    M libc/src/math/generic/cos.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/coshf.cpp
    M libc/src/math/generic/cospif.cpp
    M libc/src/math/generic/erff.cpp
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp10f.cpp
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/exp2f.cpp
    M libc/src/math/generic/exp2f_impl.h
    M libc/src/math/generic/exp2m1f.cpp
    M libc/src/math/generic/exp_utils.cpp
    M libc/src/math/generic/exp_utils.h
    M libc/src/math/generic/expf.cpp
    M libc/src/math/generic/explogxf.cpp
    M libc/src/math/generic/explogxf.h
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/expm1f.cpp
    M libc/src/math/generic/f16add.cpp
    M libc/src/math/generic/f16addf.cpp
    M libc/src/math/generic/f16addf128.cpp
    M libc/src/math/generic/f16addl.cpp
    M libc/src/math/generic/f16div.cpp
    M libc/src/math/generic/f16divf.cpp
    M libc/src/math/generic/f16divf128.cpp
    M libc/src/math/generic/f16divl.cpp
    M libc/src/math/generic/f16fma.cpp
    M libc/src/math/generic/f16fmaf.cpp
    M libc/src/math/generic/f16fmaf128.cpp
    M libc/src/math/generic/f16fmal.cpp
    M libc/src/math/generic/f16sqrt.cpp
    M libc/src/math/generic/f16sqrtf.cpp
    M libc/src/math/generic/f16sqrtf128.cpp
    M libc/src/math/generic/f16sqrtl.cpp
    M libc/src/math/generic/f16sub.cpp
    M libc/src/math/generic/f16subf.cpp
    M libc/src/math/generic/f16subf128.cpp
    M libc/src/math/generic/f16subl.cpp
    M libc/src/math/generic/fabs.cpp
    M libc/src/math/generic/fabsf.cpp
    M libc/src/math/generic/fabsf128.cpp
    M libc/src/math/generic/fabsf16.cpp
    M libc/src/math/generic/fabsl.cpp
    M libc/src/math/generic/fdim.cpp
    M libc/src/math/generic/fdimf.cpp
    M libc/src/math/generic/fdimf128.cpp
    M libc/src/math/generic/fdimf16.cpp
    M libc/src/math/generic/fdiml.cpp
    M libc/src/math/generic/floor.cpp
    M libc/src/math/generic/floorf.cpp
    M libc/src/math/generic/floorf128.cpp
    M libc/src/math/generic/floorf16.cpp
    M libc/src/math/generic/floorl.cpp
    M libc/src/math/generic/fma.cpp
    M libc/src/math/generic/fmaf.cpp
    M libc/src/math/generic/fmax.cpp
    M libc/src/math/generic/fmaxf.cpp
    M libc/src/math/generic/fmaxf128.cpp
    M libc/src/math/generic/fmaxf16.cpp
    M libc/src/math/generic/fmaximum.cpp
    M libc/src/math/generic/fmaximum_mag.cpp
    M libc/src/math/generic/fmaximum_mag_num.cpp
    M libc/src/math/generic/fmaximum_mag_numf.cpp
    M libc/src/math/generic/fmaximum_mag_numf128.cpp
    M libc/src/math/generic/fmaximum_mag_numf16.cpp
    M libc/src/math/generic/fmaximum_mag_numl.cpp
    M libc/src/math/generic/fmaximum_magf.cpp
    M libc/src/math/generic/fmaximum_magf128.cpp
    M libc/src/math/generic/fmaximum_magf16.cpp
    M libc/src/math/generic/fmaximum_magl.cpp
    M libc/src/math/generic/fmaximum_num.cpp
    M libc/src/math/generic/fmaximum_numf.cpp
    M libc/src/math/generic/fmaximum_numf128.cpp
    M libc/src/math/generic/fmaximum_numf16.cpp
    M libc/src/math/generic/fmaximum_numl.cpp
    M libc/src/math/generic/fmaximumf.cpp
    M libc/src/math/generic/fmaximumf128.cpp
    M libc/src/math/generic/fmaximumf16.cpp
    M libc/src/math/generic/fmaximuml.cpp
    M libc/src/math/generic/fmaxl.cpp
    M libc/src/math/generic/fmin.cpp
    M libc/src/math/generic/fminf.cpp
    M libc/src/math/generic/fminf128.cpp
    M libc/src/math/generic/fminf16.cpp
    M libc/src/math/generic/fminimum.cpp
    M libc/src/math/generic/fminimum_mag.cpp
    M libc/src/math/generic/fminimum_mag_num.cpp
    M libc/src/math/generic/fminimum_mag_numf.cpp
    M libc/src/math/generic/fminimum_mag_numf128.cpp
    M libc/src/math/generic/fminimum_mag_numf16.cpp
    M libc/src/math/generic/fminimum_mag_numl.cpp
    M libc/src/math/generic/fminimum_magf.cpp
    M libc/src/math/generic/fminimum_magf128.cpp
    M libc/src/math/generic/fminimum_magf16.cpp
    M libc/src/math/generic/fminimum_magl.cpp
    M libc/src/math/generic/fminimum_num.cpp
    M libc/src/math/generic/fminimum_numf.cpp
    M libc/src/math/generic/fminimum_numf128.cpp
    M libc/src/math/generic/fminimum_numf16.cpp
    M libc/src/math/generic/fminimum_numl.cpp
    M libc/src/math/generic/fminimumf.cpp
    M libc/src/math/generic/fminimumf128.cpp
    M libc/src/math/generic/fminimumf16.cpp
    M libc/src/math/generic/fminimuml.cpp
    M libc/src/math/generic/fminl.cpp
    M libc/src/math/generic/fmod.cpp
    M libc/src/math/generic/fmodf.cpp
    M libc/src/math/generic/fmodf128.cpp
    M libc/src/math/generic/fmodf16.cpp
    M libc/src/math/generic/fmodl.cpp
    M libc/src/math/generic/fmul.cpp
    M libc/src/math/generic/frexp.cpp
    M libc/src/math/generic/frexpf.cpp
    M libc/src/math/generic/frexpf128.cpp
    M libc/src/math/generic/frexpf16.cpp
    M libc/src/math/generic/frexpl.cpp
    M libc/src/math/generic/fromfp.cpp
    M libc/src/math/generic/fromfpf.cpp
    M libc/src/math/generic/fromfpf128.cpp
    M libc/src/math/generic/fromfpf16.cpp
    M libc/src/math/generic/fromfpl.cpp
    M libc/src/math/generic/fromfpx.cpp
    M libc/src/math/generic/fromfpxf.cpp
    M libc/src/math/generic/fromfpxf128.cpp
    M libc/src/math/generic/fromfpxf16.cpp
    M libc/src/math/generic/fromfpxl.cpp
    M libc/src/math/generic/getpayloadf16.cpp
    M libc/src/math/generic/hypot.cpp
    M libc/src/math/generic/hypotf.cpp
    M libc/src/math/generic/ilogb.cpp
    M libc/src/math/generic/ilogbf.cpp
    M libc/src/math/generic/ilogbf128.cpp
    M libc/src/math/generic/ilogbf16.cpp
    M libc/src/math/generic/ilogbl.cpp
    M libc/src/math/generic/inv_trigf_utils.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    A libc/src/math/generic/isnan.cpp
    A libc/src/math/generic/isnanf.cpp
    A libc/src/math/generic/isnanl.cpp
    M libc/src/math/generic/ldexp.cpp
    M libc/src/math/generic/ldexpf.cpp
    M libc/src/math/generic/ldexpf128.cpp
    M libc/src/math/generic/ldexpf16.cpp
    M libc/src/math/generic/ldexpl.cpp
    M libc/src/math/generic/llogb.cpp
    M libc/src/math/generic/llogbf.cpp
    M libc/src/math/generic/llogbf128.cpp
    M libc/src/math/generic/llogbf16.cpp
    M libc/src/math/generic/llogbl.cpp
    M libc/src/math/generic/llrint.cpp
    M libc/src/math/generic/llrintf.cpp
    M libc/src/math/generic/llrintf128.cpp
    M libc/src/math/generic/llrintf16.cpp
    M libc/src/math/generic/llrintl.cpp
    M libc/src/math/generic/llround.cpp
    M libc/src/math/generic/llroundf.cpp
    M libc/src/math/generic/llroundf128.cpp
    M libc/src/math/generic/llroundf16.cpp
    M libc/src/math/generic/llroundl.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2.cpp
    M libc/src/math/generic/log2f.cpp
    M libc/src/math/generic/log_range_reduction.h
    M libc/src/math/generic/logb.cpp
    M libc/src/math/generic/logbf.cpp
    M libc/src/math/generic/logbf128.cpp
    M libc/src/math/generic/logbf16.cpp
    M libc/src/math/generic/logbl.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/lrint.cpp
    M libc/src/math/generic/lrintf.cpp
    M libc/src/math/generic/lrintf128.cpp
    M libc/src/math/generic/lrintf16.cpp
    M libc/src/math/generic/lrintl.cpp
    M libc/src/math/generic/lround.cpp
    M libc/src/math/generic/lroundf.cpp
    M libc/src/math/generic/lroundf128.cpp
    M libc/src/math/generic/lroundf16.cpp
    M libc/src/math/generic/lroundl.cpp
    M libc/src/math/generic/modf.cpp
    M libc/src/math/generic/modff.cpp
    M libc/src/math/generic/modff128.cpp
    M libc/src/math/generic/modff16.cpp
    M libc/src/math/generic/modfl.cpp
    M libc/src/math/generic/nan.cpp
    M libc/src/math/generic/nanf.cpp
    M libc/src/math/generic/nanf128.cpp
    M libc/src/math/generic/nanf16.cpp
    M libc/src/math/generic/nanl.cpp
    M libc/src/math/generic/nearbyint.cpp
    M libc/src/math/generic/nearbyintf.cpp
    M libc/src/math/generic/nearbyintf128.cpp
    M libc/src/math/generic/nearbyintf16.cpp
    M libc/src/math/generic/nearbyintl.cpp
    M libc/src/math/generic/nextafter.cpp
    M libc/src/math/generic/nextafterf.cpp
    M libc/src/math/generic/nextafterf128.cpp
    M libc/src/math/generic/nextafterf16.cpp
    M libc/src/math/generic/nextafterl.cpp
    M libc/src/math/generic/nextdown.cpp
    M libc/src/math/generic/nextdownf.cpp
    M libc/src/math/generic/nextdownf128.cpp
    M libc/src/math/generic/nextdownf16.cpp
    M libc/src/math/generic/nextdownl.cpp
    M libc/src/math/generic/nexttoward.cpp
    M libc/src/math/generic/nexttowardf.cpp
    M libc/src/math/generic/nexttowardf16.cpp
    M libc/src/math/generic/nexttowardl.cpp
    M libc/src/math/generic/nextup.cpp
    M libc/src/math/generic/nextupf.cpp
    M libc/src/math/generic/nextupf128.cpp
    M libc/src/math/generic/nextupf16.cpp
    M libc/src/math/generic/nextupl.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/range_reduction.h
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/range_reduction_double_fma.h
    M libc/src/math/generic/range_reduction_double_nofma.h
    M libc/src/math/generic/range_reduction_fma.h
    M libc/src/math/generic/remainder.cpp
    M libc/src/math/generic/remainderf.cpp
    M libc/src/math/generic/remainderf16.cpp
    M libc/src/math/generic/remainderl.cpp
    M libc/src/math/generic/remquo.cpp
    M libc/src/math/generic/remquof.cpp
    M libc/src/math/generic/remquof128.cpp
    M libc/src/math/generic/remquof16.cpp
    M libc/src/math/generic/remquol.cpp
    M libc/src/math/generic/rint.cpp
    M libc/src/math/generic/rintf.cpp
    M libc/src/math/generic/rintf128.cpp
    M libc/src/math/generic/rintf16.cpp
    M libc/src/math/generic/rintl.cpp
    M libc/src/math/generic/round.cpp
    M libc/src/math/generic/roundeven.cpp
    M libc/src/math/generic/roundevenf.cpp
    M libc/src/math/generic/roundevenf128.cpp
    M libc/src/math/generic/roundevenf16.cpp
    M libc/src/math/generic/roundevenl.cpp
    M libc/src/math/generic/roundf.cpp
    M libc/src/math/generic/roundf128.cpp
    M libc/src/math/generic/roundf16.cpp
    M libc/src/math/generic/roundl.cpp
    M libc/src/math/generic/scalblnf16.cpp
    M libc/src/math/generic/scalbn.cpp
    M libc/src/math/generic/scalbnf.cpp
    M libc/src/math/generic/scalbnf128.cpp
    M libc/src/math/generic/scalbnf16.cpp
    M libc/src/math/generic/scalbnl.cpp
    M libc/src/math/generic/setpayloadf16.cpp
    M libc/src/math/generic/setpayloadsigf16.cpp
    M libc/src/math/generic/sin.cpp
    M libc/src/math/generic/sincos.cpp
    M libc/src/math/generic/sincos_eval.h
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sincosf_utils.h
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/sinhf.cpp
    M libc/src/math/generic/sinpif.cpp
    M libc/src/math/generic/sqrt.cpp
    M libc/src/math/generic/sqrtf.cpp
    M libc/src/math/generic/sqrtf128.cpp
    M libc/src/math/generic/sqrtl.cpp
    M libc/src/math/generic/tan.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/math/generic/tanhf.cpp
    M libc/src/math/generic/totalorderf16.cpp
    M libc/src/math/generic/totalordermagf16.cpp
    M libc/src/math/generic/trunc.cpp
    M libc/src/math/generic/truncf.cpp
    M libc/src/math/generic/truncf128.cpp
    M libc/src/math/generic/truncf16.cpp
    M libc/src/math/generic/truncl.cpp
    M libc/src/math/generic/ufromfp.cpp
    M libc/src/math/generic/ufromfpf.cpp
    M libc/src/math/generic/ufromfpf128.cpp
    M libc/src/math/generic/ufromfpf16.cpp
    M libc/src/math/generic/ufromfpl.cpp
    M libc/src/math/generic/ufromfpx.cpp
    M libc/src/math/generic/ufromfpxf.cpp
    M libc/src/math/generic/ufromfpxf128.cpp
    M libc/src/math/generic/ufromfpxf16.cpp
    M libc/src/math/generic/ufromfpxl.cpp
    M libc/src/math/getpayloadf16.h
    M libc/src/math/hypot.h
    M libc/src/math/hypotf.h
    M libc/src/math/ilogb.h
    M libc/src/math/ilogbf.h
    M libc/src/math/ilogbf128.h
    M libc/src/math/ilogbf16.h
    M libc/src/math/ilogbl.h
    A libc/src/math/isnan.h
    A libc/src/math/isnanf.h
    A libc/src/math/isnanl.h
    M libc/src/math/ldexp.h
    M libc/src/math/ldexpf.h
    M libc/src/math/ldexpf128.h
    M libc/src/math/ldexpf16.h
    M libc/src/math/ldexpl.h
    M libc/src/math/llogb.h
    M libc/src/math/llogbf.h
    M libc/src/math/llogbf128.h
    M libc/src/math/llogbf16.h
    M libc/src/math/llogbl.h
    M libc/src/math/llrint.h
    M libc/src/math/llrintf.h
    M libc/src/math/llrintf128.h
    M libc/src/math/llrintf16.h
    M libc/src/math/llrintl.h
    M libc/src/math/llround.h
    M libc/src/math/llroundf.h
    M libc/src/math/llroundf128.h
    M libc/src/math/llroundf16.h
    M libc/src/math/llroundl.h
    M libc/src/math/log.h
    M libc/src/math/log10.h
    M libc/src/math/log10f.h
    M libc/src/math/log1p.h
    M libc/src/math/log1pf.h
    M libc/src/math/log2.h
    M libc/src/math/log2f.h
    M libc/src/math/logb.h
    M libc/src/math/logbf.h
    M libc/src/math/logbf128.h
    M libc/src/math/logbf16.h
    M libc/src/math/logbl.h
    M libc/src/math/logf.h
    M libc/src/math/lrint.h
    M libc/src/math/lrintf.h
    M libc/src/math/lrintf128.h
    M libc/src/math/lrintf16.h
    M libc/src/math/lrintl.h
    M libc/src/math/lround.h
    M libc/src/math/lroundf.h
    M libc/src/math/lroundf128.h
    M libc/src/math/lroundf16.h
    M libc/src/math/lroundl.h
    M libc/src/math/modf.h
    M libc/src/math/modff.h
    M libc/src/math/modff128.h
    M libc/src/math/modff16.h
    M libc/src/math/modfl.h
    M libc/src/math/nan.h
    M libc/src/math/nanf.h
    M libc/src/math/nanf128.h
    M libc/src/math/nanf16.h
    M libc/src/math/nanl.h
    M libc/src/math/nearbyint.h
    M libc/src/math/nearbyintf.h
    M libc/src/math/nearbyintf128.h
    M libc/src/math/nearbyintf16.h
    M libc/src/math/nearbyintl.h
    M libc/src/math/nextafter.h
    M libc/src/math/nextafterf.h
    M libc/src/math/nextafterf128.h
    M libc/src/math/nextafterf16.h
    M libc/src/math/nextafterl.h
    M libc/src/math/nextdown.h
    M libc/src/math/nextdownf.h
    M libc/src/math/nextdownf128.h
    M libc/src/math/nextdownf16.h
    M libc/src/math/nextdownl.h
    M libc/src/math/nexttoward.h
    M libc/src/math/nexttowardf.h
    M libc/src/math/nexttowardf16.h
    M libc/src/math/nexttowardl.h
    M libc/src/math/nextup.h
    M libc/src/math/nextupf.h
    M libc/src/math/nextupf128.h
    M libc/src/math/nextupf16.h
    M libc/src/math/nextupl.h
    M libc/src/math/nvptx/CMakeLists.txt
    M libc/src/math/nvptx/acos.cpp
    M libc/src/math/nvptx/acosf.cpp
    M libc/src/math/nvptx/acosh.cpp
    M libc/src/math/nvptx/acoshf.cpp
    M libc/src/math/nvptx/asin.cpp
    M libc/src/math/nvptx/asinf.cpp
    M libc/src/math/nvptx/asinh.cpp
    M libc/src/math/nvptx/asinhf.cpp
    M libc/src/math/nvptx/atan.cpp
    M libc/src/math/nvptx/atan2.cpp
    M libc/src/math/nvptx/atan2f.cpp
    M libc/src/math/nvptx/atanf.cpp
    M libc/src/math/nvptx/atanh.cpp
    M libc/src/math/nvptx/atanhf.cpp
    M libc/src/math/nvptx/ceil.cpp
    M libc/src/math/nvptx/ceilf.cpp
    M libc/src/math/nvptx/copysign.cpp
    M libc/src/math/nvptx/copysignf.cpp
    M libc/src/math/nvptx/cos.cpp
    M libc/src/math/nvptx/cosf.cpp
    M libc/src/math/nvptx/cosh.cpp
    M libc/src/math/nvptx/coshf.cpp
    M libc/src/math/nvptx/declarations.h
    M libc/src/math/nvptx/erf.cpp
    M libc/src/math/nvptx/erff.cpp
    M libc/src/math/nvptx/exp.cpp
    M libc/src/math/nvptx/exp10.cpp
    M libc/src/math/nvptx/exp10f.cpp
    M libc/src/math/nvptx/exp2.cpp
    M libc/src/math/nvptx/exp2f.cpp
    M libc/src/math/nvptx/expf.cpp
    M libc/src/math/nvptx/expm1.cpp
    M libc/src/math/nvptx/expm1f.cpp
    M libc/src/math/nvptx/fabs.cpp
    M libc/src/math/nvptx/fabsf.cpp
    M libc/src/math/nvptx/fdim.cpp
    M libc/src/math/nvptx/fdimf.cpp
    M libc/src/math/nvptx/floor.cpp
    M libc/src/math/nvptx/floorf.cpp
    M libc/src/math/nvptx/fma.cpp
    M libc/src/math/nvptx/fmaf.cpp
    M libc/src/math/nvptx/fmax.cpp
    M libc/src/math/nvptx/fmaxf.cpp
    M libc/src/math/nvptx/fmin.cpp
    M libc/src/math/nvptx/fminf.cpp
    M libc/src/math/nvptx/fmod.cpp
    M libc/src/math/nvptx/fmodf.cpp
    M libc/src/math/nvptx/frexp.cpp
    M libc/src/math/nvptx/frexpf.cpp
    M libc/src/math/nvptx/hypot.cpp
    M libc/src/math/nvptx/hypotf.cpp
    M libc/src/math/nvptx/ilogb.cpp
    M libc/src/math/nvptx/ilogbf.cpp
    M libc/src/math/nvptx/ldexp.cpp
    M libc/src/math/nvptx/ldexpf.cpp
    M libc/src/math/nvptx/llrint.cpp
    M libc/src/math/nvptx/llrintf.cpp
    M libc/src/math/nvptx/log.cpp
    M libc/src/math/nvptx/log10.cpp
    M libc/src/math/nvptx/log10f.cpp
    M libc/src/math/nvptx/log1p.cpp
    M libc/src/math/nvptx/log1pf.cpp
    M libc/src/math/nvptx/log2.cpp
    M libc/src/math/nvptx/log2f.cpp
    M libc/src/math/nvptx/logb.cpp
    M libc/src/math/nvptx/logbf.cpp
    M libc/src/math/nvptx/logf.cpp
    M libc/src/math/nvptx/lrint.cpp
    M libc/src/math/nvptx/lrintf.cpp
    M libc/src/math/nvptx/nearbyint.cpp
    M libc/src/math/nvptx/nearbyintf.cpp
    M libc/src/math/nvptx/nextafter.cpp
    M libc/src/math/nvptx/nextafterf.cpp
    M libc/src/math/nvptx/nvptx.h
    M libc/src/math/nvptx/pow.cpp
    M libc/src/math/nvptx/powf.cpp
    A libc/src/math/nvptx/powi.cpp
    A libc/src/math/nvptx/powif.cpp
    M libc/src/math/nvptx/remainder.cpp
    M libc/src/math/nvptx/remainderf.cpp
    M libc/src/math/nvptx/remquo.cpp
    M libc/src/math/nvptx/remquof.cpp
    M libc/src/math/nvptx/rint.cpp
    M libc/src/math/nvptx/rintf.cpp
    M libc/src/math/nvptx/round.cpp
    M libc/src/math/nvptx/roundf.cpp
    M libc/src/math/nvptx/scalbn.cpp
    M libc/src/math/nvptx/scalbnf.cpp
    M libc/src/math/nvptx/sin.cpp
    M libc/src/math/nvptx/sincos.cpp
    M libc/src/math/nvptx/sincosf.cpp
    M libc/src/math/nvptx/sinf.cpp
    M libc/src/math/nvptx/sinh.cpp
    M libc/src/math/nvptx/sinhf.cpp
    M libc/src/math/nvptx/sqrt.cpp
    M libc/src/math/nvptx/sqrtf.cpp
    M libc/src/math/nvptx/tan.cpp
    M libc/src/math/nvptx/tanf.cpp
    M libc/src/math/nvptx/tanh.cpp
    M libc/src/math/nvptx/tanhf.cpp
    M libc/src/math/nvptx/tgamma.cpp
    M libc/src/math/nvptx/tgammaf.cpp
    M libc/src/math/nvptx/trunc.cpp
    M libc/src/math/nvptx/truncf.cpp
    M libc/src/math/pow.h
    M libc/src/math/powf.h
    A libc/src/math/powi.h
    A libc/src/math/powif.h
    M libc/src/math/remainder.h
    M libc/src/math/remainderf.h
    M libc/src/math/remainderf16.h
    M libc/src/math/remainderl.h
    M libc/src/math/remquo.h
    M libc/src/math/remquof.h
    M libc/src/math/remquof128.h
    M libc/src/math/remquof16.h
    M libc/src/math/remquol.h
    M libc/src/math/rint.h
    M libc/src/math/rintf.h
    M libc/src/math/rintf128.h
    M libc/src/math/rintf16.h
    M libc/src/math/rintl.h
    M libc/src/math/round.h
    M libc/src/math/roundeven.h
    M libc/src/math/roundevenf.h
    M libc/src/math/roundevenf128.h
    M libc/src/math/roundevenf16.h
    M libc/src/math/roundevenl.h
    M libc/src/math/roundf.h
    M libc/src/math/roundf128.h
    M libc/src/math/roundf16.h
    M libc/src/math/roundl.h
    M libc/src/math/scalblnf16.h
    M libc/src/math/scalbn.h
    M libc/src/math/scalbnf.h
    M libc/src/math/scalbnf128.h
    M libc/src/math/scalbnf16.h
    M libc/src/math/scalbnl.h
    M libc/src/math/setpayloadf16.h
    M libc/src/math/setpayloadsigf16.h
    M libc/src/math/sin.h
    M libc/src/math/sincos.h
    M libc/src/math/sincosf.h
    M libc/src/math/sinf.h
    M libc/src/math/sinh.h
    M libc/src/math/sinhf.h
    M libc/src/math/sinpif.h
    M libc/src/math/sqrt.h
    M libc/src/math/sqrtf.h
    M libc/src/math/sqrtf128.h
    M libc/src/math/sqrtl.h
    M libc/src/math/tan.h
    M libc/src/math/tanf.h
    M libc/src/math/tanh.h
    M libc/src/math/tanhf.h
    M libc/src/math/tgamma.h
    M libc/src/math/tgammaf.h
    M libc/src/math/totalorderf16.h
    M libc/src/math/totalordermagf16.h
    M libc/src/math/trunc.h
    M libc/src/math/truncf.h
    M libc/src/math/truncf128.h
    M libc/src/math/truncf16.h
    M libc/src/math/truncl.h
    M libc/src/math/ufromfp.h
    M libc/src/math/ufromfpf.h
    M libc/src/math/ufromfpf128.h
    M libc/src/math/ufromfpf16.h
    M libc/src/math/ufromfpl.h
    M libc/src/math/ufromfpx.h
    M libc/src/math/ufromfpxf.h
    M libc/src/math/ufromfpxf128.h
    M libc/src/math/ufromfpxf16.h
    M libc/src/math/ufromfpxl.h
    M libc/src/network/htonl.cpp
    M libc/src/network/htonl.h
    M libc/src/network/htons.cpp
    M libc/src/network/htons.h
    M libc/src/network/ntohl.cpp
    M libc/src/network/ntohl.h
    M libc/src/network/ntohs.cpp
    M libc/src/network/ntohs.h
    M libc/src/pthread/pthread_atfork.cpp
    M libc/src/pthread/pthread_atfork.h
    M libc/src/pthread/pthread_attr_destroy.cpp
    M libc/src/pthread/pthread_attr_destroy.h
    M libc/src/pthread/pthread_attr_getdetachstate.cpp
    M libc/src/pthread/pthread_attr_getdetachstate.h
    M libc/src/pthread/pthread_attr_getguardsize.cpp
    M libc/src/pthread/pthread_attr_getguardsize.h
    M libc/src/pthread/pthread_attr_getstack.cpp
    M libc/src/pthread/pthread_attr_getstack.h
    M libc/src/pthread/pthread_attr_getstacksize.cpp
    M libc/src/pthread/pthread_attr_getstacksize.h
    M libc/src/pthread/pthread_attr_init.cpp
    M libc/src/pthread/pthread_attr_init.h
    M libc/src/pthread/pthread_attr_setdetachstate.cpp
    M libc/src/pthread/pthread_attr_setdetachstate.h
    M libc/src/pthread/pthread_attr_setguardsize.cpp
    M libc/src/pthread/pthread_attr_setguardsize.h
    M libc/src/pthread/pthread_attr_setstack.cpp
    M libc/src/pthread/pthread_attr_setstack.h
    M libc/src/pthread/pthread_attr_setstacksize.cpp
    M libc/src/pthread/pthread_attr_setstacksize.h
    M libc/src/pthread/pthread_condattr_destroy.cpp
    M libc/src/pthread/pthread_condattr_destroy.h
    M libc/src/pthread/pthread_condattr_getclock.cpp
    M libc/src/pthread/pthread_condattr_getclock.h
    M libc/src/pthread/pthread_condattr_getpshared.cpp
    M libc/src/pthread/pthread_condattr_getpshared.h
    M libc/src/pthread/pthread_condattr_init.cpp
    M libc/src/pthread/pthread_condattr_init.h
    M libc/src/pthread/pthread_condattr_setclock.cpp
    M libc/src/pthread/pthread_condattr_setclock.h
    M libc/src/pthread/pthread_condattr_setpshared.cpp
    M libc/src/pthread/pthread_condattr_setpshared.h
    M libc/src/pthread/pthread_create.cpp
    M libc/src/pthread/pthread_create.h
    M libc/src/pthread/pthread_detach.cpp
    M libc/src/pthread/pthread_detach.h
    M libc/src/pthread/pthread_equal.cpp
    M libc/src/pthread/pthread_equal.h
    M libc/src/pthread/pthread_exit.cpp
    M libc/src/pthread/pthread_exit.h
    M libc/src/pthread/pthread_getname_np.cpp
    M libc/src/pthread/pthread_getname_np.h
    M libc/src/pthread/pthread_getspecific.cpp
    M libc/src/pthread/pthread_getspecific.h
    M libc/src/pthread/pthread_join.cpp
    M libc/src/pthread/pthread_join.h
    M libc/src/pthread/pthread_key_create.cpp
    M libc/src/pthread/pthread_key_create.h
    M libc/src/pthread/pthread_key_delete.cpp
    M libc/src/pthread/pthread_key_delete.h
    M libc/src/pthread/pthread_mutex_destroy.cpp
    M libc/src/pthread/pthread_mutex_destroy.h
    M libc/src/pthread/pthread_mutex_init.cpp
    M libc/src/pthread/pthread_mutex_init.h
    M libc/src/pthread/pthread_mutex_lock.cpp
    M libc/src/pthread/pthread_mutex_lock.h
    M libc/src/pthread/pthread_mutex_unlock.cpp
    M libc/src/pthread/pthread_mutex_unlock.h
    M libc/src/pthread/pthread_mutexattr.h
    M libc/src/pthread/pthread_mutexattr_destroy.cpp
    M libc/src/pthread/pthread_mutexattr_destroy.h
    M libc/src/pthread/pthread_mutexattr_getpshared.cpp
    M libc/src/pthread/pthread_mutexattr_getpshared.h
    M libc/src/pthread/pthread_mutexattr_getrobust.cpp
    M libc/src/pthread/pthread_mutexattr_getrobust.h
    M libc/src/pthread/pthread_mutexattr_gettype.cpp
    M libc/src/pthread/pthread_mutexattr_gettype.h
    M libc/src/pthread/pthread_mutexattr_init.cpp
    M libc/src/pthread/pthread_mutexattr_init.h
    M libc/src/pthread/pthread_mutexattr_setpshared.cpp
    M libc/src/pthread/pthread_mutexattr_setpshared.h
    M libc/src/pthread/pthread_mutexattr_setrobust.cpp
    M libc/src/pthread/pthread_mutexattr_setrobust.h
    M libc/src/pthread/pthread_mutexattr_settype.cpp
    M libc/src/pthread/pthread_mutexattr_settype.h
    M libc/src/pthread/pthread_once.cpp
    M libc/src/pthread/pthread_once.h
    M libc/src/pthread/pthread_rwlock_destroy.cpp
    M libc/src/pthread/pthread_rwlock_destroy.h
    M libc/src/pthread/pthread_rwlock_init.cpp
    M libc/src/pthread/pthread_rwlock_init.h
    M libc/src/pthread/pthread_rwlock_rdlock.cpp
    M libc/src/pthread/pthread_rwlock_rdlock.h
    M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedrdlock.h
    M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
    M libc/src/pthread/pthread_rwlock_timedwrlock.h
    M libc/src/pthread/pthread_rwlock_tryrdlock.cpp
    M libc/src/pthread/pthread_rwlock_tryrdlock.h
    M libc/src/pthread/pthread_rwlock_trywrlock.cpp
    M libc/src/pthread/pthread_rwlock_trywrlock.h
    M libc/src/pthread/pthread_rwlock_unlock.cpp
    M libc/src/pthread/pthread_rwlock_unlock.h
    M libc/src/pthread/pthread_rwlock_wrlock.cpp
    M libc/src/pthread/pthread_rwlock_wrlock.h
    M libc/src/pthread/pthread_rwlockattr_destroy.cpp
    M libc/src/pthread/pthread_rwlockattr_destroy.h
    M libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
    M libc/src/pthread/pthread_rwlockattr_getkind_np.h
    M libc/src/pthread/pthread_rwlockattr_getpshared.cpp
    M libc/src/pthread/pthread_rwlockattr_getpshared.h
    M libc/src/pthread/pthread_rwlockattr_init.cpp
    M libc/src/pthread/pthread_rwlockattr_init.h
    M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
    M libc/src/pthread/pthread_rwlockattr_setkind_np.h
    M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
    M libc/src/pthread/pthread_rwlockattr_setpshared.h
    M libc/src/pthread/pthread_self.cpp
    M libc/src/pthread/pthread_self.h
    M libc/src/pthread/pthread_setname_np.cpp
    M libc/src/pthread/pthread_setname_np.h
    M libc/src/pthread/pthread_setspecific.cpp
    M libc/src/pthread/pthread_setspecific.h
    M libc/src/sched/linux/sched_get_priority_max.cpp
    M libc/src/sched/linux/sched_get_priority_min.cpp
    M libc/src/sched/linux/sched_getaffinity.cpp
    M libc/src/sched/linux/sched_getcpucount.cpp
    M libc/src/sched/linux/sched_getparam.cpp
    M libc/src/sched/linux/sched_getscheduler.cpp
    M libc/src/sched/linux/sched_rr_get_interval.cpp
    M libc/src/sched/linux/sched_setaffinity.cpp
    M libc/src/sched/linux/sched_setparam.cpp
    M libc/src/sched/linux/sched_setscheduler.cpp
    M libc/src/sched/linux/sched_yield.cpp
    M libc/src/sched/sched_get_priority_max.h
    M libc/src/sched/sched_get_priority_min.h
    M libc/src/sched/sched_getaffinity.h
    M libc/src/sched/sched_getcpucount.h
    M libc/src/sched/sched_getparam.h
    M libc/src/sched/sched_getscheduler.h
    M libc/src/sched/sched_rr_get_interval.h
    M libc/src/sched/sched_setaffinity.h
    M libc/src/sched/sched_setparam.h
    M libc/src/sched/sched_setscheduler.h
    M libc/src/sched/sched_yield.h
    M libc/src/search/hcreate.cpp
    M libc/src/search/hcreate.h
    M libc/src/search/hcreate_r.cpp
    M libc/src/search/hcreate_r.h
    M libc/src/search/hdestroy.cpp
    M libc/src/search/hdestroy.h
    M libc/src/search/hdestroy_r.cpp
    M libc/src/search/hdestroy_r.h
    M libc/src/search/hsearch.cpp
    M libc/src/search/hsearch.h
    M libc/src/search/hsearch/global.cpp
    M libc/src/search/hsearch/global.h
    M libc/src/search/hsearch_r.cpp
    M libc/src/search/hsearch_r.h
    M libc/src/search/insque.cpp
    M libc/src/search/insque.h
    M libc/src/search/remque.cpp
    M libc/src/search/remque.h
    M libc/src/setjmp/arm/longjmp.cpp
    M libc/src/setjmp/arm/setjmp.cpp
    M libc/src/setjmp/longjmp.h
    M libc/src/setjmp/riscv/longjmp.cpp
    M libc/src/setjmp/riscv/setjmp.cpp
    M libc/src/setjmp/setjmp_impl.h
    M libc/src/setjmp/x86_64/longjmp.cpp
    M libc/src/setjmp/x86_64/setjmp.cpp
    M libc/src/signal/kill.h
    M libc/src/signal/linux/__restore.cpp
    M libc/src/signal/linux/kill.cpp
    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/sigaltstack.cpp
    M libc/src/signal/linux/sigdelset.cpp
    M libc/src/signal/linux/sigemptyset.cpp
    M libc/src/signal/linux/sigfillset.cpp
    M libc/src/signal/linux/signal.cpp
    M libc/src/signal/linux/signal_utils.h
    M libc/src/signal/linux/sigprocmask.cpp
    M libc/src/signal/raise.h
    M libc/src/signal/sigaction.h
    M libc/src/signal/sigaddset.h
    M libc/src/signal/sigaltstack.h
    M libc/src/signal/sigdelset.h
    M libc/src/signal/sigemptyset.h
    M libc/src/signal/sigfillset.h
    M libc/src/signal/signal.h
    M libc/src/signal/sigprocmask.h
    M libc/src/spawn/file_actions.h
    M libc/src/spawn/linux/posix_spawn.cpp
    M libc/src/spawn/posix_spawn.h
    M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
    M libc/src/spawn/posix_spawn_file_actions_addclose.h
    M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
    M libc/src/spawn/posix_spawn_file_actions_adddup2.h
    M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
    M libc/src/spawn/posix_spawn_file_actions_addopen.h
    M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
    M libc/src/spawn/posix_spawn_file_actions_destroy.h
    M libc/src/spawn/posix_spawn_file_actions_init.cpp
    M libc/src/spawn/posix_spawn_file_actions_init.h
    M libc/src/stdbit/stdc_bit_ceil_uc.cpp
    M libc/src/stdbit/stdc_bit_ceil_uc.h
    M libc/src/stdbit/stdc_bit_ceil_ui.cpp
    M libc/src/stdbit/stdc_bit_ceil_ui.h
    M libc/src/stdbit/stdc_bit_ceil_ul.cpp
    M libc/src/stdbit/stdc_bit_ceil_ul.h
    M libc/src/stdbit/stdc_bit_ceil_ull.cpp
    M libc/src/stdbit/stdc_bit_ceil_ull.h
    M libc/src/stdbit/stdc_bit_ceil_us.cpp
    M libc/src/stdbit/stdc_bit_ceil_us.h
    M libc/src/stdbit/stdc_bit_floor_uc.cpp
    M libc/src/stdbit/stdc_bit_floor_uc.h
    M libc/src/stdbit/stdc_bit_floor_ui.cpp
    M libc/src/stdbit/stdc_bit_floor_ui.h
    M libc/src/stdbit/stdc_bit_floor_ul.cpp
    M libc/src/stdbit/stdc_bit_floor_ul.h
    M libc/src/stdbit/stdc_bit_floor_ull.cpp
    M libc/src/stdbit/stdc_bit_floor_ull.h
    M libc/src/stdbit/stdc_bit_floor_us.cpp
    M libc/src/stdbit/stdc_bit_floor_us.h
    M libc/src/stdbit/stdc_bit_width_uc.cpp
    M libc/src/stdbit/stdc_bit_width_uc.h
    M libc/src/stdbit/stdc_bit_width_ui.cpp
    M libc/src/stdbit/stdc_bit_width_ui.h
    M libc/src/stdbit/stdc_bit_width_ul.cpp
    M libc/src/stdbit/stdc_bit_width_ul.h
    M libc/src/stdbit/stdc_bit_width_ull.cpp
    M libc/src/stdbit/stdc_bit_width_ull.h
    M libc/src/stdbit/stdc_bit_width_us.cpp
    M libc/src/stdbit/stdc_bit_width_us.h
    M libc/src/stdbit/stdc_count_ones_uc.cpp
    M libc/src/stdbit/stdc_count_ones_uc.h
    M libc/src/stdbit/stdc_count_ones_ui.cpp
    M libc/src/stdbit/stdc_count_ones_ui.h
    M libc/src/stdbit/stdc_count_ones_ul.cpp
    M libc/src/stdbit/stdc_count_ones_ul.h
    M libc/src/stdbit/stdc_count_ones_ull.cpp
    M libc/src/stdbit/stdc_count_ones_ull.h
    M libc/src/stdbit/stdc_count_ones_us.cpp
    M libc/src/stdbit/stdc_count_ones_us.h
    M libc/src/stdbit/stdc_count_zeros_uc.cpp
    M libc/src/stdbit/stdc_count_zeros_uc.h
    M libc/src/stdbit/stdc_count_zeros_ui.cpp
    M libc/src/stdbit/stdc_count_zeros_ui.h
    M libc/src/stdbit/stdc_count_zeros_ul.cpp
    M libc/src/stdbit/stdc_count_zeros_ul.h
    M libc/src/stdbit/stdc_count_zeros_ull.cpp
    M libc/src/stdbit/stdc_count_zeros_ull.h
    M libc/src/stdbit/stdc_count_zeros_us.cpp
    M libc/src/stdbit/stdc_count_zeros_us.h
    M libc/src/stdbit/stdc_first_leading_one_uc.cpp
    M libc/src/stdbit/stdc_first_leading_one_uc.h
    M libc/src/stdbit/stdc_first_leading_one_ui.cpp
    M libc/src/stdbit/stdc_first_leading_one_ui.h
    M libc/src/stdbit/stdc_first_leading_one_ul.cpp
    M libc/src/stdbit/stdc_first_leading_one_ul.h
    M libc/src/stdbit/stdc_first_leading_one_ull.cpp
    M libc/src/stdbit/stdc_first_leading_one_ull.h
    M libc/src/stdbit/stdc_first_leading_one_us.cpp
    M libc/src/stdbit/stdc_first_leading_one_us.h
    M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
    M libc/src/stdbit/stdc_first_leading_zero_uc.h
    M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ui.h
    M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ul.h
    M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ull.h
    M libc/src/stdbit/stdc_first_leading_zero_us.cpp
    M libc/src/stdbit/stdc_first_leading_zero_us.h
    M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_one_uc.h
    M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ui.h
    M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ul.h
    M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ull.h
    M libc/src/stdbit/stdc_first_trailing_one_us.cpp
    M libc/src/stdbit/stdc_first_trailing_one_us.h
    M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_uc.h
    M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ui.h
    M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ul.h
    M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ull.h
    M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_us.h
    M libc/src/stdbit/stdc_has_single_bit_uc.cpp
    M libc/src/stdbit/stdc_has_single_bit_uc.h
    M libc/src/stdbit/stdc_has_single_bit_ui.cpp
    M libc/src/stdbit/stdc_has_single_bit_ui.h
    M libc/src/stdbit/stdc_has_single_bit_ul.cpp
    M libc/src/stdbit/stdc_has_single_bit_ul.h
    M libc/src/stdbit/stdc_has_single_bit_ull.cpp
    M libc/src/stdbit/stdc_has_single_bit_ull.h
    M libc/src/stdbit/stdc_has_single_bit_us.cpp
    M libc/src/stdbit/stdc_has_single_bit_us.h
    M libc/src/stdbit/stdc_leading_ones_uc.cpp
    M libc/src/stdbit/stdc_leading_ones_uc.h
    M libc/src/stdbit/stdc_leading_ones_ui.cpp
    M libc/src/stdbit/stdc_leading_ones_ui.h
    M libc/src/stdbit/stdc_leading_ones_ul.cpp
    M libc/src/stdbit/stdc_leading_ones_ul.h
    M libc/src/stdbit/stdc_leading_ones_ull.cpp
    M libc/src/stdbit/stdc_leading_ones_ull.h
    M libc/src/stdbit/stdc_leading_ones_us.cpp
    M libc/src/stdbit/stdc_leading_ones_us.h
    M libc/src/stdbit/stdc_leading_zeros_uc.cpp
    M libc/src/stdbit/stdc_leading_zeros_uc.h
    M libc/src/stdbit/stdc_leading_zeros_ui.cpp
    M libc/src/stdbit/stdc_leading_zeros_ui.h
    M libc/src/stdbit/stdc_leading_zeros_ul.cpp
    M libc/src/stdbit/stdc_leading_zeros_ul.h
    M libc/src/stdbit/stdc_leading_zeros_ull.cpp
    M libc/src/stdbit/stdc_leading_zeros_ull.h
    M libc/src/stdbit/stdc_leading_zeros_us.cpp
    M libc/src/stdbit/stdc_leading_zeros_us.h
    M libc/src/stdbit/stdc_trailing_ones_uc.cpp
    M libc/src/stdbit/stdc_trailing_ones_uc.h
    M libc/src/stdbit/stdc_trailing_ones_ui.cpp
    M libc/src/stdbit/stdc_trailing_ones_ui.h
    M libc/src/stdbit/stdc_trailing_ones_ul.cpp
    M libc/src/stdbit/stdc_trailing_ones_ul.h
    M libc/src/stdbit/stdc_trailing_ones_ull.cpp
    M libc/src/stdbit/stdc_trailing_ones_ull.h
    M libc/src/stdbit/stdc_trailing_ones_us.cpp
    M libc/src/stdbit/stdc_trailing_ones_us.h
    M libc/src/stdbit/stdc_trailing_zeros_uc.cpp
    M libc/src/stdbit/stdc_trailing_zeros_uc.h
    M libc/src/stdbit/stdc_trailing_zeros_ui.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ui.h
    M libc/src/stdbit/stdc_trailing_zeros_ul.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ul.h
    M libc/src/stdbit/stdc_trailing_zeros_ull.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ull.h
    M libc/src/stdbit/stdc_trailing_zeros_us.cpp
    M libc/src/stdbit/stdc_trailing_zeros_us.h
    M libc/src/stdfix/abshk.cpp
    M libc/src/stdfix/abshk.h
    M libc/src/stdfix/abshr.cpp
    M libc/src/stdfix/abshr.h
    M libc/src/stdfix/absk.cpp
    M libc/src/stdfix/absk.h
    M libc/src/stdfix/abslk.cpp
    M libc/src/stdfix/abslk.h
    M libc/src/stdfix/abslr.cpp
    M libc/src/stdfix/abslr.h
    M libc/src/stdfix/absr.cpp
    M libc/src/stdfix/absr.h
    M libc/src/stdfix/exphk.cpp
    M libc/src/stdfix/exphk.h
    M libc/src/stdfix/expk.cpp
    M libc/src/stdfix/expk.h
    M libc/src/stdfix/roundhk.cpp
    M libc/src/stdfix/roundhk.h
    M libc/src/stdfix/roundhr.cpp
    M libc/src/stdfix/roundhr.h
    M libc/src/stdfix/roundk.cpp
    M libc/src/stdfix/roundk.h
    M libc/src/stdfix/roundlk.cpp
    M libc/src/stdfix/roundlk.h
    M libc/src/stdfix/roundlr.cpp
    M libc/src/stdfix/roundlr.h
    M libc/src/stdfix/roundr.cpp
    M libc/src/stdfix/roundr.h
    M libc/src/stdfix/rounduhk.cpp
    M libc/src/stdfix/rounduhk.h
    M libc/src/stdfix/rounduhr.cpp
    M libc/src/stdfix/rounduhr.h
    M libc/src/stdfix/rounduk.cpp
    M libc/src/stdfix/rounduk.h
    M libc/src/stdfix/roundulk.cpp
    M libc/src/stdfix/roundulk.h
    M libc/src/stdfix/roundulr.cpp
    M libc/src/stdfix/roundulr.h
    M libc/src/stdfix/roundur.cpp
    M libc/src/stdfix/roundur.h
    M libc/src/stdfix/sqrtuhk.cpp
    M libc/src/stdfix/sqrtuhk.h
    M libc/src/stdfix/sqrtuhr.cpp
    M libc/src/stdfix/sqrtuhr.h
    M libc/src/stdfix/sqrtuk.cpp
    M libc/src/stdfix/sqrtuk.h
    M libc/src/stdfix/sqrtulr.cpp
    M libc/src/stdfix/sqrtulr.h
    M libc/src/stdfix/sqrtur.cpp
    M libc/src/stdfix/sqrtur.h
    M libc/src/stdfix/uhksqrtus.cpp
    M libc/src/stdfix/uhksqrtus.h
    M libc/src/stdfix/uksqrtui.cpp
    M libc/src/stdfix/uksqrtui.h
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/baremetal/CMakeLists.txt
    M libc/src/stdio/baremetal/getchar.cpp
    M libc/src/stdio/baremetal/printf.cpp
    M libc/src/stdio/baremetal/putchar.cpp
    M libc/src/stdio/baremetal/puts.cpp
    M libc/src/stdio/baremetal/remove.cpp
    M libc/src/stdio/baremetal/vprintf.cpp
    M libc/src/stdio/clearerr.h
    M libc/src/stdio/clearerr_unlocked.h
    M libc/src/stdio/fclose.h
    M libc/src/stdio/fdopen.h
    M libc/src/stdio/feof.h
    M libc/src/stdio/feof_unlocked.h
    M libc/src/stdio/ferror.h
    M libc/src/stdio/ferror_unlocked.h
    M libc/src/stdio/fflush.h
    M libc/src/stdio/fgetc.h
    M libc/src/stdio/fgetc_unlocked.h
    M libc/src/stdio/fgets.h
    M libc/src/stdio/fileno.h
    M libc/src/stdio/flockfile.cpp
    M libc/src/stdio/flockfile.h
    M libc/src/stdio/fopen.h
    M libc/src/stdio/fopencookie.cpp
    M libc/src/stdio/fopencookie.h
    M libc/src/stdio/fprintf.cpp
    M libc/src/stdio/fprintf.h
    M libc/src/stdio/fputc.h
    M libc/src/stdio/fputs.h
    M libc/src/stdio/fread.h
    M libc/src/stdio/fread_unlocked.h
    M libc/src/stdio/fscanf.cpp
    M libc/src/stdio/fscanf.h
    M libc/src/stdio/fseek.h
    M libc/src/stdio/fseeko.h
    M libc/src/stdio/ftell.h
    M libc/src/stdio/ftello.h
    M libc/src/stdio/funlockfile.cpp
    M libc/src/stdio/funlockfile.h
    M libc/src/stdio/fwrite.h
    M libc/src/stdio/fwrite_unlocked.h
    M libc/src/stdio/generic/CMakeLists.txt
    M libc/src/stdio/generic/clearerr.cpp
    M libc/src/stdio/generic/clearerr_unlocked.cpp
    M libc/src/stdio/generic/fclose.cpp
    M libc/src/stdio/generic/feof.cpp
    M libc/src/stdio/generic/feof_unlocked.cpp
    M libc/src/stdio/generic/ferror.cpp
    M libc/src/stdio/generic/ferror_unlocked.cpp
    M libc/src/stdio/generic/fflush.cpp
    M libc/src/stdio/generic/fgetc.cpp
    M libc/src/stdio/generic/fgetc_unlocked.cpp
    M libc/src/stdio/generic/fgets.cpp
    M libc/src/stdio/generic/fileno.cpp
    M libc/src/stdio/generic/fopen.cpp
    M libc/src/stdio/generic/fputc.cpp
    M libc/src/stdio/generic/fputs.cpp
    M libc/src/stdio/generic/fread.cpp
    M libc/src/stdio/generic/fread_unlocked.cpp
    M libc/src/stdio/generic/fseek.cpp
    M libc/src/stdio/generic/fseeko.cpp
    M libc/src/stdio/generic/ftell.cpp
    M libc/src/stdio/generic/ftello.cpp
    M libc/src/stdio/generic/fwrite.cpp
    M libc/src/stdio/generic/fwrite_unlocked.cpp
    M libc/src/stdio/generic/getc.cpp
    M libc/src/stdio/generic/getc_unlocked.cpp
    M libc/src/stdio/generic/getchar.cpp
    M libc/src/stdio/generic/getchar_unlocked.cpp
    M libc/src/stdio/generic/printf.cpp
    M libc/src/stdio/generic/putc.cpp
    M libc/src/stdio/generic/putchar.cpp
    M libc/src/stdio/generic/puts.cpp
    M libc/src/stdio/generic/stderr.cpp
    M libc/src/stdio/generic/stdin.cpp
    M libc/src/stdio/generic/stdout.cpp
    M libc/src/stdio/generic/ungetc.cpp
    M libc/src/stdio/generic/vprintf.cpp
    M libc/src/stdio/getc.h
    M libc/src/stdio/getc_unlocked.h
    M libc/src/stdio/getchar.h
    M libc/src/stdio/getchar_unlocked.h
    M libc/src/stdio/gpu/CMakeLists.txt
    M libc/src/stdio/gpu/clearerr.cpp
    M libc/src/stdio/gpu/fclose.cpp
    M libc/src/stdio/gpu/feof.cpp
    M libc/src/stdio/gpu/ferror.cpp
    M libc/src/stdio/gpu/fflush.cpp
    M libc/src/stdio/gpu/fgetc.cpp
    M libc/src/stdio/gpu/fgets.cpp
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fopen.cpp
    M libc/src/stdio/gpu/fputc.cpp
    M libc/src/stdio/gpu/fputs.cpp
    M libc/src/stdio/gpu/fread.cpp
    M libc/src/stdio/gpu/fseek.cpp
    M libc/src/stdio/gpu/ftell.cpp
    M libc/src/stdio/gpu/fwrite.cpp
    M libc/src/stdio/gpu/getc.cpp
    M libc/src/stdio/gpu/getchar.cpp
    M libc/src/stdio/gpu/putc.cpp
    M libc/src/stdio/gpu/putchar.cpp
    M libc/src/stdio/gpu/puts.cpp
    M libc/src/stdio/gpu/remove.cpp
    M libc/src/stdio/gpu/stderr.cpp
    M libc/src/stdio/gpu/stdin.cpp
    M libc/src/stdio/gpu/stdout.cpp
    M libc/src/stdio/gpu/ungetc.cpp
    M libc/src/stdio/linux/fdopen.cpp
    M libc/src/stdio/linux/remove.cpp
    M libc/src/stdio/linux/rename.cpp
    M libc/src/stdio/printf.h
    M libc/src/stdio/printf_core/char_converter.h
    M libc/src/stdio/printf_core/converter.cpp
    M libc/src/stdio/printf_core/converter.h
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    M libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_hex_converter.h
    M libc/src/stdio/printf_core/float_inf_nan_converter.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/printf_main.cpp
    M libc/src/stdio/printf_core/printf_main.h
    M libc/src/stdio/printf_core/ptr_converter.h
    M libc/src/stdio/printf_core/string_converter.h
    M libc/src/stdio/printf_core/vfprintf_internal.h
    M libc/src/stdio/printf_core/write_int_converter.h
    M libc/src/stdio/printf_core/writer.cpp
    M libc/src/stdio/printf_core/writer.h
    M libc/src/stdio/putc.h
    M libc/src/stdio/putchar.h
    M libc/src/stdio/puts.h
    M libc/src/stdio/remove.h
    M libc/src/stdio/rename.h
    M libc/src/stdio/scanf.cpp
    M libc/src/stdio/scanf.h
    M libc/src/stdio/scanf_core/converter.cpp
    M libc/src/stdio/scanf_core/converter.h
    M libc/src/stdio/scanf_core/converter_utils.h
    M libc/src/stdio/scanf_core/core_structs.h
    M libc/src/stdio/scanf_core/current_pos_converter.h
    M libc/src/stdio/scanf_core/float_converter.cpp
    M libc/src/stdio/scanf_core/float_converter.h
    M libc/src/stdio/scanf_core/int_converter.cpp
    M libc/src/stdio/scanf_core/int_converter.h
    M libc/src/stdio/scanf_core/parser.h
    M libc/src/stdio/scanf_core/ptr_converter.cpp
    M libc/src/stdio/scanf_core/ptr_converter.h
    M libc/src/stdio/scanf_core/reader.cpp
    M libc/src/stdio/scanf_core/reader.h
    M libc/src/stdio/scanf_core/scanf_main.cpp
    M libc/src/stdio/scanf_core/scanf_main.h
    M libc/src/stdio/scanf_core/string_converter.cpp
    M libc/src/stdio/scanf_core/string_converter.h
    M libc/src/stdio/scanf_core/vfscanf_internal.h
    M libc/src/stdio/setbuf.cpp
    M libc/src/stdio/setbuf.h
    M libc/src/stdio/setvbuf.cpp
    M libc/src/stdio/setvbuf.h
    M libc/src/stdio/snprintf.cpp
    M libc/src/stdio/snprintf.h
    M libc/src/stdio/sprintf.cpp
    M libc/src/stdio/sprintf.h
    M libc/src/stdio/sscanf.cpp
    M libc/src/stdio/sscanf.h
    M libc/src/stdio/ungetc.h
    M libc/src/stdio/vfprintf.cpp
    M libc/src/stdio/vfprintf.h
    M libc/src/stdio/vprintf.h
    M libc/src/stdio/vsnprintf.cpp
    M libc/src/stdio/vsnprintf.h
    M libc/src/stdio/vsprintf.cpp
    M libc/src/stdio/vsprintf.h
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/_Exit.cpp
    M libc/src/stdlib/_Exit.h
    M libc/src/stdlib/abort.h
    M libc/src/stdlib/abs.cpp
    M libc/src/stdlib/abs.h
    M libc/src/stdlib/aligned_alloc.h
    M libc/src/stdlib/at_quick_exit.cpp
    M libc/src/stdlib/at_quick_exit.h
    M libc/src/stdlib/atexit.cpp
    M libc/src/stdlib/atexit.h
    M libc/src/stdlib/atof.cpp
    M libc/src/stdlib/atof.h
    M libc/src/stdlib/atoi.cpp
    M libc/src/stdlib/atoi.h
    M libc/src/stdlib/atol.cpp
    M libc/src/stdlib/atol.h
    M libc/src/stdlib/atoll.cpp
    M libc/src/stdlib/atoll.h
    M libc/src/stdlib/baremetal/abort.cpp
    M libc/src/stdlib/bsearch.cpp
    M libc/src/stdlib/bsearch.h
    M libc/src/stdlib/calloc.h
    M libc/src/stdlib/div.cpp
    M libc/src/stdlib/div.h
    M libc/src/stdlib/exit.cpp
    M libc/src/stdlib/exit.h
    M libc/src/stdlib/exit_handler.cpp
    M libc/src/stdlib/exit_handler.h
    M libc/src/stdlib/free.h
    M libc/src/stdlib/freelist_malloc.cpp
    M libc/src/stdlib/getenv.cpp
    M libc/src/stdlib/getenv.h
    M libc/src/stdlib/gpu/abort.cpp
    M libc/src/stdlib/gpu/free.cpp
    M libc/src/stdlib/gpu/malloc.cpp
    M libc/src/stdlib/labs.cpp
    M libc/src/stdlib/labs.h
    M libc/src/stdlib/ldiv.cpp
    M libc/src/stdlib/ldiv.h
    M libc/src/stdlib/linux/abort.cpp
    M libc/src/stdlib/llabs.cpp
    M libc/src/stdlib/llabs.h
    M libc/src/stdlib/lldiv.cpp
    M libc/src/stdlib/lldiv.h
    M libc/src/stdlib/malloc.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_r.h
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_exit.cpp
    M libc/src/stdlib/quick_exit.h
    M libc/src/stdlib/rand.cpp
    M libc/src/stdlib/rand.h
    M libc/src/stdlib/rand_util.cpp
    M libc/src/stdlib/rand_util.h
    M libc/src/stdlib/realloc.h
    M libc/src/stdlib/srand.cpp
    M libc/src/stdlib/srand.h
    M libc/src/stdlib/str_from_util.h
    M libc/src/stdlib/strfromd.cpp
    M libc/src/stdlib/strfromd.h
    M libc/src/stdlib/strfromf.cpp
    M libc/src/stdlib/strfromf.h
    M libc/src/stdlib/strfroml.cpp
    M libc/src/stdlib/strfroml.h
    M libc/src/stdlib/strtod.cpp
    M libc/src/stdlib/strtod.h
    M libc/src/stdlib/strtof.cpp
    M libc/src/stdlib/strtof.h
    M libc/src/stdlib/strtol.cpp
    M libc/src/stdlib/strtol.h
    M libc/src/stdlib/strtold.cpp
    M libc/src/stdlib/strtold.h
    M libc/src/stdlib/strtoll.cpp
    M libc/src/stdlib/strtoll.h
    M libc/src/stdlib/strtoul.cpp
    M libc/src/stdlib/strtoul.h
    M libc/src/stdlib/strtoull.cpp
    M libc/src/stdlib/strtoull.h
    M libc/src/string/allocating_string_utils.h
    M libc/src/string/bcmp.cpp
    M libc/src/string/bcmp.h
    M libc/src/string/bcopy.cpp
    M libc/src/string/bcopy.h
    M libc/src/string/bzero.cpp
    M libc/src/string/bzero.h
    M libc/src/string/index.cpp
    M libc/src/string/index.h
    M libc/src/string/memccpy.cpp
    M libc/src/string/memccpy.h
    M libc/src/string/memchr.cpp
    M libc/src/string/memchr.h
    M libc/src/string/memcmp.cpp
    M libc/src/string/memcmp.h
    M libc/src/string/memcpy.cpp
    M libc/src/string/memcpy.h
    M libc/src/string/memmem.cpp
    M libc/src/string/memmem.h
    M libc/src/string/memmove.cpp
    M libc/src/string/memmove.h
    M libc/src/string/memory_utils/aarch64/inline_bcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcpy.h
    M libc/src/string/memory_utils/aarch64/inline_memmove.h
    M libc/src/string/memory_utils/aarch64/inline_memset.h
    M libc/src/string/memory_utils/generic/aligned_access.h
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/generic/byte_per_byte.h
    M libc/src/string/memory_utils/inline_bcmp.h
    M libc/src/string/memory_utils/inline_bzero.h
    M libc/src/string/memory_utils/inline_memcmp.h
    M libc/src/string/memory_utils/inline_memcpy.h
    M libc/src/string/memory_utils/inline_memmem.h
    M libc/src/string/memory_utils/inline_memmove.h
    M libc/src/string/memory_utils/inline_memset.h
    M libc/src/string/memory_utils/inline_strcmp.h
    M libc/src/string/memory_utils/inline_strstr.h
    M libc/src/string/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/op_generic.h
    M libc/src/string/memory_utils/op_riscv.h
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/memory_utils/riscv/inline_bcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcpy.h
    M libc/src/string/memory_utils/riscv/inline_memmove.h
    M libc/src/string/memory_utils/riscv/inline_memset.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/memory_utils/x86_64/inline_bcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/src/string/memory_utils/x86_64/inline_memmove.h
    M libc/src/string/memory_utils/x86_64/inline_memset.h
    M libc/src/string/mempcpy.cpp
    M libc/src/string/mempcpy.h
    M libc/src/string/memrchr.cpp
    M libc/src/string/memrchr.h
    M libc/src/string/memset.cpp
    M libc/src/string/memset.h
    M libc/src/string/memset_explicit.cpp
    M libc/src/string/memset_explicit.h
    M libc/src/string/rindex.cpp
    M libc/src/string/rindex.h
    M libc/src/string/stpcpy.cpp
    M libc/src/string/stpcpy.h
    M libc/src/string/stpncpy.cpp
    M libc/src/string/stpncpy.h
    M libc/src/string/strcasecmp.cpp
    M libc/src/string/strcasecmp.h
    M libc/src/string/strcasestr.cpp
    M libc/src/string/strcasestr.h
    M libc/src/string/strcat.cpp
    M libc/src/string/strcat.h
    M libc/src/string/strchr.cpp
    M libc/src/string/strchr.h
    M libc/src/string/strchrnul.cpp
    M libc/src/string/strchrnul.h
    M libc/src/string/strcmp.cpp
    M libc/src/string/strcmp.h
    M libc/src/string/strcoll.cpp
    M libc/src/string/strcoll.h
    M libc/src/string/strcpy.cpp
    M libc/src/string/strcpy.h
    M libc/src/string/strcspn.cpp
    M libc/src/string/strcspn.h
    M libc/src/string/strdup.cpp
    M libc/src/string/strdup.h
    M libc/src/string/strerror.cpp
    M libc/src/string/strerror.h
    M libc/src/string/strerror_r.cpp
    M libc/src/string/strerror_r.h
    M libc/src/string/string_utils.h
    M libc/src/string/strlcat.cpp
    M libc/src/string/strlcat.h
    M libc/src/string/strlcpy.cpp
    M libc/src/string/strlcpy.h
    M libc/src/string/strlen.cpp
    M libc/src/string/strlen.h
    M libc/src/string/strncasecmp.cpp
    M libc/src/string/strncasecmp.h
    M libc/src/string/strncat.cpp
    M libc/src/string/strncat.h
    M libc/src/string/strncmp.cpp
    M libc/src/string/strncmp.h
    M libc/src/string/strncpy.cpp
    M libc/src/string/strncpy.h
    M libc/src/string/strndup.cpp
    M libc/src/string/strndup.h
    M libc/src/string/strnlen.cpp
    M libc/src/string/strnlen.h
    M libc/src/string/strpbrk.cpp
    M libc/src/string/strpbrk.h
    M libc/src/string/strrchr.cpp
    M libc/src/string/strrchr.h
    M libc/src/string/strsep.cpp
    M libc/src/string/strsep.h
    M libc/src/string/strsignal.cpp
    M libc/src/string/strsignal.h
    M libc/src/string/strspn.cpp
    M libc/src/string/strspn.h
    M libc/src/string/strstr.cpp
    M libc/src/string/strstr.h
    M libc/src/string/strtok.cpp
    M libc/src/string/strtok.h
    M libc/src/string/strtok_r.cpp
    M libc/src/string/strtok_r.h
    M libc/src/string/strxfrm.cpp
    M libc/src/string/strxfrm.h
    M libc/src/sys/auxv/getauxval.h
    M libc/src/sys/auxv/linux/getauxval.cpp
    M libc/src/sys/epoll/epoll_create.h
    M libc/src/sys/epoll/epoll_create1.h
    M libc/src/sys/epoll/epoll_ctl.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/epoll_create.cpp
    M libc/src/sys/epoll/linux/epoll_create1.cpp
    M libc/src/sys/epoll/linux/epoll_ctl.cpp
    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/mman/linux/madvise.cpp
    M libc/src/sys/mman/linux/mincore.cpp
    M libc/src/sys/mman/linux/mlock.cpp
    M libc/src/sys/mman/linux/mlock2.cpp
    M libc/src/sys/mman/linux/mlockall.cpp
    M libc/src/sys/mman/linux/mmap.cpp
    M libc/src/sys/mman/linux/mprotect.cpp
    M libc/src/sys/mman/linux/msync.cpp
    M libc/src/sys/mman/linux/munlock.cpp
    M libc/src/sys/mman/linux/munlockall.cpp
    M libc/src/sys/mman/linux/munmap.cpp
    M libc/src/sys/mman/linux/posix_madvise.cpp
    M libc/src/sys/mman/linux/shm_common.h
    M libc/src/sys/mman/linux/shm_open.cpp
    M libc/src/sys/mman/linux/shm_unlink.cpp
    M libc/src/sys/mman/madvise.h
    M libc/src/sys/mman/mincore.h
    M libc/src/sys/mman/mlock.h
    M libc/src/sys/mman/mlock2.h
    M libc/src/sys/mman/mlockall.h
    M libc/src/sys/mman/mmap.h
    M libc/src/sys/mman/mprotect.h
    M libc/src/sys/mman/msync.h
    M libc/src/sys/mman/munlock.h
    M libc/src/sys/mman/munlockall.h
    M libc/src/sys/mman/munmap.h
    M libc/src/sys/mman/posix_madvise.h
    M libc/src/sys/mman/shm_open.h
    M libc/src/sys/mman/shm_unlink.h
    M libc/src/sys/prctl/linux/prctl.cpp
    M libc/src/sys/prctl/prctl.h
    M libc/src/sys/random/getrandom.h
    M libc/src/sys/random/linux/getrandom.cpp
    M libc/src/sys/resource/getrlimit.h
    M libc/src/sys/resource/linux/getrlimit.cpp
    M libc/src/sys/resource/linux/setrlimit.cpp
    M libc/src/sys/resource/setrlimit.h
    M libc/src/sys/select/linux/select.cpp
    M libc/src/sys/select/select.h
    M libc/src/sys/sendfile/linux/sendfile.cpp
    M libc/src/sys/sendfile/sendfile.h
    M libc/src/sys/socket/bind.h
    M libc/src/sys/socket/linux/bind.cpp
    M libc/src/sys/socket/linux/socket.cpp
    M libc/src/sys/socket/socket.h
    M libc/src/sys/stat/chmod.h
    M libc/src/sys/stat/fchmod.h
    M libc/src/sys/stat/fchmodat.h
    M libc/src/sys/stat/fstat.h
    M libc/src/sys/stat/linux/chmod.cpp
    M libc/src/sys/stat/linux/fchmod.cpp
    M libc/src/sys/stat/linux/fchmodat.cpp
    M libc/src/sys/stat/linux/fstat.cpp
    M libc/src/sys/stat/linux/kernel_statx.h
    M libc/src/sys/stat/linux/lstat.cpp
    M libc/src/sys/stat/linux/mkdir.cpp
    M libc/src/sys/stat/linux/mkdirat.cpp
    M libc/src/sys/stat/linux/stat.cpp
    M libc/src/sys/stat/lstat.h
    M libc/src/sys/stat/mkdir.h
    M libc/src/sys/stat/mkdirat.h
    M libc/src/sys/stat/stat.h
    M libc/src/sys/statvfs/fstatvfs.h
    M libc/src/sys/statvfs/linux/fstatvfs.cpp
    M libc/src/sys/statvfs/linux/statfs_utils.h
    M libc/src/sys/statvfs/linux/statvfs.cpp
    M libc/src/sys/statvfs/statvfs.h
    M libc/src/sys/utsname/linux/uname.cpp
    M libc/src/sys/utsname/uname.h
    M libc/src/sys/wait/linux/wait.cpp
    M libc/src/sys/wait/linux/wait4.cpp
    M libc/src/sys/wait/linux/waitpid.cpp
    M libc/src/sys/wait/wait.h
    M libc/src/sys/wait/wait4.h
    M libc/src/sys/wait/wait4Impl.h
    M libc/src/sys/wait/waitpid.h
    M libc/src/termios/cfgetispeed.h
    M libc/src/termios/cfgetospeed.h
    M libc/src/termios/cfsetispeed.h
    M libc/src/termios/cfsetospeed.h
    M libc/src/termios/linux/cfgetispeed.cpp
    M libc/src/termios/linux/cfgetospeed.cpp
    M libc/src/termios/linux/cfsetispeed.cpp
    M libc/src/termios/linux/cfsetospeed.cpp
    M libc/src/termios/linux/kernel_termios.h
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/termios/tcdrain.h
    M libc/src/termios/tcflow.h
    M libc/src/termios/tcflush.h
    M libc/src/termios/tcgetattr.h
    M libc/src/termios/tcgetsid.h
    M libc/src/termios/tcsendbreak.h
    M libc/src/termios/tcsetattr.h
    M libc/src/threads/call_once.cpp
    M libc/src/threads/call_once.h
    M libc/src/threads/cnd_broadcast.h
    M libc/src/threads/cnd_destroy.h
    M libc/src/threads/cnd_init.h
    M libc/src/threads/cnd_signal.h
    M libc/src/threads/cnd_wait.h
    M libc/src/threads/linux/Futex.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp
    M libc/src/threads/mtx_destroy.cpp
    M libc/src/threads/mtx_destroy.h
    M libc/src/threads/mtx_init.cpp
    M libc/src/threads/mtx_init.h
    M libc/src/threads/mtx_lock.cpp
    M libc/src/threads/mtx_lock.h
    M libc/src/threads/mtx_unlock.cpp
    M libc/src/threads/mtx_unlock.h
    M libc/src/threads/thrd_create.cpp
    M libc/src/threads/thrd_create.h
    M libc/src/threads/thrd_current.cpp
    M libc/src/threads/thrd_current.h
    M libc/src/threads/thrd_detach.cpp
    M libc/src/threads/thrd_detach.h
    M libc/src/threads/thrd_equal.cpp
    M libc/src/threads/thrd_equal.h
    M libc/src/threads/thrd_exit.cpp
    M libc/src/threads/thrd_exit.h
    M libc/src/threads/thrd_join.cpp
    M libc/src/threads/thrd_join.h
    M libc/src/threads/tss_create.cpp
    M libc/src/threads/tss_create.h
    M libc/src/threads/tss_delete.cpp
    M libc/src/threads/tss_delete.h
    M libc/src/threads/tss_get.cpp
    M libc/src/threads/tss_get.h
    M libc/src/threads/tss_set.cpp
    M libc/src/threads/tss_set.h
    M libc/src/time/asctime.cpp
    M libc/src/time/asctime.h
    M libc/src/time/asctime_r.cpp
    M libc/src/time/asctime_r.h
    M libc/src/time/clock.h
    M libc/src/time/clock_gettime.h
    M libc/src/time/difftime.cpp
    M libc/src/time/difftime.h
    M libc/src/time/gettimeofday.h
    M libc/src/time/gmtime.cpp
    M libc/src/time/gmtime.h
    M libc/src/time/gmtime_r.cpp
    M libc/src/time/gmtime_r.h
    M libc/src/time/gpu/clock.cpp
    M libc/src/time/gpu/nanosleep.cpp
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    M libc/src/time/linux/clock.cpp
    M libc/src/time/linux/clock_gettime.cpp
    M libc/src/time/linux/gettimeofday.cpp
    M libc/src/time/linux/nanosleep.cpp
    M libc/src/time/linux/time.cpp
    M libc/src/time/mktime.cpp
    M libc/src/time/mktime.h
    M libc/src/time/nanosleep.h
    M libc/src/time/time_func.h
    M libc/src/time/time_utils.cpp
    M libc/src/time/time_utils.h
    M libc/src/unistd/_exit.cpp
    M libc/src/unistd/_exit.h
    M libc/src/unistd/access.h
    M libc/src/unistd/chdir.h
    M libc/src/unistd/close.h
    M libc/src/unistd/dup.h
    M libc/src/unistd/dup2.h
    M libc/src/unistd/dup3.h
    M libc/src/unistd/environ.cpp
    M libc/src/unistd/environ.h
    M libc/src/unistd/execv.h
    M libc/src/unistd/execve.h
    M libc/src/unistd/fchdir.h
    M libc/src/unistd/fork.h
    M libc/src/unistd/fpathconf.h
    M libc/src/unistd/fsync.h
    M libc/src/unistd/ftruncate.h
    M libc/src/unistd/getcwd.h
    M libc/src/unistd/geteuid.h
    M libc/src/unistd/getopt.cpp
    M libc/src/unistd/getopt.h
    M libc/src/unistd/getpid.h
    M libc/src/unistd/getppid.h
    M libc/src/unistd/getuid.h
    M libc/src/unistd/isatty.h
    M libc/src/unistd/link.h
    M libc/src/unistd/linkat.h
    M libc/src/unistd/linux/access.cpp
    M libc/src/unistd/linux/chdir.cpp
    M libc/src/unistd/linux/close.cpp
    M libc/src/unistd/linux/dup.cpp
    M libc/src/unistd/linux/dup2.cpp
    M libc/src/unistd/linux/dup3.cpp
    M libc/src/unistd/linux/execv.cpp
    M libc/src/unistd/linux/execve.cpp
    M libc/src/unistd/linux/fchdir.cpp
    M libc/src/unistd/linux/fork.cpp
    M libc/src/unistd/linux/fpathconf.cpp
    M libc/src/unistd/linux/fsync.cpp
    M libc/src/unistd/linux/ftruncate.cpp
    M libc/src/unistd/linux/getcwd.cpp
    M libc/src/unistd/linux/geteuid.cpp
    M libc/src/unistd/linux/getpid.cpp
    M libc/src/unistd/linux/getppid.cpp
    M libc/src/unistd/linux/getuid.cpp
    M libc/src/unistd/linux/isatty.cpp
    M libc/src/unistd/linux/link.cpp
    M libc/src/unistd/linux/linkat.cpp
    M libc/src/unistd/linux/lseek.cpp
    M libc/src/unistd/linux/pathconf.cpp
    M libc/src/unistd/linux/pathconf_utils.cpp
    M libc/src/unistd/linux/pathconf_utils.h
    M libc/src/unistd/linux/pipe.cpp
    M libc/src/unistd/linux/pread.cpp
    M libc/src/unistd/linux/pwrite.cpp
    M libc/src/unistd/linux/read.cpp
    M libc/src/unistd/linux/readlink.cpp
    M libc/src/unistd/linux/readlinkat.cpp
    M libc/src/unistd/linux/rmdir.cpp
    M libc/src/unistd/linux/symlink.cpp
    M libc/src/unistd/linux/symlinkat.cpp
    M libc/src/unistd/linux/syscall.cpp
    M libc/src/unistd/linux/sysconf.cpp
    M libc/src/unistd/linux/truncate.cpp
    M libc/src/unistd/linux/unlink.cpp
    M libc/src/unistd/linux/unlinkat.cpp
    M libc/src/unistd/linux/write.cpp
    M libc/src/unistd/lseek.h
    M libc/src/unistd/pathconf.h
    M libc/src/unistd/pipe.h
    M libc/src/unistd/pread.h
    M libc/src/unistd/pwrite.h
    M libc/src/unistd/read.h
    M libc/src/unistd/readlink.h
    M libc/src/unistd/readlinkat.h
    M libc/src/unistd/rmdir.h
    M libc/src/unistd/swab.cpp
    M libc/src/unistd/swab.h
    M libc/src/unistd/symlink.h
    M libc/src/unistd/symlinkat.h
    M libc/src/unistd/syscall.h
    M libc/src/unistd/sysconf.h
    M libc/src/unistd/truncate.h
    M libc/src/unistd/unlink.h
    M libc/src/unistd/unlinkat.h
    M libc/src/unistd/write.h
    M libc/src/wchar/btowc.cpp
    M libc/src/wchar/btowc.h
    M libc/src/wchar/wctob.cpp
    M libc/src/wchar/wctob.h
    M libc/startup/baremetal/fini.cpp
    M libc/startup/baremetal/init.cpp
    M libc/startup/gpu/amdgpu/start.cpp
    M libc/startup/gpu/nvptx/start.cpp
    M libc/startup/linux/aarch64/tls.cpp
    M libc/startup/linux/do_start.cpp
    M libc/startup/linux/do_start.h
    M libc/startup/linux/riscv/tls.cpp
    M libc/startup/linux/x86_64/tls.cpp
    M libc/test/IntegrationTest/test.cpp
    M libc/test/UnitTest/BazelFilePath.cpp
    M libc/test/UnitTest/CmakeFilePath.cpp
    M libc/test/UnitTest/ErrnoSetterMatcher.h
    M libc/test/UnitTest/ExecuteFunction.h
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FEnvSafeTest.cpp
    M libc/test/UnitTest/FEnvSafeTest.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPExceptMatcher.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/UnitTest/GTest.h
    M libc/test/UnitTest/HermeticTestUtils.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    M libc/test/UnitTest/PrintfMatcher.cpp
    M libc/test/UnitTest/PrintfMatcher.h
    M libc/test/UnitTest/RoundingModeUtils.cpp
    M libc/test/UnitTest/RoundingModeUtils.h
    M libc/test/UnitTest/ScanfMatcher.cpp
    M libc/test/UnitTest/ScanfMatcher.h
    M libc/test/UnitTest/StringUtils.h
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/UnitTest/TestLogger.h
    M libc/test/UnitTest/ZxTest.h
    M libc/test/include/sys/queue_test.cpp
    M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
    M libc/test/src/__support/CPP/algorithm_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/CPP/cstddef_test.cpp
    M libc/test/src/__support/CPP/limits_test.cpp
    M libc/test/src/__support/CPP/type_traits_test.cpp
    M libc/test/src/__support/HashTable/bitmask_test.cpp
    M libc/test/src/__support/HashTable/group_test.cpp
    M libc/test/src/__support/HashTable/table_test.cpp
    M libc/test/src/__support/big_int_test.cpp
    M libc/test/src/__support/endian_test.cpp
    M libc/test/src/__support/freelist_heap_test.cpp
    M libc/test/src/__support/math_extras_test.cpp
    M libc/test/src/__support/memory_size_test.cpp
    M libc/test/src/__support/str_to_double_test.cpp
    M libc/test/src/__support/str_to_float_test.cpp
    M libc/test/src/__support/str_to_fp_test.h
    M libc/test/src/__support/str_to_long_double_test.cpp
    M libc/test/src/math/expm1_test.cpp
    M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
    M libc/test/src/math/performance_testing/CMakeLists.txt
    M libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
    M libc/test/src/math/performance_testing/Timer.cpp
    M libc/test/src/math/performance_testing/Timer.h
    A libc/test/src/math/performance_testing/nearest_integer_funcs_perf.cpp
    M libc/test/src/math/sdcomp26094.h
    M libc/test/src/math/tan_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdlib/strtoint32_test.cpp
    M libc/test/src/stdlib/strtoint64_test.cpp
    M libc/test/src/string/bcmp_test.cpp
    M libc/test/src/string/bcopy_test.cpp
    M libc/test/src/string/bzero_test.cpp
    M libc/test/src/string/memcmp_test.cpp
    M libc/test/src/string/memcpy_test.cpp
    M libc/test/src/string/memmem_test.cpp
    M libc/test/src/string/memmove_test.cpp
    M libc/test/src/string/memory_utils/memory_check_utils.h
    M libc/test/src/string/memory_utils/op_tests.cpp
    M libc/test/src/string/memory_utils/utils_test.cpp
    M libc/test/src/string/memset_explicit_test.cpp
    M libc/test/src/string/memset_test.cpp
    M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
    M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
    M libc/test/src/time/TmHelper.h
    M libc/test/src/time/TmMatcher.h
    M libc/test/src/unistd/CMakeLists.txt
    M libc/test/src/unistd/readlink_test.cpp
    M libc/test/src/unistd/readlinkat_test.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes.rst
    M libcxx/docs/ReleaseNotes/19.rst
    A libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx17.rst
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/SpaceshipProjects.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/zoned_time.h
    A libcxx/include/__tuple/ignore.h
    M libcxx/include/chrono
    M libcxx/include/module.modulemap
    M libcxx/include/regex
    M libcxx/include/tuple
    M libcxx/include/utility
    M libcxx/include/version
    M libcxx/modules/std/chrono.inc
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/deduction.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/assign.local_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/assign.sys_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_info.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_local_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_local_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_sys_time.pass.cpp
    A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.nonmembers/eq.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.zonedtime/types.compile.pass.cpp
    A libcxx/test/std/utilities/tuple/tuple.general/ignore.include.compile.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
    A libcxx/test/std/utilities/utility/ignore/ignore.include.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M libunwind/src/UnwindCursor.hpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/MachO/Driver.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/test/ELF/basic-sparcv9.s
    M lld/test/ELF/riscv-tlsdesc.s
    A lld/test/ELF/wrap-weak.s
    M lld/test/MachO/objc-category-merging-complete-test.s
    M lldb/docs/conf.py
    M lldb/include/lldb/API/SBLanguageRuntime.h
    M lldb/include/lldb/Host/Config.h.cmake
    M lldb/include/lldb/Target/Language.h
    M lldb/include/lldb/Target/ThreadList.h
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBLanguageRuntime.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/Section.cpp
    M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
    M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/ThreadList.cpp
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
    M lldb/test/API/commands/expression/timeout/TestCallWithTimeout.py
    A lldb/test/API/debuginfod/Normal/Makefile
    A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    A lldb/test/API/debuginfod/Normal/main.c
    A lldb/test/API/debuginfod/SplitDWARF/Makefile
    A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    A lldb/test/API/debuginfod/SplitDWARF/main.c
    A lldb/test/API/functionalities/data-formatter/special-chars/Makefile
    A lldb/test/API/functionalities/data-formatter/special-chars/TestSummaryStringSpecialChars.py
    A lldb/test/API/functionalities/data-formatter/special-chars/main.c
    M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py
    M lldb/test/API/python_api/thread/TestThreadAPI.py
    M lldb/test/Shell/Commands/command-target-modules-dump-sections.yaml
    M lldb/test/Shell/ObjectFile/ELF/PT_TLS-overlap-PT_LOAD.yaml
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-foreign-type-units.cpp
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Options.td
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-test/lldb-test.cpp
    M lldb/utils/lit-cpuid/lit-cpuid.cpp
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/TableGen/BackEnds.rst
    M llvm/include/llvm/ADT/ArrayRef.h
    M llvm/include/llvm/Analysis/CGSCCPassManager.h
    M llvm/include/llvm/Analysis/MemoryProfileInfo.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/AsmParser/Parser.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/LiveIntervals.h
    M llvm/include/llvm/CodeGen/MachineModuleInfo.h
    M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
    M llvm/include/llvm/IR/ConstrainedOps.def
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/include/llvm/Object/ArchiveWriter.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/TableGen/SearchableTable.td
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/Host.h
    M llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/include/llvm/TargetParser/TargetParser.h
    M llvm/lib/Analysis/CGSCCPassManager.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/AsmParser/Parser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/InterferenceCache.cpp
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/CodeGen/LiveRegMatrix.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineCSE.cpp
    M llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/CodeGen/SwitchLoweringUtils.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/CodeGenData/OutlinedHashTreeRecord.cpp
    M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
    M llvm/lib/DWARFLinker/Parallel/DebugLineSectionEmitter.h
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
    M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
    M llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/IR/LegacyPassManager.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.h
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Passes/CMakeLists.txt
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/SampleProf.cpp
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/main' into users/zyx-billy/mlir/llvm/fix_cyclic_importer


Compare: https://github.com/llvm/llvm-project/compare/a0b59b246a1b...a474b3b86c10

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