{"id":"https://openalex.org/W2053999332","doi":"https://doi.org/10.1145/1375657.1375677","title":"Post-pass periodic register allocation to minimise loop unrolling degree","display_name":"Post-pass periodic register allocation to minimise loop unrolling degree","publication_year":2008,"publication_date":"2008-06-12","ids":{"openalex":"https://openalex.org/W2053999332","doi":"https://doi.org/10.1145/1375657.1375677","mag":"2053999332"},"language":"en","primary_location":{"id":"doi:10.1145/1375657.1375677","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1375657.1375677","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://inria.hal.science/inria-00637218/document","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5043744080","display_name":"Mounira Bachir","orcid":null},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]},{"id":"https://openalex.org/I4210126360","display_name":"Centre Inria de Saclay","ror":"https://ror.org/0315e5x55","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1326498283","https://openalex.org/I4210126360"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Mounira Bachir","raw_affiliation_strings":["INRIA Saclay, Ile de France, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"INRIA Saclay, Ile de France, France","institution_ids":["https://openalex.org/I1326498283","https://openalex.org/I4210126360"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5109050226","display_name":"Sid\u2010Ahmed\u2010Ali Touati","orcid":null},"institutions":[{"id":"https://openalex.org/I195731000","display_name":"Universit\u00e9 de Versailles Saint-Quentin-en-Yvelines","ror":"https://ror.org/03mkjjy25","country_code":"FR","type":"education","lineage":["https://openalex.org/I195731000","https://openalex.org/I277688954"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Sid-Ahmed-Ali Touati","raw_affiliation_strings":["University of Versailles Saint-Quentin-en-Yvelines, Ile de France, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Versailles Saint-Quentin-en-Yvelines, Ile de France, France","institution_ids":["https://openalex.org/I195731000"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5063162788","display_name":"Albert Cohen","orcid":"https://orcid.org/0000-0002-8866-5343"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]},{"id":"https://openalex.org/I4210126360","display_name":"Centre Inria de Saclay","ror":"https://ror.org/0315e5x55","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1326498283","https://openalex.org/I4210126360"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Albert Cohen","raw_affiliation_strings":["INRIA Saclay, Ile de France, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"INRIA Saclay, Ile de France, France","institution_ids":["https://openalex.org/I1326498283","https://openalex.org/I4210126360"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.5637,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.59765396,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"141","last_page":"150"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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.9998999834060669,"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.9994000196456909,"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/T11269","display_name":"Algorithms and Data Compression","score":0.9973999857902527,"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/loop-unrolling","display_name":"Loop unrolling","score":0.929137647151947},{"id":"https://openalex.org/keywords/register-allocation","display_name":"Register allocation","score":0.8503748178482056},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8214696645736694},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7967345714569092},{"id":"https://openalex.org/keywords/register-file","display_name":"Register file","score":0.6280450224876404},{"id":"https://openalex.org/keywords/software-pipelining","display_name":"Software pipelining","score":0.5885025858879089},{"id":"https://openalex.org/keywords/throughput","display_name":"Throughput","score":0.5854745507240295},{"id":"https://openalex.org/keywords/processor-register","display_name":"Processor register","score":0.5048130750656128},{"id":"https://openalex.org/keywords/loop-tiling","display_name":"Loop tiling","score":0.44166290760040283},{"id":"https://openalex.org/keywords/shift-register","display_name":"Shift register","score":0.42562878131866455},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.4141385555267334},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.38247430324554443},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.254349946975708},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.22570282220840454},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.12393566966056824},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.11115917563438416},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.09448444843292236},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.08277106285095215}],"concepts":[{"id":"https://openalex.org/C76970557","wikidata":"https://www.wikidata.org/wiki/Q1869750","display_name":"Loop unrolling","level":3,"score":0.929137647151947},{"id":"https://openalex.org/C128916667","wikidata":"https://www.wikidata.org/wiki/Q1343660","display_name":"Register allocation","level":3,"score":0.8503748178482056},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8214696645736694},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7967345714569092},{"id":"https://openalex.org/C117280010","wikidata":"https://www.wikidata.org/wiki/Q180944","display_name":"Register file","level":3,"score":0.6280450224876404},{"id":"https://openalex.org/C188854837","wikidata":"https://www.wikidata.org/wiki/Q268469","display_name":"Software pipelining","level":3,"score":0.5885025858879089},{"id":"https://openalex.org/C157764524","wikidata":"https://www.wikidata.org/wiki/Q1383412","display_name":"Throughput","level":3,"score":0.5854745507240295},{"id":"https://openalex.org/C2871975","wikidata":"https://www.wikidata.org/wiki/Q187466","display_name":"Processor register","level":4,"score":0.5048130750656128},{"id":"https://openalex.org/C11799548","wikidata":"https://www.wikidata.org/wiki/Q6675847","display_name":"Loop tiling","level":3,"score":0.44166290760040283},{"id":"https://openalex.org/C49654631","wikidata":"https://www.wikidata.org/wiki/Q746165","display_name":"Shift register","level":3,"score":0.42562878131866455},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.4141385555267334},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.38247430324554443},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.254349946975708},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.22570282220840454},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.12393566966056824},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.11115917563438416},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.09448444843292236},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.08277106285095215},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.0},{"id":"https://openalex.org/C555944384","wikidata":"https://www.wikidata.org/wiki/Q249","display_name":"Wireless","level":2,"score":0.0},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C165005293","wikidata":"https://www.wikidata.org/wiki/Q1074500","display_name":"Chip","level":2,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1375657.1375677","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1375657.1375677","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems","raw_type":"proceedings-article"},{"id":"pmh:oai:HAL:inria-00637218v1","is_oa":true,"landing_page_url":"https://inria.hal.science/inria-00637218","pdf_url":"https://inria.hal.science/inria-00637218/document","source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://dl.acm.org/citation.cfm?id=1375677","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.830.7210","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.830.7210","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"https://hal.inria.fr/inria-00637218/document/","raw_type":"text"}],"best_oa_location":{"id":"pmh:oai:HAL:inria-00637218v1","is_oa":true,"landing_page_url":"https://inria.hal.science/inria-00637218","pdf_url":"https://inria.hal.science/inria-00637218/document","source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://dl.acm.org/citation.cfm?id=1375677","raw_type":"info:eu-repo/semantics/conferenceObject"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2776287507","display_name":null,"funder_award_id":"05-JCJC-0039","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"}],"funders":[{"id":"https://openalex.org/F4320320883","display_name":"Agence Nationale de la Recherche","ror":"https://ror.org/00rbzpz17"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2053999332.pdf","grobid_xml":"https://content.openalex.org/works/W2053999332.grobid-xml"},"referenced_works_count":16,"referenced_works":["https://openalex.org/W5670727","https://openalex.org/W178660737","https://openalex.org/W1505765192","https://openalex.org/W1506585561","https://openalex.org/W1512353928","https://openalex.org/W1551927567","https://openalex.org/W1836934154","https://openalex.org/W1963718362","https://openalex.org/W2010751129","https://openalex.org/W2045503187","https://openalex.org/W2155583896","https://openalex.org/W2157758640","https://openalex.org/W2585550685","https://openalex.org/W3195188380","https://openalex.org/W4230458386","https://openalex.org/W4232919122"],"related_works":["https://openalex.org/W2278840053","https://openalex.org/W4298326190","https://openalex.org/W4240874773","https://openalex.org/W2083264194","https://openalex.org/W4248626492","https://openalex.org/W2152533950","https://openalex.org/W4252395411","https://openalex.org/W2053999332","https://openalex.org/W2084742993","https://openalex.org/W1883726693"],"abstract_inverted_index":{"This":[0],"paper":[1],"solves":[2],"an":[3],"open":[4],"problem":[5],"regarding":[6],"loop":[7,30,88,131],"unrolling":[8,89,132],"after":[9],"periodic":[10,35,115],"register":[11,36,54,66,116,142],"allocation.":[12],"Although":[13],"software":[14,83],"pipelining":[15],"is":[16],"a":[17,42,69],"powerful":[18],"technique":[19],"to":[20,98,125,140],"extract":[21],"fine-grain":[22],"parallelism,":[23],"it":[24],"generates":[25],"reuse":[26],"circuits":[27,33],"spanning":[28],"multiple":[29],"iterations.":[31],"These":[32],"require":[34],"allocation,":[37],"which":[38],"in":[39],"turn":[40],"yield":[41],"code":[43,100],"generation":[44],"challenge,":[45],"generally":[46],"addressed":[47],"through:":[48],"(1)":[49],"hardware":[50],"support":[51],"---":[52,56,77,81],"rotating":[53],"files":[55],"deemed":[57],"too":[58],"expensive":[59],"for":[60,114],"embedded":[61],"processors,":[62],"(2)":[63],"insertion":[64],"of":[65,72,82,129],"moves":[67],"with":[68],"high":[70],"risk":[71],"reducing":[73],"the":[74,107,122,127],"computation":[75],"throughput":[76,94],"initiation":[78],"interval":[79],"(II)":[80],"pipelining,":[84],"and":[85,138],"(3)":[86],"post-pass":[87,130],"that":[90,109],"does":[91,133],"not":[92,134],"compromise":[93],"but":[95],"often":[96],"leads":[97,139],"unpractical":[99],"growth.":[101],"The":[102],"latter":[103],"approach":[104],"relies":[105],"on":[106],"proof":[108],"MAXLIVE":[110],"registers":[111],"are":[112],"sufficient":[113],"allocation":[117],"(2;":[118],"3;":[119],"5);":[120],"yet":[121],"only":[123],"heuristic":[124],"control":[126],"amount":[128],"achieve":[135],"this":[136],"bound":[137],"undesired":[141],"spills":[143],"(4;":[144],"7).":[145]},"counts_by_year":[{"year":2012,"cited_by_count":2}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
