LLVM/project 1ea9f44llvm/lib/IR Instructions.cpp

[IR] Optimize PHINode::removeIncomingValueIf() using two-pointer (#171961)

DeltaFile
+15-16llvm/lib/IR/Instructions.cpp
+15-161 files

LLVM/project fd95803llvm/lib/Transforms/Utils LoopRotationUtils.cpp

[LoopRotate] Simplify PHINode::removeIncomingValue usage (NFC) (#171958)

DeltaFile
+1-1llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
+1-11 files

LLVM/project 1156629llvm/lib/Target/ARM MVEGatherScatterLowering.cpp

[ARM][MVE] Avoid `PHINode::removeIncomingValue()` with `PHINode::setIncomingValue()` and `PHINode::setIncomingBlock()` (NFC) (#171960)

DeltaFile
+19-16llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
+19-161 files

LLVM/project 681dbf9llvm/lib/CodeGen WinEHPrepare.cpp

[WinEH] Use removeIncomingValueIf() in UpdatePHIOnClonedBlock() (NFC) (#171962)

DeltaFile
+20-23llvm/lib/CodeGen/WinEHPrepare.cpp
+20-231 files

LLVM/project 3703a3cllvm/test/CodeGen/AArch64 vector-lrint.ll vector-llrint.ll, llvm/test/CodeGen/AMDGPU div_v2i128.ll

Merge branch 'main' into users/Enna1/PHINode-removeIncomingValueIf
DeltaFile
+2,502-1,473llvm/test/CodeGen/AArch64/vector-lrint.ll
+1,265-1,312llvm/test/CodeGen/RISCV/idiv_large.ll
+1,301-712llvm/test/CodeGen/AArch64/vector-llrint.ll
+948-980llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+686-883llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
+715-821llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
+7,417-6,181692 files not shown
+34,256-14,379698 files

LLVM/project b33354fmlir/lib/Bindings/Python TransformInterpreter.cpp

[MLIR][Python][Transform] Print diagnostics also upon success (#172188)

If we do not collect the diagnostics from the
CollectDiagnosticsToStringScope, even when the named_sequence applied
successfully, the Scope object's destructor will assert (with a
unhelpful message).
DeltaFile
+10-1mlir/lib/Bindings/Python/TransformInterpreter.cpp
+10-11 files

LLVM/project 49ad1e9clang-tools-extra/clang-tidy ClangTidyDiagnosticConsumer.h

[clang-tidy][NFC] Remove obsolete FIXME comment (#172120)

This comment was written 12 years ago. It's no longer correct to say
that diagnostic reporting is under heavy development, and we seem to be
doing just fine without tablegenned IDs, so I think we can simply remove
it.
DeltaFile
+0-4clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
+0-41 files

LLVM/project f700e54clang/lib/AST TypePrinter.cpp, clang/lib/Sema SemaType.cpp

[clang][PAC] add support for options parameter to __ptrauth

This PR adds support for an 'options' parameter for the __ptrauth
qualifier.
The initial version only exposes the authehntication modes:
 * "strip"
 * "sign-and-strip"
 * "sign-and-auth"

We also support parsing the options but not yet the implementation
 * "isa-pointer"
 * "authenticates-null-values"

The initial support for authentication mode controls exist to support
ABI changes over time, and as a byproduct support basic initial tests
for option parsing.
DeltaFile
+327-0clang/test/CodeGen/ptrauth-stripping.c
+147-9clang/lib/Sema/SemaType.cpp
+108-0clang/test/Sema/ptrauth-qualifier-options.c
+65-0clang/test/SemaCXX/ptrauth-qualifier-constexpr-options.cpp
+33-6clang/test/Sema/ptrauth-qualifier.c
+33-1clang/lib/AST/TypePrinter.cpp
+713-168 files not shown
+787-3314 files

LLVM/project d1069b8clang/include/clang/Basic DiagnosticSemaKinds.td DiagnosticGroups.td, clang/lib/Sema SemaDecl.cpp Sema.cpp

not to be actually merged but want to keep the tests handy
DeltaFile
+9-1clang/test/SemaCXX/ptrauth-type-traits.cpp
+7-0clang/lib/Sema/SemaDecl.cpp
+5-0clang/lib/Sema/Sema.cpp
+1-1clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-1clang/include/clang/Basic/DiagnosticGroups.td
+23-35 files

LLVM/project 1672767llvm/lib/Target/AArch64 AArch64FrameLowering.cpp AArch64PrologueEpilogue.h

AArch64: Use AArch64InstrInfo instead of base class in frame lowering (#172183)

DeltaFile
+9-6llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+4-3llvm/lib/Target/AArch64/AArch64PrologueEpilogue.h
+1-2llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
+2-1llvm/lib/Target/AArch64/AArch64FrameLowering.h
+16-124 files

LLVM/project 4516a52llvm/lib/Target/AArch64 AArch64FrameLowering.cpp AArch64PrologueEpilogue.h

AArch64: Use AArch64InstrInfo instead of base class in frame lowering
DeltaFile
+9-6llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+4-3llvm/lib/Target/AArch64/AArch64PrologueEpilogue.h
+2-1llvm/lib/Target/AArch64/AArch64FrameLowering.h
+1-2llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
+16-124 files

LLVM/project a99a982llvm/test/Transforms/LoopVectorize memory-dep-remarks.ll, llvm/test/Transforms/LoopVectorize/X86 vectorization-remarks-missed.ll

[LV] Add test coverage for remark for unprofitable RT checks.

Add test coverage for remark when runtime checks are not profitable with
threshold provided.

Also make sure that X86 remark tests actually passes an X86 triple,
which is needed for the threshold remark.

Also clean up the tests a bit.
DeltaFile
+85-85llvm/test/Transforms/LoopVectorize/memory-dep-remarks.ll
+68-42llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
+153-1272 files

LLVM/project 0cdc1b6llvm/test/CodeGen/AMDGPU div_v2i128.ll div_i128.ll, llvm/test/CodeGen/NVPTX i128.ll

[SelectionDAG] Support integer types with multiple registers in ComputePHILiveOutRegInfo. (#172081)

PHIs that are larger than a legal integer type are split into multiple
virtual registers that are numbered sequentially. We can propagate the
known bits for each of these registers individually.

Big endian is not supported yet because the register order needs to be
reversed.

Fixes #171671
DeltaFile
+1,265-1,312llvm/test/CodeGen/RISCV/idiv_large.ll
+948-980llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+211-226llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
+208-212llvm/test/CodeGen/NVPTX/i128.ll
+204-199llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
+97-103llvm/test/CodeGen/AMDGPU/div_i128.ll
+2,933-3,03214 files not shown
+3,306-3,44320 files

LLVM/project 9436b7bmlir/include/mlir/Dialect/XeGPU/Utils XeGPUUtils.h, mlir/lib/Dialect/XeGPU/Transforms XeGPUWgToSgDistribute.cpp XeGPUSubgroupDistribute.cpp

shorten get/setTempLayoutAttr to get/setTempLayout
DeltaFile
+30-33mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
+17-17mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
+9-9mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
+7-7mlir/lib/Dialect/XeGPU/Transforms/XeGPUOptimizeBlockLoads.cpp
+2-3mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
+65-695 files

LLVM/project 61db1fflldb/include/lldb/Utility NonNullSharedPtr.h, lldb/unittests/Utility NonNullSharedPtrTest.cpp CMakeLists.txt

[lldb] Add unit tests for NonNullSharedPtr (#172173)

I was investigating a crash yesterday that implicated NonNullSharedPtr
which made me realize I didn't add unit tests for my new class.
DeltaFile
+210-0lldb/unittests/Utility/NonNullSharedPtrTest.cpp
+1-0lldb/include/lldb/Utility/NonNullSharedPtr.h
+1-0lldb/unittests/Utility/CMakeLists.txt
+212-03 files

LLVM/project cc60c1bmlir/include/mlir/Dialect/XeGPU/Utils XeGPUUtils.h, mlir/lib/Dialect/XeGPU/Transforms XeGPUWgToSgDistribute.cpp XeGPUSubgroupDistribute.cpp

replace get/setTempDistributeLayoutAttr to get/setLayoutAttr
DeltaFile
+36-37mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
+17-25mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
+9-10mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
+6-6mlir/lib/Dialect/XeGPU/Transforms/XeGPUOptimizeBlockLoads.cpp
+3-3mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
+71-815 files

LLVM/project 52d560emlir/lib/Dialect/XeGPU/Transforms XeGPUWgToSgDistribute.cpp XeGPUOptimizeBlockLoads.cpp

clean up setDistributeLayoutAttr in sg distribution pass
DeltaFile
+21-20mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
+6-6mlir/lib/Dialect/XeGPU/Transforms/XeGPUOptimizeBlockLoads.cpp
+27-262 files

LLVM/project a630642clang/lib/Analysis UnsafeBufferUsage.cpp, clang/test/SemaCXX warn-unsafe-buffer-usage-fold-conditional.cpp warn-unsafe-buffer-usage-libc-functions.cpp

[-Wunsafe-buffer-usage] Check isValueDependent before EvaluateAsBooleanCondition (#172091)

The function `EvaluateAsBooleanCondition` assumes (asserts) that the
input `Expr` is not in a dependent context. So it is caller's
responsibility to check the condition before the call. This commit fixes
the issue in `UnsafeBufferUsage.cpp`.

The issue was first found downstream because of some code not
upstreamed. This commit also includes those un-upstreamed code.

rdar://166217941
DeltaFile
+40-34clang/lib/Analysis/UnsafeBufferUsage.cpp
+13-0clang/test/SemaCXX/warn-unsafe-buffer-usage-fold-conditional.cpp
+2-0clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
+55-343 files

LLVM/project 3c2f818bolt/include/bolt/Core BinaryContext.h, bolt/include/bolt/Passes LongJmp.h

[BOLT] Introduce BinaryFunctionListType. NFC (#172128)

Use `BinaryFunctionListType` as an alias for `std::vector<BinaryFunction *>`.
DeltaFile
+7-9bolt/include/bolt/Passes/LongJmp.h
+9-6bolt/include/bolt/Core/BinaryContext.h
+8-7bolt/lib/Passes/LongJmp.cpp
+5-5bolt/lib/Passes/CacheMetrics.cpp
+5-5bolt/lib/Core/BinaryContext.cpp
+3-3bolt/include/bolt/Profile/YAMLProfileReader.h
+37-359 files not shown
+55-5415 files

LLVM/project 1e15dbelibcxx/include/__ranges adjacent_view.h, libcxx/test/std/ranges/range.adaptors/range.adjacent adaptor.pass.cpp end.pass.cpp

[libc++] Implement adjacent_view (#165089)

DeltaFile
+411-0libcxx/include/__ranges/adjacent_view.h
+242-0libcxx/test/std/ranges/range.adaptors/range.adjacent/adaptor.pass.cpp
+195-0libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/eq.pass.cpp
+185-0libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/minus.pass.cpp
+173-0libcxx/test/std/ranges/range.adaptors/range.adjacent/end.pass.cpp
+165-0libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/arithmetic.pass.cpp
+1,371-037 files not shown
+3,892-19743 files

LLVM/project b2d9356llvm/include/llvm/CodeGen SelectionDAG.h, llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp

DAG: Make more use of the LibcallImpl overload of getExternalSymbol (#172171)

Also add a new copy for TargetExternalSymbol that AArch64 needs.
DeltaFile
+26-33llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+24-15llvm/lib/Target/ARM/ARMISelLowering.cpp
+4-4llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+3-0llvm/include/llvm/CodeGen/SelectionDAG.h
+57-524 files

LLVM/project 1dbd1e8mlir/lib/Dialect/XeGPU/Transforms XeGPUOptimizeBlockLoads.cpp

clean up setDistributeLayoutAttr in load optimization pass
DeltaFile
+2-1mlir/lib/Dialect/XeGPU/Transforms/XeGPUOptimizeBlockLoads.cpp
+2-11 files

LLVM/project a5625edclang/include/clang/Frontend ASTUnit.h

[Clang] [NFC] Add an accessor for `ASTUnit::CodeGenOpts` (#172164)

There is currently no way to actually access `ASTUnit::CodeGenOpts`;
this is almost certainly an oversight, so this adds a getter for it.
DeltaFile
+5-0clang/include/clang/Frontend/ASTUnit.h
+5-01 files

LLVM/project 2490bb7llvm/include/llvm/ADT STLExtras.h, llvm/unittests/ADT STLExtrasTest.cpp

[ADT] Only call reserve on empty containers in append_values (#172109)

Calling reserve in a loop can prevent amortized constant time appends
when the container doesn't round up the capacity.
DeltaFile
+35-0llvm/unittests/ADT/STLExtrasTest.cpp
+11-1llvm/include/llvm/ADT/STLExtras.h
+46-12 files

LLVM/project dbff004llvm/include/llvm/CodeGen SelectionDAG.h, llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp

DAG: Make more use of the LibcallImpl overload of getExternalSymbol

Also add a new copy for TargetExternalSymbol that AArch64 needs.
DeltaFile
+26-33llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+24-15llvm/lib/Target/ARM/ARMISelLowering.cpp
+4-4llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+3-0llvm/include/llvm/CodeGen/SelectionDAG.h
+57-524 files

LLVM/project a523ee6llvm/cmake config.guess

llvm/cmake/config.guess: add support for e2k (Elbrus-2000) (#162460)

Backport patch from gnu-config:
https://lists.gnu.org/archive/html/config-patches/2015-03/msg00000.html
DeltaFile
+3-0llvm/cmake/config.guess
+3-01 files

LLVM/project 2a57b03mlir/lib/Dialect/XeGPU/Transforms XeGPUSubgroupDistribute.cpp

clean up setDistributeLayoutAttr in sg distribution
DeltaFile
+3-3mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
+3-31 files

LLVM/project 066e874clang/lib/Sema SemaDecl.cpp, clang/test/Sema warn-lifetime-safety.cpp

merge-attr-implicit-this
DeltaFile
+58-6clang/lib/Sema/SemaDecl.cpp
+22-0clang/test/Sema/warn-lifetime-safety.cpp
+12-0clang/test/SemaCXX/attr-lifetimebound.cpp
+92-63 files

LLVM/project fa1dcebllvm/lib/CodeGen/AsmPrinter DwarfDebug.cpp DwarfCompileUnit.cpp, llvm/test/DebugInfo/X86 dwarf-call-target-mem-loc.mir dwarf-callsite-related-attrs-indirect.ll

[DebugInfo][DWARF] Allow memory locations in DW_AT_call_target expressions (#171183)

Fixes #70949. Prior to PR #151378 memory locations were incorrect; that
patch prevented the emission of the incorrect locations.

This patch fixes the underlying issue.
DeltaFile
+91-0llvm/test/DebugInfo/X86/dwarf-call-target-mem-loc.mir
+28-23llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+33-9llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+15-3llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
+6-2llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs-indirect.ll
+173-375 files

LLVM/project f721a39.github/workflows/containers/github-action-ci-tooling Dockerfile

[GitHub][CI] Drop manual build of universal-ctags from abi container (#172096)

This package is available in Ubuntu now, so we don't need to build it
manually.
DeltaFile
+2-9.github/workflows/containers/github-action-ci-tooling/Dockerfile
+2-91 files