Skip to content

Conversation

weinbe58
Copy link
Member

@weinbe58 weinbe58 commented Oct 9, 2025

changes in this PR:

  1. Bug fixes in ilist dialect that gaurd against non-pure execution of map for_each foldl, etc.
  2. Adding a try-except inside try_eval_const_pure in cases where the concrete interpreter is missing an implementation of a statement that is pure, falling back to returning Unknown for all results.

Copy link
Contributor

github-actions bot commented Oct 9, 2025

PR Preview Action v1.6.2

🚀 View preview at
https://QuEraComputing.github.io/kirin/pr-preview/pr-524/

Built to branch gh-pages at 2025-10-09 17:18 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Copy link

codecov bot commented Oct 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Contributor

github-actions bot commented Oct 9, 2025

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
11318 10087 89% 0% 🟢

New Files

No new covered files...

Modified Files

File Coverage Status
src/kirin/analysis/const/prop.py 90% 🟢
src/kirin/dialects/ilist/constprop.py 88% 🟢
TOTAL 89% 🟢

updated for commit: c2b77b9 by action🐍

@weinbe58 weinbe58 requested a review from Roger-luo October 9, 2025 17:14
@weinbe58 weinbe58 added the priority: high high priority, blocking milestones, time sensitive label Oct 9, 2025
Copy link
Collaborator

@Roger-luo Roger-luo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only have one comment, the main fix that enables purity check is good.

Comment on lines +102 to +106
try:
value = method(self._interp, _frame, stmt)
except NotImplementedError:
# the concrete interpreter doesn't have the implementation so we cannot evaluate it
return tuple(Unknown() for _ in stmt.results)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is redundant? if the method is not None that indicates there is an implementation for the concrete interpretation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport 0.17 priority: high high priority, blocking milestones, time sensitive

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants