Files
wasmtime/meetings/cranelift/2022/cranelift-02-07.md
2022-02-08 06:38:43 -08:00

65 lines
3.0 KiB
Markdown

# February 7 project call
**See the [instructions](../README.md) for details on how to attend**
## Agenda
1. Opening, welcome and roll call
1. Note: meeting notes linked in the invite.
1. Please help add your name to the meeting notes.
1. Please help take notes.
1. Thanks!
1. Announcements
1. _Submit a PR to add your announcement here_
1. Other agenda items
1. _Submit a PR to add your item here_
2. avanhatt: ISLE rule verification update/open questions (Alexa, Fraser, Monica).
## Notes
### Attendees
- cfallin
- avanhatt
- Monica Pardeshi
- abrown
- bnjbvr
- jlbirch
- uweigand
- sparker-arm
- Fraser Brown
### Notes
avanhatt presented ISLE SMT rule verification prototype, currently type and term variants for IR-to-IR verification.
- avanhatt: open question, what should the syntax be? LHS, extractor, is more complex.
- cfallin: Feels like global type inference. Annotations on prelude or standard library, keep them out of lowering rules.
- avanhatt: Agreed, that it would be good to not have to specify downstream rules.
- cfallin: Recursion could be a problem.
- uweigand: Not sure I understand the big picture. How do we define formal semantics of backend ISAs?
- avanhatt: Current research and tools are available for x86 and Arm.
- cfallin: We don't even have a good prose descriptions of CLIF operations yet.
- avanhatt: The Alive project managed without formal semantics.
- uweigand: Will look to see if there's anything for S390.
- uweigand: Could the semantics annotations be used to generate the isel code?
- cfallin: Would depend whether it could produce efficient code, would be good for asserts though.
- avanhatt: Yes, we could use it for asserts to strengthen fuzzing.
- FB: Could be used for equivalence checks on rust code too.
# standups
- sparker-arm: Sizeless vector RFC updated, atomics isle porting.
- uweigand: Branches and traps lowering changes merged. Implemented atomics, which was complicated for narrow types, involved emitting loops.
- sparker-arm: Would the SMT verifier be capable of handling loops?
- uweigand: Still not sure to do about call lowering, as calls can return more than two values.
- cfallin: Should we do it?
- uweigand: S390 ABI wants extended values and isle could be useful for this.
- cfallin: Separate call instruction from arg/return setup..?
- uweigand: Reorganising ABICaller(Callee?) to simplify the communication between the backend.
- uweigand: Next moving onto SIMD.
- abrown: ISLE select lowering for x64, seems like more flag handling infrastructure needs to be added. Now looking at sightglass for instantiation metrics.
- jlbirch: Worked on a patch for sightglass to automatically trigger benchmarking when a patch is committed. Would like to know why this isn't a good idea for github actions.
- cfallin: Need to trust that a PR isn't malicious.
- bnjbvr: Has been working on ittapi for cross-platform Vtune support.
- abrown: Thanks so much for this.
- cfallin: Will be thinking about isle rule precedence.