University of Teramo
Dynamic predication has been proposed to reduce the branch mis-prediction penalty due to hard-to-predict branch instructions. Recently proposed dynamic predication architecture, the Diverge-Merge Processor (DMP), provides large performance improvements by dynamically predicating a large set of complex control-flow graphs that result in branch mis-predictions. DMP requires significant support from a profiling compiler to determine which branch instructions and control-flow structures can be dynamically predicated. However, previous work on dynamic predication did not extensively examine the tradeoffs involved in profiling and code generation for dynamic predication architectures.