Live data from Hacker News

ThinLTO: Scalable and Incremental Link-Time Optimization for LLVM

blog.llvm.org

11–19 of 19 posts

Re: ThinLTO: Scalable and Incremental Link-Time Optimization for LLVM

#12

There's a session from WWDC 2016 that talks about this - https://developer.apple.com/videos/play/wwdc2016/405/ The LTO part runs from 14:00 to 22:00. The streaming seems to only work in Safari (for Macs), but you can download the mp4s in HD (1.2 GB) or SD (300 MB). They do a good job of describing how it works and why this is kind of a big deal.

The link to the PDF about the Incremental LTO is here, thanks to aseipp:

https://news.ycombinator.com/item?id=11962571

Re: ThinLTO: Scalable and Incremental Link-Time Optimization for LLVM

#13
post #3

I didn't understand fully what it took to achieve this but simply looking at the numbers it is so clear how impressive the work is. Near or better performance with enormously fast build time, significant improvement in incremental compilation and enormous reduction in memory usage. Its unusual to see an optimization attempt succeed from so many different angle.

"Its unusual to see an optimization attempt succeed from so many different angle."

David, Teresa, and Mehdi are really amazing engineers.

(also, this is the third or so LTO system some of them have built :P)

Re: ThinLTO: Scalable and Incremental Link-Time Optimization for LLVM

#14
post #11

Is all this functionality encoded within .o files or does it create a separate cache file or directory?

IIUC, it's creating .bc (LLVM bitcode) files as input for the final link stage.

Thanks. And I learned a new acronym. Oh that crazy internet.

Re: ThinLTO: Scalable and Incremental Link-Time Optimization for LLVM

#15
That's all well and good, but where can I get the code? Where can I play with this?

How can Apple be shipping it (?) when LLVM is an open source project and it's not in the SVN head yet?

Is there a special branch you need to use? A different repository perhaps?

Re: ThinLTO: Scalable and Incremental Link-Time Optimization for LLVM

#16
post #15

That's all well and good, but where can I get the code? Where can I play with this? How can Apple be shipping it (?) when LLVM is an open source project and it's not in the SVN head yet? Is there a special branch you need to use? A different repository perhaps?

It's in TRUNK in with the rest of the llvm-lto stuff.

Re: ThinLTO: Scalable and Incremental Link-Time Optimization for LLVM

#18
post #15

That's all well and good, but where can I get the code? Where can I play with this? How can Apple be shipping it (?) when LLVM is an open source project and it's not in the SVN head yet? Is there a special branch you need to use? A different repository perhaps?

It's in TRUNK in with the rest of the llvm-lto stuff.

Is LLVM still using SVN??

Re: ThinLTO: Scalable and Incremental Link-Time Optimization for LLVM

#19
post #15

That's all well and good, but where can I get the code? Where can I play with this? How can Apple be shipping it (?) when LLVM is an open source project and it's not in the SVN head yet? Is there a special branch you need to use? A different repository perhaps?

>How can Apple be shipping it (?) when LLVM is an open source project and it's not in the SVN head yet?

Apple ships their own proprietary forked version of Clang+LLVM, this is for example how they implemented Swift, which was made open source long after it was introduced as part of Apple's proprietary toolchain.

Post reply on HN