Scheduler TODOs
Some additional things to do to improve functionality of the scheduler, but that are not needed immediately:
-
Delete uncalled functions: this pass changes the
FunctionID
of functions and so will also require updating the environment (and information from Juno) about functions to reflect the change (!172 (merged)) - Checking macro definitions: we should check macro definitions in an environment that prevents (a) use/modification of outside variables and (b) prevents running a pass on everything, it should only be able to run a pass on the selection it was provided or a subset of that selection
-
Label-set operations: To allow more fine-grained selections, we should add set operations on labels, so that we can specify the union, intersection, or difference between labels. For example, to unroll an outer loop (labeled
@outer
which has an inner loop@inner
) we would specifyunroll(func@outer \ func@inner)
or something similar. (!197 (merged))