This is a sister bug to bug 1152. The optimizations that gccld performs should be available with a single command line option such as -std-lto-passes. The linking capability of gccld will not be moved as it is redundant with llvm-link and llvm-ld.
crazy idea, why not replace gccld with llvm-ld? -Chris
Because that puts the optimizations in llvm-ld and makes it much larger? However, if we did this, at least the linker part wouldn't be redundant. It also makes sense to have LTO optimizations directly in the linker. Hmm .. okay, I think you're right :)
The point is that llvm-link doesn't handle archives, opt doesn't link, and llvm-ld is otherwise redundant. Replacing gccld with a combination of llvm-ld and opt is fine. -Chris
Hmm, perhaps llvm-ld should link in the LTO library and invoke its optimizations. That way there's only one place to maintain the "standard" link-time optimizations that we run.
gccld has been replaced with a script: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044210.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044211.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044212.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044231.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044232.html llvm-ld has been made to accept same args as gccld: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044189.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044192.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044209.html llvm-test suite has been updated: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044214.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044215.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044216.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044217.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044218.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044219.html documentation has been updated: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044220.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044221.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044234.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044236.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044237.html Sounds done to me.