Skip to content

Add check for variable ordering and language versioning scheme

Andreas Klöckner requested to merge check-variable-order into master

This was prompted by @xywei and myself having trouble shaking out ordering bugs in a slightly more complex kernel.

  • Fix the tests
  • Handle aliasing
  • Add a test
  • Make sure lang_version is one of a recognized set
  • Use access footprint overlap check in barrier placement
  • Update docs

@mattwala, all: What do you think of this? Specifically:

  • Do you think the ordering requirement is too restrictive or inconvenient?
  • What do you think of the language versioning scheme? In an ideal world, we'd just freeze the language or stay compatible indefinitely and call it a day, but it is intended to be a research language, so it is going to have to evolve. My thought is that as long as we use this sparingly, it might give us a bit of room to gently evolve the language while not breaking metric tons of code all at once.
  • Do you think the check will hurt our scaling?

I figured I would post this for comments before I go further with it.

@xywei, this should help you get rid of any remaining ordering bugs. I'd be happy to hear how that goes.

Edited by Andreas Klöckner

Merge request reports