In this paper, we present mechanisms that improve the accuracy and per
formance of history-based branch prediction. By studying the character
istics of the decision structures present in high-level languages, two
mechanisms are proposed that reduce the number of wrong predictions m
ade by a branch target buffer (BTB). Execution-driven modeling is used
to evaluate the improvement in branch prediction accuracy, as well as
the reduction in overall program execution.