> uses information available in LLVM (e.g. scheduling models) to statically measure the performance of machine code in a specific CPU
do people not realize that the scheduling models in LLVM are approximate? like really approximate sometimes. in fact, half the job of working on instruction scheduling in LLVM is cajoling the scheduler into doing the right thing given the approximate models.
My favorite was when the uiCA people found that a toy model (counting instructions and loads, then multiplying them by some simple constants) significantly outperformed llvm-mca on x86 :-)
do people not realize that the scheduling models in LLVM are approximate? like really approximate sometimes. in fact, half the job of working on instruction scheduling in LLVM is cajoling the scheduler into doing the right thing given the approximate models.