{"id":"https://openalex.org/W2788257564","doi":"https://doi.org/10.1145/3178372.3179501","title":"Fast and flexible instruction selection with constraints","display_name":"Fast and flexible instruction selection with constraints","publication_year":2018,"publication_date":"2018-02-21","ids":{"openalex":"https://openalex.org/W2788257564","doi":"https://doi.org/10.1145/3178372.3179501","mag":"2788257564"},"language":"en","primary_location":{"id":"doi:10.1145/3178372.3179501","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3178372.3179501","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 27th International Conference on Compiler Construction","raw_type":"proceedings-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/A5058774023","display_name":"Patrick Thier","orcid":null},"institutions":[{"id":"https://openalex.org/I145847075","display_name":"TU Wien","ror":"https://ror.org/04d836q62","country_code":"AT","type":"education","lineage":["https://openalex.org/I145847075"]}],"countries":["AT"],"is_corresponding":true,"raw_author_name":"Patrick Thier","raw_affiliation_strings":["Vienna University of Technology, Austria"],"affiliations":[{"raw_affiliation_string":"Vienna University of Technology, Austria","institution_ids":["https://openalex.org/I145847075"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5088009807","display_name":"M. Anton Ertl","orcid":"https://orcid.org/0000-0002-1290-9444"},"institutions":[{"id":"https://openalex.org/I145847075","display_name":"TU Wien","ror":"https://ror.org/04d836q62","country_code":"AT","type":"education","lineage":["https://openalex.org/I145847075"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"M. Anton Ertl","raw_affiliation_strings":["Vienna University of Technology, Austria"],"affiliations":[{"raw_affiliation_string":"Vienna University of Technology, Austria","institution_ids":["https://openalex.org/I145847075"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5011211047","display_name":"Andreas Krall","orcid":"https://orcid.org/0009-0002-7668-6259"},"institutions":[{"id":"https://openalex.org/I145847075","display_name":"TU Wien","ror":"https://ror.org/04d836q62","country_code":"AT","type":"education","lineage":["https://openalex.org/I145847075"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Andreas Krall","raw_affiliation_strings":["Vienna University of Technology, Austria"],"affiliations":[{"raw_affiliation_string":"Vienna University of Technology, Austria","institution_ids":["https://openalex.org/I145847075"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5058774023"],"corresponding_institution_ids":["https://openalex.org/I145847075"],"apc_list":null,"apc_paid":null,"fwci":0.7574,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.66829626,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"93","last_page":"103"},"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.9997000098228455,"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.9997000098228455,"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.9984999895095825,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9979000091552734,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.8691921234130859},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.6734012365341187},{"id":"https://openalex.org/keywords/tree","display_name":"Tree (set theory)","score":0.6101740002632141},{"id":"https://openalex.org/keywords/selection","display_name":"Selection (genetic algorithm)","score":0.5932263731956482},{"id":"https://openalex.org/keywords/automaton","display_name":"Automaton","score":0.5778422355651855},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5700801014900208},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5273985266685486},{"id":"https://openalex.org/keywords/grammar","display_name":"Grammar","score":0.49562251567840576},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.48174524307250977},{"id":"https://openalex.org/keywords/tree-automaton","display_name":"Tree automaton","score":0.43236786127090454},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3634626269340515},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3471373915672302},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2856293320655823}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8691921234130859},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.6734012365341187},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.6101740002632141},{"id":"https://openalex.org/C81917197","wikidata":"https://www.wikidata.org/wiki/Q628760","display_name":"Selection (genetic algorithm)","level":2,"score":0.5932263731956482},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.5778422355651855},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5700801014900208},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5273985266685486},{"id":"https://openalex.org/C26022165","wikidata":"https://www.wikidata.org/wiki/Q8091","display_name":"Grammar","level":2,"score":0.49562251567840576},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.48174524307250977},{"id":"https://openalex.org/C2778583254","wikidata":"https://www.wikidata.org/wiki/Q2872598","display_name":"Tree automaton","level":3,"score":0.43236786127090454},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3634626269340515},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3471373915672302},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2856293320655823},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"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/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3178372.3179501","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3178372.3179501","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 27th International Conference on Compiler Construction","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.8199999928474426,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320330412","display_name":"Scheme for Promotion of Academic and Research Collaboration","ror":null}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W1541457918","https://openalex.org/W1598886868","https://openalex.org/W1974721213","https://openalex.org/W1981565634","https://openalex.org/W1993335798","https://openalex.org/W2000951709","https://openalex.org/W2025840053","https://openalex.org/W2035579154","https://openalex.org/W2054572543","https://openalex.org/W2056609175","https://openalex.org/W2080932040","https://openalex.org/W2090846952","https://openalex.org/W2091204037","https://openalex.org/W2134559770","https://openalex.org/W2136285318","https://openalex.org/W2153185479","https://openalex.org/W2158718504","https://openalex.org/W2160756430","https://openalex.org/W2162310026","https://openalex.org/W2168315159","https://openalex.org/W2604978604","https://openalex.org/W3162397251","https://openalex.org/W4236103971"],"related_works":["https://openalex.org/W4240253816","https://openalex.org/W1991876452","https://openalex.org/W1582302366","https://openalex.org/W1548463674","https://openalex.org/W3174875281","https://openalex.org/W2610542549","https://openalex.org/W2953470554","https://openalex.org/W2096488839","https://openalex.org/W1577306287","https://openalex.org/W2515607872"],"abstract_inverted_index":{"Tree-parsing":[0],"instruction":[1,56,112,125,147],"selection":[2,57,113],"as":[3,18],"used":[4],"in,":[5],"e.g.,":[6],"lcc,":[7],"uses":[8,88],"dynamic":[9,33,82,90,118],"costs":[10,34],"to":[11],"gain":[12],"flexibility":[13],"and":[14,139,145],"handle":[15],"situations":[16],"(such":[17],"read-modify-write":[19],"instructions)":[20],"that":[21,36,67,127],"do":[22],"not":[23],"fit":[24],"into":[25,45,102],"the":[26,42,86,97,140],"basic":[27],"tree-parsing":[28],"model.":[29],"The":[30],"disadvantage":[31],"of":[32,89],"is":[35,50,73],"we":[37,64],"can":[38],"no":[39],"longer":[40],"turn":[41],"tree":[43,47,98,104,131],"grammar":[44,99],"a":[46,70,103,151],"automaton":[48,105],"(as":[49],"done":[51],"by":[52,150],"burg)":[53],"for":[54,58],"fast":[55],"JIT":[59,143],"compilers.":[60],"In":[61],"this":[62,135],"paper":[63],"introduce":[65],"constraints":[66,84,101,122],"say":[68],"whether":[69],"tree-grammar":[71],"rule":[72],"applicable":[74],"or":[75],"not.":[76],"While":[77],"theoretically":[78],"less":[79],"powerful":[80],"than":[81,114],"costs,":[83],"cover":[85],"practical":[87],"costs;":[91],"more":[92],"importantly,":[93],"they":[94],"allow":[95],"turning":[96],"with":[100,115,130],"(with":[106],"instruction-selection-time":[107,117],"checks),":[108],"resulting":[109],"in":[110,123,137],"faster":[111],"pure":[116],"programming.":[119],"We":[120,133],"integrate":[121],"an":[124],"selector":[126,148],"matches":[128],"DAGs":[129],"rules.":[132],"evaluate":[134],"concept":[136],"lcc":[138],"CACAO":[141],"JavaVM":[142],"compiler,":[144],"see":[146],"speedups":[149],"factor":[152],"1.33--1.89.":[153]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
