Show simple item record

dc.contributor.author
Theodoridis, Theodoros
dc.contributor.author
Rigger, Manuel
dc.contributor.author
Su, Zhendong
dc.contributor.editor
Falsafi, Babak
dc.contributor.editor
Ferdman, Michael
dc.contributor.editor
Lu, Shan
dc.contributor.editor
Wenisch, Tom
dc.date.accessioned
2022-05-10T09:39:38Z
dc.date.available
2022-03-22T05:01:58Z
dc.date.available
2022-05-10T09:39:38Z
dc.date.issued
2022-02
dc.identifier.isbn
978-1-4503-9205-1
en_US
dc.identifier.other
10.1145/3503222.3507764
en_US
dc.identifier.uri
http://hdl.handle.net/20.500.11850/538285
dc.description.abstract
Compilers are foundational software development tools and incorporate increasingly sophisticated optimizations. Due to their complexity, it is difficult to systematically identify opportunities for improving them. Indeed, the automatic discovery of missed optimizations has been an important and significant challenge. The few existing approaches either cannot accurately pinpoint missed optimizations or target only specific analyses. This paper tackles this challenge by introducing a novel, effective approach that-in a simple and general manner-automatically identifies a wide range of missed optimizations. Our core insight is to leverage dead code elimination (DCE) to both analyze how well compilers optimize code and identify missed optimizations: (1) insert "optimization markers"in the basic blocks of a given program, (2) compute the program's live/dead basic blocks using the "optimization markers", and (3) identify missed optimizations from how well compilers eliminate dead blocks. We essentially exploit that, since DCE heavily depends on the rest of the optimization pipeline, through the lens of DCE, one can systematically quantify how well compilers optimize code. We conduct an extensive analysis of GCC and LLVM using our approach, which (1) provides quantitative and qualitative insights regarding their optimization capabilities, and (2) uncovers a diverse set of missed optimizations. Our results also lead to 84 bug reports for GCC and LLVM, of which 62 have already been confirmed or fixed, demonstrating our work's strong practical utility. We expect that the simplicity and generality of our approach will make it widely applicable for understanding compiler performance and finding missed optimizations. This work opens and initiates this promising direction.
en_US
dc.language.iso
en
en_US
dc.publisher
Association for Computing Machinery
en_US
dc.subject
Compilers
en_US
dc.subject
Missed optimizations
en_US
dc.subject
Testing
en_US
dc.title
Finding Missed Optimizations through the Lens of Dead Code Elimination
en_US
dc.type
Conference Paper
dc.date.published
2022-02-28
ethz.book.title
Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '22)
en_US
ethz.pages.start
697
en_US
ethz.pages.end
709
en_US
ethz.event
27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2022)
en_US
ethz.event.location
Lausanne, Switzerland
en_US
ethz.event.date
February 28 - March 4, 2022
en_US
ethz.identifier.wos
ethz.identifier.scopus
ethz.publication.place
New York, NY
en_US
ethz.publication.status
published
en_US
ethz.leitzahl
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02150 - Dep. Informatik / Dep. of Computer Science::02664 - Inst. f. Programmiersprachen u. -systeme / Inst. Programming Languages and Systems::09628 - Su, Zhendong / Su, Zhendong
en_US
ethz.leitzahl.certified
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02150 - Dep. Informatik / Dep. of Computer Science::02664 - Inst. f. Programmiersprachen u. -systeme / Inst. Programming Languages and Systems::09628 - Su, Zhendong / Su, Zhendong
ethz.date.deposited
2022-03-22T05:02:15Z
ethz.source
SCOPUS
ethz.eth
yes
en_US
ethz.availability
Metadata only
en_US
ethz.rosetta.installDate
2022-05-10T09:39:43Z
ethz.rosetta.lastUpdated
2023-02-07T02:30:33Z
ethz.rosetta.versionExported
true
ethz.COinS
ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.atitle=Finding%20Missed%20Optimizations%20through%20the%20Lens%20of%20Dead%20Code%20Elimination&rft.date=2022-02&rft.spage=697&rft.epage=709&rft.au=Theodoridis,%20Theodoros&Rigger,%20Manuel&Su,%20Zhendong&rft.isbn=978-1-4503-9205-1&rft.genre=proceeding&rft_id=info:doi/10.1145/3503222.3507764&rft.btitle=Proceedings%20of%20the%2027th%20ACM%20International%20Conference%20on%20Architectural%20Support%20for%20Programming%20Languages%20and%20Operating%20Systems%20(ASPLOS%20'
 Search print copy at ETH Library

Files in this item

FilesSizeFormatOpen in viewer

There are no files associated with this item.

Publication type

Show simple item record