LLVM/project c926bfdcompiler-rt/test/asan/TestCases invalid-pointer-pairs-vector-extract.cpp

[asan][test] Exclude invalid-pointer-pairs-vector-extract.cpp from Solaris (#216606)

Intended to fix buildbot breakage on Solaris (XPASS), as reported in
https://github.com/llvm/llvm-project/pull/216532#issuecomment-5309297518

This change is only a transient step for the test, since the upcoming
https://github.com/llvm/llvm-project/pull/213546 is expected to make the
test pass on all platforms.
DeltaFile
+2-0compiler-rt/test/asan/TestCases/invalid-pointer-pairs-vector-extract.cpp
+2-01 files

LLVM/project 43c6d8allvm/test/Transforms/SLPVectorizer/AMDGPU elementwise-fma-operand1.ll

[NFC][SLP] Add a mixed-reassoc bundle to the operand-1 fma test (#216594)

One lane carries reassoc and the other three do not, so the bundle is
only partly reassociative. Also add a second threshold to the run lines.
DeltaFile
+95-5llvm/test/Transforms/SLPVectorizer/AMDGPU/elementwise-fma-operand1.ll
+95-51 files

LLVM/project 30b0076llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes SeedCollection.cpp, llvm/test/Transforms/SandboxVectorizer/EndToEnd seed_bundle_cross_erasure.ll

[SandboxVectorizer] Fix out-of-bounds SeedBundle access on cross-bundle erasure

SeedCollection::runOnFunction() indexed a SeedBundle at
Seeds.getFirstUnusedElementIdx() (and, separately, at a hardcoded 0) without
first checking whether the bundle was already fully used.
getFirstUnusedElementIdx() returns Seeds.size() -- one past the end -- once
everything is used, so indexing there reads out of bounds.

This was always a latent bug, but -sbvec-collect-seeds=stores,loads is what
actually exposes it: store and load seeds share one erase-instruction
callback (SeedContainer::erase()), so when vectorizing a store chain erases
a load it packed as an operand, that erase also marks the same load "used"
in its *independent* LoadSeeds bundle. Store seeds are processed first, so
by the time the outer loop reaches that LoadSeeds bundle, it can already be
fully consumed -- or, since cross-bundle erasure can mark any index used
(not just sequentially from the front), have its element 0 specifically
erased while other elements remain live, which broke the hardcoded Seeds[0]
address-space lookup the same way.


    [12 lines not shown]
DeltaFile
+21-0llvm/test/Transforms/SandboxVectorizer/EndToEnd/seed_bundle_cross_erasure.ll
+5-2llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
+26-22 files

LLVM/project 89e98delld/COFF Chunks.h Chunks.cpp, lld/test/COFF reloc-mips.test

[LLD] Initial support for MIPS COFF relocations (#205200)

Base relocations are not handled, but it will be implemented later.
DeltaFile
+56-0lld/test/COFF/reloc-mips.test
+45-0lld/COFF/Chunks.cpp
+2-0lld/COFF/Chunks.h
+103-03 files

LLVM/project 2e78e25clang/lib/Sema SemaTemplateDeduction.cpp SemaTemplateInstantiateDecl.cpp, clang/test/CXX/temp/temp.decls/temp.friend p5.cpp

[Clang] Support friend declarations with a dependent nested-name-specifier (#216555)

Fixes https://github.com/llvm/llvm-project/issues/104057

---

This patch adds support for friend declarations with a dependent NNS
DeltaFile
+1,089-13clang/test/CXX/temp/temp.decls/temp.friend/p5.cpp
+685-105clang/lib/Sema/SemaAccess.cpp
+299-123clang/lib/Sema/SemaDeclCXX.cpp
+334-72clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+263-0clang/test/SemaTemplate/dependent-friend-constraints.cpp
+191-37clang/lib/Sema/SemaTemplateDeduction.cpp
+2,861-35058 files not shown
+3,985-74364 files

LLVM/project 0f23ed7llvm/lib/CodeGen TargetRegisterInfo.cpp, llvm/lib/Target/PowerPC PPCInstrInfo.cpp

PowerPC: Fix FMA reassociation crash on an undef multiply operand

Make sure getVRegDef succeeded.

Found by AI while working on something else.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+73-0llvm/test/CodeGen/PowerPC/fma-reassoc-undef-mul.mir
+1-1llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
+1-1llvm/lib/CodeGen/TargetRegisterInfo.cpp
+75-23 files

LLVM/project 1d25752llvm/lib/CodeGen/GlobalISel GIMatchTableExecutor.cpp

GlobalISel: Use MIPatternMatch in GIMatchTableExecutor

Replace the getVRegDef + opcode-check idiom in isBaseWithConstantOffset with
mi_match using m_GPtrAdd and m_GConstant.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+6-8llvm/lib/CodeGen/GlobalISel/GIMatchTableExecutor.cpp
+6-81 files

LLVM/project b6cd05bllvm/include/llvm/CodeGen/GlobalISel MIPatternMatch.h, llvm/lib/CodeGen/GlobalISel CombinerHelper.cpp

GlobalISel: Introduce m_GPtrAdd flags matcher in CombinerHelper

Add an optional MIFlags output operand to the binary-op matcher and a
m_GPtrAdd(L, R, m_MIFlags(F)) overload, and use it to replace getVRegDef +
opcode checks.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+24-1llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
+4-5llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+28-62 files

LLVM/project 7cb5d89clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage UnsafeBufferUsageAnalysis.cpp, clang/test/Analysis/Scalable/TypeConstrainedPointers unsafe-buffer-reachable-excludes-type-constrained-new-delete.cpp unsafe-buffer-reachable-excludes-type-constrained-main.cpp

[SSAF][UnsafeBufferAnalysis] Do not create entries for empty contributors (follow-up change on #209354) (#216526)

Address follow up questions after the approval.

- The analysis should not create entries for empty contributors, which
otherwise is non-empty in the serialized format.
- use std IO instead of a tmp file for regex-ing FileCheck queries.

rdar://179151541 and rdar://179151882
DeltaFile
+3-8clang/test/Analysis/Scalable/TypeConstrainedPointers/unsafe-buffer-reachable-excludes-type-constrained-main.cpp
+3-2clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
+1-2clang/test/Analysis/Scalable/TypeConstrainedPointers/unsafe-buffer-reachable-excludes-type-constrained-new-delete.cpp
+7-123 files

LLVM/project d4e78d7clang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/CodeGenBuiltins builtin-bit.cpp

[CIR] Allow non-power-of-2-popcount (#216440)

Found in running a test suite, _BitInt of a non-power of 2 wasn't
allowed in our cir.popcount operation, despite it lowering perfectly
fine into the LLVM instruction. This patch relaxes the limitation to any
size integer, and adds tests.

Note we have no tests >128 because we can't lay those out yet in memory,
and the tests use local variables instead of arguments because _BitInt
calling convention work isn't in place yet either.
DeltaFile
+161-0clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
+1-3clang/include/clang/CIR/Dialect/IR/CIROps.td
+162-32 files

LLVM/project d4fcec5llvm/lib/CodeGen TargetRegisterInfo.cpp, llvm/test/CodeGen/X86 machinelicm-lookthru-undef.mir

CodeGen: Fix lookThruCopyLike crash on an undef register

Found by AI while working on something else.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+39-0llvm/test/CodeGen/X86/machinelicm-lookthru-undef.mir
+1-1llvm/lib/CodeGen/TargetRegisterInfo.cpp
+40-12 files

LLVM/project 4a96a45llvm/lib/CodeGen TargetRegisterInfo.cpp, llvm/test/CodeGen/X86 machinelicm-lookthru-undef.mir

CodeGen: Fix lookThruCopyLike crash on an undef register

Found by AI while working on something else.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+39-0llvm/test/CodeGen/X86/machinelicm-lookthru-undef.mir
+1-1llvm/lib/CodeGen/TargetRegisterInfo.cpp
+40-12 files

LLVM/project 2c6acb4llvm/lib/Target/AArch64 AArch64InstrInfo.cpp, llvm/test/CodeGen/AArch64 optimize-cond-branch-undef.mir

AArch64: Fix optimizeCondBranch crash on an undef register

Found by AI while working on something else.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+32-0llvm/test/CodeGen/AArch64/optimize-cond-branch-undef.mir
+2-0llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+34-02 files

LLVM/project d2e52eeclang/docs ReleaseNotes.md, clang/lib/Lex Lexer.cpp

[clang][Lex] Preserve physical line start after comments in -C mode (#216556)

When comments are preserved with -C, a comment at the start of a
physical line consumes the PhysicalStartOfLine state. As a result, a
preprocessor directive following the comment is not recognized.

Preserve the PhysicalStartOfLine state when returning a comment token so
that directives following comments are still handled correctly.

Fixes: #48361
DeltaFile
+33-0clang/test/Preprocessor/comment_directive.c
+1-0clang/lib/Lex/Lexer.cpp
+1-0clang/docs/ReleaseNotes.md
+35-03 files

LLVM/project 7855d51llvm/docs LangRef.md, llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp

[APFloat][SelectionDAG] Support Float8E5M3FNU in convert.{to,from}.arbitrary.fp

Float8E5M3FNU was already accepted by the IR verifier, because
isValidArbitraryFPFormat is defined in terms of
getArbitraryFPFormatSizeInBits and that table covers it. It was missing
from getArbitraryFPSemantics, so SelectionDAGBuilder rejected
it with "not implemented format" and the verifier-clean IR failed to
compile. Add the mapping and the corresponding entries in the
expandCONVERT_{TO,FROM}_ARBITRARY_FP format allowlists.

Unlike every other format the expansions handle so far, Float8E5M3FNU is
unsigned: it has no sign bit, so all 8 bits go to a 5-bit exponent and a
3-bit significand.

Since an unsigned format cannot represent a negative value, a negative
input now saturates to zero when the saturate flag is set, and is poison
otherwise. -0.0 is excluded from that and still converts to +0, and the
check is ordered before the NaN case so a negative NaN still produces the
NaN encoding. APFloat treats constructing a negative value in an unsigned

    [7 lines not shown]
DeltaFile
+263-0llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-e5m3fnu.ll
+189-0llvm/test/CodeGen/X86/float-to-arbitrary-fp.ll
+37-11llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+7-2llvm/docs/LangRef.md
+2-2llvm/lib/Support/APFloat.cpp
+2-1llvm/unittests/ADT/APFloatTest.cpp
+500-166 files

LLVM/project 30a31c4libc/src/__support/threads thread.cpp, libc/src/stdlib CMakeLists.txt exit.cpp

[libc] Remove (weak) __cxa_thread_finalize (#216081)

Unlike __cxa_thread_atexit(_impl), this function is not a part of the
ABI as the process of calling the thread exit callbacks is an
implementation detail. Additionally, the weak definition gets in the way
of refactoring the thread code as the linker will not extract an object
from the archive if the dependency is already satisfied by a weak
definition.

Instead of a weak definition, I use a preprocessor macro to determine
whether we need to call the thread cleanup function (i.e., whether the
target supports threads).
DeltaFile
+8-17libc/src/stdlib/exit.cpp
+12-0libc/src/stdlib/CMakeLists.txt
+0-2libc/src/__support/threads/thread.cpp
+20-193 files

LLVM/project 5589423utils/bazel/llvm-project-overlay/libc BUILD.bazel

[Bazel] Fixes 1f4574c (#216346)

This fixes 1f4574c6033cae84c88ca69bb2b73c9b029925e3 (#216345).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=1f4574c6033cae84c88ca69bb2b73c9b029925e3

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+3-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+3-01 files

LLVM/project 65e0fe6clang/lib/CodeGen BackendUtil.cpp, clang/lib/Driver/ToolChains Clang.cpp

[dyndbg][Clang] Implement nested-ELF dynamic debugging support (#216307)

Re-land https://github.com/llvm/llvm-project/pull/194860

A clone of the module is compiled without optimisations and embedded into the
to-be-optimised module using `embedBufferInModule`, similarly to how
`-ffat-lto-objects` and `-fembed-offload-object` work.

That unoptimised-code object is embedded in the optimised-code object in a
section called `.debug_llvm_dyndbg`.

The optimised ELF/module may be referred to as the "outer" ELF/module, and the
unoptimized one the "inner" ELF/module.

The outer module holds global data referred to by both modules and all calls in
the inner module are to outer module functions. To facilitate this the outer
module is modified, adding external-linkage aliases for local symbols.

For more detail see RFC https://discourse.llvm.org/t/90113 and documentation at
llvm/docs/DynamicDebugging.md.
DeltaFile
+110-1clang/lib/CodeGen/BackendUtil.cpp
+72-0clang/test/DebugInfo/DynamicDebugging/symbols-globals.cpp
+35-2clang/lib/Driver/ToolChains/Clang.cpp
+37-0clang/test/DebugInfo/DynamicDebugging/compiler-used.cpp
+33-0clang/test/DebugInfo/DynamicDebugging/symbols-functions.cpp
+32-0clang/test/Driver/dynamic-debugging-flags.c
+319-320 files not shown
+540-1126 files

LLVM/project 6a2d309clang/lib/CIR/CodeGen CIRGenStmt.cpp, clang/lib/CodeGen CGStmt.cpp

[Clang] Diagnose conflict between always_inline/noinline attributes (#215173)

This PR aims to diagnose `always_inline` and `noinline` conflicts which
currently could pass silently through `Sema` or cause a crash (with
assertions enabled). Changes include:

- Added `MutualExclusions<[AlwaysInline, NoInline]>` in `Attr.td`
- Prevent `always_inline` and `noinline` from being propagated from
generic to specialized templates in `SemaDecl.cpp`
- Prevent inner attributes from clobbering unrelated outer attributes
(e.g. `noinline` and `nomerge`) in both `CGStmt.cpp` and
`CIRGenStmt.cpp`

Something to consider though: Should we prevent propagating conflicting
attributes when doing explicit template specializations in general, not
just `inline`, e.g. `hot`/`cold`, `convergent`/`noconvergent`, etc.

Fixes #214764


    [2 lines not shown]
DeltaFile
+92-0clang/test/CodeGen/attr-noinline-always-inline.cpp
+34-0clang/test/Sema/attr-noinline.cpp
+22-0clang/test/CodeGenHLSL/HLSLControlFlowHint.hlsl
+13-8clang/lib/CodeGen/CGStmt.cpp
+8-3clang/lib/CIR/CodeGen/CIRGenStmt.cpp
+8-0clang/test/CIR/CodeGen/callsite-inline-attributes.cpp
+177-112 files not shown
+184-138 files

LLVM/project f9f1170llvm/lib/Target/M68k M68kInstrArithmetic.td M68kInstrShiftRotate.td, llvm/test/CodeGen/M68k/Arith divide-by-constant.ll rem.ll

[M68k] Implement `SWAP` instruction encoding, patterns, and tests (#215597)
DeltaFile
+69-0llvm/test/CodeGen/M68k/Arith/rem.ll
+27-11llvm/lib/Target/M68k/M68kISelLowering.cpp
+30-0llvm/lib/Target/M68k/M68kInstrShiftRotate.td
+28-0llvm/test/CodeGen/M68k/ShiftRotate/bswap.ll
+15-12llvm/lib/Target/M68k/M68kInstrArithmetic.td
+4-10llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
+173-332 files not shown
+195-338 files

LLVM/project ea347c8llvm/include/llvm/ADT FoldingSet.h, llvm/lib/Support FoldingSet.cpp

[ADT] Remove bucket_begin, bucket_end, and FoldingSetBucketIterator (NFC) (#216548)

This patch removes bucket_begin, bucket_end, and the underlying
FoldingSetBucketIterator and FoldingSetBucketIteratorImpl classes in
FoldingSet.

These were added on February 4, 2008 in commit
e2887863563fe5d2fdd8e1219b76fdc1ee9ec37d for ImutAVLTree in
ImmutableSet.h.  The last use was removed on November 30, 2010 in commit
dbd89971ffb3a222dc91513585e8d6b5bc7882db when ImmutableSet switched
from FoldingSet to DenseSet.

Assisted-by: Antigravity
DeltaFile
+1-59llvm/include/llvm/ADT/FoldingSet.h
+0-7llvm/lib/Support/FoldingSet.cpp
+1-662 files

LLVM/project 723b6a6mlir/include/mlir/Dialect/LLVMIR NVVMOps.td, mlir/lib/Dialect/LLVMIR/IR NVVMDialect.cpp

[MLIR][NVVM] Spell strict assembly properties directly

Bind every NVVM inherent property in its operation assembly format and
re-enable strict property parsing for the dialect. Use direct named clauses
for declarative formats and custom MMA parsers while retaining dictionaries
for discardable attributes.

Assisted-by: Codex
DeltaFile
+345-157mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+415-5mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+156-156mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-tensor.mlir
+156-156mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-sp-tensor.mlir
+128-128mlir/test/Target/LLVMIR/nvvm/tma_store_reduce.mlir
+29-203mlir/test/Target/LLVMIR/nvvm/mma-sparse-blockscale.mlir
+1,229-805100 files not shown
+3,505-4,033106 files

LLVM/project 82b12a8llvm/test/CodeGen/X86 pdep-vector-128.ll pext-vector-128.ll

[DAG] expandPEXT/PDEP - scalarize vector instructions if the scalar type is legal (#216567)

If the scalar instruction is legal, just unroll (scalarize) - similar to
what a lot of other generic expansions already do.

Helps x86/BMI2 targets at least for vXi32/i64 types - there's more we
can do to address vXi8/i16 types and slow-PDEP/PEXT cases (znver1/2
etc.) but they can be addressed later with x86 specific lowering after
we have the generic base in place.

Fixes #214508
DeltaFile
+226-822llvm/test/CodeGen/X86/pext-vector-512.ll
+227-816llvm/test/CodeGen/X86/pdep-vector-512.ll
+111-460llvm/test/CodeGen/X86/pext-vector-256.ll
+111-453llvm/test/CodeGen/X86/pdep-vector-256.ll
+48-328llvm/test/CodeGen/X86/pext-vector-128.ll
+47-320llvm/test/CodeGen/X86/pdep-vector-128.ll
+770-3,1991 files not shown
+778-3,1997 files

LLVM/project 3d3203aclang/lib/CIR/Dialect/Transforms CIRSimplify.cpp, clang/test/CIR/Transforms constant-load-fold.cpp constant-load-fold.cir

[CIR] Fold load from constant alloca slots (#212284)

This patch folds non-volatile non-atomic `cir.load` operation that loads
from a constant alloca slot into the initial value stored into that
slot, if the initialization dominates the load.

This effectively enables "constant folding" at the C/C++ language level.
Consider the following C/C++ source program:

```cpp
int g();
void use(int);

void h(const int *);   // <-- The body of h is external.
void f() {
  const int x = g();
  h(&x);
  use(x);
}

    [8 lines not shown]
DeltaFile
+140-0clang/test/CIR/Transforms/constant-load-fold.cir
+97-0clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
+38-0clang/test/CIR/Transforms/constant-load-fold.cpp
+275-03 files

LLVM/project 4c5182ellvm/include/llvm/Transforms/Vectorize/SandboxVectorizer Scheduler.h DependencyGraph.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer Scheduler.cpp DependencyGraph.cpp

[SandboxVec][DAG][NFC] Replace UnscheduledSuccs/Preds with a single variable (#215364)

This is a cleanup patch that replaces the two DAG node unscheduled
dependency counters (that is UnscheduledSuccs and UnscheduledPreds) with
a single one named UnscheduledDeps.

The reasoning is that scheduling operates on one direction at a time so
if we are scheduling bottom-up then we only need the unscheduled
successors, and if we schedule top-down then we only need the
unscheduled predecessors.
DeltaFile
+218-122llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
+32-39llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
+25-17llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
+10-13llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
+6-9llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
+1-4llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
+292-2046 files

LLVM/project 860fcb7clang/test/CodeGen/Sparc variadic-aggregate.c

[Sparc][NFC] test sparc variadic aggregate handling (#216521)

equivalent of https://github.com/llvm/llvm-project/pull/216509 for
sparc. It similarly has some bugs passing aggregates with floats.
DeltaFile
+1,015-0clang/test/CodeGen/Sparc/variadic-aggregate.c
+1,015-01 files

LLVM/project e65f3c1clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaExprCXX.cpp

[Clang] Accept auto casts pre-C++23 as an extension (#200675)

GCC already supports this as an extension pre-C++23. It is also useful
for libc++ to replace `_LIBCPP_AUTO_CAST`.

Fixes #115609
DeltaFile
+22-21clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.auto.deduct/p2.cpp
+19-18clang/test/CXX/expr/expr.post/expr.type.conv/p1-2b.cpp
+10-15clang/test/Parser/cxx2b-auto-x.cpp
+3-4clang/lib/Sema/SemaExprCXX.cpp
+4-3clang/test/Parser/cxx1z-decomposition.cpp
+2-3clang/include/clang/Basic/DiagnosticSemaKinds.td
+60-647 files not shown
+68-7213 files

LLVM/project c27a08alibcxx/include tuple, libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply make_from_tuple.pass.cpp

[libc++] Simplify the implementation of std::make_from_tuple (#215067)

This does two major things:
1) It removes conditionals for C++20/pre-C++20. I don't understand why
this has ever been done. This made the implementation significantly more
complicated without any indication that it actually improved anything.
2) std::apply is used for expanding the tuple
DeltaFile
+28-51libcxx/include/tuple
+0-39libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
+28-902 files

LLVM/project 2d70006compiler-rt/test/asan/TestCases invalid-pointer-pairs-vector-extract.cpp

[ASan] Add xfail test for PR #213546 (#216532)

Add xfail test for PR #213546
DeltaFile
+35-0compiler-rt/test/asan/TestCases/invalid-pointer-pairs-vector-extract.cpp
+35-01 files

LLVM/project df9a00dclang/include/clang/CIR MissingFeatures.h, clang/lib/CIR/CodeGen/Targets NVPTX.cpp

[CIR][NVPTX] Handle CUDALaunchBoundsAttr (#216447)

Source(s):
*
https://github.com/llvm/llvm-project/blob/34cce43ff1918e621ab08411fa7bc0e2ac4165b4/clang/lib/CodeGen/Targets/NVPTX.cpp#L242

*
https://github.com/llvm/llvm-project/blob/34cce43ff1918e621ab08411fa7bc0e2ac4165b4/clang/test/CodeGenCUDA/launch-bounds.cu#L4
DeltaFile
+193-0clang/test/CIR/CodeGenCUDA/launch-bounds.cu
+40-2clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
+0-1clang/include/clang/CIR/MissingFeatures.h
+233-33 files