LLVM/project 16601e1llvm/include/llvm/Support KnownFPClass.h

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

LLVM/project 3860147llvm/include/llvm/CodeGen TargetLowering.h, llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

[NFC][TargetLowering] Make shouldExpandAtomicRMWInIR and shouldExpandAtomicCmpXchgInIR take a const Instruction pointer (#176073)

Splits out change from https://github.com/llvm/llvm-project/pull/176015

Changes shouldExpandAtomicRMWInIR to take a constant argument: This is
to allow some other TargetLowering constant-argument functions to call
it. This change touches several backends. An alternative solution
exists, but to me, this seems the "right" way.
DeltaFile
+9-7llvm/lib/Target/X86/X86ISelLowering.cpp
+4-3llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+3-2llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+3-2llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+3-2llvm/include/llvm/CodeGen/TargetLowering.h
+3-2llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+25-1827 files not shown
+70-5533 files

LLVM/project 8eb5761llvm/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 d2a6c03llvm/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 bb07630llvm/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 c5a0b64llvm/test/Transforms/InstCombine simplify-demanded-fpclass-fdiv.ll

InstCombine: Add baseline fdiv SimplifyDemandedFPClass tests (#175945)

DeltaFile
+2,321-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
+2,321-01 files

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

InstCombine: Handle fptrunc in SimplifyDemandedFPClass

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 f14577fllvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize select-folds.ll

[VPlan] Fold boolean select to xor if possible.

Fold select c, false, true -> not c. This allows for more accurate cost
estimation and fixes the underlying issue for the cost divergence
between legacy and VPlan-based cost model that caused the revert of
01d34eb38fa058 in ed004cf42bf57c.

https://alive2.llvm.org/ce/z/yVuSgW.
DeltaFile
+5-1llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-1llvm/test/Transforms/LoopVectorize/select-folds.ll
+6-22 files

LLVM/project c061ddblldb/source/Plugins/Language/CPlusPlus MsvcStlVariant.cpp, lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant TestDataFormatterStdVariant.py main.cpp

Reland [LLDB] Fix MS STL variant with non-trivial types and PDB (#176189)

Relands #171489 which was reverted due to a test failure on GreenDragon.

As suggested in
https://github.com/llvm/llvm-project/pull/171489#issuecomment-3754098800,
I'm checking for `std::string` on Darwin and `std::basic_string<char>`
otherwise, however I can't test that locally.
DeltaFile
+25-0lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
+11-5lldb/source/Plugins/Language/CPlusPlus/MsvcStlVariant.cpp
+5-0lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
+41-53 files

LLVM/project 9d04ddcllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel ssubsat.ll saddsat.ll

[AMDGPU][GlobalISel] Add RegBankLegalize rules for [us]addsat/[us]subsat
DeltaFile
+836-1,089llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
+795-1,060llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
+332-221llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
+332-221llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
+8-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+2,303-2,5915 files

LLVM/project ddcc558llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp AMDGPURegBankLegalizeHelper.cpp

Fix formatting
DeltaFile
+2-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+0-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+2-22 files

LLVM/project 071bd59llvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine gep-fold-chained-const-select.ll

[profcheck][instcombine] Propagate branch weigths in folded GEP (#176247)

Patch following #170439. The branch weigths of the new select are the same as of the original's.

Issue #147390
DeltaFile
+20-13llvm/test/Transforms/InstCombine/gep-fold-chained-const-select.ll
+3-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+23-142 files

LLVM/project 1a1791bllvm/include/llvm/CAS OnDiskGraphDB.h, llvm/lib/CAS OnDiskGraphDB.cpp ActionCaches.cpp

[llvm/CAS] Introduce `validateObjectID()` and use it in `UnifiedOnDiskActionCache::validate()` (#176069)

This allows object IDs to be valid even if they do not point to actual
data yet, like in lazy materialization schemes.
DeltaFile
+30-0llvm/lib/CAS/OnDiskGraphDB.cpp
+4-18llvm/lib/CAS/ActionCaches.cpp
+8-0llvm/unittests/CAS/OnDiskGraphDBTest.cpp
+4-0llvm/include/llvm/CAS/OnDiskGraphDB.h
+46-184 files

LLVM/project 1d5baa2llvm/lib/Target/AMDGPU SIInstrInfo.cpp

[AMDGPU] Use lambda in fmaak/fmamk f16 folding. NFC
DeltaFile
+20-38llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+20-381 files

LLVM/project b501f66llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU fma.f16.ll llvm.fmuladd.f16.ll

[AMDGPU] Fix expensive checks in fmaak/fmamk f16 folding (#176238)

Register classes of sources also has to be restrained to lo128.
There are few regression with register coalescing in true16 mode
though, but otherwise it fails verification.
DeltaFile
+40-2llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+26-16llvm/test/CodeGen/AMDGPU/fma.f16.ll
+6-2llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
+4-2llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
+76-224 files

LLVM/project 4726d80llvm/test/TableGen directive1.td directive2.td

Update tests
DeltaFile
+0-2llvm/test/TableGen/directive1.td
+0-2llvm/test/TableGen/directive2.td
+0-42 files

LLVM/project fb2c741llvm/utils/TableGen/Basic DirectiveEmitter.cpp

Remove extra empty line in output
DeltaFile
+0-1llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
+0-11 files

LLVM/project d3e9e05llvm/test/Transforms/Attributor nofpclass-fmul.ll nofpclass-nan-fmul.ll, llvm/unittests/Analysis ValueTrackingTest.cpp

test-diff
DeltaFile
+2-2llvm/test/Transforms/Attributor/nofpclass-fmul.ll
+1-1llvm/unittests/Analysis/ValueTrackingTest.cpp
+1-1llvm/test/Transforms/Attributor/nofpclass-nan-fmul.ll
+1-1llvm/test/Transforms/Attributor/nofpclass.ll
+5-54 files

LLVM/project dfe68e4llvm/lib/Transforms/Utils ProfileVerify.cpp, llvm/lib/Transforms/Vectorize VPlan.cpp LoopVectorize.cpp

capture weights
DeltaFile
+28-6llvm/lib/Transforms/Vectorize/VPlan.cpp
+9-6llvm/test/Transforms/LoopVectorize/tripcount.ll
+1-1llvm/lib/Transforms/Utils/ProfileVerify.cpp
+2-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+40-134 files

LLVM/project e107687llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel ssubsat.ll saddsat.ll

[AMDGPU][GlobalISel] Add RegBankLegalize rules for [us]addsat/[us]subsat
DeltaFile
+836-1,089llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
+795-1,060llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
+332-221llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
+332-221llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
+8-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+2,303-2,5915 files

LLVM/project 7ff75e9llvm/utils/TableGen/Basic DirectiveEmitter.cpp

Apply review comments
DeltaFile
+8-6llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
+8-61 files

LLVM/project 562d8ffllvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Use SimplifyDemandedFPClass epilog helper function for fma

NFC refactor to use shared code for fold to constant or set fast math
flags.
DeltaFile
+2-14llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+2-141 files

LLVM/project 60b377cllvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

Address comments
DeltaFile
+5-5llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+5-51 files

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

InstCombine: Infer fast math flags for sqrt
DeltaFile
+60-5llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-sqrt.ll
+36-4llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+96-92 files

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

InstCombine: Implement SimplifyDemandedFPClass for fma

This can't do much filtering on the sources, except for nans.
We can also attempt to introduce ninf/nnan.
DeltaFile
+72-21llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+16-31llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fma.ll
+88-522 files

LLVM/project 579934bllvm/test/Transforms/InstCombine simplify-demanded-fpclass-fma.ll

InstCombine: Add baseline fma tests for SimplifyDemandedFPClass
DeltaFile
+316-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fma.ll
+316-01 files

LLVM/project 9a13f3ellvm/lib/Support KnownFPClass.cpp

Add comment
DeltaFile
+5-1llvm/lib/Support/KnownFPClass.cpp
+5-11 files

LLVM/project 6d01a14llvm/lib/Analysis ValueTracking.cpp, llvm/lib/Support KnownFPClass.cpp

ValueTracking: Improve nan tracking for fma square special case

In the square multiply case, we can infer if the add of opposite
sign infinities can occur.
DeltaFile
+11-1llvm/lib/Support/KnownFPClass.cpp
+4-0llvm/lib/Analysis/ValueTracking.cpp
+2-2llvm/test/Transforms/Attributor/nofpclass-fma.ll
+17-33 files

LLVM/project fcd62a0llvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/Attributor nofpclass-fma.ll

propagate flags into fma queries
DeltaFile
+41-0llvm/test/Transforms/Attributor/nofpclass-fma.ll
+15-0llvm/lib/Analysis/ValueTracking.cpp
+56-02 files

LLVM/project 9f5259bllvm/lib/Support KnownFPClass.cpp, llvm/test/Transforms/Attributor nofpclass-fma.ll

fix too conservative
DeltaFile
+2-2llvm/test/Transforms/Attributor/nofpclass-fma.ll
+1-3llvm/lib/Support/KnownFPClass.cpp
+3-52 files