Make layer.addLayer API public #4349
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Make the
chisel3.layer.addLayer
API public. This is useful if a user wants to guarantee that a layer will show up in CHIRRTL even if no layer block refers to this layer.This solves a problem where downstream build flows want to expect that certain layers will always exist. However, without this API, there is no way to do this other than to create dummy layer blocks. This is slightly cleaner without the empty layer block trick. Additionally, there is no real harm to having this API public.
Release Notes
Add
chisel3.layer.addLayer
API. This can be used to cause a layer to be emitted in FIRRTL even if it has no layer block users. This API is added (it was private before) so that users can make their custom layers always be there. This is important for downstream build flows which may want to enable layers or specialize them away and having the unpredictability of whether or not a layer will exist is not ideal and complicates the build system.