LLVM/project 6758becclang/include/clang/Options Options.td, clang/lib/CodeGen CGObjCMac.cpp

[ObjC] Support emission of selector stubs calls instead of objc_msgSend. (#183922)

This optimizes objc_msgSend calls by emitting "selector stubs" instead.

Usually, the linker redirects calls to external symbols to a symbol stub
it generates, which loads the target function's address from the GOT and
branches to it:

  <symbol stub for _func:>
    adrp x16, _func at GOTPAGE
    ldr x16, [x16, _func at GOTPAGEOFF]
    br x16

with msgSend selector stubs, we extend that to compute the selector as
well:

  <selector stub for "foo":>
    adrp x1, <selector ref for "foo">@PAGE
    ldr x1, [x1, <selector ref for "foo">@PAGEOFF]

    [35 lines not shown]
DeltaFile
+131-0clang/test/CodeGenObjC/method-selector-stub.m
+42-0clang/test/Driver/darwin-objc-selector-stubs.m
+34-2clang/lib/CodeGen/CGObjCMac.cpp
+8-0clang/lib/Driver/ToolChains/Darwin.cpp
+8-0clang/lib/Driver/ToolChains/Clang.cpp
+3-0clang/include/clang/Options/Options.td
+226-21 files not shown
+227-27 files

LLVM/project 77556e1mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp, mlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp

Make omp.iterator verify more robust and add tests

- Make sure
    - step in omp.iterator is not zero
    - when step > 0, lo < hi
    - when step < 0, lo > hi
- Add negative test for above checks
- Add iterator lowering test to make sure negative step work

```
// OpenMP 5.2.6
The iterator value setof the iterator are the set ofvalues i_1,...,i_N where:
  i_1 = begin
  i_j = i_{j-1} + step, for j >= 2

If step > 0:
  i_1 <= end
  i_N <= end
  i_N + step > end

    [6 lines not shown]
DeltaFile
+42-0mlir/test/Dialect/OpenMP/invalid.mlir
+36-0mlir/test/Target/LLVMIR/openmp-iterator.mlir
+25-0mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+18-0mlir/test/Dialect/OpenMP/ops.mlir
+3-0mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+124-05 files

LLVM/project 64d70c3llvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

Use findAllocaInsertPoint when possible and move the affinity packing logic to OpenMPToLLVMIRTranslation

- Move the omp.affinity_list packing logic from OMPIRBuilder to
  OpenMPToLLVMIRTranslation so that we have all the omp.affinity_list
  allocating logic inside the lambda defined in buildAffinityData
  - all the allocation logic for affinity list is now using
    findAllocaInsertPoint when possible (static count)
  - `task_affinity_iterator_dynamic_tripcount` in
    openmp-iterator.mlir is a regression test add previously for
    dynamic tripcount
DeltaFile
+67-7mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+3-49llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+6-6mlir/test/Target/LLVMIR/openmp-iterator.mlir
+5-1llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+1-3llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+82-665 files

LLVM/project e8682a9llvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

Fix affinity type, handle unexpected iterator loop body and accumulate affinity entry for one register call

- Generate kmpTaskAffinityInfoTy based on platform and create a helper
  in OMPIRBuilder so that we can use it in OpenMPToLLVMIRTranslation and
  OMPIRBuilder
- Handle invalid iterator loop body and add unit test
- Accumulate affinity info and only one register call for a task
  construct
- remove `this->` in member fucntion
DeltaFile
+67-5llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+23-24mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+24-0llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+12-0openmp/runtime/src/kmp_tasking.cpp
+6-2mlir/test/Target/LLVMIR/openmp-iterator.mlir
+4-0llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+136-316 files

LLVM/project cf4a249llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp, llvm/unittests/Frontend OpenMPIRBuilderTest.cpp

Refactor createIteratorLoop to use OMPIRBuilder utility functions and make end-of-block insertion robust.

- Replace manual splitBasicBlock/branch with splitBB
  and redirectTo()
- When insertion point is at BB.end() and the block is terminated, split
  before the terminator so the original successor path is preserved
  through omp.it.cont
- Add test for unterminated blocks
DeltaFile
+66-0llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+13-23llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+2-1mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+81-243 files

LLVM/project 9385957mlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp, mlir/test/Target/LLVMIR openmp-iterator.mlir openmp-llvm.mlir

Fix insert point for affinity list

Fix dominance issue if affinity list created before dynamic count
DeltaFile
+37-8mlir/test/Target/LLVMIR/openmp-iterator.mlir
+3-5mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+3-2mlir/test/Target/LLVMIR/openmp-llvm.mlir
+43-153 files

LLVM/project 0b0db91llvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

[mlir][llvmir][OpenMP] Translate affinity clause in task construct to llvmir

Translate affinity entries to LLVMIR by passing affinity information to
createTask (__kmpc_omp_reg_task_with_affinity is created inside PostOutlineCB).
DeltaFile
+92-0llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+59-13mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+19-3llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+12-6llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+0-12mlir/test/Target/LLVMIR/openmp-todo.mlir
+2-0mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
+184-346 files

LLVM/project a86e0b9llvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

Refactor and support multiple affinity register for a task

- Support multiple affinity register for a task
- Move iterator loop generate logic to OMPIRBuilder
- Extract iterator loop body convertion logic
- Refactor buildAffinityData by hoisting the creation of affinity_list
- IteratorsOp -> IteratorOp
- Add mlir to llvmir test
DeltaFile
+143-123mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+226-0mlir/test/Target/LLVMIR/openmp-iterator.mlir
+68-16llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+34-1llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+33-0mlir/test/Target/LLVMIR/openmp-llvm.mlir
+504-1405 files

LLVM/project 1ccfce8llvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

Use createLoopSkeleton intead of manually building nested loop

Create flattened 1-dimension canonical loop for omp.iterator
DeltaFile
+92-52mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+0-82llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+0-27llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+92-1613 files

LLVM/project 1c43583llvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

Implement lowering for omp.iterator in affinity

Create IteratorLoopNestScope for building nested loop for iterator.
Take advantage of RAII so that we can have correct exit for each
level of the loop.
DeltaFile
+158-22mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+82-0llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+27-0llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+1-0mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
+268-224 files

LLVM/project e868e45llvm/lib/Target/PowerPC PPCOperands.td PPCInstrVSX.td, llvm/lib/Target/PowerPC/MCTargetDesc PPCInstPrinter.cpp PPCInstPrinter.h

[PowerPC] Refactor immediate operand part 2 (#180289)

Contiue with immediate operand refactoring:
* consolidate printU##Imm into a template function resulting in simpler
class def
* separate imm and relocation classes to clearly reflect what they are
DeltaFile
+77-51llvm/lib/Target/PowerPC/PPCOperands.td
+20-78llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
+12-22llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
+1-1llvm/lib/Target/PowerPC/PPCInstrVSX.td
+110-1524 files

LLVM/project e1cea97flang/lib/Lower/OpenMP ClauseProcessor.cpp, flang/test/Lower/OpenMP target-motion-skip-implicit-mapper.f90

[flang][OpenMP] Prevent attaching implicit mapper to data motion clause (#185850)
DeltaFile
+30-0flang/test/Lower/OpenMP/target-motion-skip-implicit-mapper.f90
+7-6flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+37-62 files

LLVM/project a88c8e8lldb/tools CMakeLists.txt, lldb/tools/darwin-mte-launcher darwin-mte-launcher.cpp CMakeLists.txt

[lldb] Add darwin-mte-launcher (#185921)

A new tool called `darwin-mte-launcher`. In order to launch a process
under MTE, we need to set a posix_spawn flag. We already support this in
LLDB when launching with the `--memory-tagging` flag (see #162944).

Python's built-in allocator doesn't play nice with MTE and requires
setting PYTHONMALLOC=malloc to use the systme allocator. The launcher
takes care of this as well.
DeltaFile
+74-0lldb/tools/darwin-mte-launcher/darwin-mte-launcher.cpp
+6-0lldb/tools/darwin-mte-launcher/CMakeLists.txt
+1-0lldb/tools/CMakeLists.txt
+81-03 files

LLVM/project 7a3d9e8libunwind/src libunwind.cpp, libunwind/test cfi_violating_handler.pass.cpp

[libunwind][PAC] Defang ptrauth's PC in valid CFI range abort

It turns out making the CFI check a release mode abort causes many,
if not the majority, of JITs to fail during unwinding as they do not
set up CFI sections for their generated code. As a result any JITs
that do nominally support unwinding (and catching) through their JIT
or assembly frames trip this abort.

rdar://170862047
DeltaFile
+91-0libunwind/test/cfi_violating_handler.pass.cpp
+11-17libunwind/src/libunwind.cpp
+102-172 files

LLVM/project 66e6e33clang/test/CodeGenHLSL/resources Texture2D-Load.hlsl

Fix test.
DeltaFile
+3-7clang/test/CodeGenHLSL/resources/Texture2D-Load.hlsl
+3-71 files

LLVM/project 2267795flang/test/Semantics/OpenMP resolve07.f90

Predermined -> predetermined

I can't spell predetermined in a single attempt.
DeltaFile
+1-1flang/test/Semantics/OpenMP/resolve07.f90
+1-11 files

LLVM/project 6feee43flang/lib/Semantics resolve-directives.cpp, flang/test/Semantics/OpenMP resolve07.f90

[flang][OpenMP] Loop IVs inside TEAMS are predetermined private in 5.2+

Mark the induction variables of loops in a TEAMS construct as predetermined
private when OpenMP version is 5.2 or later.
DeltaFile
+41-0flang/test/Semantics/OpenMP/resolve07.f90
+6-0flang/lib/Semantics/resolve-directives.cpp
+47-02 files

LLVM/project 7f34bd2llvm/lib/Target/AArch64 AArch64CollectLOH.cpp AArch64.h

[NewPM] Port AArch64CollectLOHPass (#185789)
DeltaFile
+43-33llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
+7-1llvm/lib/Target/AArch64/AArch64.h
+1-1llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+1-0llvm/lib/Target/AArch64/AArch64PassRegistry.def
+52-354 files

LLVM/project e45c8b6llvm/test/CodeGen/SPIRV/instructions icmp.ll

[NFC][SPIRV] New test for untested SPIRV backend case (#185686)

[This
line](https://github.com/ambergorzynski/llvm-project/blob/main/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp#L2362)
in the SPIRV backend is uncovered by the existing test suite (checked
using coverage, and by asserting that no tests in the existing test
suite fails if we insert an `abort()` at this line).

We propose a test that covers this line. We demonstrate the test by
inserting an `abort()` at that line in commit
[#e37e88e](https://github.com/llvm/llvm-project/commit/e37e88e2500bd695d9635322af487c0c40ba3b8a).
Running all tests shows that only our proposed test fails in the
presence of the `abort`. We've removed the `abort` ahead of merging.

This is the only test that fails in the presence of the abort (which
includes our new test): `LLVM.CodeGen/SPIRV/instructions/icmp.ll`
DeltaFile
+13-0llvm/test/CodeGen/SPIRV/instructions/icmp.ll
+13-01 files

LLVM/project cfbd53cllvm/lib/Transforms/Scalar SeparateConstOffsetFromGEP.cpp, llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX split-gep.ll

[LLVM] [SeparateConstOffsetFromGEP] Fix sep-const-offset-from-gep invalid assumption (#183402)

`SeparateConstOffsetFromGEP` assumed the index of a GEP was non-negative
(and therefore previous sext/add could be reordered safely) if the GEP
was marked `inbounds`. This can only be assumed if the GEP is working
off of the base address for the object (counter example:
https://alive2.llvm.org/ce/z/FjGgWp).

This fix removes the general assumption of inbounds GEPs and replaces it
with new checks. The transform is valid when:

1. Value tracking shows the index is known non-negative.
2. The GEP is inbounds and the offset from the base ptr is 0.
3. The GEP is inbounds and the offset is within the threshold `(2^(N-1)
- C + 1) * stride`, where N is the bit width of the index, C is a
positive constant in the add, and stride is the type size of the GEP.
4. The GEP is inbounds and the object size is within the threshold
`(2^(N-1) - C + 1) * stride` for positive C or `(2^(N-1) + C) * stride`
for negative C.

    [2 lines not shown]
DeltaFile
+154-52llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
+174-7llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll
+328-592 files

LLVM/project ef375caclang/test/Analysis/Scalable/ssaf-linker validation-errors.test cli.test

[clang][ssaf][NFC] Rename ssaf-linker tool to clang-ssaf-linker (#185631)

Addresses:
https://github.com/llvm/llvm-project/pull/184713#issuecomment-4030747461
DeltaFile
+13-13clang/test/Analysis/Scalable/ssaf-linker/validation-errors.test
+10-10clang/test/Analysis/Scalable/ssaf-linker/cli.test
+8-8clang/test/Analysis/Scalable/ssaf-linker/linking.test
+8-8clang/test/Analysis/Scalable/ssaf-linker/linking-errors.test
+7-7clang/test/Analysis/Scalable/ssaf-linker/io.test
+5-5clang/test/Analysis/Scalable/ssaf-linker/validation-errors-permissions.test
+51-518 files not shown
+68-6814 files

LLVM/project 8dc4e60clang/test/CodeGenCUDA amdgpu-workgroup-size.cu builtins-amdgcn.cu, clang/test/CodeGenOpenCL builtins-amdgcn-workgroup-size.cl

AMDGPU: Add dereferenceable attribute to dispatch ptr intrinsic

Stop manually setting it on the callsite in clang.
DeltaFile
+24-24clang/test/CodeGenOpenCL/builtins-amdgcn-workgroup-size.cl
+14-8llvm/test/Assembler/amdgcn-intrinsic-attributes.ll
+5-5llvm/test/CodeGen/AMDGPU/implicit-arg-block-count.ll
+3-3clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
+3-3clang/test/CodeGenCUDA/builtins-amdgcn.cu
+3-3clang/test/Headers/gpuintrin.c
+52-465 files not shown
+58-5511 files

LLVM/project 30db2a7llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer DependencyGraph.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer Scheduler.cpp

[SandboxVec][DAG][NFC] Remove argument from setScheduelued() (#185787)

DGNode::setScheduled() is only used to mark a nodes a scheduled, not the
reverse. The reverse should only happen with a call to
DGNode::resetScheduleState().
DeltaFile
+5-5llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
+4-5llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
+2-2llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
+11-123 files

LLVM/project 4853e3bclang/lib/Sema HLSLBuiltinTypeDeclBuilder.cpp SemaHLSL.cpp, clang/test/AST/HLSL StructuredBuffers-AST.hlsl

[HLSL] Implement Texture2D::mips[][]

We implement the Textur2D::mips[][] method. We follow the design in DXC.
There is a new member called `mips` with type mips_type. The member will
contain a copy of the handle for the texture.

The type `mips_type` will have a member function `operator[]` that takes
a level, and returns a `mips_slice_type`. The slice will contain the
handle and the level. It also has an operator[] member function that
take a coordinate. It will do a load from the handle with the level and
coordinate, and return that value.

Assisted-by: Gemini
DeltaFile
+290-35clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+65-0clang/test/CodeGenHLSL/resources/Texture2D-Mips.hlsl
+50-0clang/lib/Sema/SemaHLSL.cpp
+14-14llvm/test/Transforms/SimplifyCFG/DirectX/no-sink-dxgetpointer.ll
+12-12llvm/test/Transforms/GVN/no-sink-dxgetpointer.ll
+10-10clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
+441-7117 files not shown
+499-10623 files

LLVM/project 53739c7clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage UnsafeBufferUsage.h UnsafeBufferUsageExtractor.h, clang/lib/Analysis/Scalable CMakeLists.txt

Revert "[clang][ssaf] Add UnsafeBufferUsage summary extractor for functions (#182941)"

This reverts commit b7512418d2c1f0ba9ae3016024cb503ded7835d1.

There are bots broken by this commit.
DeltaFile
+38-383clang/unittests/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+0-281clang/lib/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+33-17clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
+0-40clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.h
+31-0clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
+0-1clang/lib/Analysis/Scalable/CMakeLists.txt
+102-7226 files

LLVM/project cfcc50autils/bazel/llvm-project-overlay/lldb BUILD.bazel, utils/bazel/llvm-project-overlay/lldb/source/Plugins plugin_config.bzl

[bazel] Add -Wno-vla-cxx-extension to macOS lldb srcs (#185945)

```
lldb/tools/debugserver/source/MacOSX/MachVMMemory.cpp:88:20: warning: variable length arrays in C++ are a Clang extension [-Wvla-cxx-extension]
   88 |   int dispositions[dispositions_size];
      |                    ^~~~~~~~~~~~~~~~~
```

This code contains objc++ which can only be compiled with clang anyways.
DeltaFile
+6-0utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/plugin_config.bzl
+7-02 files

LLVM/project ed42ac3llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 vector-mul-i8-decompose.ll

[X86] Use shift+add/sub for vXi8 splat multiplies (#174110)

Fixes #164200

~~I will create a separate PR to the `llvm-test-suite` repo for the
microbenchmark for this change.~~ The benchmark is in
https://github.com/llvm/llvm-test-suite/pull/316

In my experiments on an EC2 `c6i.4xl`, the change gives a small
improvement for the `x86-64`, `x86-64-v2`, and `x86-64-v3` targets. It
regresses performance on `x86-64-v4` (in particular, when the constant
decomposes into two shifts). The performance summary follows:

```
$ ../MicroBenchmarks/libs/benchmark/tools/compare.py  benchmarks results-baseline-generic-v1.json results-opt-generic-v1.json  |tail -n1
OVERALL_GEOMEAN                         -0.2846         -0.2846             0             0             0             0
$ ../MicroBenchmarks/libs/benchmark/tools/compare.py  benchmarks results-baseline-generic-v2.json results-opt-generic-v2.json  |tail -n1
OVERALL_GEOMEAN                         -0.0907         -0.0907             0             0             0             0
$ ../MicroBenchmarks/libs/benchmark/tools/compare.py  benchmarks results-baseline-generic-v3.json results-opt-generic-v3.json  |tail -n1

    [3 lines not shown]
DeltaFile
+1,769-0llvm/test/CodeGen/X86/vector-mul-i8-decompose.ll
+12-0llvm/lib/Target/X86/X86ISelLowering.cpp
+1,781-02 files

LLVM/project 6f5b4acclang/test/CodeGen scoped-atomic-ops.c, llvm/test/CodeGen/AArch64 sve-streaming-mode-fixed-length-fp-minmax.ll sve-fixed-length-fp-minmax.ll

Merge branch 'users/s-perron/texture2d-load-methods' into users/s-perron/texture2d-subscript-operator
DeltaFile
+927-1,424llvm/test/tools/dsymutil/AArch64/stmt-seq-macho.test
+706-1,470llvm/test/CodeGen/X86/funnel-shift-i512.ll
+1,419-130clang/test/CodeGen/scoped-atomic-ops.c
+1,066-36llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
+692-76llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
+644-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-phi.ll
+5,454-3,1361,893 files not shown
+40,938-18,6861,899 files

LLVM/project bd28ddeclang/include/clang/Basic DiagnosticSemaKinds.td

Reintroduce diagnostic.
DeltaFile
+3-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+3-01 files

LLVM/project 8dfa198clang/test/CodeGen scoped-atomic-ops.c, llvm/test/CodeGen/AArch64 sve-streaming-mode-fixed-length-fp-minmax.ll sve-fixed-length-fp-minmax.ll

Merge branch 'main' into users/s-perron/texture2d-load-methods
DeltaFile
+927-1,424llvm/test/tools/dsymutil/AArch64/stmt-seq-macho.test
+706-1,470llvm/test/CodeGen/X86/funnel-shift-i512.ll
+1,419-130clang/test/CodeGen/scoped-atomic-ops.c
+1,066-36llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
+692-76llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
+644-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-phi.ll
+5,454-3,1361,893 files not shown
+40,938-18,6861,899 files