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

InstCombine: Infer nnan/ninf on canonicalize
DeltaFile
+22-12llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-canonicalize.ll
+8-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+30-122 files

LLVM/project 167f9bbllvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass-rounding-intrinsics.ll

InstCombine: Infer nnan/ninf on rounding intrinsics
DeltaFile
+52-42llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-rounding-intrinsics.ll
+8-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+60-422 files

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

InstCombine: Infer nnan and ninf on fptrunc

Teach SimplifyDemandedFPClass to do this, although this is
not yet applied directly to the cast.
DeltaFile
+31-21llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc-round.ll
+19-19llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll
+11-11llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+61-513 files

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

InstCombine: Infer nnan and ninf on fpext

Teach SimplifyDemandedFPClass to do this, although this is
not yet applied directly to the cast.
DeltaFile
+12-12llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fpext.ll
+4-3llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+16-152 files

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

InstCombine: Infer nnan and ninf flags on log intrinsics

Use the new common utility function to try fold to constant
or introduce flags.
DeltaFile
+8-8llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-log.ll
+2-2llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+1-2llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+11-123 files

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

InstCombine: Infer nnan and ninf flags on exp intrinsics

Use the new common utility function to try fold to constant
or introduce flags.
DeltaFile
+11-11llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
+3-3llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+2-2llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+16-163 files

LLVM/project 0263baallvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Use SimplifyDemandedFPClass epilog helper function for fma (#176017)

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 0c79348llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Cleanup redundant result-not-nan check for canonicalize (#177765)

Missed case from 53eb230e476f69c5c879871a0d328d283a6ce172
DeltaFile
+2-3llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+2-31 files

LLVM/project 6324f57clang-tools-extra/clang-tidy ClangTidyDiagnosticConsumer.cpp ClangTidy.cpp, clang-tools-extra/clang-tidy/bugprone RedundantBranchConditionCheck.cpp EasilySwappableParametersCheck.cpp

[clang-tidy][NFC] Fix `bugprone-unchecked-optional-access` warnings in codebase (#170004)

Closes [#156151](https://github.com/llvm/llvm-project/issues/156151)
Assisted-by: Gemini 3 via Gemini CLI
DeltaFile
+15-15clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
+16-10clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+15-9clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
+6-4clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
+2-1clang-tools-extra/clang-tidy/ClangTidy.cpp
+2-0clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
+56-392 files not shown
+57-418 files

LLVM/project 0653e07libunwind/include libunwind.h, libunwind/include/mach-o compact_unwind_encoding.h

[libunwind][NFC] Typo fixes & comments corrections & code style changes. (#174565)

DeltaFile
+5-5libunwind/src/Registers.hpp
+3-3libunwind/src/UnwindCursor.hpp
+2-2libunwind/src/libunwind_ext.h
+2-2libunwind/src/libunwind.cpp
+1-1libunwind/include/mach-o/compact_unwind_encoding.h
+1-1libunwind/include/libunwind.h
+14-144 files not shown
+18-1810 files

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

InstCombine: Infer fast math flags for sqrt (#176003)

DeltaFile
+60-5llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-sqrt.ll
+36-5llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+96-102 files

LLVM/project 71c1881llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Cleanup redundant result-not-nan check for canonicalize

Missed case from 53eb230e476f69c5c879871a0d328d283a6ce172
DeltaFile
+2-3llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+2-31 files

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

[InstCombine] Mark select in fdiv transforms with unknown profile (#177759)

As part of the profcheck effort we are trying to explicitly annotate
select instructions where we cannot reasonably synthesize profile
information as having an unknown profile. This does that for the case
introduced in 0993d69bc35cfdd4f3a904a603701e66906e8987.
DeltaFile
+16-4llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
+2-2llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+0-1llvm/utils/profcheck-xfail.txt
+18-73 files

LLVM/project a871b70llvm/lib/Transforms/Vectorize VPlan.h VPlanValue.h, llvm/unittests/Transforms/Vectorize VPlanTest.cpp

Reapply "[VPlan] Move VDef subclass ID to VPRecipeBase (NFC). (#174282)"

Move SubclassID to VPRecipeBase, and store VPRecipeBase directly in
VPRecipeValue, instead of VPDef. This allows for some additional
simplifications and VPDef now just holds various helpers to deal with
removing and adding VPValues.

This reverts commit 16395da0ff577750571b99fe28281ce6fb6a3ae8.

PR: https://github.com/llvm/llvm-project/pull/174282
DeltaFile
+208-144llvm/lib/Transforms/Vectorize/VPlan.h
+16-79llvm/lib/Transforms/Vectorize/VPlanValue.h
+33-33llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+6-53llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+9-11llvm/lib/Transforms/Vectorize/VPlan.cpp
+7-7llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+279-3271 files not shown
+283-3317 files

LLVM/project 16395dallvm/lib/Transforms/Vectorize VPlan.h VPlanValue.h, llvm/unittests/Transforms/Vectorize VPlanTest.cpp

Revert "[VPlan] Fold VPDef into VPRecipeBase (NFC). (#174282)"

This reverts commit f3ae334f4b7a8cf4fe0eb6ee7b2f2ef0879f522d.

Committed with out-of-date message, revert to reland with updated
message.
DeltaFile
+144-208llvm/lib/Transforms/Vectorize/VPlan.h
+79-16llvm/lib/Transforms/Vectorize/VPlanValue.h
+33-33llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+53-6llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+11-7llvm/lib/Transforms/Vectorize/VPlan.cpp
+7-7llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+327-2771 files not shown
+331-2817 files

LLVM/project f3ae334llvm/lib/Transforms/Vectorize VPlan.h VPlanValue.h, llvm/unittests/Transforms/Vectorize VPlanTest.cpp

[VPlan] Fold VPDef into VPRecipeBase (NFC). (#174282)

A separate VDef is not needed any longer, fold i into VPRecipeBase to
simplify code and class hierarchy.

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

PR: https://github.com/llvm/llvm-project/pull/174282
DeltaFile
+208-144llvm/lib/Transforms/Vectorize/VPlan.h
+16-79llvm/lib/Transforms/Vectorize/VPlanValue.h
+33-33llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+6-53llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+7-11llvm/lib/Transforms/Vectorize/VPlan.cpp
+7-7llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+277-3271 files not shown
+281-3317 files

LLVM/project 8826dadllvm/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 d62296ellvm/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-5llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+96-102 files

LLVM/project 53eb230llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Clean up SimplifyDemandedFPClass use context application (#176886)

Clean up some now redundant propagation of known-result to known-source
cases. Also move the application of the demanded mask to individual
cases, since the intermediate results are often used.
DeltaFile
+63-93llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+63-931 files

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

[NFCI][AMDGPU] Use `GET_SUBTARGETINFO_MACRO` in `GCNSubtarget.h`
DeltaFile
+9-295llvm/lib/Target/AMDGPU/GCNSubtarget.h
+18-44llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
+14-11llvm/lib/Target/AMDGPU/R600Subtarget.h
+7-5llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+3-3llvm/lib/Target/AMDGPU/R600Processors.td
+1-1llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+52-3593 files not shown
+54-3639 files

LLVM/project cd338a1llvm/utils profcheck-xfail.txt

[ProfCheck] Add new InstCombine test to xfail list

The fix should be quick, but just in case it takes a while to land, add
it to the xfail list so we can catch any future regressions more easily.
DeltaFile
+1-0llvm/utils/profcheck-xfail.txt
+1-01 files

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

[NFCI][AMDGPU] Move more attributes from `AMDGPUSubtarget` to `GCNSubtarget` (#177670)

They are simply not used by `AMDGPUSubtarget &` but directly via
`GCNSubtarget &`.
DeltaFile
+0-25llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
+14-0llvm/lib/Target/AMDGPU/GCNSubtarget.h
+0-8llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
+1-5llvm/lib/Target/AMDGPU/AMDGPU.td
+15-384 files

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

Update for fdiv case
DeltaFile
+10-15llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+10-151 files

LLVM/project fa12daallvm/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 00895a2llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

Update for fptrunc case
DeltaFile
+2-2llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+2-21 files

LLVM/project 510107ellvm/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 e05390cllvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Clean up SimplifyDemandedFPClass use context application

Clean up some now redundant propagation of known-result to known-source
cases. Also move the application of the demanded mask to individual
cases, since the intermediate results are often used.
DeltaFile
+51-76llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+51-761 files

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

InstCombine: Implement SimplifyDemandedFPClass for fma (#175616)

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

LLVM/project e2f1df9llvm/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 5db9ef2llvm/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