LLVM/project c9ad896clang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/clang-doc/assets namespace-template.mustache function-template.mustache

[clang-doc] Add functions to namespace template (#171938)

Emit namespace-level (global) functions in HTML.
DeltaFile
+45-25clang-tools-extra/test/clang-doc/namespace.cpp
+43-0clang-tools-extra/test/clang-doc/templates.cpp
+26-0clang-tools-extra/clang-doc/assets/namespace-template.mustache
+5-1clang-tools-extra/clang-doc/assets/function-template.mustache
+3-1clang-tools-extra/clang-doc/JSONGenerator.cpp
+1-0clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
+123-271 files not shown
+124-277 files

LLVM/project 5f6a5e0clang/lib/StaticAnalyzer/Checkers/WebKit ForwardDeclChecker.cpp, clang/test/Analysis/Checkers/WebKit forward-decl-checker.mm

[alpha.webkit.ForwardDeclChecker] Add a missing nullptr check (#171740)

DeltaFile
+5-4clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
+4-0clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
+9-42 files

LLVM/project d107b3cmlir/include/mlir/Dialect/AMDGPU/IR AMDGPU.td, mlir/lib/Dialect/AMDGPU/IR AMDGPUDialect.cpp

[MLIR][AMDGPU] Implement reifyDimOfResult for FatRawBufferCastOp (#171839)

Since `FatRawBufferCastOp` preserves the shape of its source operand,
the result dimensions can be reified by querying the source's
dimensions.

---------

Signed-off-by: Yu-Zhewen <zhewenyu at amd.com>
DeltaFile
+33-0mlir/test/Dialect/AMDGPU/resolve-shaped-type-result-dims.mlir
+13-0mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
+2-0mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
+48-03 files

LLVM/project a94920cllvm/lib/Target/NVPTX NVPTXISelDAGToDAG.cpp NVPTXISelLowering.cpp, llvm/test/CodeGen/NVPTX jump-table.ll switch.ll

[NVPTX] Fixup and refactor brx.idx support (#171933)

Guard "brx.idx" generation to appropriate PTX ISA and SM version.

In addition, do some minor refactoring moving the expansion into ISel as
doing this during operation legalization is more complex and offers no
benefits.

fixes https://github.com/llvm/llvm-project/issues/171709
DeltaFile
+193-85llvm/test/CodeGen/NVPTX/jump-table.ll
+38-0llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
+1-33llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+3-22llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+1-1llvm/test/CodeGen/NVPTX/switch.ll
+0-2llvm/lib/Target/NVPTX/NVPTXISelLowering.h
+236-1432 files not shown
+238-1438 files

LLVM/project 8d5ade8mlir/lib/ExecutionEngine CMakeLists.txt, mlir/test lit.cfg.py

[mlir] enable APFloatWrappers on MacOS (#172070)

DeltaFile
+5-5mlir/lib/ExecutionEngine/CMakeLists.txt
+2-2mlir/test/lit.cfg.py
+1-1mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation-vector.mlir
+1-1mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir
+9-94 files

LLVM/project a745e5dclang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/clang-doc/assets namespace-template.mustache function-template.mustache

[clang-doc] Serialize namespace-level functions
DeltaFile
+45-25clang-tools-extra/test/clang-doc/namespace.cpp
+43-0clang-tools-extra/test/clang-doc/templates.cpp
+26-0clang-tools-extra/clang-doc/assets/namespace-template.mustache
+5-1clang-tools-extra/clang-doc/assets/function-template.mustache
+3-1clang-tools-extra/clang-doc/JSONGenerator.cpp
+1-0clang-tools-extra/test/clang-doc/json/namespace.cpp
+123-271 files not shown
+124-277 files

LLVM/project 8f26458clang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/test/clang-doc templates.cpp

[clang-doc] Add class template to HTML (#171937)

Emit class template declaration info so that it appears above a record's name in the Mustache template.
DeltaFile
+37-7clang-tools-extra/test/clang-doc/templates.cpp
+9-2clang-tools-extra/clang-doc/JSONGenerator.cpp
+8-2clang-tools-extra/test/clang-doc/json/function-requires.cpp
+8-2clang-tools-extra/test/clang-doc/json/class-specialization.cpp
+4-1clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
+4-1clang-tools-extra/test/clang-doc/json/class-requires.cpp
+70-155 files not shown
+89-1911 files

LLVM/project e0e5b6ellvm/lib/CodeGen/GlobalISel InlineAsmLowering.cpp, llvm/test/CodeGen/AArch64/GlobalISel irtranslator-inline-asm.ll

[GISel][Inlineasm] Support inlineasm i/s constraint for symbols (#170094)

DeltaFile
+19-0llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll
+11-0llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
+30-02 files

LLVM/project dcbca43mlir/include/mlir/Dialect/PDL/IR PDLOps.td PDLOps.h, mlir/lib/Dialect/PDL/IR PDL.cpp CMakeLists.txt

[mlir][PDL] Add CallableOpInterface to pdl.pattern and inlining support to pdl

This commit enables inlining of calls within PDL patterns by:

1. Adding CallableOpInterface to PatternOp, and implementing the required
   interface methods (getCallableRegion, getArgumentTypes, getResultTypes)
   and the ArgAndResultAttrsOpInterface stubs to make pdl.pattern a
   valid callable.

2. Adding the dialect inliner interface that marks all operations as legal
  to inline.

This is particularly useful for nonmaterializable patterns that may
contain func.call operations to external functions defining pattern
matching or rewrite logic. After inlining, these patterns can be
transformed into standard materializable PDL patterns.

NOTE: The pattern op needs to be marked callable as the inliner doesn't
allow inlining if there's no callable ancestor.

    [33 lines not shown]
DeltaFile
+64-1mlir/include/mlir/Dialect/PDL/IR/PDLOps.td
+30-0mlir/test/Dialect/PDL/inlining.mlir
+20-0mlir/lib/Dialect/PDL/IR/PDL.cpp
+1-0mlir/include/mlir/Dialect/PDL/IR/PDLOps.h
+1-0mlir/lib/Dialect/PDL/IR/CMakeLists.txt
+116-15 files

LLVM/project 76c3eedllvm/lib/Target/AArch64/GISel AArch64LegalizerInfo.cpp, llvm/test/CodeGen/AArch64 vector-lrint.ll vector-llrint.ll

[AArch64][GlobalISel] Fix vector lrint/llrint fallbacks (#170814)

Add .lower() to vector lrint/llrint to enable lowering instead of
falling back to SelectionDAG.
DeltaFile
+2,502-1,473llvm/test/CodeGen/AArch64/vector-lrint.ll
+1,301-712llvm/test/CodeGen/AArch64/vector-llrint.ll
+8-8llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
+4-2llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
+3,815-2,1954 files

LLVM/project fc60835llvm/lib/Target/AMDGPU AMDGPUPromoteAlloca.cpp, llvm/test/CodeGen/AMDGPU bf16.ll

Merge branch 'main' into users/evelez7/clang-doc-class-templates-html
DeltaFile
+769-788llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
+759-775llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
+820-0llvm/test/CodeGen/AMDGPU/bf16.ll
+677-36mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+347-304llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
+637-0mlir/test/Dialect/LLVMIR/nvvm-mma-sparse-blockscale.mlir
+4,009-1,903569 files not shown
+21,412-7,175575 files

LLVM/project 5397221lldb/examples/python/templates scripted_process.py, lldb/test/API/functionalities/scripted_frame_provider TestScriptedFrameProvider.py

[lldb] Add arm32/thumb register layout to Scripted{Frame,Thread} (#172005)

DeltaFile
+84-483lldb/examples/python/templates/scripted_process.py
+0-1lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
+0-1lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
+84-4853 files

LLVM/project ed42c81clang-tools-extra/test/clang-doc templates.cpp

[clang-doc] Add JSON output to existing template tests (#171936)

clang-doc has some useful, preexisting tests for templates, so we'll
reuse them to cover more cases.
DeltaFile
+88-0clang-tools-extra/test/clang-doc/templates.cpp
+88-01 files

LLVM/project 01540dcmlir/lib/ExecutionEngine CMakeLists.txt, mlir/test lit.cfg.py

[mlir] enable APFloatWrappers on MacOS
DeltaFile
+5-5mlir/lib/ExecutionEngine/CMakeLists.txt
+2-2mlir/test/lit.cfg.py
+1-1mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation-vector.mlir
+1-1mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir
+9-94 files

LLVM/project 112a612llvm/lib/CodeGen MachineInstr.cpp MachineFunction.cpp, llvm/lib/DebugInfo/LogicalView/Readers LVDWARFReader.cpp

Fixes non-functional changes found static analyzer (#171197)

As per @arsenm 's instructions, I've separated the non-functional
changes from https://github.com/llvm/llvm-project/pull/169958.
Afterwards I'll tackle the functional ones one by one. I hope I did
everything right this time.

Full descriptions in the article:
https://pvs-studio.com/en/blog/posts/cpp/1318/
3. Array overrun is possible.
The PVS-Studio warning: V557 Array overrun is possible. The value of
'regIdx' index could reach 31. VEAsmParser.cpp 696
10. Excessive check.
The PVS-Studio warning: V547 Expression 'IsLeaf' is always false.
PPCInstrInfo.cpp 419
11. Doubling the same check.
The PVS-Studio warning: V581 The conditional expressions of the 'if'
statements situated alongside each other are identical. Check lines:
5820, 5823. PPCInstrInfo.cpp 5823

    [11 lines not shown]
DeltaFile
+8-10llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+3-4llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
+0-5llvm/lib/CodeGen/MachineInstr.cpp
+1-4llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
+1-2llvm/lib/CodeGen/MachineFunction.cpp
+1-1llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
+14-266 files

LLVM/project 6853597llvm/lib/Analysis DependenceAnalysis.cpp

[Delinearization] Fix unused variable from 5cdb757

Was only unused in an expression enabled at debug time.
DeltaFile
+2-5llvm/lib/Analysis/DependenceAnalysis.cpp
+2-51 files

LLVM/project a0e7476utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[bazel] Port 568ce76c6e8134ab9b631e357c134091d2fd4aa8 (#172059)

DeltaFile
+4-1utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+4-11 files

LLVM/project 858fa0eclang/test/CIR/CodeGen mms-bitfields.c

[CIR][NFC] Fix the mms-bitfields test file (#172060)

Fix the args in the mms-bitfields test file to be aligned with the same
test in classical codegen (clang/test/CodeGen/mms-bitfields.c). After
#71148 is merged
DeltaFile
+3-3clang/test/CIR/CodeGen/mms-bitfields.c
+3-31 files

LLVM/project ef21740llvm/lib/Transforms/Utils LoopPeel.cpp, llvm/test/Transforms/LoopUnroll peel-to-turn-invariant-accesses-dereferenceable.ll

[LoopPeel] Check for onlyAccessesInaccessibleMemory instead of llvm.assume in peelToTurnInvariantLoadsDereferenceable. (#171910)

onlyAccessesInaccessibleMemory can't alias with a load. This allows us
to ignore more intrinsics than llvm.assume.

Follow up from #171547
DeltaFile
+84-0llvm/test/Transforms/LoopUnroll/peel-to-turn-invariant-accesses-dereferenceable.ll
+3-3llvm/lib/Transforms/Utils/LoopPeel.cpp
+87-32 files

LLVM/project 103242bclang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/clang-doc/assets namespace-template.mustache function-template.mustache

[clang-doc] Serialize namespace-level functions
DeltaFile
+45-25clang-tools-extra/test/clang-doc/namespace.cpp
+43-0clang-tools-extra/test/clang-doc/templates.cpp
+26-0clang-tools-extra/clang-doc/assets/namespace-template.mustache
+5-1clang-tools-extra/clang-doc/assets/function-template.mustache
+3-1clang-tools-extra/clang-doc/JSONGenerator.cpp
+1-0clang-tools-extra/test/clang-doc/json/namespace.cpp
+123-271 files not shown
+124-277 files

LLVM/project 58a5f5bclang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/test/clang-doc templates.cpp

[clang-doc] Add class template to HTML
DeltaFile
+37-7clang-tools-extra/test/clang-doc/templates.cpp
+9-2clang-tools-extra/clang-doc/JSONGenerator.cpp
+8-2clang-tools-extra/test/clang-doc/json/class-specialization.cpp
+8-2clang-tools-extra/test/clang-doc/json/function-requires.cpp
+4-1clang-tools-extra/test/clang-doc/json/class.cpp
+4-1clang-tools-extra/test/clang-doc/json/concept.cpp
+70-155 files not shown
+89-1911 files

LLVM/project 3fa22ebclang-tools-extra/test/clang-doc templates.cpp

[clang-doc] Add JSON output to existing template tests

clang-doc has some useful, preexisting tests for templates, so we'll
reuse them to cover more cases.
DeltaFile
+88-0clang-tools-extra/test/clang-doc/templates.cpp
+88-01 files

LLVM/project 25fdee8mlir/include/mlir/Conversion/LLVMCommon VectorPattern.h Pattern.h, mlir/lib/Conversion/LLVMCommon Pattern.cpp VectorPattern.cpp

[mlir][LLVM] refactor FailOnUnsupportedFP
DeltaFile
+40-17mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
+31-0mlir/lib/Conversion/LLVMCommon/Pattern.cpp
+7-18mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
+22-1mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
+0-21mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
+13-0mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
+113-576 files

LLVM/project 7583a52mlir/include/mlir/Conversion/LLVMCommon VectorPattern.h Pattern.h, mlir/lib/Conversion/LLVMCommon Pattern.cpp VectorPattern.cpp

[mlir][LLVM] refactor FailOnUnsupportedFP
DeltaFile
+40-17mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
+31-0mlir/lib/Conversion/LLVMCommon/Pattern.cpp
+7-18mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
+22-1mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
+0-21mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
+13-0mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
+113-576 files

LLVM/project 5cdb757llvm/include/llvm/Analysis Delinearization.h, llvm/lib/Analysis Delinearization.cpp DependenceAnalysis.cpp

[Delinearization] Remove `isKnownNonNegative` (#171817)

Delinearization has its own `isKnownNonNegative` function, which wraps
`ScalarEvolution::isKnownNonNegative` and adds additional logic. The
additional logic is that, for a pointer addrec `{a,+,b}`, if the pointer
has `inbounds` and both `a` and `b` are known to be non-negative, then
the addrec is also known non-negative (i.e., it doesn't wrap). This
reasoning is incorrect. If the GEP and/or load/store using the pointer
are not unconditionally executed in the loop, then the addrec can still
wrap. Even though no actual example has been found where this causes a
miscompilation (probably because the subsequent checks fail so the
validation also fails), simply replacing it with
`ScalarEvolution::isKnownNonNegative` is safer, especially it doesn't
cause any regressions in the existing tests.

Resolve #169811
DeltaFile
+3-25llvm/lib/Analysis/Delinearization.cpp
+4-6llvm/lib/Analysis/DependenceAnalysis.cpp
+2-4llvm/include/llvm/Analysis/Delinearization.h
+9-353 files

LLVM/project 366f3acclang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/test/CIR/CodeGen concept-specialization.cpp

[CIR] Add support for the ConceptSpecializationExpr (#171824)

Add support for the ConceptSpecializationExpr
DeltaFile
+21-0clang/test/CIR/CodeGen/concept-specialization.cpp
+1-3clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+22-32 files

LLVM/project b2571a4mlir/include/mlir/Conversion/LLVMCommon VectorPattern.h Pattern.h, mlir/lib/Conversion/LLVMCommon Pattern.cpp VectorPattern.cpp

[mlir][LLVM] refactor FailOnUnsupportedFP
DeltaFile
+40-17mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
+31-0mlir/lib/Conversion/LLVMCommon/Pattern.cpp
+7-18mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
+22-1mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
+0-21mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
+100-575 files

LLVM/project f38a718mlir/include/mlir/Conversion/LLVMCommon VectorPattern.h Pattern.h, mlir/lib/Conversion/LLVMCommon Pattern.cpp VectorPattern.cpp

[mlir][LLVM] refactor FailOnUnsupportedFP
DeltaFile
+31-0mlir/lib/Conversion/LLVMCommon/Pattern.cpp
+19-8mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
+7-18mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
+22-1mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
+0-21mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
+79-485 files

LLVM/project 26ff166lldb/source/Plugins/ExpressionParser/Clang ClangExpressionParser.cpp, lldb/test/Shell/Expr TestExprLanguageNote_NoDebug.cpp

[lldb][ClangExpressionParser] Emit more accurate language note for Objective-C++ fallback (#172047)

We fall back to `Objective-C++` when running C++ expressions in frames
that don't have debug-info. But we were missing a fallback note for this
situation. We would now print following note on expression error:
```
note: Possibly stopped inside system library, so speculatively enabled Objective-C. Ran expression as 'Objective C++'.
```
DeltaFile
+19-0lldb/test/Shell/Expr/TestExprLanguageNote_NoDebug.cpp
+9-3lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
+28-32 files

LLVM/project 43df284llvm/lib/Target/AMDGPU AMDGPUCodeGenPrepare.cpp, llvm/test/CodeGen/AMDGPU rsq.f64.ll amdgpu-codegenprepare-fdiv.f64.ll

AMDGPU: Introduce f64 rsq pattern in AMDGPUCodeGenPrepare

Handle this here instead of DAGCombine, mostly because the f32
case is handled here due to the dependency on !fpmath. Also we can
take advantage of computeKnownFPClass.
DeltaFile
+4,536-3,195llvm/test/CodeGen/AMDGPU/rsq.f64.ll
+309-56llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.f64.ll
+129-12llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
+4,974-3,2633 files