Compiler Analyses for Improved Return Value Prediction
نویسندگان
چکیده
Speculative method-level parallelism has been shown to benefit from return value prediction. In this paper we propose and analyse two compiler analyses designed to improve the cost and performance of a hybrid return value predictor in a Java virtual machine setting. A return value use analysis determines which return values are consumed, and enables us to eliminate 2.6% of all non-void dynamic method calls in the SPEC JVM98 benchmarks as prediction candidates. An extension of this analysis detects return values used only inside boolean and branch expressions, and allows us to safely substitute incorrect predictions for 14.1% of return values at runtime, provided all future use expressions are satisfied correctly. We find an average 3.2% reduction in memory and up to 7% increase in accuracy. A second, interprocedural parameter dependence analysis reduces the number of inputs to a memoization-based sub-predictor for 10.2% of all method calls, and the combination of both analyses reduces overall memory requirements by 5.3%.
منابع مشابه
Adaptive Software Return Value Prediction
Return value prediction (RVP) is a technique for guessing the return value from a function before it actually completes, enabling a number of program optimizations and analyses. However, despite the apparent usefulness, RVP and value prediction in general have seen limited uptake in practice. Hardware proposals have been successful in terms of speed and prediction accuracy, but the cost of dedi...
متن کاملSoftware Value Prediction for Speculative Parallel Threaded Computations
Despite recent advances in high performance microprocessor architecture and compilation technologies, many integer applications are still hard to speedup their performance. Value prediction and thread-level speculation are two promising techniques to discover and exploit more parallelism in applications. In this paper, we show that value prediction plays an important role in speculative paralle...
متن کاملCompiler - Assisted Value Correlation for Indirect Branch Prediction ∗
Indirect branch prediction is important to boost instruction-level parallelism in modern processors. Previous indirect branch predictions usually cannot achieve high performance for the ineffectiveness of correlated information. This paper proposes the Compilerassisted value correlation (CVC), a hardware/software cooperative indirect branch prediction scheme. The key is to identify effective va...
متن کاملOptimal Portfolio Allocation based on two Novel Risk Measures and Genetic Algorithm
The problem of optimal portfolio selection has attracted a great attention in the finance and optimization field. The future stock price should be predicted in an acceptable precision, and a suitable model and criterion for risk and the expected return of the stock portfolio should be proposed in order to solve the optimization problem. In this paper, two new criterions for the risk of stock pr...
متن کاملEvaluating Influence of Compiler Optimizations on Data Speculation
The practice of using speculation in resolving data dependences based on value prediction has been studied as a means of extracting more instruction level parallelism. There are many studies on value prediction mechanisms with high predictabilities. However, to the best of our knowledge, the influence of compiler optimizations on value prediction has not been investigated. In this paper, we eva...
متن کامل