summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Linker/LinkModules.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Apply a patch from Nathan Keynes, which speeds up llvm-link onChris Lattner2008-06-161-1/+0
| | | | | | | the testcases in PR1860 from taking more than 1 hour (when I killed it) to taking 1s. llvm-svn: 52347
* handle vectors. Any integers that got here would necessarily be different ↵Chris Lattner2008-06-161-8/+11
| | | | | | already. llvm-svn: 52341
* Simplify ResolveTypes by pulling the null case out into the one Chris Lattner2008-06-161-42/+30
| | | | | | | | | client that cares and simplifying its control flow. Remove the DestST argument to ResolveTypes and RecursiveResolveTypes* which are dead now. llvm-svn: 52340
* simplify RecursiveResolveTypes and ResolveTypes by pulling the naming out ofChris Lattner2008-06-161-23/+20
| | | | | | ResolveTypes into the one place that needs it. llvm-svn: 52338
* use 'continue' to make the function linker simpler. When linking a strongChris Lattner2008-06-091-21/+37
| | | | | | | function into a weak function, zap the weak function body so that the strong one overrides it. This fixes PR2410 llvm-svn: 52135
* minor changes to short circuit the 'no linkage' case earlier forChris Lattner2008-06-091-27/+40
| | | | | | | function bodies. We now don't try to unify types or handling type mismatches if when linking an internal foo to an external foo. llvm-svn: 52134
* simplify function visibility handling.Chris Lattner2008-06-091-7/+8
| | | | llvm-svn: 52133
* Factor code to copy global value attributes likeDuncan Sands2008-05-261-14/+4
| | | | | | | | | | | | | | | the section or the visibility from one global value to another: copyAttributesFrom. This is particularly useful for duplicating functions: previously this was done by explicitly copying each attribute in turn at each place where a new function was created out of an old one, with the result that obscure attributes were regularly forgotten (like the collector or the section). Hopefully now everything is uniform and nothing is forgotten. llvm-svn: 51567
* Fix a bunch of 80col violations that arose from the Create API change. Tweak ↵Gabor Greif2008-05-151-2/+4
| | | | | | makefile targets to find these better. llvm-svn: 51143
* Add CommonLinkage; currently tentative definitionsDale Johannesen2008-05-141-10/+18
| | | | | | | | | | are represented as "weak", but there are subtle differences in some cases on Darwin, so we need both. The intent is that "common" will behave identically to "weak" unless somebody changes their target to do something else. No functional change as yet. llvm-svn: 51118
* Fix linking of internal aliasesAnton Korobeynikov2008-05-101-28/+55
| | | | llvm-svn: 50950
* Turn StripPointerCast() into a methodAnton Korobeynikov2008-05-071-1/+2
| | | | llvm-svn: 50836
* If weak GlobalVariable was bitcast'ed to different type during linkingAnton Korobeynikov2008-05-061-1/+1
| | | | | | we will need to strip all casts for intializer lookup. llvm-svn: 50776
* Revert r49614. As Dan pointed out, some of these aren't correct.Owen Anderson2008-04-141-1/+1
| | | | llvm-svn: 49657
* Replace calls of the form V1->setName(V2->getName()) with V1->takeName(V2), Owen Anderson2008-04-131-1/+1
| | | | | | which is significantly more efficient. llvm-svn: 49614
* API changes for class Use size reduction, wave 1.Gabor Greif2008-04-061-4/+4
| | | | | | | | Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
* Ultimately resolve aliases during linking, if possibleAnton Korobeynikov2008-03-111-5/+4
| | | | llvm-svn: 48259
* Add sanity checksAnton Korobeynikov2008-03-101-0/+10
| | | | llvm-svn: 48184
* Typo: 'function' => 'alias'Anton Korobeynikov2008-03-101-3/+2
| | | | llvm-svn: 48183
* Syntactic sugar'ify stuff :)Anton Korobeynikov2008-03-101-15/+15
| | | | llvm-svn: 48182
* Always run 'make check' :) Fix fallout from prev. commit: query for possibleAnton Korobeynikov2008-03-101-1/+1
| | | | | | alias destination only if we don't have anything to link to llvm-svn: 48181
* Make error messages to have common styleAnton Korobeynikov2008-03-101-18/+12
| | | | llvm-svn: 48180
* Properly link globals with aliasesAnton Korobeynikov2008-03-101-20/+41
| | | | llvm-svn: 48179
* Remove the LinkGlobal weirderness in common linking phase.Anton Korobeynikov2008-03-101-33/+44
| | | | llvm-svn: 48177
* TypoAnton Korobeynikov2008-03-101-1/+1
| | | | llvm-svn: 48176
* Fix some compilation errors on msvc:Ted Kremenek2008-03-091-3/+3
| | | | | | | | | - "Redefinition of I" (iterator masks previous definition) - include missing header file Patch by Argiris Kirtzidis! llvm-svn: 48115
* Clarify some important bitsAnton Korobeynikov2008-03-071-1/+2
| | | | llvm-svn: 48010
* Small cleanup: propagate thread-localness via generic routine.Anton Korobeynikov2008-03-071-7/+10
| | | | | | No functionality change. llvm-svn: 48009
* Missed patch from my last commitAnton Korobeynikov2008-03-051-0/+10
| | | | llvm-svn: 47977
* Resolve aliases to aliasees, where possibleAnton Korobeynikov2008-03-051-0/+3
| | | | llvm-svn: 47975
* Handle functions as targets during linking of aliases as wellAnton Korobeynikov2008-03-051-1/+25
| | | | llvm-svn: 47974
* Try hard to link aliases. Checks can be too strict by now.Anton Korobeynikov2008-03-051-20/+101
| | | | llvm-svn: 47968
* Remember the source->dest mapping when copying aliases. This fixes PR2054Anton Korobeynikov2008-03-051-4/+10
| | | | llvm-svn: 47945
* Clarify the state-of-the-artAnton Korobeynikov2008-03-051-9/+12
| | | | llvm-svn: 47944
* And final pack of warnings silencingAnton Korobeynikov2008-02-201-2/+5
| | | | llvm-svn: 47372
* random cleanups.Chris Lattner2008-02-191-7/+4
| | | | llvm-svn: 47334
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Ignore functions with internal linkages during linking. This snipped mimics theAnton Korobeynikov2007-12-271-0/+3
| | | | | | behaviour of LinkGlobals() function. llvm-svn: 45375
* Fixing several transforms which would drop the collector attributeGordon Henriksen2007-12-251-0/+2
| | | | | | when copying functions. llvm-svn: 45356
* Fix PR1146: parameter attributes are longer part ofDuncan Sands2007-11-271-0/+1
| | | | | | | | | | | | the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
* Use correct parentheses with the '&& "..."' idiom in an assert.Dan Gohman2007-10-081-2/+2
| | | | llvm-svn: 42750
* Fix PR1611 - Visibility should be ignored for a declarationChris Lattner2007-08-191-6/+13
| | | | | | | when a definition's visibility is different. Likewise, the visibility of two declarations mismatching is not an error. llvm-svn: 41174
* Fix a bug in my previous patch.Lauro Ramos Venancio2007-06-281-3/+2
| | | | llvm-svn: 37778
* When linking two modules, we should copy the alias.Lauro Ramos Venancio2007-06-281-0/+28
| | | | llvm-svn: 37776
* Propagate alignment, section name and visibility when linking "appendingLauro Ramos Venancio2007-06-061-0/+15
| | | | | | | global values". Fix noinline linkage. llvm-svn: 37482
* Implement visibility checking during linking. Also implement protectedAnton Korobeynikov2007-04-291-1/+14
| | | | | | visibility support for bitcode. llvm-svn: 36577
* Implement the "thread_local" keyword.Lauro Ramos Venancio2007-04-121-3/+4
| | | | llvm-svn: 35950
* For PR1195:Reid Spencer2007-02-151-2/+2
| | | | | | | Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. llvm-svn: 34293
* simplify this code by using value::takenameChris Lattner2007-02-111-8/+5
| | | | llvm-svn: 34172
* For PR411:Reid Spencer2007-02-051-87/+99
| | | | | | | | | | This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. llvm-svn: 33918
OpenPOWER on IntegriCloud