{"id":"https://openalex.org/W2006471246","doi":"https://doi.org/10.1145/207110.207117","title":"Accurate static branch prediction by value range propagation","display_name":"Accurate static branch prediction by value range propagation","publication_year":1995,"publication_date":"1995-06-01","ids":{"openalex":"https://openalex.org/W2006471246","doi":"https://doi.org/10.1145/207110.207117","mag":"2006471246"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/207110.207117","pdf_url":null,"source":{"id":"https://openalex.org/S4393917474","display_name":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"proceedings-article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5051765968","display_name":"Jason R. C. Patterson","orcid":null},"institutions":[{"id":"https://openalex.org/I160993911","display_name":"Queensland University of Technology","ror":"https://ror.org/03pnv4752","country_code":"AU","type":"education","lineage":["https://openalex.org/I160993911"]}],"countries":["AU"],"is_corresponding":true,"raw_author_name":"Jason R. C. Patterson","raw_affiliation_strings":["School of Computing Science, Queensland University of Technology, Brisbane, Qld 4001, Australia"],"affiliations":[{"raw_affiliation_string":"School of Computing Science, Queensland University of Technology, Brisbane, Qld 4001, Australia","institution_ids":["https://openalex.org/I160993911"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5051765968"],"corresponding_institution_ids":["https://openalex.org/I160993911"],"apc_list":null,"apc_paid":null,"fwci":1.346,"has_fulltext":true,"fulltext_origin":"ngrams","cited_by_count":124,"citation_normalized_percentile":{"value":0.960641,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"67","last_page":"78"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9999,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9999,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9985,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9962,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/branch-predictor","display_name":"Branch predictor","score":0.727435},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.67415375},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.65190065},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.53936213},{"id":"https://openalex.org/keywords/data-flow-analysis","display_name":"Data-flow analysis","score":0.535055},{"id":"https://openalex.org/keywords/constant","display_name":"Constant (computer programming)","score":0.44928503},{"id":"https://openalex.org/keywords/control-flow-graph","display_name":"Control flow graph","score":0.44415814}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.80532587},{"id":"https://openalex.org/C168522837","wikidata":"https://www.wikidata.org/wiki/Q679552","display_name":"Branch predictor","level":2,"score":0.727435},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.67415375},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.65190065},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.63339055},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.53936213},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.535055},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.49625808},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.46575648},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.44938463},{"id":"https://openalex.org/C2777027219","wikidata":"https://www.wikidata.org/wiki/Q1284190","display_name":"Constant (computer programming)","level":2,"score":0.44928503},{"id":"https://openalex.org/C182365436","wikidata":"https://www.wikidata.org/wiki/Q50701","display_name":"Variable (mathematics)","level":2,"score":0.44561765},{"id":"https://openalex.org/C27458966","wikidata":"https://www.wikidata.org/wiki/Q1187693","display_name":"Control flow graph","level":2,"score":0.44415814},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.42181394},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.4149028},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.40712437},{"id":"https://openalex.org/C126255220","wikidata":"https://www.wikidata.org/wiki/Q141495","display_name":"Mathematical optimization","level":1,"score":0.3095842},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.30622065},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.21664172},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.17169198},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.15795502},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.0},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0},{"id":"https://openalex.org/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","level":1,"score":0.0},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/207110.207117","pdf_url":null,"source":{"id":"https://openalex.org/S4393917474","display_name":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":37,"referenced_works":["https://openalex.org/W1524877046","https://openalex.org/W1969012464","https://openalex.org/W1976147675","https://openalex.org/W1976811558","https://openalex.org/W1977606188","https://openalex.org/W1982205631","https://openalex.org/W1988949749","https://openalex.org/W1994372357","https://openalex.org/W2016909415","https://openalex.org/W2026438857","https://openalex.org/W2032854624","https://openalex.org/W2034579607","https://openalex.org/W2035198638","https://openalex.org/W2040167141","https://openalex.org/W2046974160","https://openalex.org/W2048712467","https://openalex.org/W2079549821","https://openalex.org/W2096733429","https://openalex.org/W2098277586","https://openalex.org/W2102890180","https://openalex.org/W2115971347","https://openalex.org/W2116672403","https://openalex.org/W2118754849","https://openalex.org/W2118911512","https://openalex.org/W2122563027","https://openalex.org/W2124153277","https://openalex.org/W2126258136","https://openalex.org/W2129962996","https://openalex.org/W2143659699","https://openalex.org/W2160314792","https://openalex.org/W2167651816","https://openalex.org/W2293286976","https://openalex.org/W4205466143","https://openalex.org/W4238566657","https://openalex.org/W4242680074","https://openalex.org/W4248045917","https://openalex.org/W4254746303"],"related_works":["https://openalex.org/W3168189449","https://openalex.org/W2162436812","https://openalex.org/W2151163382","https://openalex.org/W2064590901","https://openalex.org/W1999711970","https://openalex.org/W1991882640","https://openalex.org/W1988075333","https://openalex.org/W1971388424","https://openalex.org/W1565360684","https://openalex.org/W1499765533"],"abstract_inverted_index":{"The":[0,174],"ability":[1],"to":[2,74,208],"predict":[3],"at":[4,39],"compile":[5],"time":[6],"the":[7,55,58,85,120,124,136,140,147,169,203,218,221],"likelihood":[8],"of":[9,89,105,123,139,225],"a":[10,71,92,131,188,198],"particular":[11],"branch":[12,41,76],"being":[13],"taken":[14],"provides":[15],"valuable":[16],"information":[17],"for":[18,133],"several":[19],"optimizations,":[20],"including":[21],"global":[22],"instruction":[23],"scheduling,":[24],"code":[25,67],"layout,":[26],"function":[27],"inlining,":[28],"interprocedural":[29],"register":[30],"allocation":[31],"and":[32,155],"many":[33],"high":[34],"level":[35],"optimizations.":[36],"Previous":[37],"attempts":[38],"static":[40,75,189],"prediction":[42,77,113],"have":[43,205],"either":[44,103],"used":[45,129],"simple":[46],"heuristics,":[47],"which":[48],"can":[49,179],"be":[50,102,143,180],"quite":[51],"inaccurate,":[52],"or":[53,65,197],"put":[54],"burden":[56],"onto":[57],"programmer":[59],"by":[60,117],"using":[61],"execution":[62],"profiling":[63],"data":[64],"source":[66],"hints.This":[68],"paper":[69],"presents":[70],"new":[72],"approach":[73,162],"called":[78],"value":[79,87,99,121,137,149,175],"range":[80,122,138,150,176],"propagation.":[81,97],"This":[82],"method":[83,178],"tracks":[84],"weighted":[86],"ranges":[88,100],"variables":[90,204],"through":[91],"program,":[93],"much":[94],"like":[95],"constant":[96,153,226],"These":[98],"may":[101],"numeric":[104],"symbolic":[106],"in":[107,229],"nature.":[108],"Branch":[112],"is":[114],"then":[115],"performed":[116],"simply":[118],"consulting":[119],"appropriate":[125],"variable.":[126],"Heuristics":[127],"are":[128],"as":[130,194],"fallback":[132],"cases":[134],"where":[135,202],"variable":[141],"cannot":[142],"determined":[144],"statically.":[145],"In":[146],"process,":[148],"propagationsubsumes":[151],"both":[152],"propagation":[154,177,227],"copy":[156],"propagation.Experimental":[157],"results":[158,213],"indicate":[159,214],"that":[160,215],"this":[161],"produces":[163],"significantly":[164],"more":[165],"accurate":[166],"predictions":[167],"than":[168],"best":[170],"existing":[171],"heuristic":[172],"techniques.":[173],"implemented":[181],"over":[182],"any":[183],"\u201cfactored\u201d":[184],"dataflow":[185],"representation":[186],"with":[187],"single":[190,210],"assignment":[191],"property":[192],"(such":[193],"SSA":[195],"form":[196],"dependence":[199],"flow":[200],"graph":[201],"been":[206],"renamed":[207],"achieve":[209],"assignment).":[211],"Experimental":[212],"technique":[219],"maintains":[220],"linear":[222],"runtime":[223],"behavior":[224],"experienced":[228],"practice.":[230]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2006471246","counts_by_year":[{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":3},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":6},{"year":2012,"cited_by_count":2}],"updated_date":"2025-01-16T17:21:17.371115","created_date":"2016-06-24"}