aboutsummaryrefslogtreecommitdiff
path: root/lib/Linker
AgeCommit message (Collapse)Author
2006-07-14eliminate some ugly code, using ConstantExpr::getWithOperands instead.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29149 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07Finish removal of EH usage from the Archive library. The REQUIRES_EH flagReid Spencer
in lib/Bytecode/Archive/Makefile is now removed. One small step closer to a smaller LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29067 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16Fix Regression/Linker/2006-06-15-GlobalVarAnment.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28812 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01Fix linking of inline asm objects.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28640 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Add shufflevector supportChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27515 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07Add code to RemapOperand() to handle Instruction::ExtractElement andEvan Cheng
Instruction::InsertElement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27477 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-24Rename methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25571 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-23Add support for linking inline asmChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25560 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19add support for ConstantPacked to the linkerChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25467 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17Fixed style of curly brace. No functionality changes.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25414 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-10For PR521:Reid Spencer
With these patches we implement the ability for the Linker library to keep track of which libraries were actually bytecode files (not archives) and cause their users to remove such files from the list of libraries to pass to the native linker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25169 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-10Be a little more explanatory in a comment.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25168 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-13Adjust the constructor to the Linker class to take an argument that namesReid Spencer
the module being constructed. This is used to correctly name the module. Previously the name of the linker tool was used which produces confusing output when the module identifier is used in an error message. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24699 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-06Fix test/Regression/Linker/2005-12-06-AppendingZeroLengthArrays.ll andChris Lattner
PR662. Thanks to Markus for providing me with a ton of files to reproduce the problem! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24619 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE nowChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23940 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-07For PR495:Reid Spencer
Get rid of the difference between file paths and directory paths. The Path class now simply stores a path that can refer to either a file or a directory. This required various changes in the implementation and interface of the class with the corresponding impact to its users. Doxygen comments were also updated to reflect these changes. Interface changes are: appendDirectory -> appendComponent appendFile -> appendComponent elideDirectory -> eraseComponent elideFile -> eraseComponent elideSuffix -> eraseSuffix renameFile -> rename setDirectory -> set setFile -> set Changes pass Dejagnu and llvm-test/SingleSource tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22349 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-07For PR495:Reid Spencer
Change interface to Path class: readable -> canRead writable -> canWrite executable -> canExecute More (incremental) changes coming to close 495. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22345 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-09Preserve CC's when linking modulesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21799 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21422 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15fix some 80 column violationsChris Lattner
Add support for programs that define main in a .a file, such as f2c'd programs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20631 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15consolidate LinkFiles into LinkItems, use lib_* iterators.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20630 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15consolidate LinkLibraries into LinkItemsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20629 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20597 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19Add support for ".so" files compiled with LLVM which contain LLVM bytecode.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20253 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19Eliminate silly warnings from the linker of the form:Chris Lattner
WARNING: Type conflict between types named 'union.._604.'. Src=' %union.._604.'. Dest=' %union.._604.' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20252 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13Minor cleanup. No need to explicitly tell the compiler the template arguments.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20153 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13Print something useful for gccld -v with an archive.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20148 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-12Allow globals to be of different const'nesses when we link.Chris Lattner
This finally resolves PR502, PR450, and test/Regression/Linker/2005-02-12-ConstantGlobals{,-2}.ll correctly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20135 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-20Remove un-needed #includes.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19061 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16Fix a compile error. config.h is now needed because DataTypes.h doesn'tReid Spencer
include it any more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18993 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13* Fix header block.Reid Spencer
* Fix loop style per standards * Don't create a new Module when the Linker's module is released. * Add/fix function comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18871 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13Add missing space in a comment.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18870 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13Fix header and function comments.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18867 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13This file contains basic Linker facilities needed by all toolsReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18860 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13Make LinkModules a static member functionReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18859 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13This file contains only the Linker's library linking supportReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18858 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13For PR351: \Reid Spencer
* Remove redundant static function LinkOneLibrary. \ * Remove unneded #includes \ * Convert FileSupport usage to sys::Path instead git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18857 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13This file contains only the Linker's file linking supportReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18856 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13For PR351: \Reid Spencer
* Convert functions to Linker:: methods. \ * Remove unneeded #includes \ * Utilize sys::Path utilities not FileSupport utilities \ * Move File & Library linking functions to other source files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18855 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10Make sure to link the target-triple as well, so it ends up in the .llvm.bc fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18774 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08Turn this error back into a warning, fixing the povray regressionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18655 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08Revert this disgusting hack, John has a much nicer solutionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18611 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08Add a disgusting hack to work around a libstdc++ issue. This code shouldChris Lattner
be removed when PR400 is resolved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18610 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-05Fix PR139: \Reid Spencer
Implement LinkItems and BuildLinkItems interfaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18547 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-04Fix linkage of mismatched weak globals. This unbreaks 300.twolfChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18494 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-03Significantly rework linker support for global variables, allowing it toChris Lattner
correctly link globals whose LLVM types do not match. This fixes several of the F2C SPEC FP benchmarks, which were failing this due to the implementation of common blocks used by f2c. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18465 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02PR466:Reid Spencer
* Make the linker find lib*.bca files now instead of lib*.bc since those are what the makefiles now generate for bytecode archives. * Make sure the linker only links archives when LinkLibraries is called. Previously if it found a lib*.bc file and that file was a bytecode file, it would link in the entire bytecode. This could make -lc -lc fail with duplicate symbols error but it shouldn't as searching multiple libraries, even the same one more than once, is permitted. * Now that the above problems are corrected, implement the dependent libs feature. After the module is linked with all specified libraries, the LinkLibraries function will obtain the set of dependent libraries from the linked modules and attemp to find and link against those libraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18428 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30Revert version 1.39. It breaks the ordering of the library processing.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18399 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29Shared library extension is now in LTDL_SHLIB_EXTReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18353 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25Implement dependent library linking. It is no longer required that -lstdc++Reid Spencer
-lstdsup++ no -lc be passed on the command line to llvm linkers if the progam being linked was compiled with the C/C++ Front End or Stacker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18243 91177308-0d34-0410-b5e6-96231b3b80d8