You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build times have increased after the tools were changed to use llvm-config to
generate the list of libraries to link with. Here's the scenario:
llvm-config depends on all libraries so a change to any one of them results
in llvm-config being rebuilt.
All tools depend on llvm-config so any change to it results in all tools being
rebuilt.
For example, consider a change to lib/Transforms/Scalar. It should only affect
opt, gccas, gccld, and maybe llc and lli. However, when you rebuild, all tools
are relinked. There's no reason that llvm-dis, llvm-as, etc. need to be
relinked. Previously the makefiles did not re-link these tools for which a
dependency was not changed.
Its unclear what the correct solution is. We need an "existence" dependency for
the tools on llvm-config.
The text was updated successfully, but these errors were encountered:
the fix is for 'building' llvm-config to not actually change it if the contents don't change. This is exactly
what we do for tblgen. If you change tblgen's source in a way that doesn't affect it's output (e.g. change
libsupport and relink tblgen), all the targets aren't rebuilt.
Extended Description
Build times have increased after the tools were changed to use llvm-config to
generate the list of libraries to link with. Here's the scenario:
llvm-config depends on all libraries so a change to any one of them results
in llvm-config being rebuilt.
All tools depend on llvm-config so any change to it results in all tools being
rebuilt.
For example, consider a change to lib/Transforms/Scalar. It should only affect
opt, gccas, gccld, and maybe llc and lli. However, when you rebuild, all tools
are relinked. There's no reason that llvm-dis, llvm-as, etc. need to be
relinked. Previously the makefiles did not re-link these tools for which a
dependency was not changed.
Its unclear what the correct solution is. We need an "existence" dependency for
the tools on llvm-config.
The text was updated successfully, but these errors were encountered: