Chainsaw: Using Binary Matching for Relative Instruction Mix Comparison

Tipp Moseley, Dirk Grunwald and Ramesh Peri

With advances in hardware, instruction set architectures areundergoing continual evolution. As a result, compilers are underconstant pressure to adapt and take full advantage of availablefeatures. However, current techniques for evaluating compiler outputonly compare profiles at the application level, ignoring relativeperformance differences at finer granularities. To ensure newfeatures are put to good use, a more rigorous approach is necessary.A fundamental step in tuning compiler performance is identifying thespecific examples that can be improved. To solve this problem, wepresent a compiler-independent binary matching technique to compareexecutions of differently compiled programs and identify intervalswhere the behavior can be meaningfully compared. Matched intervalscan be automatically analyzed to identify anomalous segments ofexecution where one version performs significantly differently versusanother. We present a case study using Chainsaw to identify how keydifferences are identified between differently compiled codes.

Back to Program