Tags: Arshadiqball/iree
Tags
[Codegen] Use safer hoisting in OptimizeTensorInsertExtractSlices (ir… …ee-org#23280) Use the `moveLoopInvariantCodeFromGuaranteedLoops` transform instead of the `moveLoopInvariantCode` transform in the OptimizeTensorInsertExtractSlices pass. This transform is safer, because it validates that loops will be executed at least once before hoisting loop invariant code. Hoisting from loops that may not execute is not an optimization, so this is a better version of the transformation. The new safer transform also hoists from linalg.generic ops, so the `moveLoopInvariantCodeFromGenericOps` is removed, since it is no longer used. This PR also removes the `_batch_matmul_narrow_n_2_dispatch_4_unpack_i32` test, which was doing nothing but checking that a tensor.empty op gets hoisted from an scf.for loop (which cannot be guaranteed to execute). Hoisting empty tensors is not the job of this pass, and the test is verbose, so the test is simply removed. Signed-off-by: Max Dawkins <[email protected]>
[e2e] Increase test timeout for gfx1250 (iree-org#23286) Expose timeout as an optional argument in `iree_native_test` in matmul tests. Regression tests already know how to translate the bazel timeout parameter to seconds. Assisted-by: claude
[NFC] Make status test macros take ownership of iree_status_t. (iree-… …org#23276) Adds `ConsumeForTest` overloads that wrap raw `iree_status_t` in `iree::Status` RAII wrappers, ensuring automatic cleanup on test failure. The macros `IREE_EXPECT_OK`, `IREE_ASSERT_OK`, `IREE_EXPECT_STATUS_IS`, and `IREE_ASSERT_STATUS_IS` now consume the status they test. For lvalue status variables, the source is cleared to a code-only value so any existing `iree_status_ignore`/`iree_status_free` calls become harmless no-ops. This allows incremental migration without breaking existing tests. Most tests (outside of tokenizer) have been updated. tokenizer is being reworked and the next feature branch merge will adopt this behavior. --------- Co-authored-by: Claude <[email protected]>
[CPU][NFC] Fix incorrect mmt4d dimension names in comments. (iree-org… …#23234) The comments in KernelDispatch.cpp had the mmt4d dimension naming backwards. The six dimensions are M1, N1, K1, M0, N0, K0. - Result shape: BxM0xN0xM1xN1 → BxM1xN1xM0xN0 - getMmt4dInnerTileSizes returns M0/N0, not M1/N1 - Iteration domain: m0, n0, k0, m1, n1, k1 → M1, N1, K1, M0, N0, K0 Signed-off-by: hanhanW <[email protected]>
[CPU][NFC] Fix incorrect mmt4d dimension names in comments. (iree-org… …#23234) The comments in KernelDispatch.cpp had the mmt4d dimension naming backwards. The six dimensions are M1, N1, K1, M0, N0, K0. - Result shape: BxM0xN0xM1xN1 → BxM1xN1xM0xN0 - getMmt4dInnerTileSizes returns M0/N0, not M1/N1 - Iteration domain: m0, n0, k0, m1, n1, k1 → M1, N1, K1, M0, N0, K0 Signed-off-by: hanhanW <[email protected]>
Integrate LLVM@5c35af8f1e6ebc7c32 (iree-org#23252) Reverts carried forward: * Local revert of llvm/llvm-project#169614 due to iree-org#22649 Other changes: * Fixes lit tests to account for llvm/llvm-project#174452
Reapply "LLVM Integrate@6cc18a8e4338 (iree-org#23226)" (iree-org#23236) This reverts commit 8ca6c8f13398c5bbe961e9bc874d6b3de398e5e8. Also uses `visitNonControlFlowArguments` new API since llvm/llvm-project#175815
[runtime][bindings][python] Allow >= on sympy versions (iree-org#23223) For some reason this requirement alone was == which causes conflicts with other packages that require newer versions (like pytorch). 1.14.0 seemed fine with local testing so changing this to >=.
Avoid unnecessary copies in for loops. NFC. (iree-org#23205) - Use const & or explicit types for range-based for loops - Convert index-based loops to range-based where possible - Use `T *` where applicable - Clean up surrounding code by hand Assisted-by: clang-tidy
[SPIRV][Codegen] Refine consumer compatibility checks for SPIRVSubgro… …upReduce (iree-org#23176) Improves `SPIRVSubgroupReduce` kernel config selection for reductions with consumers. Refines consumer compatibility checks and improves workgroup size fallback by halving from the original group size down to `subgroup_size` to find a consumer compatible size, rather than clamping immediately. Also bail out of reduction pipeline entirely when consumers are fundamentally non-distributable under the constraints. Fixes: iree-org#23177 --------- Signed-off-by: Eric Feng <[email protected]>
PreviousNext