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

3.0 KiB

February 7 project call

See the instructions for details on how to attend

Agenda

  1. Opening, welcome and roll call
    1. Note: meeting notes linked in the invite.
    2. Please help add your name to the meeting notes.
    3. Please help take notes.
    4. Thanks!
  2. Announcements
    1. Submit a PR to add your announcement here
  3. 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.