[llvm] Add an InstCount observation space. #159
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.
This adds new observation spaces that expose the -instcount pass
values. The -instcount pass counts the number of instructions of each
type in a program, along with the total number of instructions, total
number of blocks, and total number of functions.
There are four new observation spaces:
InstCount
, which returns thefeature vector as a numpy array,
InstCountDict
, which returns thevalues as a dictionary of named features, and
InstCountNorm
andInstCountNormDict
, which are the same as above but the counts areinstead normalized to the total number of instructions in the program.
Example usage:
The InstCount observation spaces are quick to compute and
lightweight. They have similar computational complexity as Autophase.
Fixes #149.