LLVM/project 5dec140llvm/include/llvm/Analysis IR2Vec.h, llvm/lib/Analysis IR2Vec.cpp

[IR2Vec] Changes to support programmatic creation of Vocabulary (#177348)

These changes would help create `ir2vec::Vocabulary` in Python bindings
(or any other *tool*) without having to run `IR2VecVocabAnalysis` which
reads the Vocab path via command line.
DeltaFile
+268-0llvm/unittests/Analysis/IR2VecTest.cpp
+54-35llvm/lib/Analysis/IR2Vec.cpp
+17-5llvm/include/llvm/Analysis/IR2Vec.h
+339-403 files

LLVM/project 217731ellvm/test/TableGen MacroFusion.td ResolveSchedClass.td, llvm/utils/TableGen SubtargetEmitter.cpp

TableGen: Emit subtarget generated methods as final
DeltaFile
+9-9llvm/utils/TableGen/SubtargetEmitter.cpp
+1-1llvm/test/TableGen/MacroFusion.td
+1-1llvm/test/TableGen/ResolveSchedClass.td
+11-113 files

LLVM/project 8dcc9b6polly/lib/External/isl isl_map.c isl_map_simplify.c, polly/lib/External/isl/include/isl typed_cpp.h cpp.h

[Polly] Update isl to isl-0.27 (#177776)

Fixes: #177527

Updated test cases:

* CodeGen/OpenMP/matmul-parallel.ll, ScheduleOptimizer/pattern-matching-based-opts.ll
  Before the update, ISL bailed out the dependency computation due to
  hitting the max operation limit. The commit
  https://repo.or.cz/isl.git/commit/4bdfe2567715c5d1a8287c07d8685eb3db281e32
  seems to have reduced the complexity needed of the dependency
  computation, thus now being able to recognize some loops as parallel.
  The tests were checking that the outer loop is not parallel, but some
  inner loops can be parallized, particularly the array packing loops.

 * DeLICM/reduction_looprotate_hoisted.ll
   changes in how isl generates expressions

 * ScheduleOptimizer/pattern-matching-based-opts_5.ll
   changes in how isl generates expressions, and AST node changes
DeltaFile
+52,760-0polly/lib/External/isl/include/isl/typed_cpp.h
+30,864-0polly/lib/External/isl/include/isl/cpp.h
+21,192-0polly/lib/External/isl/include/isl/cpp-checked.h
+19,097-0polly/lib/External/isl/interface/isl.py.core
+1,681-148polly/lib/External/isl/isl_map.c
+772-161polly/lib/External/isl/isl_map_simplify.c
+126,366-309141 files not shown
+131,425-2,485147 files

LLVM/project 4623ccallvm/include/llvm-c Core.h, llvm/lib/IR Core.cpp

Add C API to set this
DeltaFile
+34-0llvm/include/llvm-c/Core.h
+30-0llvm/unittests/IR/AttributesTest.cpp
+16-0llvm/lib/IR/Core.cpp
+80-03 files

LLVM/project f5de162llvm/test/Assembler denormal_fpenv.ll, llvm/test/Bitcode compatibility.ll auto_upgrade_denormal_fp_math.ll

bar syntax and only print input if different from output.

Breaks update_test_checks Function Attrs comment check in the rare
case where the modes mismatch.
DeltaFile
+72-72llvm/test/Bitcode/compatibility.ll
+70-72llvm/test/Assembler/denormal_fpenv.ll
+57-57llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
+48-48llvm/test/Transforms/InstSimplify/canonicalize.ll
+42-42llvm/test/Bitcode/auto_upgrade_denormal_fp_math.ll
+40-44llvm/test/Transforms/Attributor/denormal-fp-math.ll
+329-335156 files not shown
+861-848162 files

LLVM/project 4faddd6llvm/lib/AsmParser LLParser.cpp, llvm/lib/Support FloatingPointMode.cpp

XXX - syntax change
DeltaFile
+14-4llvm/lib/AsmParser/LLParser.cpp
+5-5llvm/test/Assembler/denormal_fpenv.ll
+1-1llvm/lib/Support/FloatingPointMode.cpp
+20-103 files

LLVM/project 7f4b459llvm/docs LangRef.rst

Documentation examples
DeltaFile
+6-0llvm/docs/LangRef.rst
+6-01 files

LLVM/project 8c07e17llvm/lib/AsmParser LLParser.cpp, llvm/lib/Support FloatingPointMode.cpp

Revert "XXX - syntax change"

This reverts commit 1336cd4e7d2754ea5eddf2a43c1f66c615ea40ff.
DeltaFile
+4-14llvm/lib/AsmParser/LLParser.cpp
+5-5llvm/test/Assembler/denormal_fpenv.ll
+1-1llvm/lib/Support/FloatingPointMode.cpp
+10-203 files

LLVM/project 3d2466cllvm/docs LangRef.rst

Fix links in documentation
DeltaFile
+7-6llvm/docs/LangRef.rst
+7-61 files

LLVM/project 2321c42llvm/include/llvm/IR Attributes.h, llvm/lib/IR Attributes.cpp

remove raw
DeltaFile
+0-8llvm/lib/IR/Attributes.cpp
+0-6llvm/include/llvm/IR/Attributes.h
+0-142 files

LLVM/project bf736e4llvm/lib/AsmParser LLParser.cpp, llvm/test/Assembler denormal_fpenv.ll invalid_denormal_fpenv.ll

IR: Promote "denormal-fp-math" to a first class attribute

Convert "denormal-fp-math" and "denormal-fp-math-f32" into a first
class denormal_fpenv attribute. Previously the query for the effective
deormal mode involved two string attribute queries with parsing. I'm
introducing more uses of this, so it makes sense to convert this
to a more efficient encoding. The old representation was also awkward
since it was split across two separate attributes. The new encoding
just stores the default and float modes as bitfields, largely avoiding
the need to consider if the other mode is set.

The syntax in the common cases looks like this:
  `denormal_fpenv(preservesign,preservesign)`
  `denormal_fpenv(float: preservesign,preservesign)`
  `denormal_fpenv(dynamic,dynamic float: preservesign,preservesign)`

I wasn't sure about reusing the float type name instead of adding a
new keyword. It's parsed as a type but only accepts float. I'm also
debating switching the name to subnormal to match the current

    [18 lines not shown]
DeltaFile
+374-0llvm/test/Bitcode/auto_upgrade_denormal_fp_math.ll
+297-0llvm/test/Assembler/denormal_fpenv.ll
+228-2llvm/test/Bitcode/compatibility.ll
+187-0llvm/test/Assembler/invalid_denormal_fpenv.ll
+57-57llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
+101-0llvm/lib/AsmParser/LLParser.cpp
+1,244-59227 files not shown
+2,404-973233 files

LLVM/project 7ebe4d1llvm/utils/TableGen SubtargetEmitter.cpp

TableGen: Emit subtarget generated methods as final
DeltaFile
+9-9llvm/utils/TableGen/SubtargetEmitter.cpp
+9-91 files

LLVM/project 2deae0bllvm/lib/Target/X86 X86TargetTransformInfo.cpp, llvm/test/Analysis/CostModel/X86 vscale-insertelement-crash.ll

X86: Fix VSCALE insert element crash in codegen (#177705)

When inserting elements into <vscale x N x i64> scalable vectors, the X86 backend now returns InstructionCost::getInvalid() instead of panicking.

Fixes #176823
DeltaFile
+10-0llvm/test/Analysis/CostModel/X86/vscale-insertelement-crash.ll
+4-0llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+14-02 files

LLVM/project b239b23llvm/include/llvm/ProfileData/Coverage CoverageMapping.h

Merge branch 'users/chapuni/cov/merge/merge-mcdc' into users/chapuni/cov/merge/trunk
DeltaFile
+2-2llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
+2-21 files

LLVM/project 1d0c9e1llvm/include/llvm/ProfileData/Coverage CoverageMapping.h

Merge branch 'users/chapuni/cov/merge/strategy' into users/chapuni/cov/merge/merge-mcdc
DeltaFile
+2-2llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
+2-21 files

LLVM/project be35d87llvm/include/llvm/ProfileData/Coverage CoverageMapping.h

LLVM_ABI
DeltaFile
+2-2llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
+2-21 files

LLVM/project 8856b85llvm/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/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+2-2llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+12-123 files

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