Publication | Open Access
Branch prediction for free
283
Citations
17
References
1993
Year
Unknown Venue
EngineeringMachine LearningCompiler TechnologyComputer ArchitectureSoftware EngineeringSoftware AnalysisDecision TreeDecision Tree LearningParallel ComputingCompilersDynamic CompilationComputational Learning TheoryNatural Loop AnalysisParallelizing CompilerPredictive AnalyticsCompiler SupportComputer EngineeringComputer ScienceBranch PredictionOptimizing CompilerProgram AnalysisSoftware TestingFormal MethodsParallel ProgrammingDynamic Branch Count
Many compilers rely on branch prediction to improve program performance by identifying frequently executed regions and by aiding in scheduling instructions.Profile-based predictors require a time-consuming and inconvenient compile-profile-compile cycle in order to make predictions. We present a program-based branch predictor that performs well for a large and diverse set of programs written in C and Fortran. In addition to using natural loop analysis to predict branches that control the iteration of loops, we focus on heuristics for predicting non-loop branches, which dominate the dynamic branch count of many programs. The heuristics are simple and require little program analysis, yet they are effective in terms of coverage and miss rate. Although program-based prediction does not equal the accuracy of profile-based prediction, we believe it reaches a sufficiently high level to be useful. Additional type and semantic information available to a compiler would enhance our heuristics.
| Year | Citations | |
|---|---|---|
Page 1
Page 1