LLVM/project 642763cmlir/lib/Dialect/AMDGPU/Transforms FoldMemRefsOps.cpp, mlir/test/Dialect/AMDGPU amdgpu-fold-memrefs.mlir

[AMDGPU] Adding FoldMemRefOpsIntoTransposeLoadOp pattern (#183330)

Before the fix we wouldn't fold a trivial expand_shape as index
computation. This will later force expand_shape to materialize into a
extract_stride_metadata and a reinterpret_cast unnecessarily. The
example below showcase the motivation of a source IR that won't be able
to fold today.

```mlir
%expanded = memref.expand_shape %buf [[0, 1], [2, 3]]
    : memref<32x128xf16, strided<[128, 1], offset: ?>, #gpu.address_space<workgroup>>
    into memref<1x32x8x16xf16, strided<..., offset: ?>, #gpu.address_space<workgroup>>
amdgpu.transpose_load %expanded[%i, %j, %k, %l]
    : memref<1x32x8x16xf16, ...> -> vector<4xf16>
```

With this pattern that matches the more generic
`FoldMemRefAliasOpsPass`, the expand_shape can now fold into
transpose_load op like other load/stores.

    [4 lines not shown]
DeltaFile
+103-0mlir/test/Dialect/AMDGPU/amdgpu-fold-memrefs.mlir
+23-2mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
+126-22 files

LLVM/project 3031ba9llvm/lib/CodeGen ExpandIRInsts.cpp, llvm/test/CodeGen/AMDGPU div_v2i128.ll div_i128.ll

[CodeGen] Expand power-of-2 div/rem at IR level in ExpandIRInsts. (#180654)

Previously, power-of-2 div/rem operations wider than
MaxLegalDivRemBitWidth were excluded from IR expansion and left for
backend peephole optimizations. Some backends can fail to process such
instructions in case we switch off DAGCombiner.

Now ExpandIRInsts expands them into shift/mask sequences:
- udiv X, 2^C  ->  lshr X, C
- urem X, 2^C  ->  and X, (2^C - 1)
- sdiv X, 2^C  ->  bias adjustment + ashr X, C
- srem X, 2^C  ->  X - (((X + Bias) >> C) << C)

Special cases handled:
- Division/remainder by 1 or -1 (identity, negation, or zero)
- Exact division (sdiv exact skips bias, produces ashr exact)
- Negative power-of-2 divisors (result is negated)
- INT_MIN divisor (correct via countr_zero on bit pattern)


    [2 lines not shown]
DeltaFile
+69-1,283llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+255-0llvm/test/Transforms/ExpandIRInsts/X86/divrem-pow2.ll
+57-95llvm/test/CodeGen/X86/div_i129_v_pow2k.ll
+116-9llvm/lib/CodeGen/ExpandIRInsts.cpp
+44-60llvm/test/CodeGen/AMDGPU/div_i128.ll
+34-27llvm/test/CodeGen/AMDGPU/rem_i128.ll
+575-1,4742 files not shown
+579-1,4788 files

LLVM/project 5cd6bb0clang/lib/Driver ModulesDriver.cpp

[Clang][Modules] Fix -Wunused-variable from #182182

https://lab.llvm.org/staging/#/builders/227/builds/1093
DeltaFile
+1-1clang/lib/Driver/ModulesDriver.cpp
+1-11 files

LLVM/project fd1ffdbllvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 faddv-fp16.ll faddv.ll

Address comments 1

Removed:
Flags.setNoSignedZeros(true);

Because technically the produced result can be a signed zero, it just
does not matter.
DeltaFile
+48-24llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+54-0llvm/test/CodeGen/AArch64/faddv-fp16.ll
+45-0llvm/test/CodeGen/AArch64/faddv.ll
+2-3llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
+149-274 files

LLVM/project 414c666llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 faddv.ll

[AArch64] Decompose FADD reductions with known zero elements

FADDV is matched into FADDPv4f32 + FADDPv2f32p but this can be relaxed
when one element (usually the 4th) or more are known to be zero.

Before:
movi d1, #0000000000000000
mov v0.s[3], v1.s[0]
faddp v0.4s, v0.4s, v0.4s
faddp s0, v0.2s

After:
mov s1, v0.s[2]
faddp s0, v0.2s
fadd s0, s0, s1
DeltaFile
+256-0llvm/test/CodeGen/AArch64/faddv.ll
+101-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+357-02 files

LLVM/project b7ce37cllvm/lib/Target/AArch64 AArch64InstrInfo.td, llvm/test/CodeGen/AArch64 arm64-cvt-simd-intrinsics.ll sve-fixed-vector-lrint.ll

Revert "[AArch64] Wrap integer SCALAR_TO_VECTOR nodes in bitcasts  (#172837)" (#183380)

This reverts commit eff183b6a7e351e10444977fc2110edc2a518e6f.

And followup commit commit 87d9dad579b9d947f6181d1736fb11e8f683e246.

Causes breakages, see
https://github.com/llvm/llvm-project/pull/172837#issuecomment-3961532435.
DeltaFile
+1-1,205llvm/test/CodeGen/AArch64/arm64-cvt-simd-intrinsics.ll
+533-499llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
+277-246llvm/test/CodeGen/AArch64/vector-lrint.ll
+187-172llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
+72-68llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
+32-47llvm/lib/Target/AArch64/AArch64InstrInfo.td
+1,102-2,23726 files not shown
+1,366-2,53332 files

LLVM/project 4a8d532clang/docs ClangIRCleanupAndEHDesign.md, clang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Update cir::ResumeOp to require an EH token (#183192)

This updates the cir::ResumeOp operation to require an EH token operand.
We already had the token available at both locations where the operation
was being created. Adding this operand makes finding the token more
robust during CFG flattening.

This change was entirely AI generated, but I have reviewed it closely.
DeltaFile
+11-9clang/include/clang/CIR/Dialect/IR/CIROps.td
+7-7clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
+5-5clang/docs/ClangIRCleanupAndEHDesign.md
+4-4clang/test/CIR/IR/invalid-eh-flat.cir
+6-0clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+3-3clang/test/CIR/CodeGen/try-catch-tmp.cpp
+36-285 files not shown
+46-3711 files

LLVM/project 33fd75fllvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU GCNProcessors.td

[AMDGPU] Add gfx12-5-generic subtarget (#183381)

This is functionally equivalent to gfx1250.
DeltaFile
+7-0llvm/docs/AMDGPUUsage.rst
+7-0llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
+5-0llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+5-0llvm/lib/Target/AMDGPU/GCNProcessors.td
+5-0llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
+4-0llvm/lib/TargetParser/TargetParser.cpp
+33-019 files not shown
+65-225 files

LLVM/project 9f46362offload/liboffload/src OffloadImpl.cpp

[Offload] Fix type mismatch by using `uint64_t` instead of `size_t` (#183375)

The variant uses uint64_t, so should the get.
DeltaFile
+3-2offload/liboffload/src/OffloadImpl.cpp
+3-21 files

LLVM/project af2b6edflang/lib/Lower/OpenMP ClauseProcessor.cpp, flang/test/Lower/OpenMP ordered-simd.f90

[flang][openmp] Add support for ordered regions in SIMD directives (#… (#183379)

Add support for ordered regions within SIMD directives (!$omp simd
ordered and !$omp do simd ordered). This initial implementation matches
Clang's behavior.

In SIMD directives, loop induction variables have an implicit linear
clause with deferred store semantics (storing to .linear_result). To
properly support ordered regions, the LinearClauseProcessor rewrites
variable references to use .linear_result in:
- omp.ordered.region: Code inside ordered blocks
- omp_region.finalize: Code after ordered blocks

Note: The vectorizer cannot currently vectorize loops with ordered
regions. Future enhancement would require generating lane loops or
unrolling ordered regions across SIMD lanes while maintaining ordering
semantics.

This PR is a reland for https://github.com/llvm/llvm-project/pull/181012
and fixes the regression caused by syntax change in IR for linear clause
DeltaFile
+90-0mlir/test/Target/LLVMIR/openmp-wsloop-simd-ordered.mlir
+87-0mlir/test/Target/LLVMIR/openmp-simd-ordered.mlir
+57-0flang/test/Lower/OpenMP/ordered-simd.f90
+18-6mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+0-11mlir/test/Target/LLVMIR/openmp-todo.mlir
+5-0flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+257-172 files not shown
+259-188 files

LLVM/project 2981f5fllvm/test/CodeGen/Generic shadow-stack-gc-lowering.ll

[CodeGen] Add tests for ShadowStackGCLowering IR pass (#183167)

Add llvm/test/CodeGen/Generic/shadow-stack-gc-lowering.ll testing the
opt-level behavior of the shadow-stack-gc-lowering module pass,
covering:
- Single root: frame push/pop at entry and return
- Two roots: multi-slot frame, NumRoots=2/NumMeta=0 in the frame map
- Root with non-null metadata: NumMeta=1, metadata array in gc_map
- Mixed metadata: CollectRoots ordering (metadata roots sorted first)
- No roots: pass must leave the function unchanged
- Invoke: EscapeEnumerator inserts pop on both normal and unwind exits

As requested in https://github.com/llvm/llvm-project/pull/178436, since
the only existing tests seem to be that llc doesn't crash (in
llvm/test/CodeGen/X86/GC)

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+194-0llvm/test/CodeGen/Generic/shadow-stack-gc-lowering.ll
+194-01 files

LLVM/project 66ca3ebllvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 faddv-fp16.ll faddv.ll

Address comments 1

Removed:
Flags.setNoSignedZeros(true);

Because technically the produced result can be a signed zero, it just
does not matter.
DeltaFile
+49-24llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+54-0llvm/test/CodeGen/AArch64/faddv-fp16.ll
+45-0llvm/test/CodeGen/AArch64/faddv.ll
+2-3llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
+150-274 files

LLVM/project 2d108ffllvm/include/llvm/CodeGen MachineFunction.h, llvm/lib/CodeGen MachineFunction.cpp

[AMDGPU][MC] Replace shifted registers in CFI instructions

Change-Id: I0d99e9fe43ec3b6fecac20531119956dca2e4e5c
DeltaFile
+67-67llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
+33-0llvm/lib/MC/MCDwarf.cpp
+15-15llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
+10-0llvm/lib/CodeGen/MachineFunction.cpp
+4-4llvm/test/CodeGen/AMDGPU/debug-frame.ll
+4-0llvm/include/llvm/CodeGen/MachineFunction.h
+133-864 files not shown
+141-8810 files

LLVM/project 2ac7c3fllvm/lib/Target/AMDGPU SIFrameLowering.cpp SIMachineFunctionInfo.h, llvm/test/CodeGen/AMDGPU amdgpu-spill-cfi-saved-regs.ll

[AMDGPU] Implement -amdgpu-spill-cfi-saved-regs

These spills need special CFI anyway, so implementing them directly
where CFI is emitted avoids the need to invent a mechanism to track them
from ISel.

Change-Id: If4f34abb3a8e0e46b859a7c74ade21eff58c4047
Co-authored-by: Scott Linder scott.linder at amd.com
Co-authored-by: Venkata Ramanaiah Nalamothu VenkataRamanaiah.Nalamothu at amd.com
DeltaFile
+2,998-0llvm/test/CodeGen/AMDGPU/amdgpu-spill-cfi-saved-regs.ll
+37-12llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+11-2llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
+9-0llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+7-0llvm/lib/Target/AMDGPU/SIFrameLowering.h
+2-1llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+3,064-152 files not shown
+3,067-168 files

LLVM/project f2e3f56llvm/lib/Target/AMDGPU GCNVOPDUtils.cpp

[AMDGPU] Make slow VOPD assert under EXPENSIVE_CHECKS (#183166)

The assert is algorithmically slow. To preserve the usability of release_assert
builds, move it under EXPENSIVE_CHECKS. On some workloads it increased compile
time by 40-50x.
DeltaFile
+2-0llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
+2-01 files

LLVM/project d7cdfa1libc/shared/math fdimf128.h fdimf16.h, libc/src/__support/math CMakeLists.txt fdimf128.h

[libc][math] Refactor fdim family to header-only (#182190)

Refactors the fdim math family to be header-only.

Closes https://github.com/llvm/llvm-project/issues/182188

Target Functions:
  - fdim
  - fdimbf16
  - fdimf
  - fdimf128
  - fdimf16
  - fdiml
DeltaFile
+88-3utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+57-0libc/src/__support/math/CMakeLists.txt
+31-0libc/src/__support/math/fdimf128.h
+29-0libc/src/__support/math/fdimf16.h
+28-0libc/shared/math/fdimf128.h
+28-0libc/shared/math/fdimf16.h
+261-318 files not shown
+487-4524 files

LLVM/project 524fff5clang/docs ReleaseNotes.rst, clang/include/clang/Options Options.td

[win] Control Flow Guard: Add support for the MSVC /d2guardnochecks command (#182967)

This adds support for MSVC's `/d2guardnochecks` undocumented flag. This
flag is similar to `-guard:cf,nochecks` and `-cfguard-no-checks` in that
it instructs the compiler to emit the metadata for Control Flow Guard
WITHOUT emitting checks (aka: "table only" mode), but it differs from
those existing flags because if only takes effect if another flag is
used to enable Control Flow Guard (i.e., `/d2guardnochecks` by itself
does nothing, `/d2guardnochecks /guard:cf` enables table-only mode for
Control Flow Guard).
DeltaFile
+22-2clang/lib/Driver/ToolChains/Clang.cpp
+15-2clang/test/Driver/cl-options.c
+4-0clang/docs/ReleaseNotes.rst
+2-0clang/include/clang/Options/Options.td
+43-44 files

LLVM/project 84764dfclang/include/clang/Driver ModulesDriver.h, clang/lib/Driver ModulesDriver.cpp Driver.cpp

[clang][modules-driver] Generate jobs from Standard library module manifest entries (#182182)

This patch is part of a series to support driver-managed module builds.

To support imports of the Standard library modules (std and
std.compat), the driver must generate frontend jobs for each module
before performing the dependency scan.
The source paths for these modules, along with additional information
required to precompile them, are provided by the Standard library
modules manifest.

This change implements the parsing and handling of the manifest in the
modules-driver.
This change is part of an effort to split #152770 into smaller, more
manageable pieces.

RFC for driver-managed module builds:

https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system
DeltaFile
+216-0clang/lib/Driver/ModulesDriver.cpp
+81-0clang/include/clang/Driver/ModulesDriver.h
+65-0clang/test/Driver/modules-driver-manifest-input-args.cpp
+47-0clang/lib/Driver/Driver.cpp
+41-0clang/test/Driver/modules-driver-malformed-manifest.cpp
+17-0clang/test/Driver/modules-driver-manifest-not-found.cpp
+467-05 files not shown
+495-011 files

LLVM/project 0896334llvm/test/Transforms/LoopVectorize vplan-based-stride-mv.ll, llvm/test/Transforms/LoopVectorize/VPlan vplan-based-stride-mv.ll

[NFC][VPlan] Add initial tests for future VPlan-based stride MV

I tried to include both the features that current
LoopAccessAnalysis-based transformation supports (e.g., trunc/sext of
stride) but also cases where the current implementation behaves poorly,
e.g., https://godbolt.org/z/h31c3zKxK; as well as some other potentially
interesting scenarios I could imagine.

The are two test files with the same content. One is for VPlan dump change of
the future transformation alone (I'll update `-vplan-print-after` in the next
PR), another is for the full vectorizer pipeline. The latter have two `RUN:`
lines:
 * No multiversioning, so the next PR diff can show the transformation itself
 * Stride multiversionin performed in LAA, so that we can compare future
   VPlan-based transformation vs old behavior.
DeltaFile
+4,420-0llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll
+3,146-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-based-stride-mv.ll
+7,566-02 files

LLVM/project 7be9d66lldb/include/lldb/Target ThreadList.h ThreadPlanStepOverBreakpoint.h, lldb/source/Target ThreadList.cpp ThreadPlanStepOverBreakpoint.cpp

Revert "[lldb] Batch breakpoint step-over for threads stopped at the … (#183378)

…same site (re-land) (#182944)"

This reverts commit 94d9f1b3cbb02700d9cd3339c1dbf44c0d13b550.
DeltaFile
+0-216lldb/test/API/functionalities/gdb_remote_client/TestBatchedBreakpointStepOver.py
+1-164lldb/source/Target/ThreadList.cpp
+0-127lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentBatchedBreakpointStepOver.py
+12-21lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
+0-23lldb/include/lldb/Target/ThreadList.h
+0-19lldb/include/lldb/Target/ThreadPlanStepOverBreakpoint.h
+13-5706 files

LLVM/project c51a926llvm/include/llvm/CodeGen pch.h, llvm/lib/CodeGen CMakeLists.txt

[CMake][CodeGen] Add PCH (#183346)

Add PCH for expensive and most-used headers from llvm/CodeGen.
DeltaFile
+25-0llvm/include/llvm/CodeGen/pch.h
+3-0llvm/lib/CodeGen/CMakeLists.txt
+28-02 files

LLVM/project b683075llvm/lib/Target/RISCV RISCVInstrInfoP.td RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV bswap-bitreverse.ll

[RISCV] Support scalar bitreverse using P extension rev instruction. (#183245)

DeltaFile
+167-0llvm/test/CodeGen/RISCV/bswap-bitreverse.ll
+4-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+1-2llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+3-0llvm/lib/Target/RISCV/RISCVSubtarget.h
+175-24 files

LLVM/project 84594d7mlir/include/mlir/Dialect/XeGPU/Transforms XeGPULayoutImpl.h, mlir/lib/Dialect/XeGPU/Transforms XeGPUPropagateLayout.cpp XeGPULayoutImpl.cpp

[mlir][xegpu] Add vector layout conflict handling in XeGPU layout propagation pass.  (#182402)

This PR adds support for layout conflict handling for vector operands. A
conflict for a vector operand occurs when a value consumed at a given
operand is not in the expected layout in the context of the consumer
(for example `vector.multi_reduction` op's source require a specific
layout inferred from its current result layout). To resolve this
conflict, we insert an `xegpu.convert_layout` right after the producer
(essentially duplicating the producer with expected layout) and use the
new value in the consumer.
DeltaFile
+184-22mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir
+74-42mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
+81-0mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+5-0mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
+1-2mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
+345-665 files

LLVM/project f1bde7amlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp

Extract iterator loop body convertion logic
DeltaFile
+37-27mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+37-271 files

LLVM/project 0d47794llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp, mlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp

Refactor buildAffinityData by hoisting the creation of affinity_list
DeltaFile
+47-54mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+2-5llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+49-592 files

LLVM/project c791eabmlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp

Fix iteratorop
DeltaFile
+10-10mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+10-101 files

LLVM/project f641cadllvm/unittests/Frontend OpenMPIRBuilderTest.cpp, mlir/test/Target/LLVMIR openmp-todo.mlir

Fix tests
DeltaFile
+0-12mlir/test/Target/LLVMIR/openmp-todo.mlir
+4-4llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+4-162 files

LLVM/project 3d1f965llvm/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
+2-0mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
+184-225 files

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

Move iterator loop generate logic to OMPIRBuilder
DeltaFile
+59-65mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+61-0llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+7-0llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+127-653 files

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

Support multiple affinity register for a task
DeltaFile
+29-13mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+12-16llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+1-1llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+42-303 files