This is an archive of the discontinued LLVM Phabricator instance.

Put always_inline on adjustExpr
AbandonedPublic

Authored by silvas on Nov 26 2016, 11:31 PM.

Details

Reviewers
ruiu
rafael
Summary

This function is incredibly hot (it is called unconditionally for every relocation) and so we need everything the compiler can give us for it. It is just a helper anyway.

This change is good for 3-4% speedup on clang-fsds with ld.lld -O1.

The compiler that needed this identifies itself as gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

Also, this will allow us in the future to more accurately assess the benefits of PGO for building LLD. If we can get this speedup easily without PGO by just applying an attribute, we don't want this 3-4% to inflate the benefit of PGO when we try PGO.

Diff Detail

Repository
rL LLVM

Event Timeline

silvas updated this revision to Diff 79351.Nov 26 2016, 11:31 PM
silvas retitled this revision from to Put always_inline on adjustExpr.
silvas updated this object.
silvas added reviewers: ruiu, rafael.
silvas set the repository for this revision to rL LLVM.
silvas added a subscriber: llvm-commits.
silvas abandoned this revision.Nov 27 2016, 1:04 AM

Oh, sorry, I think I accidentally measured this on top of D27145 instead of vs master (so the speedup here is the speedup from D27145). My bad. No wonder the speedup was very similar.