We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Profile-Guided Optimization in the LDC D compiler

Formal Metadata

Title
Profile-Guided Optimization in the LDC D compiler
Subtitle
Implementation and Benefits
Title of Series
Number of Parts
611
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2017

Content Metadata

Subject Area
Genre
Abstract
Profile-Guided Optimization (PGO) is an optimization technique which usesinformation about the runtime profile of an application. PGO is an area ofactive development in LLVM. In this talk I discuss how PGO was implemented inLDC, the LLVM-based D compiler, and which speedup the use of PGO can give. Profile-Guided Optimization (PGO) is an optimization technique which usesinformation about the runtime profile of an application. The binary of anapplication is instrumented to collect data like number of times a function iscalled. This additional information is used to apply advanced optimizations tothe application. PGO is an area of active development in LLVM. A recent updateof LDC, the LLVM-based D compiler, is able to use PGO. In this talk I discusswhich additonal IR code must be generated for PGO and how it was implementedin LDC. I also show the effect of PGO on a test application and the compileritself.