LLVM/project a10a834llvm/lib/Target/AMDGPU GCNSubtarget.h AMDGPUSubtarget.h

[NFCI][AMDGPU] Use `GET_SUBTARGETINFO_MACRO` in `GCNSubtarget.h`
DeltaFile
+9-291llvm/lib/Target/AMDGPU/GCNSubtarget.h
+11-62llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
+14-11llvm/lib/Target/AMDGPU/R600Subtarget.h
+7-5llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+0-10llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
+3-3llvm/lib/Target/AMDGPU/R600Processors.td
+44-3824 files not shown
+49-38710 files

LLVM/project 3d073f4clang/docs AddressSanitizer.rst ThreadSanitizer.rst

[sanitizer][NFCI] Document interaction of inlining with disabling instrumentation (#177672)

For ASan, MSan, TSan, UBSan
DeltaFile
+16-1clang/docs/AddressSanitizer.rst
+16-0clang/docs/ThreadSanitizer.rst
+16-0clang/docs/MemorySanitizer.rst
+14-0clang/docs/UndefinedBehaviorSanitizer.rst
+62-14 files

LLVM/project 1efebfellvm/test/CodeGen/AArch64 arm64-neon-mul-div.ll

[AArch64][GlobalISel] Add test coverage for arm64-neon-mul-div.ll. NFC
DeltaFile
+2,459-1,242llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
+2,459-1,2421 files

LLVM/project d722b29llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass-fdiv.ll

Address comment nan lhs
DeltaFile
+4-2llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
+1-1llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+5-32 files

LLVM/project 99eae09llvm/include/llvm/Support KnownFPClass.h

Fix comment
DeltaFile
+1-1llvm/include/llvm/Support/KnownFPClass.h
+1-11 files

LLVM/project 6608c21llvm/include/llvm/Support KnownFPClass.h, llvm/lib/Analysis ValueTracking.cpp

frem self
DeltaFile
+17-1llvm/lib/Support/KnownFPClass.cpp
+5-6llvm/lib/Analysis/ValueTracking.cpp
+5-0llvm/include/llvm/Support/KnownFPClass.h
+27-73 files

LLVM/project b19b2callvm/include/llvm/Support KnownFPClass.h, llvm/lib/Analysis ValueTracking.cpp

InstCombine: Handle fdiv in SimplifyDemandedFPClass
DeltaFile
+127-148llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
+130-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+46-0llvm/lib/Support/KnownFPClass.cpp
+3-33llvm/lib/Analysis/ValueTracking.cpp
+10-0llvm/include/llvm/Support/KnownFPClass.h
+316-1815 files

LLVM/project c991fddllvm/include/llvm/Support KnownFPClass.h, llvm/lib/Analysis ValueTracking.cpp

InstCombine: Handle fsub in SimplifyDemandedFPClass (#175852)

alive2 fails on some of the tests, but this is due to existing
folds in instsimplify and
https://github.com/AliveToolkit/alive2/issues/1273
DeltaFile
+55-73llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fsub.ll
+19-60llvm/lib/Analysis/ValueTracking.cpp
+11-6llvm/include/llvm/Support/KnownFPClass.h
+10-4llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+6-0llvm/lib/Support/KnownFPClass.cpp
+101-1435 files

LLVM/project c8193f1lldb/source/Utility VirtualDataExtractor.cpp

[lldb] Fix for 32-bit armv7 ubuntu bot compile error
DeltaFile
+1-1lldb/source/Utility/VirtualDataExtractor.cpp
+1-11 files

LLVM/project 7497355llvm/include/llvm/Support KnownFPClass.h

Fix comment
DeltaFile
+1-1llvm/include/llvm/Support/KnownFPClass.h
+1-11 files

LLVM/project fb24a11llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass-fdiv.ll

Address comment nan lhs
DeltaFile
+4-2llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
+1-1llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+5-32 files

LLVM/project 8cdb674llvm/include/llvm/Support KnownFPClass.h, llvm/lib/Analysis ValueTracking.cpp

frem self
DeltaFile
+17-1llvm/lib/Support/KnownFPClass.cpp
+5-6llvm/lib/Analysis/ValueTracking.cpp
+5-0llvm/include/llvm/Support/KnownFPClass.h
+27-73 files

LLVM/project 5b683abllvm/include/llvm/Support KnownFPClass.h, llvm/lib/Analysis ValueTracking.cpp

InstCombine: Handle fdiv in SimplifyDemandedFPClass
DeltaFile
+127-148llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
+130-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+46-0llvm/lib/Support/KnownFPClass.cpp
+3-33llvm/lib/Analysis/ValueTracking.cpp
+10-0llvm/include/llvm/Support/KnownFPClass.h
+316-1815 files

LLVM/project e595e0fllvm/test/Transforms/InstCombine simplify-demanded-fpclass.ll simplify-demanded-fpclass-insertelement.ll

regenerate tests
DeltaFile
+0-84llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+4-3llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll
+4-3llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll
+2-1llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll
+2-1llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
+2-1llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-extractelement.ll
+14-933 files not shown
+18-969 files

LLVM/project 38bd506llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

Move isAggregateType, although this can't break for any existing case
DeltaFile
+4-4llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+4-41 files

LLVM/project c73ccb4llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass.ll

Check IsCanonicalizing
DeltaFile
+85-1llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+2-1llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+87-22 files

LLVM/project dbb4b7dllvm/test/Transforms/InstCombine simplify-demanded-fpclass-sqrt.ll simplify-demanded-fpclass-frexp.ll

InstCombine: Fold known-qnan results to a literal nan

Previously we only considered fcNan to fold to qnan for canonicalizing
results, ignoring the simpler case where we know the nan is already
quiet.
DeltaFile
+3-9llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-sqrt.ll
+3-4llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
+3-4llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll
+3-4llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll
+2-4llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
+1-2llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximumnum.ll
+15-2712 files not shown
+28-4618 files

LLVM/project caf23d7llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass-frexp.ll

one use check
DeltaFile
+4-2llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
+1-1llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+5-32 files

LLVM/project f74b460llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

Use m_Extractvalue
DeltaFile
+5-7llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+5-71 files

LLVM/project 438fc78llvm/include/llvm/Support KnownFPClass.h, llvm/lib/Analysis ValueTracking.cpp

InstCombine: Implement SimplifyDemandedFPClass for frexp
DeltaFile
+16-38llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
+49-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+27-0llvm/lib/Support/KnownFPClass.cpp
+3-21llvm/lib/Analysis/ValueTracking.cpp
+4-0llvm/include/llvm/Support/KnownFPClass.h
+99-595 files

LLVM/project 7a5e59ellvm/test/Transforms/InstCombine simplify-demanded-fpclass-frexp.ll

InstCombine: Add baseline frexp test for SimplifyDemandedFPClass (#176121)

DeltaFile
+632-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
+632-01 files

LLVM/project 6000703llvm/include/llvm/Support KnownFPClass.h, llvm/lib/Analysis ValueTracking.cpp

InstCombine: Handle fptrunc in SimplifyDemandedFPClass (#175421)

Also handle llvm.fptrunc.round since it's the same.
DeltaFile
+60-30llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll
+60-28llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc-round.ll
+41-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+14-0llvm/lib/Support/KnownFPClass.cpp
+1-9llvm/lib/Analysis/ValueTracking.cpp
+3-0llvm/include/llvm/Support/KnownFPClass.h
+179-676 files

LLVM/project fc94ef9llvm/lib/Target/AMDGPU GCNSchedStrategy.cpp, llvm/test/CodeGen/AMDGPU sched_mfma_rewrite_copies.mir sched_mfma_rewrite_cost.mir

AMDGPU: Disable scheduler mfma rewrite stage by default for now (#177624)

Currently generating an excess number of copies. Turning it off to avoid
churn for other developers.
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
+1-1llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+1-1llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
+3-33 files

LLVM/project 5faf48dlibcxx/test CMakeLists.txt, libcxx/utils/libcxx/test params.py

[libc++] Automatically detect the libc++ hardening mode from the test suite (#172505)

This prevents hardcoding the hardening mode via compiler flags, and
allows testing what the default hardening mode is on platforms that set
it to something that isn't `none`. Otherwise, a platform setting a
default (which is done via -DLIBCXX_HARDENING_MODE=mode at CMake
configuration time) would end up passing `-D_LIBCPP_HARDENING_MODE=mode`
to the compiler, which does not allow checking what the default mode is.
DeltaFile
+20-1libcxx/utils/libcxx/test/features/libcxx_macros.py
+0-2libcxx/test/CMakeLists.txt
+0-1libcxx/utils/libcxx/test/params.py
+20-43 files

LLVM/project f45c8ballvm/docs RISCVUsage.rst

[RISC-V][sanitizers][NFCI] Add documentation on which sanitizers probably work (#177679)

Docs requested in https://github.com/llvm/llvm-project/issues/172375
DeltaFile
+20-0llvm/docs/RISCVUsage.rst
+20-01 files

LLVM/project b39568dllvm/lib/Transforms/Vectorize VPlan.cpp, llvm/test/Transforms/LoopVectorize exact.ll tripcount.ll

[LV] capture branch weights for constant trip counts (#175096)

When a vectorized loop has constant trip, it's important to update the
profile information accordingly. Hotness analysis will only look at
profile info.

For example, in the `tripcount.ll` test, without producing the profile
info, in the `const_trip_over_profile` function, the BFI of the
`vector.body` would be 32 (this is the expected value when synthetic
branch weights are used, in loops). The real value is 250. The
`for.body`value was _very_ incorrect before, too (and detrimentally so,
as it would have appeared as "very hot" when it wasn't):

The table below was obtained by printing BFI in the RUN: command, i.e.
`build/bin/opt < llvm/test/Transforms/LoopVectorize/tripcount.ll
-passes="loop-vectorize,print<block-freq>"
-loop-vectorize-with-block-frequency -S -o /dev/null`. Showing only the
`float` value, i.e. the BFI relative to the function entry BB.


    [15 lines not shown]
DeltaFile
+27-7llvm/lib/Transforms/Vectorize/VPlan.cpp
+30-3llvm/test/Transforms/LoopVectorize/exact.ll
+9-6llvm/test/Transforms/LoopVectorize/tripcount.ll
+66-163 files

LLVM/project cad1721libcxx/test/std/utilities/optional/optional.object/optional.object.observe value.pass.cpp dereference.pass.cpp

[libc++][NFC] Simplify some `optional.observe` tests (#175682)

- Collapse the different ref/const-qualifier `operator*`, `operator->`
  and `value()` tests since they were all very similar to each other
- Refactor them to be inline with the current testing style
DeltaFile
+146-52libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
+97-54libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference.pass.cpp
+96-55libcxx/test/std/utilities/optional/optional.object/optional.object.observe/op_arrow.pass.cpp
+0-106libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
+0-106libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
+0-97libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference_rvalue.pass.cpp
+339-4705 files not shown
+339-84411 files

LLVM/project b5d8fc5lldb/packages/Python/lldbsuite/test gdbclientutils.py lldbgdbclient.py, lldb/source/Plugins/Process/gdb-remote ProcessGDBRemote.cpp

[lldb] Fix setting CanJIT if memory cannot be allocated (#176099)

When a server is unable to allocate memory for the `_M` packet, it may
respond with an error code. In this case,
`GDBRemoteCommunicationClient::AllocateMemory()` sets
`m_supports_alloc_dealloc_memory` to `eLazyBoolYes`; `eLazyBoolNo` is
only used if the server cannot handle the packet at all. Before this
patch, `ProcessGDBRemote::DoAllocateMemory()` checked this flag and
returned `LLDB_INVALID_ADDRESS` without setting an error, which caused
`Process::CanJIT()` to set `m_can_jit = eCanJITYes`, resulting in
`IRMemoryMap::FindSpace()` attempting to allocate memory in the inferior
process and failing. With the patch,
`ProcessGDBRemote::DoAllocateMemory()` returns an error and `m_can_jit`
is set to `eCanJITNo`.

Example debug session:
```
(lldb) platform connect...
(lldb) file test

    [8 lines not shown]
DeltaFile
+55-0lldb/test/API/functionalities/gdb_remote_client/TestExprNoAlloc.py
+13-0lldb/packages/Python/lldbsuite/test/gdbclientutils.py
+3-3lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+2-2lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
+73-54 files

LLVM/project deed378clang/include/clang/Analysis/Scalable/TUSummary TUSummary.h EntitySummary.h

[SSAF] Add data structures for summary data of a single TU (#176504)

DeltaFile
+37-0clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
+32-0clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
+69-02 files

LLVM/project d29aa30clang/include/clang/CIR/Dialect/IR CIRAttrs.td, clang/lib/CIR/CodeGen CIRGenItaniumCXXABI.cpp

[CIR] Upstream support for null and virtual method pointers (#176522)

This upstreams support for pointer-to-member value representations of
null and virtual member pointers and the lowering of virtual member
pointers.
DeltaFile
+54-0clang/test/CIR/CodeGen/pointer-to-member-func.cpp
+23-8clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+28-1clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
+23-1clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
+22-0clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+16-0clang/test/CIR/IR/method-attr.cir
+166-106 files not shown
+182-2012 files