{"title":"Link-time optimization techniques for eliminating conditional branch redundancies","authors":"Manel Fernández, R. Espasa","doi":"10.1109/INTERA.2004.1299513","DOIUrl":null,"url":null,"abstract":"Optimizations performed at link time or directly applied to final program executables have received increased attention in recent years. This work discusses the discovery and elimination of redundant conditional branches in the context of a link-time optimizer, an optimization that we call conditional branch redundancy elimination (CBRE). Our experiments show that around 20% of conditional branches in a program can be considered redundant because their outcomes can be determined from a previous short dynamic execution frame. Then, we present several CBRE algorithms targeted at optimizing away these redundancies. Our results show that around 5% of the conditional branch redundancy detected can indeed be eliminated, which translates into execution time reductions of around 4%. We also give accurate measures of the impact of applying CBRE in code growth.","PeriodicalId":262940,"journal":{"name":"Eighth Workshop on Interaction between Compilers and Computer Architectures, 2004. INTERACT-8 2004.","volume":"81 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Eighth Workshop on Interaction between Compilers and Computer Architectures, 2004. INTERACT-8 2004.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/INTERA.2004.1299513","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Optimizations performed at link time or directly applied to final program executables have received increased attention in recent years. This work discusses the discovery and elimination of redundant conditional branches in the context of a link-time optimizer, an optimization that we call conditional branch redundancy elimination (CBRE). Our experiments show that around 20% of conditional branches in a program can be considered redundant because their outcomes can be determined from a previous short dynamic execution frame. Then, we present several CBRE algorithms targeted at optimizing away these redundancies. Our results show that around 5% of the conditional branch redundancy detected can indeed be eliminated, which translates into execution time reductions of around 4%. We also give accurate measures of the impact of applying CBRE in code growth.