Add a DependencyAPI to firrtl.options.Phase
This adds a TransformLike mixin, DependencyAPI, that defines the basis
of the Dependency API for Stage/Phase. DependencyAPI defines three
members that define dependency relationships for some TransformLike
"Foo":
- "Prerequisites" define TransformLikes that should run before Foo
- "Dependents" define TransformLikes that should run after Foo. This
allows Foo to inject prerequisites into some other TransformLike.
- "Invalidates" define a function that will return true if a specific
TransformLike would be invalidated by Foo
Prerequisites and Dependents are not Sets due to lack of a fast,
immutable Set that preserves insertion order. Internally, these are
converted to a private LinkedHashSet.
Signed-off-by:
Schuyler Eldridge <schuyler.eldridge@ibm.com>
parent
a514408c
Please register or sign in to comment