This is an archive of the discontinued LLVM Phabricator instance.

[LTO] An option to disable automatic bitcode upgrade
ClosedPublic

Authored by hoy on Sep 15 2021, 10:09 PM.

Details

Summary

Bitcode upgrade automatically takes in place when the current compiler version doesn't match the one building the input modules. The upgrade is very expansive for large applications and unnecessary when users are sure the two compilers do not have a version issue, even if their versions mismatch literally. An optional to disable the automatic bitcode upgrade will be handy in such case.

Diff Detail

Event Timeline

hoy created this revision.Sep 15 2021, 10:09 PM
hoy requested review of this revision.Sep 15 2021, 10:09 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 15 2021, 10:09 PM
wenlei added inline comments.Jan 26 2022, 10:56 AM
llvm/lib/Object/IRSymtab.cpp
436

Upgrade for this case is probably always needed to recreate symbol table. I think that bypassing upgrade from benign version mismatch is all we need. Correspondingly, we could rename the switch as diisable-bitcode-version-upgrade. WDYT?

hoy added inline comments.Jan 26 2022, 11:28 AM
llvm/lib/Object/IRSymtab.cpp
436

Good point. Symbol table mismatch isn't what we are targeting.

hoy updated this revision to Diff 403349.Jan 26 2022, 11:29 AM

Updating D109869: [LTO] An option to disable automatic bitcode upgrade

wenlei accepted this revision.Jan 26 2022, 11:31 AM

lgtm, thanks.

This revision is now accepted and ready to land.Jan 26 2022, 11:31 AM
hoy updated this revision to Diff 403362.Jan 26 2022, 11:55 AM

Rebasing.

ormris added a subscriber: ormris.Jan 26 2022, 2:41 PM
This revision was landed with ongoing or failed builds.Jan 27 2022, 8:47 AM
This revision was automatically updated to reflect the committed changes.