作者: Thomas Ball , James R. Larus
关键词: Heuristics 、 Scheduling (computing) 、 Machine learning 、 Program analysis 、 Computer science 、 Set (abstract data type) 、 Branch 、 Artificial intelligence 、 Compiler 、 Fortran 、 Parallel computing 、 Branch predictor
摘要: Many compilers rely on branch prediction to improve program performance by identifying frequently executed regions and aiding in scheduling instructions.Profile-based predictors require a time-consuming inconvenient compile-profile-compile cycle order make predictions. We present program-based predictor that performs well for large diverse set of programs written C Fortran. In addition using natural loop analysis predict branches control the iteration loops, we focus heuristics predicting non-loop branches, which dominate dynamic count many programs. The are simple little analysis, yet they effective terms coverage miss rate. Although does not equal accuracy profile-based prediction, believe it reaches sufficiently high level be useful. Additional type semantic information available compiler would enhance our heuristics.