aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Linker/LinkModules.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Convert to SymbolTable's new lookup and iteration interfaces.Reid Spencer2004-05-251-23/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13751 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix linking of constant expr casts due to type resolution changes. WithChris Lattner2004-03-311-0/+8
| | | | | | | this and the other patches 253.perlbmk links again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12565 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR245: Linking weak and strong global variables is dependent on link orderChris Lattner2004-02-171-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11565 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjustments to support the new ConstantAggregateZero classChris Lattner2004-02-151-7/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11474 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove use of ConstantExpr::getShiftChris Lattner2004-01-121-6/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10792 91177308-0d34-0410-b5e6-96231b3b80d8
* Finegrainify namespacificationChris Lattner2004-01-091-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10727 91177308-0d34-0410-b5e6-96231b3b80d8
* Spew symbolic types!Chris Lattner2003-11-201-3/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10110 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Further fixes for PR93Chris Lattner2003-11-051-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9738 91177308-0d34-0410-b5e6-96231b3b80d8
* Checking in Chris's suggestions:John Criswell2003-11-041-3/+32
| | | | | | | | | | | Added assert() to ensure symbol table is well formed. Added code to remember the value that was found; resolving types can change the symbol table and invalidate the value of the iterator. Added comments to the ResolveTypes() function (mainly for my own benefit). Please feel free to correct the comments if they are not accurate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9693 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test: Linker/2003-10-27-LinkOncePromote.llChris Lattner2003-10-271-27/+29
| | | | | | | Fix PR58 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9530 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: Linker/2003-10-21-ConflictingTypesTolerance.llChris Lattner2003-10-211-13/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9357 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix message to make more sense and confuse Chris lessChris Lattner2003-10-211-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9354 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | | Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for 'weak' linkage.Chris Lattner2003-10-161-5/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9171 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling.Misha Brukman2003-10-101-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug where we considered function types equivalent even if they had ↵Chris Lattner2003-08-281-1/+3
| | | | | | differing numbers of arguments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8178 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: Linker/2003-08-23-GlobalVarLinking.llChris Lattner2003-08-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8130 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement: Linker/2003-08-24-InheritPtrSize.llChris Lattner2003-08-241-2/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8129 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not consider any types that exist in the global symbol table!Chris Lattner2003-08-231-10/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8084 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: Linker/2003-08-23-RecursiveOpaqueTypeResolve.llChris Lattner2003-08-231-14/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8083 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement Linker/2003-08-23-GlobalVarLinking.ll, which should fix 176.gccChris Lattner2003-08-231-8/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8080 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typeoChris Lattner2003-08-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8059 91177308-0d34-0410-b5e6-96231b3b80d8
* The process of linking types can cause their addresses to become invalid. ↵Chris Lattner2003-08-221-24/+33
| | | | | | For this reason, we must use TypeHandles! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8057 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement Linker/2003-08-20-OpaqueTypeResolve.llChris Lattner2003-08-221-16/+95
| | | | | | | Hopefully this will fix the 176.gcc spec test as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8051 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Bug: Linker/2003-05-15-TypeProblem.llChris Lattner2003-05-151-20/+66
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6225 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix major problem with appending linkage changesChris Lattner2003-05-141-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6185 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement linkage of appending global variables!Chris Lattner2003-05-131-6/+115
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6178 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Bug: Linker/2003-04-23-LinkOnceLost.llChris Lattner2003-04-231-30/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5879 91177308-0d34-0410-b5e6-96231b3b80d8
* Add warning when linking modules with disagreeing target propertiesChris Lattner2003-04-221-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5845 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: 2003-01-30-LinkerRename.llChris Lattner2003-04-211-7/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5828 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix linking a function with qualifiers to a external function declaration:Chris Lattner2003-04-211-6/+18
| | | | | | | Fixed bug: Linker/2003-04-21-Linkage.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5827 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new linkage types to support a real frontendChris Lattner2003-04-161-53/+72
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5786 91177308-0d34-0410-b5e6-96231b3b80d8
* * Fix linking of opaque types and their non-opaque versionsChris Lattner2003-01-301-7/+17
| | | | | | | * Fix bug: Linker/2003-01-30-LinkerTypeRename.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5441 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate using declsChris Lattner2003-01-301-35/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5439 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix big bug introduced with symbol table changesChris Lattner2002-12-031-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4885 91177308-0d34-0410-b5e6-96231b3b80d8
* - Eliminated the deferred symbol table stuff in Module & Function, it reallyChris Lattner2002-11-201-7/+4
| | | | | | | wasn't an optimization and it was causing lots of bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4779 91177308-0d34-0410-b5e6-96231b3b80d8
* - Change Function's so that their argument list is populated when they areChris Lattner2002-10-131-5/+4
| | | | | | | | constructed. Before, external functions would have an empty argument list, now a Function ALWAYS has a populated argument list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4149 91177308-0d34-0410-b5e6-96231b3b80d8
* Insert resolved constants into the global map so they are reused correctly.Chris Lattner2002-09-231-3/+6
| | | | | | | This bug was exposed linking the SPEC benchmark suite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3888 91177308-0d34-0410-b5e6-96231b3b80d8
* fixed bug: test/Regression/Linker/2002-08-20-ConstantExpr.llChris Lattner2002-08-201-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3412 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove support for Not ConstantExpr. This simplifies the unary case to onlyChris Lattner2002-08-141-3/+3
| | | | | | | have to support the cast instruction, so the function is renamed to getCast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3328 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanup ConstantExpr handling:Chris Lattner2002-07-301-8/+2
| | | | | | | | | | | | | | | * Correctly delete TypeHandles in AsmParser. In addition to not leaking memory, this prevents a bug that could have occurred when a type got resolved that the constexpr was using * Check for errors in the AsmParser instead of hitting assertion failures deep in the code * Simplify the interface to the ConstantExpr class, removing unneccesary parameters to the ::get* methods. * Rename the 'getelementptr' version of ConstantExpr::get to ConstantExpr::getGetElementPtr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3160 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove FIXME's that aren't really needed after all.Chris Lattner2002-07-301-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3158 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2002-07-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3072 91177308-0d34-0410-b5e6-96231b3b80d8
* * Rewrite loop to be slightly more efficient (arguably)Chris Lattner2002-07-181-2/+2
| | | | | | | * Fix a MAJOR thinko that was causing bad links to happen on Spec git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2953 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement linking of ConstExprsChris Lattner2002-07-181-9/+43
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2946 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2002-06-251-57/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2777 91177308-0d34-0410-b5e6-96231b3b80d8
* Updates to move some header files out of include/llvm/Transforms intoChris Lattner2002-05-071-35/+38
| | | | | | | the Scalar and Utils subdirectories git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2523 91177308-0d34-0410-b5e6-96231b3b80d8
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FunctionArgument out of iOther.h into Argument.h and rename class toChris Lattner2002-04-091-2/+3
| | | | | | | be 'Argument' instead of FunctionArgument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2216 91177308-0d34-0410-b5e6-96231b3b80d8