{"id":"https://openalex.org/W2069811640","doi":"https://doi.org/10.1145/1117303.1117306","title":"Post-compilation optimization for multiple gains with pattern matching","display_name":"Post-compilation optimization for multiple gains with pattern matching","publication_year":2005,"publication_date":"2005-12-01","ids":{"openalex":"https://openalex.org/W2069811640","doi":"https://doi.org/10.1145/1117303.1117306","mag":"2069811640"},"language":"en","primary_location":{"id":"doi:10.1145/1117303.1117306","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1117303.1117306","pdf_url":null,"source":{"id":"https://openalex.org/S148324379","display_name":"ACM SIGPLAN Notices","issn_l":"0362-1340","issn":["0362-1340","1558-1160"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGPLAN Notices","raw_type":"journal-article"},"type":"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/A5100649767","display_name":"Rajeev Kumar","orcid":"https://orcid.org/0000-0003-0233-6563"},"institutions":[{"id":"https://openalex.org/I145894827","display_name":"Indian Institute of Technology Kharagpur","ror":"https://ror.org/03w5sq511","country_code":"IN","type":"education","lineage":["https://openalex.org/I145894827"]}],"countries":["IN"],"is_corresponding":true,"raw_author_name":"Rajeev Kumar","raw_affiliation_strings":["Indian Institute of Technology Kharagpur, Kharagpur, WB, India"],"affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Kharagpur, Kharagpur, WB, India","institution_ids":["https://openalex.org/I145894827"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5016180937","display_name":"Amit Gupta","orcid":"https://orcid.org/0000-0003-2971-5897"},"institutions":[{"id":"https://openalex.org/I145894827","display_name":"Indian Institute of Technology Kharagpur","ror":"https://ror.org/03w5sq511","country_code":"IN","type":"education","lineage":["https://openalex.org/I145894827"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Amit Gupta","raw_affiliation_strings":["Indian Institute of Technology Kharagpur, Kharagpur, WB, India"],"affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Kharagpur, Kharagpur, WB, India","institution_ids":["https://openalex.org/I145894827"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5049643133","display_name":"B. S. Pankaj","orcid":null},"institutions":[{"id":"https://openalex.org/I145894827","display_name":"Indian Institute of Technology Kharagpur","ror":"https://ror.org/03w5sq511","country_code":"IN","type":"education","lineage":["https://openalex.org/I145894827"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"B. S. Pankaj","raw_affiliation_strings":["Indian Institute of Technology Kharagpur, Kharagpur, WB, India"],"affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Kharagpur, Kharagpur, WB, India","institution_ids":["https://openalex.org/I145894827"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032562359","display_name":"Mrinmoy Ghosh","orcid":"https://orcid.org/0000-0001-6817-622X"},"institutions":[{"id":"https://openalex.org/I145894827","display_name":"Indian Institute of Technology Kharagpur","ror":"https://ror.org/03w5sq511","country_code":"IN","type":"education","lineage":["https://openalex.org/I145894827"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Mrinmoy Ghosh","raw_affiliation_strings":["Indian Institute of Technology Kharagpur, Kharagpur, WB, India"],"affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Kharagpur, Kharagpur, WB, India","institution_ids":["https://openalex.org/I145894827"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5013205698","display_name":"P. P. Chakrabarti","orcid":"https://orcid.org/0000-0002-3553-8834"},"institutions":[{"id":"https://openalex.org/I145894827","display_name":"Indian Institute of Technology Kharagpur","ror":"https://ror.org/03w5sq511","country_code":"IN","type":"education","lineage":["https://openalex.org/I145894827"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"P. P. Chakrabarti","raw_affiliation_strings":["Indian Institute of Technology Kharagpur, Kharagpur, WB, India"],"affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Kharagpur, Kharagpur, WB, India","institution_ids":["https://openalex.org/I145894827"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5100649767"],"corresponding_institution_ids":["https://openalex.org/I145894827"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.15447992,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"40","issue":"12","first_page":"14","last_page":"23"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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":1.0,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9994999766349792,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9965999722480774,"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/computer-science","display_name":"Computer science","score":0.9353517293930054},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8568661212921143},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.714065432548523},{"id":"https://openalex.org/keywords/program-optimization","display_name":"Program optimization","score":0.5604955554008484},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.5559132099151611},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5089080333709717},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.494655579328537},{"id":"https://openalex.org/keywords/intermediate-language","display_name":"Intermediate language","score":0.4920012652873993},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.48470139503479004},{"id":"https://openalex.org/keywords/loop-optimization","display_name":"Loop optimization","score":0.45623138546943665},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.4400133490562439},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.4335956871509552},{"id":"https://openalex.org/keywords/register-allocation","display_name":"Register allocation","score":0.4161613881587982},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.3738095462322235},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.14155501127243042}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9353517293930054},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8568661212921143},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.714065432548523},{"id":"https://openalex.org/C139571649","wikidata":"https://www.wikidata.org/wiki/Q1156793","display_name":"Program optimization","level":3,"score":0.5604955554008484},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.5559132099151611},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5089080333709717},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.494655579328537},{"id":"https://openalex.org/C77660490","wikidata":"https://www.wikidata.org/wiki/Q244916","display_name":"Intermediate language","level":3,"score":0.4920012652873993},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.48470139503479004},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.45623138546943665},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.4400133490562439},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.4335956871509552},{"id":"https://openalex.org/C128916667","wikidata":"https://www.wikidata.org/wiki/Q1343660","display_name":"Register allocation","level":3,"score":0.4161613881587982},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.3738095462322235},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.14155501127243042},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1117303.1117306","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1117303.1117306","pdf_url":null,"source":{"id":"https://openalex.org/S148324379","display_name":"ACM SIGPLAN Notices","issn_l":"0362-1340","issn":["0362-1340","1558-1160"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGPLAN Notices","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W1502873023","https://openalex.org/W1551186643","https://openalex.org/W1969031936","https://openalex.org/W1978885908","https://openalex.org/W1979680516","https://openalex.org/W1987077206","https://openalex.org/W1989237971","https://openalex.org/W1996892501","https://openalex.org/W2004807513","https://openalex.org/W2020854371","https://openalex.org/W2054572543","https://openalex.org/W2061818616","https://openalex.org/W2065496085","https://openalex.org/W2074497238","https://openalex.org/W2078094206","https://openalex.org/W2089128786","https://openalex.org/W2093223485","https://openalex.org/W2100087302","https://openalex.org/W2100368493","https://openalex.org/W2119177527","https://openalex.org/W2138206734","https://openalex.org/W2146227467","https://openalex.org/W2155896054","https://openalex.org/W2157876135","https://openalex.org/W2294934420","https://openalex.org/W2340812064","https://openalex.org/W2341864083","https://openalex.org/W3140162682","https://openalex.org/W4205299824","https://openalex.org/W4233013357","https://openalex.org/W4236256933","https://openalex.org/W4237463548","https://openalex.org/W4244542852"],"related_works":["https://openalex.org/W3169195854","https://openalex.org/W4246264663","https://openalex.org/W2901114907","https://openalex.org/W2001356339","https://openalex.org/W1877657449","https://openalex.org/W2152397470","https://openalex.org/W2950655732","https://openalex.org/W2091058226","https://openalex.org/W2097725675","https://openalex.org/W2069811640"],"abstract_inverted_index":{"Many":[0],"existing":[1],"retargetable":[2],"compilers":[3],"for":[4,159],"ASIPs":[5],"and":[6,64,93,156],"domain-specific":[7],"processors":[8,158],"generate":[9],"low":[10],"quality":[11],"code":[12,38,63,138,160],"since":[13],"the":[14,22,37,135,151,165],"compiler":[15],"is":[16,31,54],"not":[17,100],"able":[18],"to":[19,34,74,98,111],"fully":[20],"utilize":[21],"intricacies":[23],"of":[24,26,86,118,127,137,154,168,176],"ISA":[25],"these":[27,41],"processors.":[28,178],"Hence,":[29],"there":[30],"a":[32,48,96,107,116],"need":[33],"further":[35],"optimize":[36],"produced":[39],"by":[40,79],"compilers.":[42],"In":[43],"this":[44,148,169],"paper,":[45],"we":[46],"introduce":[47],"new":[49],"post-compilation":[50],"optimization":[51,114],"technique":[52,149],"which":[53,83,128],"based":[55],"on":[56,134,150],"finding":[57],"repeating":[58],"instruction":[59,72],"patterns":[60,73,88,126],"in":[61,89,95,171],"generated":[62],"replacing":[65],"them":[66],"with":[67],"their":[68],"optimized":[69],"equivalents.":[70],"The":[71],"be":[75,99,132],"found":[76],"are":[77],"represented":[78],"finite":[80],"state":[81],"machines":[82],"allow":[84],"encapsulation":[85],"multiple":[87],"just":[90],"one":[91,130],"representation,":[92],"instructions":[94,119],"pattern":[97],"necessarily":[101],"lexically":[102],"adjacent.":[103],"We":[104,146,163],"also":[105],"present":[106],"conflict":[108],"resolution":[109],"algorithm":[110],"select":[112],"an":[113],"whenever":[115],"set":[117],"fall":[120],"under":[121],"two":[122],"or":[123,142],"more":[124],"different":[125],"only":[129],"can":[131],"applied":[133],"basis":[136],"size,":[139],"cycle":[140],"count":[141],"switching":[143],"activity":[144],"improvement.":[145,162],"tested":[147],"compiled":[152],"binaries":[153],"ARM":[155],"Intel":[157],"size":[161],"discuss":[164],"possible":[166],"applications":[167],"strategy":[170],"design":[172],"space":[173],"exploration":[174],"(DSE)":[175],"embedded":[177]},"counts_by_year":[{"year":2017,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":1}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
