Move assumption/assertion generation to its own pass#496
Conversation
|
@rachitnigam There is some finicky stuff here caused by the fact that |
rachitnigam
left a comment
There was a problem hiding this comment.
Seems cool! I'm curious if this basically brings us back to the old world where the well-formed pass would add all of the assumptions and they could be discharged later?
Yes this is the goal hopefully, the nice thing about this is we can now on-the-fly generate all the assertions/assumptions that are important and then something like scheduling can just work directly off these. |
|
Awesome! Merge whenever! |
This PR divests core assumption/assertion generation (about event constraints, param constraints, and range constraints) from astconv. This cleans up astconv a bit and also adds the important ability for the IR to generate its own assertions necessary for discharging. This will be useful in scheduling and is also necessary if we want to be able to discharge after monomorphization properly.