summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Linker/LinkModules.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Fix some comments and other minor sundry things.Reid Spencer2007-02-041-12/+13
| | | | llvm-svn: 33873
* Ensure that visibility and section are properly propagated.Reid Spencer2007-02-041-9/+8
| | | | llvm-svn: 33872
* Back out last revision which was committed by accident.Reid Spencer2007-02-041-101/+85
| | | | llvm-svn: 33871
* Make sure that section and visibility are properly propagated.Reid Spencer2007-02-041-85/+101
| | | | llvm-svn: 33870
* preserve sections of globalsAndrew Lenharth2007-02-011-1/+10
| | | | llvm-svn: 33756
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-10/+10
| | | | | | confusion with external linkage types. llvm-svn: 33663
* Read from the right place.Chris Lattner2007-01-291-1/+1
| | | | llvm-svn: 33611
* Fix PR1139Chris Lattner2007-01-291-17/+24
| | | | llvm-svn: 33610
* For PR761:Reid Spencer2007-01-261-8/+14
| | | | | | | The Module::setEndianness and Module::setPointerSize methods have been removed. Instead you can get/set the DataLayout. Adjust thise accordingly. llvm-svn: 33530
* For PR1064:Reid Spencer2007-01-121-1/+7
| | | | | | | | | | | | | | | | | | | | | | | Implement the arbitrary bit-width integer feature. The feature allows integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 16, 32, and 64 bit integers. This change does several things: 1. Introduces a new Derived Type, IntegerType, to represent the number of bits in an integer. The Type classes SubclassData field is used to store the number of bits. This allows 2^23 bits in an integer type. 2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and 64-bit integers. These are replaced with just IntegerType which is not a primitive any more. 3. Adjust the rest of LLVM to account for this change. Note that while this incremental change lays the foundation for arbitrary bit-width integers, LLVM has not yet been converted to actually deal with them in any significant way. Most optimization passes, for example, will still only deal with the byte-width integer types. Future increments will rectify this situation. llvm-svn: 33113
* For PR411:Reid Spencer2007-01-061-18/+22
| | | | | | | | | Take an incremental step towards type plane elimination. This change separates types from values in the symbol tables by finally making use of the TypeSymbolTable class. This yields more natural interfaces for dealing with types and unclutters the SymbolTable class. llvm-svn: 32956
* extern_weak linkage. fixes PR1038Andrew Lenharth2006-12-151-1/+5
| | | | llvm-svn: 32603
* Change inferred getCast into specific getCast. Passes all tests.Reid Spencer2006-12-121-6/+6
| | | | llvm-svn: 32469
* Don't use <sstream> in Streams.h but <iosfwd> instead.Bill Wendling2006-12-071-0/+1
| | | | llvm-svn: 32340
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-9/+8
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Introducing external weak linkage. Darwin codegen should be added later.Anton Korobeynikov2006-12-011-12/+24
| | | | llvm-svn: 32052
* Removed #include <iostream> and replaced with llvm_* streams.Bill Wendling2006-11-271-9/+9
| | | | llvm-svn: 31936
* silence warningsChris Lattner2006-11-091-2/+2
| | | | llvm-svn: 31587
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-141-11/+31
| | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374
* eliminate some ugly code, using ConstantExpr::getWithOperands instead.Chris Lattner2006-07-141-51/+4
| | | | llvm-svn: 29149
* Fix Regression/Linker/2006-06-15-GlobalVarAnment.llChris Lattner2006-06-161-5/+18
| | | | llvm-svn: 28812
* Fix linking of inline asm objects.Chris Lattner2006-06-011-5/+9
| | | | llvm-svn: 28640
* Add shufflevector supportChris Lattner2006-04-081-0/+6
| | | | llvm-svn: 27515
* Add code to RemapOperand() to handle Instruction::ExtractElement andEvan Cheng2006-04-071-0/+12
| | | | | | Instruction::InsertElement. llvm-svn: 27477
* Rename methodChris Lattner2006-01-241-4/+5
| | | | llvm-svn: 25571
* Add support for linking inline asmChris Lattner2006-01-231-0/+7
| | | | llvm-svn: 25560
* add support for ConstantPacked to the linkerChris Lattner2006-01-191-0/+5
| | | | llvm-svn: 25467
* Fix test/Regression/Linker/2005-12-06-AppendingZeroLengthArrays.ll andChris Lattner2005-12-061-0/+2
| | | | | | | PR662. Thanks to Markus for providing me with a ton of files to reproduce the problem! llvm-svn: 24619
* For PR495:Reid Spencer2005-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 22349
* Preserve CC's when linking modulesChris Lattner2005-05-091-0/+1
| | | | llvm-svn: 21799
* Remove trailing whitespaceMisha Brukman2005-04-211-18/+18
| | | | llvm-svn: 21422
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-6/+6
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* Eliminate silly warnings from the linker of the form:Chris Lattner2005-02-191-12/+0
| | | | | | | WARNING: Type conflict between types named 'union.._604.'. Src=' %union.._604.'. Dest=' %union.._604.' llvm-svn: 20252
* Allow globals to be of different const'nesses when we link.Chris Lattner2005-02-121-8/+2
| | | | | | | This finally resolves PR502, PR450, and test/Regression/Linker/2005-02-12-ConstantGlobals{,-2}.ll correctly llvm-svn: 20135
* Make LinkModules a static member functionReid Spencer2004-12-131-1/+2
| | | | llvm-svn: 18859
* Make sure to link the target-triple as well, so it ends up in the .llvm.bc fileChris Lattner2004-12-101-1/+6
| | | | llvm-svn: 18774
* Revert this disgusting hack, John has a much nicer solutionChris Lattner2004-12-081-23/+0
| | | | llvm-svn: 18611
* Add a disgusting hack to work around a libstdc++ issue. This code shouldChris Lattner2004-12-081-0/+23
| | | | | | be removed when PR400 is resolved. llvm-svn: 18610
* Fix linkage of mismatched weak globals. This unbreaks 300.twolfChris Lattner2004-12-041-0/+2
| | | | llvm-svn: 18494
* Significantly rework linker support for global variables, allowing it toChris Lattner2004-12-031-84/+101
| | | | | | | | | 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. llvm-svn: 18465
* Remove blank comment lines for uniformity.Reid Spencer2004-11-251-25/+2
| | | | | | Make sure lines don't exceed 80 cols. llvm-svn: 18242
* Don't increment a dead iteratorChris Lattner2004-11-161-3/+2
| | | | llvm-svn: 17904
* Simplify the remapper by only needing one map, since the body of the functionsChris Lattner2004-11-161-43/+31
| | | | | | being linked do not need to be remapped any longer. llvm-svn: 17900
* Take advantage of the fact that we are allowed to clobber the input moduleChris Lattner2004-11-161-26/+8
| | | | | | | | | | | | | | by splicing function bodies from the src module to the destination module. This speeds up linking quite a bit, e.g. gccld time on 176.gcc from 26s -> 20s when forming the .rbc file, with a profile build. One of the really strange but cool effects of this patch is that it speeds up the optimizers as well, from 12s -> 10.7s, presumably because of better locality??? In any case, this is just a first step. We can trivially get rid of the LocalMap now and do other simplifications. llvm-svn: 17893
* The second arg may be clobbered by this functionChris Lattner2004-11-161-1/+1
| | | | llvm-svn: 17880
* Linker.h moved to include/llvm from include/llvm/Support.Reid Spencer2004-11-141-2/+1
| | | | llvm-svn: 17807
* This file originated in lib/VMCore/Linker.cpp but now lives inReid Spencer2004-11-121-0/+956
lib/Linker/LinkModules.cpp llvm-svn: 17694
OpenPOWER on IntegriCloud