Closed Bug 1415229 (WinLTO) Opened 7 years ago Closed 6 years ago

Support lld-link and ThinLTO in clang-cl builds

Categories

(Firefox Build System :: General, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: away, Unassigned)

References

Details

I was able to get cross-TU inlining using ThinLTO on a toy program. Let's see if we can scale this up to full Firefox builds. $ cat foo.cpp int seven(); int main() { return seven(); } $ cat bar.cpp int seven() { return 7; } $ rm -f *.obj *.pdb *.exe $ clang-cl -O2 -c *.cpp $ lld-link -out:a.exe -debug *.obj $ cdb -z a.exe -c 'uf a!main; q' a!main: 00000001`4000f010 e9ebffffff jmp a!seven (00000001`4000f000) $ rm -f *.obj *.pdb *.exe $ clang-cl -flto=thin -O2 -c *.cpp $ lld-link -out:a.exe -debug *.obj $ cdb -z a.exe -c 'uf a!main; q' a!main: 00000001`4000f010 b807000000 mov eax,7 00000001`4000f015 c3 ret (Tested with LLVM trunk, rev 317336)
Depends on: 1421404
Depends on: 1414287
Alias: ThinLTO
Depends on: 1423791
Alias: ThinLTO → WinLTO
Depends on: 1424015
Summary: Support ThinLTO in clang-cl builds → Support lld-link and ThinLTO in clang-cl builds
Depends on: 1425906
Depends on: 1426198
Depends on: 1426876
Product: Core → Firefox Build System
Blocks: 1443590
Depends on: 1443827
Depends on: 1444429
No longer depends on: 1414287
Depends on: 1448976
Depends on: 1448980
Depends on: 1450699
Blocks: 1475384
Blocks: 1475650
Blocks: 1475660
Dependencies are resolved and ThinLTO nightlies have been shipping for a few weeks now.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.