{"id":"https://openalex.org/W2785870245","doi":"https://doi.org/10.1145/3168364","title":"Loop-Oriented Pointer Analysis for Automatic SIMD Vectorization","display_name":"Loop-Oriented Pointer Analysis for Automatic SIMD Vectorization","publication_year":2018,"publication_date":"2018-01-30","ids":{"openalex":"https://openalex.org/W2785870245","doi":"https://doi.org/10.1145/3168364","mag":"2785870245"},"language":"en","primary_location":{"id":"doi:10.1145/3168364","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3168364","pdf_url":null,"source":{"id":"https://openalex.org/S136160450","display_name":"ACM Transactions on Embedded Computing Systems","issn_l":"1539-9087","issn":["1539-9087","1558-3465"],"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 Transactions on Embedded Computing Systems","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/A5053058502","display_name":"Yulei Sui","orcid":"https://orcid.org/0000-0002-9510-6574"},"institutions":[{"id":"https://openalex.org/I114017466","display_name":"University of Technology Sydney","ror":"https://ror.org/03f0f6041","country_code":"AU","type":"education","lineage":["https://openalex.org/I114017466"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Yulei Sui","raw_affiliation_strings":["University of Technology Sydney (UTS), Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Technology Sydney (UTS), Australia","institution_ids":["https://openalex.org/I114017466"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100965934","display_name":"Xiaokang Fan","orcid":null},"institutions":[{"id":"https://openalex.org/I31746571","display_name":"UNSW Sydney","ror":"https://ror.org/03r8z3t63","country_code":"AU","type":"education","lineage":["https://openalex.org/I31746571"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Xiaokang Fan","raw_affiliation_strings":["University of New South Wales (UNSW), Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of New South Wales (UNSW), Australia","institution_ids":["https://openalex.org/I31746571"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100397092","display_name":"Hao Zhou","orcid":"https://orcid.org/0009-0009-3536-7623"},"institutions":[{"id":"https://openalex.org/I31746571","display_name":"UNSW Sydney","ror":"https://ror.org/03r8z3t63","country_code":"AU","type":"education","lineage":["https://openalex.org/I31746571"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Hao Zhou","raw_affiliation_strings":["University of New South Wales (UNSW), Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of New South Wales (UNSW), Australia","institution_ids":["https://openalex.org/I31746571"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5024664385","display_name":"Jingling Xue","orcid":"https://orcid.org/0000-0003-0380-3506"},"institutions":[{"id":"https://openalex.org/I31746571","display_name":"UNSW Sydney","ror":"https://ror.org/03r8z3t63","country_code":"AU","type":"education","lineage":["https://openalex.org/I31746571"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Jingling Xue","raw_affiliation_strings":["University of New South Wales (UNSW), Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of New South Wales (UNSW), Australia","institution_ids":["https://openalex.org/I31746571"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.6918,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.67356823,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"17","issue":"2","first_page":"1","last_page":"31"},"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/T11424","display_name":"Security and Verification in Computing","score":0.9983999729156494,"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"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.998199999332428,"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.892612099647522},{"id":"https://openalex.org/keywords/simd","display_name":"SIMD","score":0.8545799851417542},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.7810676693916321},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7703823447227478},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7594822645187378},{"id":"https://openalex.org/keywords/pointer-analysis","display_name":"Pointer analysis","score":0.7102524042129517},{"id":"https://openalex.org/keywords/vectorization","display_name":"Vectorization (mathematics)","score":0.5544744729995728},{"id":"https://openalex.org/keywords/dependence-analysis","display_name":"Dependence analysis","score":0.5077341794967651},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.43069562315940857},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.4246000051498413},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.38824039697647095},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.363017737865448},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.13320079445838928}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.892612099647522},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.8545799851417542},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.7810676693916321},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7703823447227478},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7594822645187378},{"id":"https://openalex.org/C7263679","wikidata":"https://www.wikidata.org/wiki/Q5978076","display_name":"Pointer analysis","level":3,"score":0.7102524042129517},{"id":"https://openalex.org/C41681595","wikidata":"https://www.wikidata.org/wiki/Q7917855","display_name":"Vectorization (mathematics)","level":2,"score":0.5544744729995728},{"id":"https://openalex.org/C27390822","wikidata":"https://www.wikidata.org/wiki/Q320724","display_name":"Dependence analysis","level":2,"score":0.5077341794967651},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.43069562315940857},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.4246000051498413},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.38824039697647095},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.363017737865448},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.13320079445838928}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3168364","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3168364","pdf_url":null,"source":{"id":"https://openalex.org/S136160450","display_name":"ACM Transactions on Embedded Computing Systems","issn_l":"1539-9087","issn":["1539-9087","1558-3465"],"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 Transactions on Embedded Computing Systems","raw_type":"journal-article"},{"id":"pmh:oai:opus.lib.uts.edu.au:10453/131235","is_oa":false,"landing_page_url":"http://hdl.handle.net/10453/131235","pdf_url":null,"source":{"id":"https://openalex.org/S4306401357","display_name":"UTS ePRESS (University of Technology Sydney)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I114017466","host_organization_name":"University of Technology Sydney","host_organization_lineage":["https://openalex.org/I114017466"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Journal Article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","score":0.6399999856948853,"display_name":"Industry, innovation and infrastructure"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":44,"referenced_works":["https://openalex.org/W951859702","https://openalex.org/W1550786523","https://openalex.org/W1553011476","https://openalex.org/W1573046885","https://openalex.org/W1966324811","https://openalex.org/W1971782746","https://openalex.org/W1996567876","https://openalex.org/W2011393414","https://openalex.org/W2013156670","https://openalex.org/W2037378467","https://openalex.org/W2040384644","https://openalex.org/W2047937237","https://openalex.org/W2055084740","https://openalex.org/W2056331235","https://openalex.org/W2084063516","https://openalex.org/W2087612811","https://openalex.org/W2100579514","https://openalex.org/W2104378884","https://openalex.org/W2111394443","https://openalex.org/W2118031182","https://openalex.org/W2133497528","https://openalex.org/W2134569009","https://openalex.org/W2136271630","https://openalex.org/W2145911832","https://openalex.org/W2147654959","https://openalex.org/W2148755014","https://openalex.org/W2149237601","https://openalex.org/W2153185479","https://openalex.org/W2153578567","https://openalex.org/W2157273783","https://openalex.org/W2288740281","https://openalex.org/W2289498116","https://openalex.org/W2291222735","https://openalex.org/W2297774820","https://openalex.org/W2333659671","https://openalex.org/W2481013294","https://openalex.org/W2511015845","https://openalex.org/W2547862110","https://openalex.org/W2606963276","https://openalex.org/W2735214320","https://openalex.org/W2914074464","https://openalex.org/W4241352414","https://openalex.org/W4243644740","https://openalex.org/W4244894488"],"related_works":["https://openalex.org/W2570625112","https://openalex.org/W2045903735","https://openalex.org/W2120052797","https://openalex.org/W2439372080","https://openalex.org/W1856298237","https://openalex.org/W2785870245","https://openalex.org/W2134641461","https://openalex.org/W3093176224","https://openalex.org/W2077734705","https://openalex.org/W56552447"],"abstract_inverted_index":{"Compiler-based":[0],"vectorization":[1,26,30,232],"represents":[2],"a":[3,136,235],"promising":[4],"solution":[5],"to":[6,40,114,140,163,297],"automatically":[7],"generate":[8,141],"code":[9],"that":[10,125,192],"makes":[11],"efficient":[12],"use":[13],"of":[14,48,60,183,237,268,302,312],"modern":[15,67],"CPUs":[16],"with":[17,299],"SIMD":[18,165],"extensions.":[19],"Two":[20],"main":[21],"auto-vectorization":[22],"techniques,":[23,233],"superword-level":[24],"parallelism":[25],"(SLP)":[27],"and":[28,38,50,90,112,118,149,159,199,227,240,251,256,278,285],"loop-level":[29],"(LLV),":[31],"require":[32],"precise":[33],"dependence":[34,53],"analysis":[35],"on":[36,146,234],"arrays":[37,89,111,150,158],"structs":[39,113,148],"vectorize":[41],"isomorphic":[42],"scalar":[43],"instructions":[44],"(in":[45,57],"the":[46,58,172,181,184,214,229,265,309],"case":[47,59],"SLP)":[49],"reduce":[51],"dynamic":[52],"checks":[54,282,296,304],"at":[55],"runtime":[56],"LLV).":[61],"The":[62],"alias":[63],"analyses":[64],"used":[65],"in":[66,87,213,264,308],"vectorizing":[68],"compilers":[69],"are":[70,84,151],"either":[71],"intra-procedural":[72],"(without":[73],"tracking":[74],"inter-procedural":[75,78,96],"data-flows)":[76],"or":[77],"(by":[79],"using":[80],"field-sensitive":[81],"models,":[82],"which":[83],"too":[85],"imprecise":[86],"handling":[88],"structs).":[91],"This":[92],"article":[93],"proposes":[94],"an":[95,177,300],"L":[97,106,153,187,210,222,246,290],"oop-oriented":[98],"P":[99],"ointer":[100],"A":[101],"nalysis":[102],"for":[103,109,128,167,270,314],"C,":[104],"called":[105],"pa":[107,154,188,211,223,247,291],",":[108],"analyzing":[110],"support":[115],"aggressive":[116],"SLP":[117,226],"LLV":[119],"optimizations":[120,166],"effectively.":[121],"Unlike":[122],"field-insensitive":[123],"solutions":[124],"pre-allocate":[126],"objects":[127],"each":[129],"memory":[130,138],"allocation":[131],"site,":[132],"our":[133],"approach":[134],"uses":[135],"lazy":[137],"model":[139],"access-based":[142],"location":[143,173],"sets":[144],"based":[145],"how":[147],"accessed.":[152],"can":[155,203],"precisely":[156],"analyze":[157],"nested":[160],"aggregate":[161],"structures":[162],"enable":[164],"large":[168],"programs.":[169],"By":[170],"separating":[171],"set":[174,236],"generation":[175],"as":[176],"independent":[178],"concern":[179],"from":[180],"rest":[182],"pointer":[185,201],"analysis,":[186],"is":[189],"designed":[190],"so":[191],"existing":[193],"points-to":[194],"resolution":[195],"algorithms":[196],"(e.g.,":[197],"flow-insensitive":[198],"flow-sensitive":[200],"analysis)":[202],"be":[204],"reused":[205],"easily.":[206],"We":[207,220],"have":[208],"implemented":[209],"fully":[212],"LLVM":[215,274],"compiler":[216],"infrastructure":[217],"(version":[218],"3.8.0).":[219],"evaluate":[221],"by":[224,253],"considering":[225],"LLV,":[228,273],"two":[230],"classic":[231],"20":[238],"C":[239],"Fortran":[241],"CPU2000/2006":[242],"benchmarks.":[243],"For":[244,272],"SLP,":[245],"outperforms":[248],"LLVM\u2019s":[249],"BasicAA":[250,284],"ScevAA":[252],"discovering":[254],"139":[255],"273":[257],"more":[258],"vectorizable":[259],"basic":[260],"blocks,":[261],"respectively,":[262],"resulting":[263,307],"best":[266,310],"speedup":[267,311],"2.95%":[269],"173.applu.":[271],"introduces":[275],"totally":[276],"551":[277],"652":[279],"static":[280,295],"bound":[281],"under":[283],"ScevAA,":[286],"respectively.":[287],"In":[288],"contrast,":[289],"has":[292],"reduced":[293],"these":[294],"220,":[298],"average":[301],"15.7":[303],"per":[305],"benchmark,":[306],"7.23%":[313],"177.mesa.":[315]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":2}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
