{"id":"https://openalex.org/W7131071405","doi":"https://doi.org/10.1109/cgo68049.2026.11395221","title":"Enabling Spill-Free Compilation via Affine-Based Live Range Reduction Optimization","display_name":"Enabling Spill-Free Compilation via Affine-Based Live Range Reduction Optimization","publication_year":2026,"publication_date":"2026-01-31","ids":{"openalex":"https://openalex.org/W7131071405","doi":"https://doi.org/10.1109/cgo68049.2026.11395221"},"language":null,"primary_location":{"id":"doi:10.1109/cgo68049.2026.11395221","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo68049.2026.11395221","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2026 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},"type":"conference-paper","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/A5000520819","display_name":"Prasanth Chatarasi","orcid":"https://orcid.org/0000-0002-0974-4001"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Prasanth Chatarasi","raw_affiliation_strings":["IBM Research,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Research,USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5126600147","display_name":"Alex Gatea","orcid":null},"institutions":[{"id":"https://openalex.org/I4210113654","display_name":"IBM (Canada)","ror":"https://ror.org/025sxka56","country_code":"CA","type":"company","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210113654"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Alex Gatea","raw_affiliation_strings":["IBM Software,Toronto,Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Software,Toronto,Canada","institution_ids":["https://openalex.org/I4210113654"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5126602891","display_name":"Wei Wang","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Wei Wang","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5126588675","display_name":"Chris Bowler","orcid":null},"institutions":[{"id":"https://openalex.org/I4210113654","display_name":"IBM (Canada)","ror":"https://ror.org/025sxka56","country_code":"CA","type":"company","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210113654"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Chris Bowler","raw_affiliation_strings":["IBM Software,Toronto,Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Software,Toronto,Canada","institution_ids":["https://openalex.org/I4210113654"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Shubham Jain","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Shubham Jain","raw_affiliation_strings":["IBM Research,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Research,USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5064508687","display_name":"Masoud Ataei Jaliseh","orcid":null},"institutions":[{"id":"https://openalex.org/I4210113654","display_name":"IBM (Canada)","ror":"https://ror.org/025sxka56","country_code":"CA","type":"company","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210113654"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Masoud Ataei Jaliseh","raw_affiliation_strings":["IBM Software,Toronto,Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Software,Toronto,Canada","institution_ids":["https://openalex.org/I4210113654"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5126597297","display_name":"Nicole Khoun","orcid":null},"institutions":[{"id":"https://openalex.org/I4210113654","display_name":"IBM (Canada)","ror":"https://ror.org/025sxka56","country_code":"CA","type":"company","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210113654"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Nicole Khoun","raw_affiliation_strings":["IBM Software,Toronto,Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Software,Toronto,Canada","institution_ids":["https://openalex.org/I4210113654"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008540803","display_name":"Alberto Mannari","orcid":null},"institutions":[{"id":"https://openalex.org/I4210126328","display_name":"IBM Research - Zurich","ror":"https://ror.org/02js37d36","country_code":"CH","type":"facility","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210114115","https://openalex.org/I4210126328"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Alberto Mannari","raw_affiliation_strings":["IBM Research,Zurich,Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Research,Zurich,Switzerland","institution_ids":["https://openalex.org/I4210126328"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5012183381","display_name":"Bardia Mahjour","orcid":null},"institutions":[{"id":"https://openalex.org/I4210113654","display_name":"IBM (Canada)","ror":"https://ror.org/025sxka56","country_code":"CA","type":"company","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210113654"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Bardia Mahjour","raw_affiliation_strings":["IBM Software,Toronto,Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Software,Toronto,Canada","institution_ids":["https://openalex.org/I4210113654"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5126619307","display_name":"Viji Srinivasan","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Viji Srinivasan","raw_affiliation_strings":["IBM Research,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Research,USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5010094713","display_name":"Swagath Venkataramani","orcid":"https://orcid.org/0000-0002-0470-6364"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Swagath Venkataramani","raw_affiliation_strings":["IBM Research,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Research,USA","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"13"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10271","display_name":"Seismic Imaging and Inversion Techniques","score":0.2669000029563904,"subfield":{"id":"https://openalex.org/subfields/1908","display_name":"Geophysics"},"field":{"id":"https://openalex.org/fields/19","display_name":"Earth and Planetary Sciences"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10271","display_name":"Seismic Imaging and Inversion Techniques","score":0.2669000029563904,"subfield":{"id":"https://openalex.org/subfields/1908","display_name":"Geophysics"},"field":{"id":"https://openalex.org/fields/19","display_name":"Earth and Planetary Sciences"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10901","display_name":"Advanced Data Compression Techniques","score":0.13729999959468842,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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/T11019","display_name":"Image Enhancement Techniques","score":0.1080000028014183,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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/dataflow","display_name":"Dataflow","score":0.7159000039100647},{"id":"https://openalex.org/keywords/register-allocation","display_name":"Register allocation","score":0.565500020980835},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.545799970626831},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5291000008583069},{"id":"https://openalex.org/keywords/initialization","display_name":"Initialization","score":0.5275999903678894},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4675999879837036},{"id":"https://openalex.org/keywords/memory-hierarchy","display_name":"Memory hierarchy","score":0.4564000070095062},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.4429999887943268},{"id":"https://openalex.org/keywords/context-switch","display_name":"Context switch","score":0.43639999628067017},{"id":"https://openalex.org/keywords/reduction","display_name":"Reduction (mathematics)","score":0.4020000100135803}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8815000057220459},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.7159000039100647},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6959999799728394},{"id":"https://openalex.org/C128916667","wikidata":"https://www.wikidata.org/wiki/Q1343660","display_name":"Register allocation","level":3,"score":0.565500020980835},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.545799970626831},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5291000008583069},{"id":"https://openalex.org/C114466953","wikidata":"https://www.wikidata.org/wiki/Q6034165","display_name":"Initialization","level":2,"score":0.5275999903678894},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4675999879837036},{"id":"https://openalex.org/C2778100165","wikidata":"https://www.wikidata.org/wiki/Q1589327","display_name":"Memory hierarchy","level":3,"score":0.4564000070095062},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.4429999887943268},{"id":"https://openalex.org/C53833338","wikidata":"https://www.wikidata.org/wiki/Q1061424","display_name":"Context switch","level":2,"score":0.43639999628067017},{"id":"https://openalex.org/C111335779","wikidata":"https://www.wikidata.org/wiki/Q3454686","display_name":"Reduction (mathematics)","level":2,"score":0.4020000100135803},{"id":"https://openalex.org/C182365436","wikidata":"https://www.wikidata.org/wiki/Q50701","display_name":"Variable (mathematics)","level":2,"score":0.36809998750686646},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.36469998955726624},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.3637000024318695},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.3626999855041504},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.35199999809265137},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.3319000005722046},{"id":"https://openalex.org/C70388272","wikidata":"https://www.wikidata.org/wiki/Q5968558","display_name":"IBM","level":2,"score":0.33160001039505005},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.32710000872612},{"id":"https://openalex.org/C139571649","wikidata":"https://www.wikidata.org/wiki/Q1156793","display_name":"Program optimization","level":3,"score":0.32600000500679016},{"id":"https://openalex.org/C47487241","wikidata":"https://www.wikidata.org/wiki/Q5227230","display_name":"Data access","level":2,"score":0.3222000002861023},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.3176000118255615},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.311599999666214},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.3028999865055084},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.30149999260902405},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.2980000078678131},{"id":"https://openalex.org/C189783530","wikidata":"https://www.wikidata.org/wiki/Q352090","display_name":"CPU cache","level":3,"score":0.28780001401901245},{"id":"https://openalex.org/C92757383","wikidata":"https://www.wikidata.org/wiki/Q382497","display_name":"Affine transformation","level":2,"score":0.28760001063346863},{"id":"https://openalex.org/C2777062904","wikidata":"https://www.wikidata.org/wiki/Q545406","display_name":"Toolchain","level":3,"score":0.2847000062465668},{"id":"https://openalex.org/C73564150","wikidata":"https://www.wikidata.org/wiki/Q11417093","display_name":"Instruction scheduling","level":5,"score":0.2840000092983246},{"id":"https://openalex.org/C176727019","wikidata":"https://www.wikidata.org/wiki/Q1172415","display_name":"Dataflow architecture","level":3,"score":0.2816999852657318},{"id":"https://openalex.org/C76752949","wikidata":"https://www.wikidata.org/wiki/Q7607499","display_name":"Stencil","level":2,"score":0.27459999918937683},{"id":"https://openalex.org/C113775141","wikidata":"https://www.wikidata.org/wiki/Q428691","display_name":"Computer engineering","level":1,"score":0.2599000036716461},{"id":"https://openalex.org/C40842320","wikidata":"https://www.wikidata.org/wiki/Q19423","display_name":"Buffer overflow","level":2,"score":0.2581999897956848},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.2540999948978424},{"id":"https://openalex.org/C68387754","wikidata":"https://www.wikidata.org/wiki/Q7271585","display_name":"Schedule","level":2,"score":0.25279998779296875},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.2502000033855438}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/cgo68049.2026.11395221","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo68049.2026.11395221","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2026 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":34,"referenced_works":["https://openalex.org/W1501826095","https://openalex.org/W1511846405","https://openalex.org/W2044636417","https://openalex.org/W2046105247","https://openalex.org/W2065139142","https://openalex.org/W2101811680","https://openalex.org/W2116007667","https://openalex.org/W2118866757","https://openalex.org/W2132661148","https://openalex.org/W2144344516","https://openalex.org/W2154790323","https://openalex.org/W2788717204","https://openalex.org/W2790925711","https://openalex.org/W2898985762","https://openalex.org/W2906043559","https://openalex.org/W2911733618","https://openalex.org/W2918037051","https://openalex.org/W2945146780","https://openalex.org/W2962770763","https://openalex.org/W2963673357","https://openalex.org/W2979310060","https://openalex.org/W2980104813","https://openalex.org/W2981680926","https://openalex.org/W3122286897","https://openalex.org/W3187235458","https://openalex.org/W3190062760","https://openalex.org/W4210408109","https://openalex.org/W4220662607","https://openalex.org/W4244024631","https://openalex.org/W4249030218","https://openalex.org/W4380881154","https://openalex.org/W4402475869","https://openalex.org/W4407691553","https://openalex.org/W4411260212"],"related_works":[],"abstract_inverted_index":{"AI":[0,186,218],"Accelerators":[1],"employ":[2],"dataflow":[3,17],"architectures":[4,18,48],"to":[5,22,26,77,86,102,104,134],"achieve":[6],"impressive":[7],"peak":[8],"compute":[9,28,84],"performance":[10],"(TOPS)":[11],"and":[12,58,61,69,92,114,174,180,209,222],"processing":[13],"efficiencies":[14],"(TOPS/W).":[15],"Typically,":[16],"use":[19],"wide":[20],"data-paths":[21],"connect":[23],"off-chip":[24],"memory":[25,182],"dense":[27],"arrays":[29],"(via":[30],"hierarchy":[31],"of":[32,82,97,141,148,185,199,205,217,231,238],"on-chip":[33],"memories/vector":[34],"register":[35,168],"files)":[36],"for":[37,55,191],"efficient":[38],"data":[39],"movement":[40],"with":[41,229],"reuse,":[42],"as":[43,45,138],"well":[44],"compute.":[46],"Such":[47],"often":[49],"possess":[50],"an":[51,89],"independent":[52],"lightweight":[53],"control-path":[54],"loading":[56],"programs":[57],"initializing":[59],"registers,":[60],"lack":[62],"traditional":[63],"architectural":[64],"features":[65],"like":[66],"instruction":[67,90],"cache":[68],"execution":[70,175],"stacks.":[71],"This":[72,161],"poses":[73],"a":[74,94,108,116,130,215],"unique":[75],"challenge":[76],"compiler":[78],"requiring":[79,234],"program":[80,172],"generation":[81],"complex":[83],"kernels":[85],"fit":[87],"within":[88],"buffer":[91],"allocating":[93],"limited":[95],"set":[96],"scalar":[98],"registers":[99],"without":[100,157,170],"support":[101],"spill":[103],"memory.This":[105],"paper":[106],"contributes":[107],"significant":[109],"step":[110],"towards":[111],"spill-free":[112,226],"compilation":[113],"proposes":[115],"Live":[117],"range":[118,216],"reduction":[119],"optimization":[120],"based":[121],"on":[122],"Affine":[123],"expression":[124],"propagation":[125],"analysis.":[126],"Our":[127,212],"solution":[128],"performs":[129],"global,":[131],"compiler-directed":[132],"analysis":[133],"model":[135],"variable":[136,163],"values":[137,149],"affine":[139],"expressions":[140],"in-scope":[142],"variables,":[143],"enabling":[144],"safe":[145],"symbolic":[146],"re-materialization":[147],"at":[150],"their":[151],"use-sites":[152],"leveraging":[153],"near-":[154],"by":[155],"variables":[156],"introducing":[158],"new":[159],"operations.":[160],"shortens":[162],"lifetimes,":[164],"while":[165],"significantly":[166],"reducing":[167],"pressure":[169],"incurring":[171],"binary":[173],"overhead.":[176],"The":[177],"static":[178],"nature":[179],"regular":[181],"access":[183],"patterns":[184],"applications":[187],"make":[188],"them":[189],"well-suited":[190],"the":[192,197,200,203,232,239],"proposed":[193],"optimization.":[194],"We":[195],"demonstrate":[196,225],"effectiveness":[198],"technique":[201],"in":[202],"context":[204],"IBM":[206],"Spyre":[207],"accelerator":[208],"its":[210],"compiler.":[211],"results":[213],"over":[214],"workloads":[219,233],"spanning":[220],"transformer":[221],"CNN":[223],"models":[224],"code":[227],"generation,":[228],"most":[230],"less":[235],"than":[236],"50%":[237],"available":[240],"registers.":[241]},"counts_by_year":[],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2026-02-24T00:00:00"}
