llvm-mca supports way more options than iaca so I should figure out a nice way to expose them.
OVERVIEW: llvm machine code performance analyzer.
USAGE: llvm-mca [options] <input file>
OPTIONS:
-all-stats - Print all hardware statistics
-all-views - Print all views including hardware statistics
-dispatch=<uint> - Override the processor dispatch width
-dispatch-stats - Print dispatch statistics
-help - Display available options (-help-hidden for more)
-help-hidden - Display all available options
-help-list - Display list of available options (-help-list-hidden for more)
-help-list-hidden - Display list of all available options
-instruction-info - Print the instruction info view (enabled by default)
-instruction-tables - Print instruction tables
-iterations=<uint> - Number of iterations to run
-lqueue=<uint> - Size of the load queue (unbound by default)
-march=<string> - Target arch to assemble for, see -version for available targets
-mcpu=<cpu-name> - Target a specific cpu type (-mcpu=help for details)
-mtriple=<string> - Target triple to assemble for, see -version for available targets
-noalias - If set, assume that loads and stores do not alias
-o=<filename> - Output filename
-output-asm-variant=<int> - Syntax variant to use for output printing
-print-all-options - Print all option values after command line parsing
-print-options - Print non-default options after command line parsing
-register-file-size=<uint> - Maximum number of physical registers which can be used for register mappings
-register-file-stats - Print register file statistics
-resource-pressure - Print the resource pressure view (enabled by default)
-retire-stats - Print retire control unit statistics
-scheduler-stats - Print scheduler statistics
-squeue=<uint> - Size of the store queue (unbound by default)
-summary-view - Print summary view (enabled by default)
-timeline - Print the timeline view
-timeline-max-cycles=<uint> - Maximum number of cycles in the timeline view. Defaults to 80 cycles
-timeline-max-iterations=<uint> - Maximum number of iterations to print in timeline view
-version - Display the version of this program
llvm-mca
supports way more options thaniaca
so I should figure out a nice way to expose them.