Many problems that compilers want to solve are NP-Hard to solve optimally. Therefore, compilers authors typically use fast ad-hoc methods that strike a trade-off between good code quality and fast compile time. We investigated taking the decision on the trade-off out of the compiler author’s hands: based on profile information or static estimates, the compiler will tilt the balance in favour of code quality on hot segments of code, compensating by going for fast compile time on cold segments. The particular problem we decided to attack was instruction scheduling on the Itanium. We find inconclusive results, but we have an excuse: our machine model was inaccurate.
Traditional list schedulers order instructions based on an optimistic estimate of the load latency i...
Divide-and-conquer approaches to worst-case execution-time analysis (WCET analysis) pose a safety ri...
Since performance is not portable between platforms, engineers must fine-tune heuristics for each pr...
Instruction scheduling is a compiler optimization that can improve program speed, sometimes by 10% o...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
Without any optimization option, the compiler's goal is to reduce the cost of compilation and t...
Iterative optimization is a popular compiler optimization approach that has been studied extensively...
This work examines the interaction of compiler scheduling techniques with processor features such as...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
. Instruction Scheduling is the task of deciding what instruction will be executed at which unit of ...
Applying the right compiler optimizations to a particular program can have a significant impact on p...
Runtime compilation, due to its online nature, presents unique challenges and opportunities to compi...
Optimizing compilers use heuristics to control different aspects of compilation and to construct app...
I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, includ...
Traditional list schedulers order instructions based on an optimistic estimate of the load latency i...
Divide-and-conquer approaches to worst-case execution-time analysis (WCET analysis) pose a safety ri...
Since performance is not portable between platforms, engineers must fine-tune heuristics for each pr...
Instruction scheduling is a compiler optimization that can improve program speed, sometimes by 10% o...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
Without any optimization option, the compiler's goal is to reduce the cost of compilation and t...
Iterative optimization is a popular compiler optimization approach that has been studied extensively...
This work examines the interaction of compiler scheduling techniques with processor features such as...
To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger nu...
. Instruction Scheduling is the task of deciding what instruction will be executed at which unit of ...
Applying the right compiler optimizations to a particular program can have a significant impact on p...
Runtime compilation, due to its online nature, presents unique challenges and opportunities to compi...
Optimizing compilers use heuristics to control different aspects of compilation and to construct app...
I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, includ...
Traditional list schedulers order instructions based on an optimistic estimate of the load latency i...
Divide-and-conquer approaches to worst-case execution-time analysis (WCET analysis) pose a safety ri...
Since performance is not portable between platforms, engineers must fine-tune heuristics for each pr...