Skip to content

[Fix][S-TIR] Preserve general reduction predicates - #20242

Merged
tlopex merged 3 commits into
apache:mainfrom
akaashrp:upstream/stir-reduction-predicates
Sep 2, 2026
Merged

[Fix][S-TIR] Preserve general reduction predicates#20242
tlopex merged 3 commits into
apache:mainfrom
akaashrp:upstream/stir-reduction-predicates

Conversation

@akaashrp

@akaashrp akaashrp commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Rebuild decomposed reduction predicates recursively across conjunctions. Preserve clauses independent of discarded loops and drop clauses that reference discarded loops. This supports comparisons beyond < and detects loop variables on either operand.

Tail predicates generated by split and rfactor, such as outer * factor + inner < extent, are omitted from initialization when they reference a discarded reduction loop, while remaining on the update block.

Rebuild decomposed reduction predicates recursively across conjunctions. Keep clauses independent of discarded loops and drop only clauses that depend on them, so non-< comparisons and predicates that reference variables on either side remain valid.
Derive initialization predicates only from separable conjunction clauses. Preserve clauses over retained loops, omit clauses over discarded loops, and reject clauses that couple the two sets instead of silently widening the initialization domain.\n\nAdd coverage for general comparisons, separable boolean expressions, and defensive behavior when prerequisite schedule checks are disabled.
Split and rfactor naturally produce tail predicates that combine a discarded reduction chunk with a retained factor lane. Decomposed initialization must cover every retained lane, so drop any conjunction clause referencing the discarded loop instead of rejecting mixed clauses.\n\nAdd a split-to-rfactor regression matching the DLight failure shape.
@tlopex
tlopex merged commit e03e978 into apache:main Sep 2, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants