LLVM/project 3a1e8fcllvm CMakeLists.txt, llvm/include/llvm/ADT APFloat.h

Revert "[APFloat] Add exp functions for single and double using exp/expf impl…"

This reverts commit 2b2a63819f9f26d661bad5c269a03077d22ff6b4.
DeltaFile
+0-58llvm/unittests/ADT/APFloatTest.cpp
+0-31llvm/lib/Support/APFloat.cpp
+0-5llvm/lib/Support/CMakeLists.txt
+0-4llvm/include/llvm/ADT/APFloat.h
+0-4llvm/CMakeLists.txt
+1-1llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
+1-1036 files

LLVM/project 6b3ede2clang/lib/Driver/ToolChains/Arch AArch64.cpp, clang/test/Driver aarch64-march.c

[AArch64][clang] Improve -march= error message with many feature flags

When calling `clang` with a large number of feature flags, the entire
argument is printed as an error message if one of the feature flags is
invalid.

For example, before this change, an error message such as this is printed:
```
  clang: error: unsupported argument 'clang -march=armv9.6a+sme2+sme2p1+sve2
  +sve2p1+profile+crypto+aes+sha2+sha3+sm4+memtag+ssbs+bf16+i8mm+dotprod+ls64
  +rcpc3+brbe+gcs+faminmax+fp8+fp8fma+fp8dot4+fp8dot2+sme-f8f32+the+lut+lsui
  +pops+occmo+rme-gpc3+d128+invalidfeature'
```
and a user doesn't know which of the `+feature` flags is actually invalid.

After this change, the following error message is printed:
```
  clang: error: unsupported argument '+invalidfeature' to option '-march='
```
clearly printing out the invalid feature flag.
DeltaFile
+27-12clang/lib/Driver/ToolChains/Arch/AArch64.cpp
+7-0clang/test/Driver/aarch64-march.c
+34-122 files

LLVM/project 0d1cb94flang/lib/Frontend CompilerInvocation.cpp

Fix build errors after merge
DeltaFile
+0-19flang/lib/Frontend/CompilerInvocation.cpp
+0-191 files

LLVM/project f3303e9mlir/docs Tokens.md, mlir/docs/Traits _index.md

[mlir][IR] Require token producer and consumer traits

Add marker traits for operations that intentionally produce or consume the
builtin token type. The verifier now rejects token results without
TokenProducerTrait, token operands without TokenConsumerTrait, token entry
block arguments whose parent op does not produce tokens, and token block
arguments outside entry blocks.

Extend the Test dialect token ops to cover valid opt-in cases and each
verifier rejection path.

Assisted-by: Codex
DeltaFile
+100-2mlir/test/IR/token-type.mlir
+93-3mlir/lib/IR/Verifier.cpp
+28-3mlir/test/lib/Dialect/Test/TestOps.td
+14-7mlir/docs/Tokens.md
+14-0mlir/docs/Traits/_index.md
+12-0mlir/include/mlir/IR/OpDefinition.h
+261-152 files not shown
+268-168 files

LLVM/project 57e6089lldb/test/API/commands/frame/var-dil/expr/Casts main.cpp

[lldb][test] Add missing include in TestFrameVarDILCast test program (#197432)

Fixes aaad6a201f0f13762c45727faacf5347be577a23 / #191908.
DeltaFile
+1-0lldb/test/API/commands/frame/var-dil/expr/Casts/main.cpp
+1-01 files

LLVM/project c278d19llvm/lib/Transforms/Scalar LoopFuse.cpp

[LoopFusion] Simplifying checks for loop eligibility (#197357)

A header is guaranteed to exist, so the check for it is redundant. Also,
combined all statistics related to invalid loop structure into a single
statistic for clarity.
DeltaFile
+4-20llvm/lib/Transforms/Scalar/LoopFuse.cpp
+4-201 files

LLVM/project ec40c8dlibc/src/__support/GPU allocator.cpp

[libc] Only back off GPU allocation under high contention (#197170)

Summary:
Right now this sleeps if any threads failed, this is inefficient. We
want the sleep to stop livelock, though that is less common since the FW
progress bit was set by default. But we should only do this when the
bitfield is full to minimize sleeping when there's plenty of space
available.
DeltaFile
+4-3libc/src/__support/GPU/allocator.cpp
+4-31 files

LLVM/project a8c3624llvm/lib/Transforms/Vectorize VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize/AArch64 induction-costs-sve.ll

[LV] Complete VPWidenCastRecipe cost model (#196918)

Now the legacy/vplan cost model assert has gone we can finish off the
cost model for VPWidenCastRecipe to account for recipes with no
underlying value.
DeltaFile
+16-16llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
+22-10llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
+3-3llvm/test/Transforms/LoopVectorize/ARM/tail-folding-reduces-vf.ll
+0-5llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+1-1llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
+42-355 files

LLVM/project 2c51afbllvm/test/CodeGen/X86 vector-reduce-ctpop.ll, llvm/test/MC/AMDGPU gfx13_asm_vop3.s gfx13_asm_vop3-fake16.s

Rebase, address comments

Created using spr 1.3.7
DeltaFile
+8,195-0llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
+8,182-0llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
+6,862-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+4,686-918llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
+5,587-0llvm/test/MC/AMDGPU/gfx13_asm_vop3_dpp16.s
+5,574-0llvm/test/MC/AMDGPU/gfx13_asm_vop3_dpp16-fake16.s
+39,086-9182,101 files not shown
+137,665-41,5712,107 files

LLVM/project 922a801llvm/test/CodeGen/X86 vector-reduce-ctpop.ll, llvm/test/MC/AMDGPU gfx13_asm_vop3.s gfx13_asm_vop3-fake16.s

Merge branch 'main' into users/kparzysz/control-driver-warnings
DeltaFile
+8,195-0llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
+8,182-0llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
+6,862-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+4,686-918llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
+5,587-0llvm/test/MC/AMDGPU/gfx13_asm_vop3_dpp16.s
+5,574-0llvm/test/MC/AMDGPU/gfx13_asm_vop3_dpp16-fake16.s
+39,086-9182,392 files not shown
+150,955-52,2792,398 files

LLVM/project 86106ccllvm/lib/Target/DirectX/DXILWriter DXILBitcodeWriter.cpp, llvm/lib/Target/DirectX/DirectXIRPasses DXILDebugInfo.cpp

[DirectX] Make DISubprogram writing LLVM 3.7-compatible (#194418)

Reverse the links between DICompileUnit and DISubprogram
DeltaFile
+36-7llvm/test/tools/dxil-dis/di-subprogram.ll
+31-0llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
+10-10llvm/test/tools/dxil-dis/debug-info.ll
+2-2llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
+79-194 files

LLVM/project 918e93bmlir/include/mlir/IR MLIRContext.h, mlir/lib/IR MLIRContext.cpp

[MLIR] Add getter for the action handler of MLIR context (#197230)

Current implementation of MLIRContext's action handling, requires the
user to hold the stored memory for any observer or breakpoint manager
added to the execution context. Using a getter for the registered action
handler, permits the user to store the observers and breakpoints into
MLIRContext and modify their state later, by retrieving the action
handler and invoking the functor's target. Mainly for attaching new
observers later in the compilation pipeline, after the execution context
got registered.
DeltaFile
+4-0mlir/lib/IR/MLIRContext.cpp
+4-0mlir/include/mlir/IR/MLIRContext.h
+8-02 files

LLVM/project 61c241ellvm/lib/Target/AArch64 AArch64InstrInfo.cpp, llvm/unittests/Target/AArch64 InstSizes.cpp

[AArch64] Report accurate sizes for MOVaddr and MOVimm pseudos
DeltaFile
+89-0llvm/unittests/Target/AArch64/InstSizes.cpp
+25-0llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+114-02 files

LLVM/project 9f49b77llvm/lib/Target/AArch64 AArch64ExpandPseudoInsts.cpp AArch64ExpandImm.cpp

[NFC][AArch64] Extract MOVaddr* expansion model into common header (#183503)

This makes the expansion logic reusable by getInstSizeInBytes in a
follow-up patch.
DeltaFile
+71-53llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+15-0llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
+8-1llvm/lib/Target/AArch64/AArch64ExpandImm.h
+94-543 files

LLVM/project 67844b4libcxxabi/src/demangle ItaniumDemangle.h, llvm/include/llvm/Demangle ItaniumDemangle.h

[ItaniumDemangle] Fix conversion operators failing to demangle types with substitutions
DeltaFile
+9-0llvm/unittests/Demangle/DemangleTest.cpp
+4-0libcxxabi/src/demangle/ItaniumDemangle.h
+4-0llvm/include/llvm/Demangle/ItaniumDemangle.h
+17-03 files

LLVM/project c48a8d2clang/test/CodeGen scoped-atomic-ops.c, clang/test/CodeGenOpenCL builtins-amdgcn-gfx1250.cl

Merge upstream/main into users/mariusz-sikora-at-amd/gfx13/add-vimage-vsample
DeltaFile
+2,982-975llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+2,662-0llvm/test/MC/AMDGPU/gfx13_asm_vbuffer_mubuf.s
+544-713clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
+1,077-0llvm/test/Transforms/AggressiveInstCombine/popcount.ll
+431-406clang/test/CodeGen/scoped-atomic-ops.c
+751-0llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns.ll
+8,447-2,094865 files not shown
+21,003-7,570871 files

LLVM/project 3852f43llvm/test/CodeGen/AMDGPU llvm.amdgcn.permlane.gfx1250.ll llvm.amdgcn.permlane.down.ll

Split llvm.amdgcn.permlane.gfx1250.ll into multiple permlane.*.ll tests
DeltaFile
+0-6,053llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.gfx1250.ll
+1,489-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.down.ll
+1,489-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.up.ll
+1,489-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.xor.ll
+1,489-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.bcast.ll
+117-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.idx.gen.ll
+6,073-6,0536 files

LLVM/project 61a80callvm/lib/Transforms/Scalar NaryReassociate.cpp

update nary to use new uniformity api's
DeltaFile
+8-8llvm/lib/Transforms/Scalar/NaryReassociate.cpp
+8-81 files

LLVM/project aaad6a2lldb/source/ValueObject ValueObject.cpp, lldb/test/API/commands/frame/var-dil/expr/Casts TestFrameVarDILCast.py main.cpp

[lldb] Fix casting from float in `ValueObject::CastToEnumType` (#191908)

Fix how enum's underlying type sign is retrieved and adjust error
messaging.
DeltaFile
+15-0lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
+6-5lldb/source/ValueObject/ValueObject.cpp
+6-0lldb/test/API/commands/frame/var-dil/expr/Casts/main.cpp
+27-53 files

LLVM/project 997e7d3llvm/include/llvm/Demangle ItaniumDemangle.h, llvm/unittests/Demangle DemangleTest.cpp

[ItaniumDemangle] Fix conversion operators failing to demangle types with substitutions
DeltaFile
+9-0llvm/unittests/Demangle/DemangleTest.cpp
+4-0llvm/include/llvm/Demangle/ItaniumDemangle.h
+13-02 files

LLVM/project 38fde8fmlir/lib/Interfaces MemorySlotInterfaces.cpp CMakeLists.txt

use walkSlice
DeltaFile
+14-16mlir/lib/Interfaces/MemorySlotInterfaces.cpp
+15-1mlir/lib/Interfaces/CMakeLists.txt
+29-172 files

LLVM/project 573ccb5mlir/include/mlir/Interfaces MemorySlotInterfaces.td MemorySlotInterfaces.h, mlir/lib/Interfaces MemorySlotInterfaces.cpp

rephrase descriptions
DeltaFile
+33-30mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
+21-29mlir/include/mlir/Interfaces/MemorySlotInterfaces.h
+3-3mlir/lib/Interfaces/MemorySlotInterfaces.cpp
+57-623 files

LLVM/project 58abb90mlir/include/mlir/Interfaces MemorySlotInterfaces.td MemorySlotInterfaces.h, mlir/lib/Interfaces MemorySlotInterfaces.cpp

Move APIs in PromotableAliaserInterface  and split bidirectional conversion API.

Move the new APIs into a new PromotableAliaserInterface for more clarity.

Split convertSlotValue into two directional APIs:
- convertSlotValueToViewValue to be called before promoting a load on a view.
- projectViewValueToSlotValue to be called after promoting a store on a view.

projectViewValueToSlotValue also take the reaching def of the slot before the store
so that partial view can be promoted via insert/extract.
DeltaFile
+59-11mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
+32-12mlir/lib/Interfaces/MemorySlotInterfaces.cpp
+19-10mlir/include/mlir/Interfaces/MemorySlotInterfaces.h
+11-9mlir/test/Transforms/mem2reg.mlir
+11-8mlir/test/lib/Dialect/Test/TestOps.td
+9-8mlir/lib/Transforms/Mem2Reg.cpp
+141-581 files not shown
+154-607 files

LLVM/project d87c715lldb/source/Plugins/LanguageRuntime/ObjC ObjCLanguageRuntime.cpp

[lldb][NFC] Use early returns in ObjCLanguageRuntime::GetDescriptorIterator (#197415)
DeltaFile
+27-27lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
+27-271 files

LLVM/project b65b38aoffload/liboffload/src OffloadImpl.cpp, offload/libomptarget interface.cpp omptarget.cpp

[offload] Clarify naming for block and thread numbers

As discussed in
https://github.com/llvm/llvm-project/pull/195102#discussion_r3205402105
and on Slack.
DeltaFile
+40-36offload/plugins-nextgen/common/src/PluginInterface.cpp
+9-9offload/libomptarget/interface.cpp
+10-7offload/plugins-nextgen/common/include/PluginInterface.h
+8-8offload/libomptarget/omptarget.cpp
+6-6offload/libomptarget/KernelLanguage/API.cpp
+6-6offload/liboffload/src/OffloadImpl.cpp
+79-722 files not shown
+87-808 files

LLVM/project 36e5ca0llvm/include/llvm/Demangle ItaniumDemangle.h, llvm/unittests/Demangle DemangleTest.cpp

[ItaniumDemangle] Fix conversion operators failing to demangle types with substitutions
DeltaFile
+9-0llvm/unittests/Demangle/DemangleTest.cpp
+4-0llvm/include/llvm/Demangle/ItaniumDemangle.h
+13-02 files

LLVM/project 35fc1d9llvm/lib/Transforms/Scalar NaryReassociate.cpp, llvm/test/Transforms/NaryReassociate/AMDGPU nary-add-uniform.ll

review: address suggestions
DeltaFile
+18-19llvm/lib/Transforms/Scalar/NaryReassociate.cpp
+4-2llvm/test/Transforms/NaryReassociate/AMDGPU/nary-add-uniform.ll
+22-212 files

LLVM/project abe8d11llvm/include/llvm/Transforms/Scalar NaryReassociate.h, llvm/lib/Transforms/Scalar NaryReassociate.cpp

review
DeltaFile
+5-1llvm/include/llvm/Transforms/Scalar/NaryReassociate.h
+1-0llvm/lib/Transforms/Scalar/NaryReassociate.cpp
+6-12 files

LLVM/project 932fa4dllvm/lib/Transforms/Scalar NaryReassociate.cpp

review: address suggestions
DeltaFile
+16-15llvm/lib/Transforms/Scalar/NaryReassociate.cpp
+16-151 files

LLVM/project 4cd5646llvm/lib/Transforms/Scalar NaryReassociate.cpp

review: address suggestions
DeltaFile
+21-29llvm/lib/Transforms/Scalar/NaryReassociate.cpp
+21-291 files