LLVM/project 7f6577cllvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU buffer-store-dwordx4-vpk-mul-war-hazard-gfx942.mir

Revert "[AMDGPU] Widen MUBUF/MTBUF source-vgpr WAR hazard on gfx940-family to…"

This reverts commit 62b7cf9623fc310525f39ed69aaecc318a909731.
DeltaFile
+0-122llvm/test/CodeGen/AMDGPU/buffer-store-dwordx4-vpk-mul-war-hazard-gfx942.mir
+21-58llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+21-1802 files

LLVM/project eb23fddllvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP][NFC] Replace std::initializer_list SupportedOp with a C array

Fixes a static_assert constant-expression build failure on older clang
(temporary initializer_list backing array).
Fixes #203184

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/203707
DeltaFile
+1-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+1-11 files

LLVM/project 5b3a9acclang/lib/AST/ByteCode Context.h

[clang][bytecode] Handle more types in `canClassify()` (#203669)

Avoid having to go through the normal `classify()` path.
DeltaFile
+5-0clang/lib/AST/ByteCode/Context.h
+5-01 files

LLVM/project f29b6c0mlir/tools/mlir-tblgen OpDocGen.cpp

Update mlir/tools/mlir-tblgen/OpDocGen.cpp

Co-authored-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
DeltaFile
+1-1mlir/tools/mlir-tblgen/OpDocGen.cpp
+1-11 files

LLVM/project cf004c9libcxx/test/std/utilities/format/format.range/format.range.fmtstr parse.pass.cpp format.pass.cpp, libcxx/test/std/utilities/format/format.range/format.range.formatter format.functions.vformat.pass.cpp format.functions.format.pass.cpp

[libcxx] Do not mark mkstemp tests xfail for libc (#203681)

mkstemp was recently implemented in
c9b25a6437fd97fdb1e55ab6661c0cccce98913e, so these tests now pass.
DeltaFile
+0-3libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.vformat.pass.cpp
+0-3libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.format.pass.cpp
+0-3libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
+0-3libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.pass.cpp
+0-3libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.vformat.pass.cpp
+0-3libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.format.pass.cpp
+0-186 files not shown
+0-3612 files

LLVM/project 94b46a0llvm/include/llvm/Passes MachinePassRegistry.def

[Passes] Remove redundant IR pass registries in MachinePassRegistry.def (#203659)

IR pass registries are redundant, remove them.
DeltaFile
+0-42llvm/include/llvm/Passes/MachinePassRegistry.def
+0-421 files

LLVM/project 76aed38clang-tools-extra/clang-tidy/readability NonConstParameterCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Avoid non-const-parameter fix-it conflicts with overloads (#202490)

`readability-non-const-parameter` can suggest changing `T *` to `const T
*` when that would conflict with an existing overload. Suppress the
diagnostic in that case by comparing the post-fix parameter list against
other declarations with the same name.

Closes https://github.com/llvm/llvm-project/issues/202478
DeltaFile
+75-0clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
+31-0clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
+3-0clang-tools-extra/docs/ReleaseNotes.rst
+109-03 files

LLVM/project e5cfc1ellvm/lib/Target/Xtensa XtensaInstrInfo.td, llvm/lib/Target/Xtensa/Disassembler XtensaDisassembler.cpp

[Xtensa] Implement support of the ESP32S2 target. (#200130)
DeltaFile
+34-0llvm/lib/Target/Xtensa/XtensaInstrInfo.td
+21-0llvm/test/MC/Xtensa/xtensa-esp32s2-valid.s
+16-0llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
+12-2llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
+9-0llvm/test/CodeGen/Xtensa/cpus.ll
+8-0llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
+100-210 files not shown
+141-416 files

LLVM/project b48dd92clang/lib/Parse ParseOpenACC.cpp, clang/test/ParserOpenACC directive-scope-setup.cpp gh197858.cpp

[OpenACC] Fix scope setup for OpenACC directives without scope. (#203687)

When implementing these, I intended to have the 'empty' parse scopes for
most of the directives introduced for simplicity. However some
assertions show that this is not a valid use of this, as it doesn't
tolerate 'empty' parse scopes. This patch stops introducing one.

Fixes: #203679
DeltaFile
+12-0clang/test/ParserOpenACC/directive-scope-setup.cpp
+0-10clang/test/ParserOpenACC/gh197858.cpp
+3-1clang/lib/Parse/ParseOpenACC.cpp
+15-113 files

LLVM/project 7fc7e0dllvm/test/CodeGen/RISCV clmul.ll clmulr.ll, llvm/test/CodeGen/RISCV/rvv clmulh-sdnode.ll clmul-sdnode.ll

Merge branch 'main' into users/jofrn/x86-remove-shouldcastatomicloadinir-v2
DeltaFile
+38,494-84,026llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+22,388-22,086llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+19,087-24,391llvm/test/CodeGen/RISCV/clmul.ll
+10,473-12,572llvm/test/CodeGen/RISCV/clmulr.ll
+10,281-12,374llvm/test/CodeGen/RISCV/clmulh.ll
+8,361-8,920llvm/test/CodeGen/RISCV/rvv/expandload.ll
+109,084-164,3696,726 files not shown
+643,033-442,5026,732 files

LLVM/project 34802b9llvm/test/Transforms/AtomicExpand/X86 expand-atomic-non-integer.ll

[AtomicExpand][test] Add CHECK32 and CHECK64 via whole-file regen (#201303)

Add CHECK32 and CHECK64 via whole-file regen for the
`@load_v2i64_cmpxchg`, `@load_v4i32_cmpxchg`, `@load_v16i8_cmpxchg`
tests of https://github.com/llvm/llvm-project/pull/199310.

Stacked below https://github.com/llvm/llvm-project/pull/199520.
DeltaFile
+195-1llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
+195-11 files

LLVM/project 57109bellvm/utils/lit/lit/formats shtest.py, llvm/utils/lit/tests/Inputs/per-test-coverage lit.cfg

Reapply "[lit] Deprecate execute_external=True in ShTest" (#203316) (#203689)

This reverts commit 6713634507b21efe6c895dd40e85ba72fe0ce269.

The fuzzer tests now use the internal shell by default, so we should be
good to go ahead and enable this.
DeltaFile
+12-1llvm/utils/lit/lit/formats/shtest.py
+4-2llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/lit.cfg
+4-2llvm/utils/lit/tests/Inputs/per-test-coverage/lit.cfg
+2-1llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/lit.cfg
+2-1llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
+2-1llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg
+26-82 files not shown
+30-108 files

LLVM/project cbf3f87llvm/test/Analysis/CostModel/AMDGPU minimumnum.ll maximumnum.ll, llvm/test/Transforms/SLPVectorizer/AMDGPU slp-v2f64.ll

[AMDGPU] gfx1251 cost model (#203682)
DeltaFile
+407-35llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
+364-56llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
+192-16llvm/test/Analysis/CostModel/AMDGPU/fadd.ll
+145-9llvm/test/Analysis/CostModel/AMDGPU/fma.ll
+135-0llvm/test/Analysis/CostModel/AMDGPU/fmul.ll
+107-0llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f64.ll
+1,350-1164 files not shown
+1,526-13410 files

LLVM/project 9a3e91dllvm/lib/Target/SPIRV SPIRVEmitIntrinsics.cpp, llvm/test/CodeGen/SPIRV/pointers type-deduce-ptr-to-ptr-arg-alloca-store.ll

[SPIR-V] Preserve pointer-to-pointer element type for T*& parameters (#203113)

SPIR-V backend was collapsing T*& reference parameters down to T*,
dropping a level of indirection during element-type deduction. This
patch keeps the pointer-to-pointer level intact, fixing it both within a
function (a T** reloaded from its alloca) and across calls via
cross-function parameter propagation.

Fixes HeCBench/topk on HIP.
DeltaFile
+38-3llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+27-0llvm/test/CodeGen/SPIRV/pointers/type-deduce-ptr-to-ptr-arg-alloca-store.ll
+65-32 files

LLVM/project 76e120eclang/www cxx_status.html

[Clang][NFC] Add the list C++ papers approved in Brno by WG21 (#203685)
DeltaFile
+110-0clang/www/cxx_status.html
+110-01 files

LLVM/project 6ed37edllvm/test/Analysis/CostModel/AMDGPU minimumnum.ll maximumnum.ll, llvm/test/Transforms/SLPVectorizer/AMDGPU slp-v2f64.ll

[AMDGPU] gfx1251 cost model
DeltaFile
+407-35llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
+364-56llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
+192-16llvm/test/Analysis/CostModel/AMDGPU/fadd.ll
+145-9llvm/test/Analysis/CostModel/AMDGPU/fma.ll
+135-0llvm/test/Analysis/CostModel/AMDGPU/fmul.ll
+107-0llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f64.ll
+1,350-1164 files not shown
+1,526-13410 files

LLVM/project b2bc66bcmake/Modules NormalizeTriple.cmake, llvm/cmake/modules LLVMExternalProjectUtils.cmake

Use clang to canonicalize the triple
DeltaFile
+33-22llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+36-0cmake/Modules/NormalizeTriple.cmake
+2-16runtimes/CMakeLists.txt
+71-383 files

LLVM/project ea2c207cmake/Modules NormalizeTriple.cmake, llvm/cmake/modules LLVMExternalProjectUtils.cmake

Use clang to canonicalize the triple
DeltaFile
+34-0cmake/Modules/NormalizeTriple.cmake
+21-10llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+2-16runtimes/CMakeLists.txt
+57-263 files

LLVM/project 1becec5mlir/lib/Target/LLVMIR ModuleTranslation.cpp, mlir/lib/Target/LLVMIR/Dialect/LLVMIR LLVMToLLVMIRTranslation.cpp

fix: add braces to metadata translation conditionals
DeltaFile
+6-3mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+2-1mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
+8-42 files

LLVM/project bd6c6famlir/include/mlir/IR EnumAttr.td, mlir/test/mlir-tblgen gen-dialect-doc.td

[mlir-tblgen] Render enum keyword alternatives in generated attr/type docs

When mlir-tblgen generates documentation for AttrDefs/TypeDefs that have
EnumParameter fields, it previously rendered the raw C++ type (e.g.
`::mlir::ns::MyEnum`) in the syntax block. This was unhelpful for
users who need to know the valid keyword values.

This patch:
1. Adds an `EnumInfo enum = enumInfo;` field to the `EnumParameter`
   TableGen class, persisting the enum record for tooling to inspect.
2. Modifies `emitAttrOrTypeDefAssemblyFormat` in OpDocGen.cpp to detect
   EnumParameter fields and render their cases as backtick-quoted
   alternatives (e.g. `` `read` | `read_write` ``).
3. Adds a test case to gen-dialect-doc.td verifying the new behavior.

Before:
  #my_dialect.my_attr<
    int32_t,   # index
    ::mlir::ns::MyEnum,   # access

    [9 lines not shown]
DeltaFile
+25-0mlir/test/mlir-tblgen/gen-dialect-doc.td
+23-1mlir/tools/mlir-tblgen/OpDocGen.cpp
+3-0mlir/include/mlir/IR/EnumAttr.td
+51-13 files

LLVM/project b76803blibcxx/include __locale, libcxx/src locale.cpp

[libc++] LWG3767: `codecvt<charN_t, char8_t, mbstate_t>` incorrectly added to locale (#201749)

Implement it as a DR against C++20, patching P0482R6.
DeltaFile
+26-0libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char16_t_char8_t.depr_in_cxx20.verify.cpp
+26-0libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char32_t_char8_t.depr_in_cxx20.verify.cpp
+26-0libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char16_t_char8_t.depr_in_cxx20.verify.cpp
+26-0libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char32_t_char8_t.depr_in_cxx20.verify.cpp
+10-6libcxx/include/__locale
+8-6libcxx/src/locale.cpp
+122-1221 files not shown
+203-1327 files

LLVM/project 58c0dacorc-rt/include/orc-rt-c Error.h Compiler.h, orc-rt/lib/executor Error.cpp

[orc-rt] Add ORC_RT_C_NOTHROW and apply it to the Error C API. (#203674)

Adds an ORC_RT_C_NOTHROW macro that expands to `noexcept` in C++ mode,
and `__attribute__((nothrow))` where that attribute is supported.

Also applies the new ORC_RT_C_NOTHROW macro to orc-rt-c/Error.h (and
adds `noexcept` to the corresponding C++ implementation in
lib/executor/Error.cpp).
DeltaFile
+11-7orc-rt/lib/executor/Error.cpp
+10-7orc-rt/include/orc-rt-c/Error.h
+9-0orc-rt/include/orc-rt-c/Compiler.h
+30-143 files

LLVM/project 2b32f3fclang/lib/CIR/Lowering/DirectToLLVM LowerToLLVMIR.cpp, clang/test/CIR/CodeGenOpenCL kernel-arg-info.cl kernel-arg-info-single-as.cl

[CIR][OpenCL] Lower kernel argument metadata to LLVM IR

Translate CIR OpenCL kernel argument metadata into the LLVM IR kernel_arg_* metadata attached to kernel functions. Preserve optional argument names so -cl-kernel-arg-info controls the LLVM metadata surface through the CIR attribute.
DeltaFile
+74-1clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMIR.cpp
+60-0clang/test/CIR/CodeGenOpenCL/kernel-arg-info.cl
+12-0clang/test/CIR/CodeGenOpenCL/kernel-arg-info-single-as.cl
+12-0clang/test/CIR/CodeGenOpenCL/kernel-arg-metadata.cl
+158-14 files

LLVM/project d0b8992orc-rt/include/orc-rt-c Compiler.h ExternC.h

[orc-rt] Merge ExternC.h and Visibility.h into Compiler.h. (#203673)

This mirrors the combined orc-rt/Compiler.h header on the C++ side, and
provides a natural home for future decoration macros when they're added.
DeltaFile
+51-0orc-rt/include/orc-rt-c/Compiler.h
+0-41orc-rt/include/orc-rt-c/ExternC.h
+0-30orc-rt/include/orc-rt-c/Visibility.h
+1-2orc-rt/include/orc-rt-c/Error.h
+1-1orc-rt/include/orc-rt-c/WrapperFunction.h
+1-1orc-rt/include/orc-rt-c/CoreTypes.h
+54-751 files not shown
+55-767 files

LLVM/project 285b6e3clang/lib/CIR/CodeGen CIRGenModule.cpp CIRGenModule.h, clang/test/CIR/CodeGenOpenCL kernel-arg-info.cl kernel-arg-info-single-as.cl

[CIR][OpenCL] Attach kernel argument metadata to CIR functions

Emit the CIR OpenCL kernel argument metadata attribute for kernel functions. Preserve CIR language address-space kinds until lowering and include argument names only when `-cl-kernel-arg-info` is enabled.
DeltaFile
+152-0clang/test/CIR/CodeGenOpenCL/kernel-arg-info.cl
+91-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+19-0clang/test/CIR/CodeGenOpenCL/kernel-arg-info-single-as.cl
+12-0clang/test/CIR/CodeGenOpenCL/kernel-arg-metadata.cl
+5-0clang/test/CIR/CodeGenOpenCL/invalid-kernel-arg-metadata-target-address-space.cl
+4-0clang/lib/CIR/CodeGen/CIRGenModule.h
+283-01 files not shown
+286-07 files

LLVM/project af4839allvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/AMDGPU/GlobalISel srem.i64.ll udiv.i64.ll

Updated tests because of liveins/liveouts seeding.
DeltaFile
+11,260-11,217llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+2,067-2,168llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+249-249llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
+220-220llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
+220-220llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
+191-190llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir
+14,207-14,26420 files not shown
+14,998-15,08026 files

LLVM/project e8b43f2llvm/test/CodeGen/AMDGPU agpr-copy-no-free-registers.ll regpressure_printer.mir

Regenerated tests after rebasing.
DeltaFile
+140-44llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
+15-15llvm/test/CodeGen/AMDGPU/regpressure_printer.mir
+155-592 files

LLVM/project 1143639llvm/test/CodeGen/AMDGPU schedule-amdgpu-tracker-physreg.ll

[AMDGPU] Adjusted GCN tracker option after rebasing on top of
users/dhruvachak/add_physical_to_gcn_trackers_after_rename.
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg.ll
+1-11 files

LLVM/project 6949ca2llvm/test/CodeGen/AMDGPU bf16.ll minimumnum.bf16.ll

[AMDGPU] Regenerated tests after rebasing.
DeltaFile
+8,626-9,213llvm/test/CodeGen/AMDGPU/bf16.ll
+2,364-2,564llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+2,314-2,514llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+1,340-1,343llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,244-1,250llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
+1,109-1,102llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
+16,997-17,98660 files not shown
+26,853-27,93166 files

LLVM/project 16b4a6allvm/test/CodeGen/AMDGPU call-argument-types.ll amdgcn.bitcast.768bit.ll

[AMDGPU] Regenerated tests after rebasing on top of
users/dhruvachak/add_physical_to_gcn_trackers_after_rename.
DeltaFile
+284-572llvm/test/CodeGen/AMDGPU/call-argument-types.ll
+227-225llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
+180-196llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
+171-143llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
+131-80llvm/test/CodeGen/AMDGPU/bf16.ll
+88-94llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
+1,081-1,3109 files not shown
+1,477-1,70115 files