Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
250 commits
Select commit Hold shift + click to select a range
454b68c
Bump llvm to llvm/llvm-project@80ea5f46df3e (#21065)
pashu123 Jun 10, 2025
bfc106e
Triggering auto torch input conversion based on func arg/result types…
benvanik Jun 10, 2025
f7f7ea8
[Codegen] Add reshape map_scatter folding to BlockDynamicDimensions (…
Max191 Jun 10, 2025
ca25934
Add default option to only do loop fission for unit trip loops (#21069)
nirvedhmeshram Jun 10, 2025
f59480f
[GPU] Add rematerialize parallel ops in the vector distribute pipelin…
pashu123 Jun 11, 2025
eadbf5e
Bump version to 3.6.0 after 3.5.0 release. (#21078)
ScottTodd Jun 11, 2025
b8fee18
Guard HIP macro against redefinition (#21061)
erieaton-amd Jun 11, 2025
a4e60ee
Bump llvm to llvm/llvm-project@0a6463039da89914c7a0f99622fb7a0 (#21072)
pashu123 Jun 12, 2025
3750803
Bump llvm to llvm/llvm-project@bc7ea63e9c885fbe71dec29581a206 (#21083)
pashu123 Jun 12, 2025
81c57ca
[build] Fix Bazel dependency in EncodingUtils for shared library buil…
AGindinson Jun 12, 2025
7c395e2
[LLVMGPU] Enable hip e2e tests for map_scatter (#21079)
Max191 Jun 12, 2025
4a936e4
Adding dummy AMDGPU channel/event. (#21041)
benvanik Jun 12, 2025
943d454
Adding device-side AMDGPU signal/queue utils. (#21042)
benvanik Jun 12, 2025
95cc014
Adding iree_hal_amdgpu_system_t to manage HSA/topology/pools. (#21043)
benvanik Jun 12, 2025
c2e314a
Adding _base variants of all string view int parsing and clean up hip…
benvanik Jun 12, 2025
fd69ba3
Adding support for group_any in iree_thread_affinity_t. (#21089)
benvanik Jun 12, 2025
616c960
Adding skeleton AMDGPU buffer handle and handle pool. (#21044)
benvanik Jun 13, 2025
d347008
Adding skeleton AMDGPU allocator. (#21093)
benvanik Jun 13, 2025
1cbcb4e
[LLVMGPU] Delete LLVMGPUPadAndVectorDistribute (#21095)
Groverkss Jun 13, 2025
f57e4bd
[VectorDistribution] Add support for distributing vector.constant_mas…
Groverkss Jun 13, 2025
7e54ffc
[Codegen] Generalize iree_gpu.multi_mma to iree_codegen.inner_tiled (…
krzysz00 Jun 13, 2025
6189875
Don't erase the target executable in the loop using it. (#21097)
benvanik Jun 13, 2025
c8edfb0
Implement PartitionableLoopsInterface for tensor.concat (#21082)
IanWood1 Jun 13, 2025
925f2f1
[LLVMGPU] Add relayout combination behind a flag (#21076)
Max191 Jun 13, 2025
c514bb7
[Encoding][LLVMGPU] Add encoding fusion e2e test (#21088)
Max191 Jun 16, 2025
9620fa3
Enable the linalg.mmt4d operation and add mmt4d microkernels for the …
adeel10x Jun 16, 2025
1b0acbf
[HAL] Refactor memory property attributes (#21005)
ziereis Jun 16, 2025
7e273a1
[runtime] Add riscv `pause` instruction for spinning (#21075)
NoumanAmir657 Jun 16, 2025
cbbdeee
Reland "[Codegen][ROCDL] Drop nominal support for dynamic shared mem …
MaheshRavishankar Jun 16, 2025
752d437
Switch experimental to false on windows release packages (#21104)
zeeshanhaque21 Jun 16, 2025
ea34865
[Codegen] Port AMDGPU device lib implementations to MLIR rewrites (#2…
keshavvinayak01 Jun 16, 2025
3312947
Bump dawidd6/action-download-artifact from 10 to 11 in the github-act…
dependabot[bot] Jun 17, 2025
f8e12af
Adding device-side tracing macros and a device-side trace buffer. (#2…
benvanik Jun 17, 2025
82df714
Adding blit kernels and device-side enqueuing. (#21057)
benvanik Jun 17, 2025
5a8d4ea
Adding device->host service worker. (#21094)
benvanik Jun 17, 2025
3e98f86
init
ziereis Jun 4, 2025
95e2909
init
ziereis Jun 4, 2025
cca9245
missing change
ziereis Jun 4, 2025
3d8ff51
rebase
ziereis Jun 10, 2025
773d36d
add pass to resovle the op
ziereis Jun 10, 2025
5eea0d1
some cleanup
ziereis Jun 10, 2025
07c0f2f
use device analysis
ziereis Jun 11, 2025
4a2bb96
remove useless check
ziereis Jun 11, 2025
03de8b8
improve pass desc
ziereis Jun 11, 2025
f353632
remove uselss notes
ziereis Jun 11, 2025
2ef1501
Add padding, masking and fold vector.transfer_write -> vector.transfe…
Jun 17, 2025
41b5416
cleanup
ziereis Jun 17, 2025
be67b50
linter
ziereis Jun 17, 2025
4da297e
fix bazel build
ziereis Jun 17, 2025
e5b65b5
[Codegen][GPU] Move operand promotion control to attribute interface …
qedawkins Jun 17, 2025
aa64203
[HIP] Emit error for non-zero dynamic shared memory (#21118)
qedawkins Jun 17, 2025
52d46ca
[Codegen][GPU] Add promotion attribute for setting cache swizzling (#…
qedawkins Jun 17, 2025
ab2c8fa
Force install python version 3.13.5 for windows (#21120)
jitesh-gupta Jun 17, 2025
6c6fa95
Add tiling interface to `tensor.concat` (#21081)
IanWood1 Jun 18, 2025
f1a20c3
[Codegen][GPU] Sort intrinsic according to k alignment - Step 1 of 2-…
jerryyin Jun 18, 2025
9f7af2e
[NFC] Extract common reshape patterns to dedicated file (#21111)
jtuyls Jun 18, 2025
8a692c2
Extract reshape into interface folding tests into dedicated file (#21…
jtuyls Jun 18, 2025
d4f550c
[Flow] Fix crash when flow.return has no operands (#21132)
IanWood1 Jun 18, 2025
1c39c26
[GlobalOpt] Don't modify concat in dispatch (#21129)
IanWood1 Jun 18, 2025
e22bed8
Change linux arm64 runners to newly available github hosted runners (…
jitesh-gupta Jun 18, 2025
5d29ed6
[compiler] remove uses of memref::ExpandOps pass (#21113)
ftynse Jun 19, 2025
5bc18b5
[Dispatch Creation] Improve extract_slice expand_shape bubbling (#21121)
IanWood1 Jun 19, 2025
20fe312
[LinalgExt] fix arg_compare op with region and start index (#21106)
bangtianliu Jun 19, 2025
a85b8ea
Integrate LLVM at 029f8892 (#21140)
bjacob Jun 19, 2025
67fa37d
[Flow] Improve reduction dispatch names (#21139)
IanWood1 Jun 19, 2025
ba6b07d
[doc] Add tips of reading input from a file (#21143)
jinchen62 Jun 19, 2025
605509e
[doc] Fix tip render to mkdocs style (#21145)
jinchen62 Jun 19, 2025
994a716
Integrate LLVM at 836201f (#21148)
bjacob Jun 20, 2025
03f3094
[Codegen][GPU] Sort intrinsic according to k alignment - Step 2 of 2 …
jerryyin Jun 20, 2025
8f60ea8
Integrate LLVM at 227f759644 (#21156)
bjacob Jun 20, 2025
278e249
Adding AMDGPU command buffer implementation. (#21123)
benvanik Jun 20, 2025
4efd91e
refactor utils to remove circular dep in bazel build
ziereis Jun 23, 2025
1110ac1
[VectorDistribute] Implement layout analysis for transfer_gather (#21…
Groverkss Jun 23, 2025
a6bbf4a
Don't use dl_tensor.byte_offset when exporting capsules. (#21153)
AWoloszyn Jun 23, 2025
1d2db1a
[LinalgExt] Add simple vectorization for map_scatter (#21090)
Max191 Jun 23, 2025
2ba0e0a
[Codegen] Simplify tensor load/store padding materialization (#21160)
jtuyls Jun 24, 2025
94b2df6
[Util] Add folder for assumes of X / C * C (#21168)
qedawkins Jun 24, 2025
3be4941
Integrate LLVM at c5b256a0e480 (#21162)
lialan Jun 24, 2025
a2004fc
CMake: catch some recurring problems with LLVM configuration. (#21174)
bjacob Jun 24, 2025
02c0c71
[Encoding] Rename testing purpose encodings to follow the convention.…
hanhanW Jun 24, 2025
1d8f11a
[VectorDistribution] Add pattern to distribute transfer_gather ops (#…
Groverkss Jun 24, 2025
9d9880e
[Codegen] Support early bufferization ops in ConvertToDPS (#21136)
Max191 Jun 24, 2025
5fe38a7
[Codegen][GPU] Prevent vector transfer fission from applying on loops…
rkayaith Jun 24, 2025
f091ada
[Encoding] Refresh practical encodings to follow the naming conventio…
hanhanW Jun 24, 2025
23e4a5a
[ROCMTarget] Add pass for applying builtin specialization patterns (#…
qedawkins Jun 24, 2025
0820a80
[Encoding][NFC] Improve the docs for Encoding dialect. (#21147)
hanhanW Jun 24, 2025
e601ec8
Expand all affine applies before and during Flow (#21169)
qedawkins Jun 24, 2025
ed43694
[LinalgExt] support converting argcompare to loops. (#21138)
bangtianliu Jun 24, 2025
d267eb1
[CPU] Add option to `LLVMCPUTileRootAndFuseProducerConsumer` to tilin…
AaronStGeorge Jun 24, 2025
a46fe4b
[Codegen][GPU] Add a inner tiled op descriptor for scaled MMA (#21141)
krzysz00 Jun 25, 2025
33fbade
[Codegen][GPU] Generalize ConcretizeMmaShapes to arbitrary inner tile…
krzysz00 Jun 25, 2025
7ca0cfa
Re-enable e2e pack.mlir tests for RISC-V targets. (#21179)
hanhanW Jun 25, 2025
d867a94
[Codegen][Tuner] expose python binding for attention op details (#21170)
bangtianliu Jun 25, 2025
0468361
[LLVMGPU] Re-run alloc hoisting after SCFToControlFlow (#21193)
rkayaith Jun 26, 2025
3a9ca75
Expand on commit access policies. (#21205)
ScottTodd Jun 26, 2025
88a09f9
[DispatchCreation] Don't pad on attention in producer dispatch (#21134)
jtuyls Jun 26, 2025
f8c6ebb
[CPU] Use option to tile with `scf.forall` in TileRootAndFuseProducer…
AaronStGeorge Jun 26, 2025
ac5be26
Pinning ninja on the Windows CI to 1.12.1 due to a 1.13.0 bug. (#21208)
benvanik Jun 26, 2025
3078d3f
[LinalgExt] add TilingInterface support for ArgmaxOp (#21077)
bangtianliu Jun 26, 2025
57d6172
Fixing typo in #21142 that was causing failures on MSVC. (#21211)
benvanik Jun 26, 2025
3c81533
Fixing bool->iree_status_t cast error. (#21212)
benvanik Jun 26, 2025
6965a0d
Bump LLVM to 4ac4726d00644f6c6b0e2de1df0d00deed0015bf (#21175)
Jun 26, 2025
4a88e07
[Codegen] Fix undefined behavior in InnerTileOp expansion (#21218)
jtuyls Jun 27, 2025
12d52ad
[Codegen][GPU] Move LLVMGPUPrefetching pass to be invoked from only a…
jerryyin Jun 27, 2025
ede897a
[NFC] remove redundant checks in the TilingInterface (#21225)
bangtianliu Jun 27, 2025
bcb405f
Integrate LLVM @ c73e5e3e209c (#21224)
lialan Jun 27, 2025
7488991
[LinalgExt] add e2e tests for argcompare op (#21217)
bangtianliu Jun 27, 2025
fddefb8
Revert "Force install python version 3.13.5 for windows" (#21215)
saienduri Jun 27, 2025
324be39
[Codegen] Fix multiple function support in materialize user configs (…
qedawkins Jun 27, 2025
fdcd945
Fix missing return in `DeviceOptimalAttr::joinOR` (#21228)
rkayaith Jun 28, 2025
623aff7
respond to review
ziereis Jun 30, 2025
70d6c73
[LinalgExt] Implement Unit Dim folding for slice dimensions (#21220)
Groverkss Jun 30, 2025
ce00449
[Codegen][GPU] Adding scheduling barrier between compute and write st…
jerryyin Jun 30, 2025
7a8e43d
Adding IREE_ENABLE_RUNTIME_COVERAGE cmake mode. (#21191)
benvanik Jun 30, 2025
24cb0fc
[Codegen][GPU] Support fission of loops with multiple transfer_reads/…
rkayaith Jun 30, 2025
4531b54
Extending AMDGPU tests, fixing issues, and cleaning up comments. (#21…
benvanik Jun 30, 2025
0390b68
[Integrate] Drop revert for vectorization API change (#21239)
Max191 Jun 30, 2025
63f625d
[Codegen][Tuner] expose python binding isa_attention_op (#21216)
bangtianliu Jun 30, 2025
b69c44a
[Codegen] Fix TileLargeTensors handling of dynamic reduction dims (#2…
qedawkins Jun 30, 2025
5646b4f
[DispatchCreation] Add pass to hoist scalar ops out of dispatch regio…
qedawkins Jun 30, 2025
8074a80
Adding AMDGPU semaphore (WIP) and semaphore pool. (#21201)
benvanik Jun 30, 2025
c16f4cc
Integrate LLVM to llvm/llvm-project@a99fee69 (#21242)
yzhang93 Jun 30, 2025
af9f7c1
[Dispatch Creation] Add concat expand_shape bubbling (#21158)
dan-garvey Jun 30, 2025
6f6e577
[ROCm] Fix typo in R9700 SKU definition. NFC. (#21247)
kuhar Jun 30, 2025
46c97f9
[ROCMTarget] Make all pingpong arithmetic nsw and nuw (#21248)
qedawkins Jun 30, 2025
46b3885
[Integrate] Drop the revert of unknown type conversion in bufferizati…
hanhanW Jun 30, 2025
ede5059
[Codegen] Add pass to propagate constant offsets towards accesses (#2…
qedawkins Jun 30, 2025
8c3d87d
[CodeGen] Re-enable memref::AssumeAlignmentOp for SPIRV pipelines. (…
hanhanW Jun 30, 2025
a7a248e
[Integrate] Update bufferization related codes for upstream custom ty…
hanhanW Jul 1, 2025
3beeb26
[Codegen] Change swizzle hint offset logic to use arith (#21237)
qedawkins Jul 1, 2025
b47a8af
optional in asm format
ziereis Jul 1, 2025
85dd7c0
walk instead of rewriter
ziereis Jul 1, 2025
920cca5
spelling
ziereis Jul 1, 2025
cded38a
fix build
ziereis Jul 1, 2025
5e4da61
formatting
ziereis Jul 1, 2025
a103a25
whitespace
ziereis Jul 1, 2025
de6f072
spelling
ziereis Jul 1, 2025
07203e6
[NFC] Expose internal LLVMGPU APIs for vector_distribute (#21161)
Jul 1, 2025
43b0edf
[VectorExt] Implement BufferizationInterface for transfer_gather (#21…
Groverkss Jul 1, 2025
a073601
[VectorExt] Implement masked vectorization for iree_linalg_ext.gather…
Groverkss Jul 1, 2025
e43555e
[CodeGen] Fix gather fusion on vector distribute path (#21117)
pashu123 Jul 1, 2025
1f1167d
[StableHLO] Fix ArrayRef(std::nullopt) deprecation warnings (#21257)
qedawkins Jul 1, 2025
bb71232
bazel build
ziereis Jul 1, 2025
e0b184c
[mlir][DispatchCreation] Avoid SSA violation due to consumer fusion w…
MaheshRavishankar Jul 1, 2025
cd29f38
[CPU] Use scf.forall for TileRootAndFuseProducerConsumer by default. …
hanhanW Jul 1, 2025
3b4b454
Bump ncipollo/release-action from 1.16.0 to 1.18.0 in the github-acti…
dependabot[bot] Jul 1, 2025
407d8f2
[Encoding] Add new identity encoding attribute (#21258)
jtuyls Jul 1, 2025
b0ba380
[mlir][Codegen] Remove workaround for handling consumer fusion along …
MaheshRavishankar Jul 1, 2025
9b95b26
[DT] fixup(MaterializeEncodingPatterns) remove legacy type conversion…
egebeysel Jul 1, 2025
6a0ef6d
Integrate LLVM to llvm/llvm-project@5ed852f7 (#21263)
yzhang93 Jul 2, 2025
3a4e052
Add link to the LLVM Social Bangalore talk (#21265)
pashu123 Jul 2, 2025
e7555a9
[Codegen] Fix specialize exports never applies check (#21270)
qedawkins Jul 2, 2025
b348003
[integrate|compiler] Drop carried LLVM reverts and use `ub.poison` in…
fabianmcg Jul 2, 2025
5791cf5
[ROCM] Ping pong matmul Bf16 matcher (#21267)
sebvince Jul 2, 2025
dabbdf5
Integrate LLVM to llvm/llvm-project@e3edc1bd (#21272)
yzhang93 Jul 3, 2025
a96f886
[Util] Fix assume.int operand deduplication canonicalizer (#21273)
qedawkins Jul 3, 2025
e2f2bf6
[Codegen] Fix lhs/rhs batch offsets size in vector contract distribut…
jtuyls Jul 4, 2025
f5023e8
Pad OnlineAttention (#21152)
Jul 6, 2025
0783a79
[Codegen] Generalize ukernel strided_outer_dims and fix GPU ukernel b…
Max191 Jul 7, 2025
ce656af
[Codegen] Support inner_tiled and load_from_buffer in ConvertAccGEMMT…
Max191 Jul 7, 2025
3e99b2b
[LinalgExt] Improve scatter unit dim folding (#21271)
IanWood1 Jul 7, 2025
aa6d19c
[Codegen] Support dynamic dimensions in collapse_shape into interface…
jtuyls Jul 8, 2025
887d75a
[Codegen] Don't fold workgroup loops during workgroup tiling (#21137)
Max191 Jul 8, 2025
61fc515
[DispatchCreation] Fold collapse(expand) unit dims (#21274)
IanWood1 Jul 8, 2025
5f4a8ac
[VectorDistribute][NFC] Refactor subgroup reduction distribution (#21…
Groverkss Jul 8, 2025
53488fa
[DT] add control function to FoldIntoPackUnpackPatterns (#21276)
egebeysel Jul 8, 2025
1993d5c
[CPU] Disable lowering_config propagation for Mmt4dTilingExpert pipel…
hanhanW Jul 8, 2025
302f93b
[Preprocessing][NFC] Drop dependency workaround from TransposeMatmulP…
hanhanW Jul 8, 2025
1d65b89
[CodeGen] Add a pass that patches func ops for debugging purpose. (#2…
hanhanW Jul 8, 2025
b810549
[Integrate] Integrate llvm-project @0f391d6f51217de5cb6735b17f359eb07…
Max191 Jul 8, 2025
7f35ecf
[DataTiling] Enable layout transformation combination in GPU DT e2e t…
Max191 Jul 8, 2025
db97528
[DT] Improve encoding hoisting pass. (#21275)
hanhanW Jul 8, 2025
414c2d0
[LinalgExt] Add an `DeviceMappingInterfaceAttribute` to tag split-k l…
MaheshRavishankar Jul 8, 2025
95e863f
[CodeGen][NFC] Delete DeadMemAlloc patterns. (#21310)
hanhanW Jul 8, 2025
53685c3
[Codegen][AMDGPU] Allow vector distribute configuration selection to …
MaheshRavishankar Jul 8, 2025
2967df6
[Codegen][Common] Teach `VerifyWorkgroupDistribution` to allow `scf.f…
MaheshRavishankar Jul 9, 2025
bb040e7
Revert "[Codegen] Don't fold workgroup loops during workgroup tiling …
Max191 Jul 9, 2025
2ca0e7d
[Codegen] Bubble up/down reshape operations before blocking dynamic d…
jtuyls Jul 9, 2025
cc15220
[docs] Add 2025 AsiaLLVM talk about data-tiling from Hanhan. (#21308)
hanhanW Jul 9, 2025
4c39427
[CPU] Introduce dictionary-based lowering_config attribute. (#21312)
hanhanW Jul 9, 2025
0a26d8d
[TensorExt] Add new operation that is a placeholder for modifying num…
MaheshRavishankar Jul 9, 2025
84b22f1
[docs] Correct default values in optimization options. (#21321)
hanhanW Jul 9, 2025
12ff654
[CodeGen][NFC] Retire native_vector_sizes from LoweringConfigAttr. (#…
hanhanW Jul 9, 2025
175f23f
[Codegen] Add StoreToBufferOp to vector distribution dispatch check (…
jtuyls Jul 9, 2025
361ba4f
[CodeGen][NFC] Simplify logging with LDBG for Utils.cpp. (#21328)
hanhanW Jul 10, 2025
529e597
[LinalgExt] Improve Attention partial tiling new batch dimension inse…
Groverkss Jul 10, 2025
47852b8
[CPU] Implement OpAsmDialectInterface for IREE::CPU::LoweringConfigAt…
hanhanW Jul 10, 2025
eacf61a
[CodeGen] Make TilingConfig compatible with LoweringConfigAttrInterfa…
hanhanW Jul 10, 2025
bc3d0a4
[CPU] Teach TilingConfig about IREE::CPU::LoweringConfigAttr. (#21327)
hanhanW Jul 10, 2025
6c597f6
[GPU] Remove ROCm llvm plugin (#21311)
efric Jul 10, 2025
6b222e3
[CPU] Switch mmt4d pipeline to use IREE::CPU::LoweringConfigAttr. (#2…
hanhanW Jul 10, 2025
ebc2f43
[Dispatch Creation] Make producer fusable via interchange (#20977)
IanWood1 Jul 10, 2025
f2ccccb
[Codegen] Add AMDGPU specific narrow type emulation pass for AMDGPUDi…
qedawkins Jul 10, 2025
990d368
[TensorExt] Mirror a tensor_ext version of flow.tensor.bitcast (#21277)
qedawkins Jul 10, 2025
4ea7177
Move all producing uses of flow.bitcast to tensor_ext (#21279)
qedawkins Jul 11, 2025
8ba5a50
Cleanup uses of --verify-diagnostics in tests (#21340)
qedawkins Jul 11, 2025
078fd07
[Integrate] Bump LLVM to 77914c96dfc55562404d18c1ab777137055679db (#2…
Groverkss Jul 11, 2025
d6cb40a
[VectorDistribute] Fix buffer reduction during subgroup reduction (#2…
Groverkss Jul 11, 2025
0894d68
[CPU] Use TilingConfig for lowering_config propagation. (#21336)
hanhanW Jul 11, 2025
e09fbb3
[CPU] Implement lowering_config propagation for IREE::CPU::LoweringCo…
hanhanW Jul 11, 2025
51d8006
[Codegen][Tuner] remove decomposition attr for attention op (#21345)
bangtianliu Jul 11, 2025
bdf196b
[CPU] Switch all LinalgExt dispatches to root-based tiling pipeline. …
hanhanW Jul 11, 2025
d85f1a4
[GlobalOpt] Delete experimental FuseSiluHorizontalMatmul pass. (#21350)
hanhanW Jul 11, 2025
522d8ef
[Codegen] Resolve scf.forall operations created during split-reductio…
MaheshRavishankar Jul 13, 2025
c3385bf
[Codegen][GPU] Fuse nested warp and lane foralls (#21295)
Max191 Jul 14, 2025
d58643d
[LinalgExt] Add decomposition for vector map_scatter (#21116)
Max191 Jul 14, 2025
0db1c93
[DispatchCreation] Add pass to cast away unsupported element types (#…
qedawkins Jul 14, 2025
aee9ec1
[CPU] Improve TileRootAndFuseProducerConsumer like TileAndFuse pass. …
hanhanW Jul 14, 2025
00cba4e
[CPU] Refactor logic to LoweringConfigGenerator. (#21352)
hanhanW Jul 14, 2025
0dc8138
[LLVMGPU] Add canonicalization for select(pred, true, false) -> broad…
Groverkss Jul 14, 2025
633cdbd
[VectorExt] Use ub.poison for padding in vector_ext vectorization (#2…
Groverkss Jul 14, 2025
f741dea
[GlobalOptimization] Fix 1x1 Conv2D to Matmul pass ordering (#21355)
HalfBloodPrince010 Jul 14, 2025
c09eff9
Fix unsupported bitcasting of complex operands (#21367)
qedawkins Jul 14, 2025
1fa682e
[CPU][NFCI] Update tile sizes selection workaround if it has dynamic …
hanhanW Jul 14, 2025
c4f7535
[Codegen] Combine layout transformation after GPUFuseAndHoistParallel…
YashDeshpande25 Jul 14, 2025
42df9b8
[Stream] New ElideAsyncTransfersPass (#21029)
ziereis Jul 14, 2025
7eb5a32
Fix failure in Windows build. (#21369)
MaheshRavishankar Jul 15, 2025
5a9ee6b
[DispatchCreation] Add a pass to split long running reduction loops. …
MaheshRavishankar Jul 15, 2025
6ea822a
Integrate LLVM to llvm/llvm-project@3ed3a33 (#21364)
bangtianliu Jul 15, 2025
f47f4d5
[NFC] Fix smallvector size in kernel configattrs (#21348)
efric Jul 15, 2025
b01042c
Integrate LLVM to llvm/llvm-project@bda5602 (#21377)
bangtianliu Jul 15, 2025
2b8ee7c
[CPU] Switch convolution pipelines to IREE::CPU::LoweringConfigAttr. …
hanhanW Jul 15, 2025
cd1517e
[CPU] Use IREE::CPU::TilingLevel in TileRootAndFuseProducerConsumer p…
hanhanW Jul 15, 2025
26f12e8
[Stream] Fix dominance error for multi-result dispatches (#21368)
IanWood1 Jul 15, 2025
a7561f9
[codegen][gpu] Add the `iree-rocdl-use-buffer-instructions` pass (#21…
fabianmcg Jul 15, 2025
4765a6b
[DispatchCreation] Avoid hoisting set encodings on scalar tensors (#2…
jtuyls Jul 15, 2025
1ad18f4
[Codegen] Distribute workgroups along X dim (#21334)
Max191 Jul 15, 2025
7935e44
Add e2e test for split reduction using tiling. (#21374)
MaheshRavishankar Jul 15, 2025
8e8b317
[Dispatch Creation] Remove assert and handle null map (#21380)
IanWood1 Jul 15, 2025
67e42b0
[e2e] Adding default tuning specs tests. (#21383)
lialan Jul 15, 2025
2775a61
Use `ShapedType::isStatic`. NFC. (#21385)
kuhar Jul 16, 2025
a0e76a9
Reapply "[Codegen] Don't fold workgroup loops during workgroup tiling…
Max191 Jul 16, 2025
319cbdc
Implementing AMDGPU logical/physical devices and skeleton queues. (#2…
benvanik Jul 16, 2025
94ee694
Integrate LLVM to llvm/llvm-project@d9190f8 (#21388)
bangtianliu Jul 16, 2025
97de04c
Adding `iree-hal-drivers-amdgpu-tests` target. (#21389)
benvanik Jul 16, 2025
04f28fb
[CPU] Switch pack/unpack disptaches to use IREE::CPU::LoweringConfigA…
hanhanW Jul 16, 2025
3880ab1
[CPU] Teach SplitReduction about IREE::CPU::LoweringConfigAttr. (#21391)
hanhanW Jul 16, 2025
6f161cf
Add linalg.softmax e2e tests. (#21396)
hanhanW Jul 16, 2025
f506d00
[Codegen][GPU] Canonicalize to remove the empty extract slice in comb…
jerryyin Jul 17, 2025
2947c5f
[Attention] Use multiple subgroups for memory bound attention (#21363)
Groverkss Jul 17, 2025
3f52423
[CPU] Teach TilingConfig::getVectorTileSizes about CPU lowering confi…
hanhanW Jul 17, 2025
7ef556f
[CPU] Get rootOp based on lowering config in TileRootAndFuseProducerC…
hanhanW Jul 17, 2025
9e8691f
Integrate LLVM to llvm/llvm-project@e0cce5c (#21398)
bangtianliu Jul 17, 2025
c2f1fb9
[WIP] Expose multi-use fusion flag to pipeline options. (#21400)
IanWood1 Jul 17, 2025
af56a47
[CPU][NFC] Switch infusible pack tests to use imperfect tiling case. …
hanhanW Jul 18, 2025
2ae5fc0
Merge branch 'main' into hal_resolve_memory_properties
ziereis Jul 18, 2025
f77d6b1
resolve conflicts
ziereis Jul 18, 2025
4f47687
address comments
ziereis Jul 21, 2025
15c96d6
formatting
ziereis Jul 21, 2025
3cfee2c
comment
ziereis Jul 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions .github/workflows/build_package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,23 +122,23 @@ jobs:
build-family: linux-x86_64
build-package: main-dist-linux
experimental: false
- runs-on: ah-ubuntu_22_04-c7g_4x-50
- runs-on: ubuntu-24.04-arm
build-family: linux-aarch64
build-package: main-dist-linux
experimental: true
- runs-on: ubuntu-24.04
build-family: linux-x86_64
build-package: py-compiler-pkg
experimental: false
- runs-on: ah-ubuntu_22_04-c7g_4x-50
- runs-on: ubuntu-24.04-arm
build-family: linux-aarch64
build-package: py-compiler-pkg
experimental: true
- runs-on: ubuntu-24.04
build-family: linux-x86_64
build-package: py-runtime-pkg
experimental: false
- runs-on: ah-ubuntu_22_04-c7g_4x-50
- runs-on: ubuntu-24.04-arm
build-family: linux-aarch64
build-package: py-runtime-pkg
experimental: true
Expand Down Expand Up @@ -168,11 +168,11 @@ jobs:
- runs-on: windows-2022
build-family: windows
build-package: py-compiler-pkg
experimental: true
experimental: false
- runs-on: windows-2022
build-family: windows
build-package: py-runtime-pkg
experimental: true
experimental: false

env:
# These are also set in: build_tools/python_deploy/build_linux_packages.sh
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/ci_windows_x64_msvc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,9 @@ jobs:
run: |
choco install sccache
choco install cmake
choco install ninja
# ninja pinned due to a bug in the 1.13.0 release:
# https://github.com/ninja-build/ninja/issues/2616
choco install ninja --version 1.12.1
Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
refreshenv
- name: "Building IREE"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/oneshot_candidate_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:

- name: Create Release
id: create_release
uses: ncipollo/release-action@440c8c1cb0ed28b9f43e4d1d670870f059653174 # v1.16.0
uses: ncipollo/release-action@bcfe5470707e8832e12347755757cec0eb3c22af # v1.18.0
with:
tag: ${{ env.tag_name }}
name: iree candidate ${{ env.tag_name }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/schedule_candidate_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:

- name: Create Release
id: create_release
uses: ncipollo/release-action@440c8c1cb0ed28b9f43e4d1d670870f059653174 # v1.16.0
uses: ncipollo/release-action@bcfe5470707e8832e12347755757cec0eb3c22af # v1.18.0
with:
tag: ${{ env.tag_name }}
name: iree candidate ${{ env.tag_name }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/validate_and_publish_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
steps:
- name: Download packages
id: download_packages
uses: dawidd6/action-download-artifact@4c1e823582f43b179e2cbb49c3eade4e41f992e2 # v10
uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11
with:
github_token: ${{secrets.WRITE_ACCESS_TOKEN}}
workflow: build_package.yml
Expand Down
107 changes: 106 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -530,10 +530,22 @@ if(IREE_ENABLE_CCACHE)
endif()
endif()

set (CMAKE_POSITION_INDEPENDENT_CODE ${IREE_ENABLE_POSITION_INDEPENDENT_CODE})
set(CMAKE_POSITION_INDEPENDENT_CODE ${IREE_ENABLE_POSITION_INDEPENDENT_CODE})

option(IREE_DEV_MODE "Configure settings to optimize for IREE development (as opposed to CI or release)" OFF)

option(IREE_ENABLE_RUNTIME_COVERAGE "Enable LLVM code coverage of the runtime" OFF)
set(IREE_RUNTIME_COVERAGE_OBJECTS "" CACHE STRING "List of archives (.a), objects (.o), or binaries to use as coverage data sources.")
set_property(GLOBAL PROPERTY IREE_RUNTIME_COVERAGE_TARGETS "")

# Verify we are in debug mode (coverage doesn't work well without it).
# Coverage is possible (though very inaccurate) in other configurations but
# optimizations must be disabled to get anything useful (otherwise source lines
# and instrumented execution don't line up enough).
if(IREE_ENABLE_RUNTIME_COVERAGE AND NOT _UPPERCASE_CMAKE_BUILD_TYPE STREQUAL "DEBUG")
message(FATAL_ERROR "IREE_ENABLE_*_COVERAGE requires building in Debug")
endif()

#-------------------------------------------------------------------------------
# IREE assertions
# We don't love the way this is done, but we have to line it up with how LLVM
Expand Down Expand Up @@ -1112,6 +1124,99 @@ if(IREE_BUILD_TESTS)
iree_create_ctest_customization()
endif()

#-------------------------------------------------------------------------------
# Code coverage support
#-------------------------------------------------------------------------------

# LLVM coverage targets:
#
# - iree-runtime-coverage-export
# Merge and export coverage data to `coverage/runtime.lcov.info`.
# All of `coverage/runtime/*.profraw` files will be merged as if they had been
# produced in the same run, written to `coverage/runtime.profdata`, and then
# exported into LCOV format.
#
# - iree-runtime-coverage-clear-all
# Erases all `coverage/runtime*` files (*.profraw/*.profdata/*.info).
# Invoke this to completely clear all collected coverage data.
#
# - iree-runtime-coverage-clear-artifacts
# Erases only merged `coverage/runtime.*` files (*.profdata/*.info).
# Invoke this after adding more *.profraw files to update the coverage.
#
# To collect the source *.profraw files use the LLVM_PROFILE_FILE environment
# variable on each invocation; tests run via ctest do this automatically:
# LLVM_PROFILE_FILE=coverage/runtime/binary_target_name[.whatever].profraw \
# my_binary_to_run --other --flags
# The base name before the first `.` must be the target name for the tooling to
# automatically detect the binaries used. Any additional `.foo` up to the
# extension will be ignored and allow for multiple runs to be accumulated before
# exporting. If the name is not target-name based then the
# IREE_RUNTIME_COVERAGE_OBJECTS CMake variable must be populated with binaries,
# archives (.a), or object files (.o).
#
# VSCode can be configured with these targets/artifacts to show coverage
# information by adding the following workspace configuration:
# // Accumulate over multiple test runs:
# "cmake.preRunCoverageTarget": "iree-runtime-coverage-clear-artifacts",
# // Or only show coverage for the tests run in a single batch:
# "cmake.preRunCoverageTarget": "iree-runtime-coverage-clear-all",
# "cmake.postRunCoverageTarget": "iree-runtime-coverage-export",
# "cmake.coverageInfoFiles": [
# "${command:cmake.buildDirectory}/coverage/runtime.lcov.info"
# ],
if(IREE_ENABLE_RUNTIME_COVERAGE)
set(_RUNTIME_COVERAGE_BASE "${IREE_BINARY_DIR}/coverage/runtime")
if(Python3_FOUND)
get_property(_RUNTIME_COVERAGE_TARGETS GLOBAL PROPERTY IREE_RUNTIME_COVERAGE_TARGETS)
file(GENERATE
OUTPUT
${_RUNTIME_COVERAGE_BASE}.target.list
CONTENT
"${_RUNTIME_COVERAGE_TARGETS}"
)
add_custom_target(iree-runtime-coverage-export
COMMAND
${Python3_EXECUTABLE}
${IREE_ROOT_DIR}/build_tools/scripts/export_profdata_lcov.py
--base=${_RUNTIME_COVERAGE_BASE}
--objects=${IREE_RUNTIME_COVERAGE_OBJECTS}
--targets=${_RUNTIME_COVERAGE_BASE}.target.list
--output=${_RUNTIME_COVERAGE_BASE}.lcov.info
--llvm-profdata=${IREE_LLVM_PROFDATA_BINARY}
--llvm-cov=${IREE_LLVM_COV_BINARY}
BYPRODUCTS
${_RUNTIME_COVERAGE_BASE}.lcov.info
DEPENDS
${IREE_LLVM_COV_BINARY}
${IREE_LLVM_PROFCOV_BINARY}
COMMENT
"Exporting runtime coverage data to ${_RUNTIME_COVERAGE_BASE}.lcov.info"
)
else()
message(WARNING "IREE_ENABLE_*_COVERAGE requires Python3 to export automatically via the iree-runtime-coverage-export target; coverage is still enabled but must be manually processed")
endif()
add_custom_target(iree-runtime-coverage-clear-all
COMMAND
${CMAKE_COMMAND}
-E rm -f
"${_RUNTIME_COVERAGE_BASE}.profdata"
"${_RUNTIME_COVERAGE_BASE}.lcov.info"
"${_RUNTIME_COVERAGE_BASE}/*.profraw"
COMMENT
"Clearing ${_RUNTIME_COVERAGE_BASE}/* and related source coverage data"
)
add_custom_target(iree-runtime-coverage-clear-artifacts
COMMAND
${CMAKE_COMMAND}
-E rm -f
"${_RUNTIME_COVERAGE_BASE}.profdata"
"${_RUNTIME_COVERAGE_BASE}.lcov.info"
COMMENT
"Clearing merged ${_RUNTIME_COVERAGE_BASE}.* files only"
)
endif(IREE_ENABLE_RUNTIME_COVERAGE)

#-------------------------------------------------------------------------------
# Install/exports
# Note that with no further options, install convenience targets install to
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,10 @@ Community meeting recordings: [IREE YouTube channel](https://www.youtube.com/@ir

Date | Title | Recording | Slides
---- | ----- | --------- | ------
2025-06-10 | Data-Tiling in IREE: Achieving High Performance Through Compiler Design (AsiaLLVM) | [recording](https://www.youtube.com/watch?v=iANJWUL_SOo) | [slides](https://llvm.org/devmtg/2025-06/slides/technical-talk/wang-data-tilling.pdf)
2025-05-17 | Introduction to GPU architecture and IREE's GPU CodeGen Pipeline | [recording](https://www.youtube.com/watch?v=9Fy2jxj0ARE) | [slides](https://drive.google.com/file/d/1xbABUy3kQxxBzOUb3WjBOFCSY_sQYdGo/view)
2025-02-12 | The Long Tail of AI: SPIR-V in IREE and MLIR (Vulkanised) | [recording](https://youtu.be/0zwfc6UkxeE) | [slides](https://www.vulkan.org/user/pages/09.events/vulkanised-2025/T12-Jakub-Kuderski-AMD-IREE-MLIR.pdf)
2024-10-01 | Unveiling the Inner Workings of IREE: An MLIR-Based Compiler for Diverse H/W | [recording](https://www.youtube.com/watch?v=a3T74I9gGH8) |
2024-10-01 | Unveiling the Inner Workings of IREE: An MLIR-Based Compiler for Diverse Hardware | [recording](https://www.youtube.com/watch?v=a3T74I9gGH8) |
2021-06-09 | IREE Runtime Design Tech Talk | [recording](https://drive.google.com/file/d/1p0DcysaIg8rC7ErKYEgutQkOJGPFCU3s/view) | [slides](https://drive.google.com/file/d/1ikgOdZxnMz1ExqwrAiuTY9exbe3yMWbB/view?usp=sharing)
2020-08-20 | IREE CodeGen (MLIR Open Design Meeting) | [recording](https://drive.google.com/file/d/1325zKXnNIXGw3cdWrDWJ1-bp952wvC6W/view?usp=sharing) | [slides](https://docs.google.com/presentation/d/1NetHjKAOYg49KixY5tELqFp6Zr2v8_ujGzWZ_3xvqC8/edit)
2020-03-18 | Interactive HAL IR Walkthrough | [recording](https://drive.google.com/file/d/1_sWDgAPDfrGQZdxAapSA90AD1jVfhp-f/view?usp=sharing) |
Expand Down
2 changes: 1 addition & 1 deletion build_tools/bazel/build_defs.oss.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ def iree_runtime_cc_library(deps = [], **kwargs):
**kwargs
)

def iree_runtime_cc_test(deps = [], **kwargs):
def iree_runtime_cc_test(deps = [], group = None, **kwargs):
"""Used for cc_test targets within the //runtime tree.

This is a pass-through to the native cc_test which adds specific
Expand Down
3 changes: 3 additions & 0 deletions build_tools/bazel_to_cmake/bazel_to_cmake_converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,7 @@ def cc_test(
args=None,
tags=None,
includes=None,
group=None,
**kwargs,
):
if self._should_skip_target(tags=tags, **kwargs):
Expand All @@ -475,6 +476,7 @@ def cc_test(
labels_block = self._convert_string_list_block("LABELS", tags)
timeout_block = self._convert_timeout_arg_block("TIMEOUT", timeout)
includes_block = self._convert_includes_block(includes)
group_block = self._convert_string_arg_block("GROUP", group)

self._converter.body += (
f"iree_cc_test(\n"
Expand All @@ -489,6 +491,7 @@ def cc_test(
f"{labels_block}"
f"{timeout_block}"
f"{includes_block}"
f"{group_block}"
f")\n\n"
)

Expand Down
18 changes: 17 additions & 1 deletion build_tools/cmake/iree_cc_binary.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
# LINKOPTS: List of link options
# TESTONLY: for testing; won't compile when tests are disabled
# HOSTONLY: host only; compile using host toolchain when cross-compiling
# COVERAGE: whether to enable code coverage during compilation/linking.
# SETUP_INSTALL_RPATH: Sets an install RPATH which assumes the standard
# directory layout (to be used if linking against installed shared libs).
# INSTALL_COMPONENT: CMake install component (Defaults to "IREETool-${_RULE_NAME}").
Expand Down Expand Up @@ -53,7 +54,7 @@ function(iree_cc_binary)
cmake_parse_arguments(
_RULE
"EXCLUDE_FROM_ALL;HOSTONLY;TESTONLY;SETUP_INSTALL_RPATH;DISABLE_LLVM_LINK_LLVM_DYLIB"
"NAME;INSTALL_COMPONENT"
"NAME;INSTALL_COMPONENT;COVERAGE"
"SRCS;COPTS;DEFINES;LINKOPTS;DATA;DEPS"
${ARGN}
)
Expand Down Expand Up @@ -131,6 +132,21 @@ function(iree_cc_binary)
${_RULE_LINKOPTS}
)

# Enable coverage if requested.
if(${_RULE_COVERAGE})
target_compile_options(${_NAME}
PRIVATE
"-fprofile-instr-generate"
"-fcoverage-mapping"
)
target_link_options(${_NAME}
PRIVATE
"-fprofile-instr-generate"
"-fcoverage-mapping"
)
set_property(GLOBAL APPEND PROPERTY IREE_RUNTIME_COVERAGE_TARGETS "${_NAME}=$<TARGET_FILE:${_NAME}>")
endif()

# Replace dependencies passed by ::name with iree::package::name
list(TRANSFORM _RULE_DEPS REPLACE "^::" "${_PACKAGE_NS}::")
if(NOT _RULE_DISABLE_LLVM_LINK_LLVM_DYLIB)
Expand Down
50 changes: 35 additions & 15 deletions build_tools/cmake/iree_cc_test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@
# Note: flag passing is only enforced through CTest, so manually running
# the test binaries (such as under a debugger) will _not_ pass any
# arguments without extra setup.
# SRCS: List of source files for the binary
# DATA: List of other targets and files required for this binary
# DEPS: List of other libraries to be linked in to the binary targets
# COPTS: List of private compile options
# DEFINES: List of public defines
# LINKOPTS: List of link options
# SRCS: List of source files for the binary.
# DATA: List of other targets and files required for this binary.
# DEPS: List of other libraries to be linked in to the binary targets.
# COPTS: List of private compile options.
# DEFINES: List of public defines.
# LINKOPTS: List of link options.
# GROUP: Optional test group to add the target to.
# LABELS: Additional labels to apply to the test. The package path is added
# automatically.
#
Expand Down Expand Up @@ -58,7 +59,7 @@ function(iree_cc_test)
_RULE
""
"NAME"
"ARGS;SRCS;COPTS;DEFINES;LINKOPTS;DATA;DEPS;LABELS;TIMEOUT"
"ARGS;SRCS;COPTS;DEFINES;LINKOPTS;DATA;DEPS;LABELS;GROUP;TIMEOUT"
${ARGN}
)

Expand Down Expand Up @@ -137,6 +138,8 @@ function(iree_cc_test)
string(REPLACE "::" "/" _PACKAGE_PATH ${_PACKAGE_NS})
set(_NAME_PATH "${_PACKAGE_PATH}/${_RULE_NAME}")

set(_ENVIRONMENT_VARS)

# Case for cross-compiling towards Android.
if(ANDROID)
set(_ANDROID_REL_DIR "${_PACKAGE_PATH}/${_RULE_NAME}")
Expand All @@ -155,13 +158,9 @@ function(iree_cc_test)
# Use environment variables to instruct the script to push artifacts
# onto the Android device before running the test. This needs to match
# with the expectation of the run_android_test.{sh|bat|ps1} script.
set(
_ENVIRONMENT_VARS
TEST_ANDROID_ABS_DIR=${_ANDROID_ABS_DIR}
TEST_EXECUTABLE=$<TARGET_FILE:${_NAME}>
TEST_TMPDIR=${_ANDROID_ABS_DIR}/test_tmpdir
)
set_property(TEST ${_NAME_PATH} PROPERTY ENVIRONMENT ${_ENVIRONMENT_VARS})
list(APPEND _ENVIRONMENT_VARS TEST_ANDROID_ABS_DIR=${_ANDROID_ABS_DIR})
list(APPEND _ENVIRONMENT_VARS TEST_EXECUTABLE=$<TARGET_FILE:${_NAME}>)
list(APPEND _ENVIRONMENT_VARS TEST_TMPDIR=${_ANDROID_ABS_DIR}/test_tmpdir)
elseif((IREE_ARCH STREQUAL "riscv_64" OR
IREE_ARCH STREQUAL "riscv_32") AND
CMAKE_SYSTEM_NAME STREQUAL "Linux")
Expand All @@ -188,11 +187,32 @@ function(iree_cc_test)
iree_configure_test(${_NAME_PATH})
endif(ANDROID)

if (NOT DEFINED _RULE_TIMEOUT)
# TODO(benvanik): add an iree_runtime_cc_test that wraps this and adds the
# runtime-specific options. Today all tests use iree_cc_test, but since this
# is harmless for non-instrumented tests it's safe to apply to a bit more than
# we intend.
if(IREE_ENABLE_RUNTIME_COVERAGE)
list(APPEND _ENVIRONMENT_VARS LLVM_PROFILE_FILE=${IREE_BINARY_DIR}/coverage/runtime/${_NAME}.profraw)
set_property(GLOBAL APPEND PROPERTY IREE_RUNTIME_COVERAGE_TARGETS "${_NAME}=$<TARGET_FILE:${_NAME}>")
endif()

set_property(TEST ${_NAME_PATH} APPEND PROPERTY ENVIRONMENT ${_ENVIRONMENT_VARS})

if(NOT DEFINED _RULE_TIMEOUT)
set(_RULE_TIMEOUT 60)
endif()

list(APPEND _RULE_LABELS "${_PACKAGE_PATH}")
set_property(TEST ${_NAME_PATH} PROPERTY LABELS "${_RULE_LABELS}")
set_property(TEST ${_NAME_PATH} PROPERTY TIMEOUT ${_RULE_TIMEOUT})

if(_RULE_GROUP)
if(NOT TARGET ${_RULE_GROUP})
add_custom_target(${_RULE_GROUP}
COMMENT
"Building IREE unit tests for ${_RULE_GROUP}"
)
endif()
add_dependencies(${_RULE_GROUP} "${_NAME}")
endif()
endfunction()
Loading