Optimizations in a traditional compiler are applied sequentially, with each optimization destructively modifying the program to produce a transformed program that is then passed t...
Ross Tate, Michael Stepp, Zachary Tatlock, Sorin L...
Even after carefully tuning the memory characteristics to the application properties and the processor speed, during the execution of real applications there are times when the pr...
Aviral Shrivastava, Eugene Earlie, Nikil D. Dutt, ...
We present a self-applicable partial evaluator for a large subset of full Prolog. The partial evaluator, called Logimix, is the result of applying our experience from partial eval...
High performance compilers increasingly rely on accurate modeling of the machine resources to efficiently exploit the instruction level parallelism of an application. In this pape...
Predicated execution enables the removal of branches wherein segments of branching code are converted into straight-line segments of conditional operations. An important, but gene...
Mikhail Smelyanskiy, Scott A. Mahlke, Edward S. Da...