LLVM/project d343913clang/lib/Analysis BodyFarm.cpp

[Analysis] Remove a redundant cast. (#168214)

callOperatorDecl is already of type FunctionDecl *.

Identified with readability-redundant-casting.
DeltaFile
+8-9clang/lib/Analysis/BodyFarm.cpp
+8-91 files

LLVM/project ff8ed4dmlir/lib/Analysis/Presburger IntegerRelation.cpp, mlir/lib/CAPI/IR BuiltinTypes.cpp

[mlir] Use llvm::copy (NFC) (#168213)

Identified with llvm-use-ranges.
DeltaFile
+2-2mlir/lib/Analysis/Presburger/IntegerRelation.cpp
+1-2mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
+1-1mlir/lib/CAPI/IR/BuiltinTypes.cpp
+1-1mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
+1-1mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
+1-1mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
+7-81 files not shown
+8-97 files

LLVM/project b1b0be2llvm/include/llvm/ADT DenseMap.h

[ADT] Make DenseMapBase::moveFrom safer (NFC) (#168180)

Without this patch, DenseMapBase::moveFrom() moves buckets and leaves
the moved-from object in a zombie state.  This patch teaches
moveFrom() to call kill() so that the move-from object is in a known
good state.  This brings moveFrom()'s behavior in line with standard
C++ move semantics.

kill() is implemented so that it takes the fast path in the destructor
-- both destroyAll() and deallocateBuckets().
DeltaFile
+23-6llvm/include/llvm/ADT/DenseMap.h
+23-61 files

LLVM/project 2e4ac2flld/ELF InputFiles.cpp, lld/test/ELF dso-undef-extract-lazy.s

add more test

Created using spr 1.3.5-bogner
DeltaFile
+41-0lld/test/ELF/dso-undef-extract-lazy.s
+3-2lld/ELF/InputFiles.cpp
+44-22 files

LLVM/project eb9d56cmlir/python/mlir/dialects/transform __init__.py, mlir/test/python/dialects transform_interpreter.py

[MLIR][Transform][Python] Expose applying named_sequences as a method (#168223)

Makes it so that a NamedSequenceOp can be directly applied to a Module,
via a method `apply(...)`.
DeltaFile
+20-0mlir/python/mlir/dialects/transform/__init__.py
+14-0mlir/test/python/dialects/transform_interpreter.py
+34-02 files

LLVM/project 82214ffclang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/clang-doc/assets comment-template.mustache

[clang-doc] add throws comments to comment template (#150649)

Serialize throw Doxygen comments for exceptions. Accepts both \throw and
\throws.
DeltaFile
+8-0clang-tools-extra/clang-doc/assets/comment-template.mustache
+7-0clang-tools-extra/clang-doc/JSONGenerator.cpp
+4-1clang-tools-extra/test/clang-doc/basic-project.mustache.test
+19-13 files

LLVM/project 358e9a5llvm/lib/Transforms/Utils LoopPeel.cpp, llvm/test lit.cfg.py

[LP] Assign weights when peeling last iteration. (#166858)

DeltaFile
+66-0llvm/test/Transforms/LoopUnroll/branch-weights-freq/peel-last-iteration.ll
+36-15llvm/test/Transforms/LoopUnroll/peel-last-iteration-expansion-cost.ll
+22-1llvm/lib/Transforms/Utils/LoopPeel.cpp
+1-2llvm/test/lit.cfg.py
+125-184 files

LLVM/project e8222f8llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

DAG: Preserve poison in combineConcatVectorOfScalars
DeltaFile
+2-2llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+2-21 files

LLVM/project 3c300b4llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 vselect.ll

X86: Handle poison in buildFromShuffleMostly
DeltaFile
+3-3llvm/test/CodeGen/X86/vselect.ll
+2-2llvm/lib/Target/X86/X86ISelLowering.cpp
+5-52 files

LLVM/project 350fb51llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

AArch64: Use isUndef instead of checking opcode is UNDEF

This is to avoid regressions by poison introduction
DeltaFile
+4-6llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+4-61 files

LLVM/project 4ff4cc1llvm/lib/Transforms/IPO LowerTypeTests.cpp, llvm/test/Other new-pm-O0-defaults.ll

[LTT][profcheck] Set branch weights for complex llvm.type.test lowering
DeltaFile
+38-11llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+21-2llvm/test/Transforms/LowerTypeTests/section.ll
+1-0llvm/test/Other/new-pm-O0-defaults.ll
+60-133 files

LLVM/project bb75b3dllvm/lib/Transforms/Utils LoopPeel.cpp, llvm/test lit.cfg.py

[LP] Assign weights when peeling last iteration.
DeltaFile
+66-0llvm/test/Transforms/LoopUnroll/branch-weights-freq/peel-last-iteration.ll
+36-15llvm/test/Transforms/LoopUnroll/peel-last-iteration-expansion-cost.ll
+22-1llvm/lib/Transforms/Utils/LoopPeel.cpp
+1-2llvm/test/lit.cfg.py
+125-184 files

LLVM/project aca5e76llvm/lib/Transforms/IPO LowerTypeTests.cpp, llvm/test/Transforms/LowerTypeTests function-weak.ll

[LTT] Mark as unkown weak function tests.
DeltaFile
+3-2llvm/test/Transforms/LowerTypeTests/function-weak.ll
+3-0llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+6-22 files

LLVM/project a4e7d15mlir/test/python/dialects nvvm.py

[MLIR][Python] Add tests for nvvm barrier ops (#167976)

Found this issue #167958 when adding these tests, thanks for the quick
fix @clementval.
DeltaFile
+132-0mlir/test/python/dialects/nvvm.py
+132-01 files

LLVM/project 70349c1llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp

DAG: Use poison in SplitVecRes_VP_LOAD_FF (#167753)

DeltaFile
+1-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+1-11 files

LLVM/project 33a7bb1llvm/include/llvm/CodeGen ISDOpcodes.h, llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp

DAG: Use poison when legalizing scalar_to_vector results (#167751)

DeltaFile
+2-2llvm/include/llvm/CodeGen/ISDOpcodes.h
+1-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+3-32 files

LLVM/project 67f61dfllvm/lib/Transforms/Vectorize VPlan.h, llvm/unittests/Transforms/Vectorize VPlanTest.cpp VPlanTestBase.h

[VPlan] Always set trip count when creating plan for unit tests (NFC).

Simplifies some tests which no do not need to pass TC, and future
changes will require to always have a trip count available.
DeltaFile
+23-31llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+6-3llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
+1-2llvm/lib/Transforms/Vectorize/VPlan.h
+30-363 files

LLVM/project 63e059dllvm/docs NVPTXUsage.rst InstrProfileFormat.rst

[llvm] Proofread *.rst (#168185)

This patch is limited to single-word replacements to fix spelling
and/or grammar to ease the review process.  Punctuation and markdown
fixes are specifically excluded.
DeltaFile
+5-5llvm/docs/NVPTXUsage.rst
+4-4llvm/docs/InstrProfileFormat.rst
+3-3llvm/docs/Lexicon.rst
+3-3llvm/docs/MLGO.rst
+2-2llvm/docs/HowToBuildWindowsItaniumPrograms.rst
+2-2llvm/docs/LangRef.rst
+19-1910 files not shown
+31-3116 files

LLVM/project 268ea1allvm/lib/Analysis VectorUtils.cpp

[Analysis] Remove a redundant cast (NFC) (#168184)

NumElts is alreadyof type int.

Identified with readability-redundant-casting.
DeltaFile
+1-1llvm/lib/Analysis/VectorUtils.cpp
+1-11 files

LLVM/project 3a7876dllvm/include/llvm/ADT ConcurrentHashtable.h, llvm/lib/Target/Hexagon HexagonHazardRecognizer.h

[llvm] Delete pointers without null checks (NFC) (#168183)

Identified with readability-delete-null-pointer.
DeltaFile
+2-4llvm/include/llvm/ADT/ConcurrentHashtable.h
+1-4llvm/lib/Target/Hexagon/HexagonHazardRecognizer.h
+1-2llvm/lib/Transforms/Vectorize/VPlan.cpp
+4-103 files

LLVM/project 7a8237bllvm/lib/ObjCopy/ELF ELFObject.cpp ELFObjcopy.cpp, llvm/lib/Target/Hexagon HexagonISelDAGToDAGHVX.cpp

[llvm] Use llvm::copy (NFC) (#168182)

Identified with llvm-use-ranges.
DeltaFile
+4-4llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
+3-3llvm/tools/lli/lli.cpp
+2-2llvm/lib/ObjCopy/ELF/ELFObject.cpp
+2-2llvm/unittests/Support/Path.cpp
+1-2llvm/tools/llvm-readobj/COFFDumper.cpp
+1-2llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
+13-159 files not shown
+22-2615 files

LLVM/project 636e370llvm/unittests/Transforms/Utils LocalTest.cpp

[Utils] Remove an unused local variable (NFC) (#168181)

Identified with bugprone-unused-local-non-trivial-variable.
DeltaFile
+0-1llvm/unittests/Transforms/Utils/LocalTest.cpp
+0-11 files

LLVM/project 59d2e93llvm/test/Transforms/LoopVectorize fcmp-uno-fold-interleave.ll

[LV] Add test with to check different interleave counts for fmaxnum.

This adds additional test coverage for folding FCMP uno
(https://github.com/llvm/llvm-project/pull/166823)
DeltaFile
+211-0llvm/test/Transforms/LoopVectorize/fcmp-uno-fold-interleave.ll
+211-01 files

LLVM/project d99c840llvm/test/tools/llvm-pdbutil dbi-section-headers.test, llvm/tools/llvm-pdbutil PdbYaml.cpp llvm-pdbutil.cpp

[llvm-pdbutil] Create DBI section headers in yaml2pdb (#166566)

The section headers present in the DBI stream got lost when using
`pdb2yaml` and `yaml2pdb`.

They are a list of COFF section headers. The
`llvm::object::coff_section` didn't have a YAML mapping, so I added one
in llvm-pdbutil. The mapping for COFF sections in ObjectYAML includes
the section data itself, so we can't use it here.

Creation of the section map and headers in yaml2pdb is done like in LLD:
https://github.com/llvm/llvm-project/blob/438a18c1e105ca04e624239644195e48b28b5099/lld/COFF/PDB.cpp#L1695-L1703
DeltaFile
+131-0llvm/test/tools/llvm-pdbutil/dbi-section-headers.test
+45-0llvm/tools/llvm-pdbutil/PdbYaml.cpp
+22-0llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
+21-0llvm/tools/llvm-pdbutil/PdbYaml.h
+18-0llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
+1-0llvm/tools/llvm-pdbutil/llvm-pdbutil.h
+238-06 files

LLVM/project 9fa15efllvm/lib/Target/AMDGPU SIFoldOperands.cpp SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll

[AMDGPU] When shrinking and/or to bitset*, remove implicit scc def (#168128)

When shrinking and/or to bitset* remove leftover implicit scc def.
bitset* instructions do not set scc.

Signed-off-by: John Lu <John.Lu at amd.com>
DeltaFile
+80-80llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+39-39llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+11-22llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+15-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+2-2llvm/test/CodeGen/AMDGPU/shrink-insts-scalar-bit-ops.mir
+3-0llvm/lib/Target/AMDGPU/SIInstrInfo.h
+150-1431 files not shown
+151-1447 files

LLVM/project 8f6c7aaclang/lib/Headers cpuid.h, clang/test/CodeGen attr-target-x86.c

[X86] Remove vector length (256 vs 512) distinction of AVX10 (#167736)

As in title. AVX10.x doesn't distinguish between available vector
lengths.

-mattr=avx10.x-512 and defining of macros with _512 is kept for compatibility. 

Bit-positions of avx10.1/2 features in compiler-rt and X86TargetParser
are synced to match those in the gcc.
DeltaFile
+97-0llvm/test/CodeGen/X86/llc-accept-avx10-512.ll
+6-15compiler-rt/lib/builtins/cpu_model/x86.c
+3-3llvm/include/llvm/TargetParser/X86TargetParser.def
+0-4clang/lib/Headers/cpuid.h
+2-2clang/test/CodeGen/attr-target-x86.c
+2-2llvm/lib/TargetParser/X86TargetParser.cpp
+110-266 files

LLVM/project 20db716llvm/lib/Analysis ValueTracking.cpp

[ValueTracking] Only check up to CtxIter in willNotFreeBetween.

Only check up to CtxI (CtxIter) when checking for calls that may free
in CtxI's block.

Missed update in https://github.com/llvm/llvm-project/pull/167965.

This should be NFC, as all current callers pass a terminator that is
guaranteed to not free as CtxI
DeltaFile
+1-1llvm/lib/Analysis/ValueTracking.cpp
+1-11 files

LLVM/project ea66d26clang/lib/Driver Driver.cpp, clang/lib/Driver/ToolChains Clang.cpp

HIP non-RDC: enable new offload driver on Windows via linker wrapper (#167918)

Use clang linker wrapper to device-link and embed HIP fat binary
directly. Match CUDA non-RDC flow in new driver by producing .hipfb like
.fatbin.

Previously, llvm offload binary is used to package the device IR's and
embed them in the host object file, then clang linker wrapper is used
with each host object file to extract device IR's, perform device
linking, bundle code objects into a fat binary, wrap it in a host object
file, then merge it with the original host object by the host linker
with '-r' option. However, the host linker in MSVC toolchain does not
support '-r' option.

The new approach still package the device IR's with llvm offload binary,
but instead of embed it in a host object, it is passed to clang linker
wrapper directly, where device IR's are extracted and linked, fat binary
is generated, then embeded in the host object directly. Compared with
the old offload driver, this approach can parallelize the device linking

    [3 lines not shown]
DeltaFile
+23-25clang/test/Driver/hip-phases.hip
+39-9clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
+26-20clang/lib/Driver/Driver.cpp
+40-0clang/test/Driver/linker-wrapper-hip-no-rdc.c
+14-14clang/test/Driver/hip-toolchain-no-rdc.hip
+8-8clang/lib/Driver/ToolChains/Clang.cpp
+150-764 files not shown
+160-8210 files

LLVM/project 820daa5llvm/lib/Transforms/Vectorize VPlanUtils.cpp

[VPlan] Support VPWidenIntOrFpInduction in getSCEVExprForVPValue. (NFCI)

Construct SCEVs for VPWidenIntOrFpInductionRecipe analogous to
VPCanonicalInductionPHIRecipe: create an AddRec with start + step from
the recipe.

Currently the only impact should be computing more costs of replicating
stores directly in VPlan.
DeltaFile
+9-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+9-01 files

LLVM/project 5613e4amlir/test/Conversion/MemRefToEmitC memref-to-emitc-alloc-copy.mlir memref-to-emitc-copy.mlir

[mlir][emitc] Fix ineffective tests (#168197)

These tests were only checking the specialized prefix, leaving common
code unchecked (and incorrect). Checked code was also not using patterns
for SSA values.
DeltaFile
+39-35mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-copy.mlir
+19-18mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-copy.mlir
+58-532 files