LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 1153 - Move gccld optimization functionality to llvm-ld
Summary: Move gccld optimization functionality to llvm-ld
Status: RESOLVED FIXED
Alias: None
Product: tools
Classification: Unclassified
Component: gccld (show other bugs)
Version: trunk
Hardware: All All
: P enhancement
Assignee: Reid Spencer
URL:
Keywords: new-feature
Depends on:
Blocks:
 
Reported: 2007-01-31 19:44 PST by Reid Spencer
Modified: 2010-02-22 12:49 PST (History)
1 user (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Reid Spencer 2007-01-31 19:44:58 PST
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.
Comment 1 Chris Lattner 2007-01-31 20:03:49 PST
crazy idea, why not replace gccld with llvm-ld?

-Chris
Comment 2 Reid Spencer 2007-01-31 20:51:54 PST
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 :)
Comment 3 Chris Lattner 2007-01-31 21:36:17 PST
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
Comment 4 Reid Spencer 2007-02-08 12:16:40 PST
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.
Comment 5 Reid Spencer 2007-02-09 10:12:05 PST
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.