summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/CloneModule.cpp
Commit message (Collapse)AuthorAgeFilesLines
* smallvectorize the list of returns built by CloneAndPruneFunctionInto.Chris Lattner2009-08-271-1/+1
| | | | llvm-svn: 80202
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-2/+2
| | | | llvm-svn: 76702
* Switch GlobalVariable ctors to a sane API, where *either* a context or a ↵Owen Anderson2009-07-081-2/+2
| | | | | | module is required. llvm-svn: 75025
* Push LLVMContext through GlobalVariables and IRBuilder.Owen Anderson2009-07-081-1/+2
| | | | llvm-svn: 74985
* More LLVMContext-ification.Owen Anderson2009-07-051-2/+3
| | | | llvm-svn: 74807
* Add a pointer to the owning LLVMContext to Module. This requires threading ↵Owen Anderson2009-07-011-1/+1
| | | | | | | | | | LLVMContext through a lot of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools. Patches for Clang and LLVM-GCC to follow. llvm-svn: 74614
* Don't drop alignment on globals when cloning.Nick Lewycky2008-10-091-5/+9
| | | | llvm-svn: 57320
* Factor code to copy global value attributes likeDuncan Sands2008-05-261-4/+1
| | | | | | | | | | | | | | | 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
* API changes for class Use size reduction, wave 1.Gabor Greif2008-04-061-2/+2
| | | | | | | | Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Adding a collector name attribute to Function in the IR. These Gordon Henriksen2007-12-101-0/+2
| | | | | | | | | | | | | | | | | | | | methods are new to Function: bool hasCollector() const; const std::string &getCollector() const; void setCollector(const std::string &); void clearCollector(); The assembly representation is as such: define void @f() gc "shadow-stack" { ... The implementation uses an on-the-side table to map Functions to collector names, such that there is no overhead. A StringPool is further used to unique collector names, which are extremely likely to be unique per process. llvm-svn: 44769
* Fix PR1146: parameter attributes are longer part ofDuncan Sands2007-11-271-2/+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
* Forget to commit users part of value mapper interfaceAnton Korobeynikov2007-11-091-1/+1
| | | | llvm-svn: 43940
* During module cloning copy aliases too. This fixes PR1544Anton Korobeynikov2007-07-101-0/+15
| | | | llvm-svn: 38505
* Implement the "thread_local" keyword.Lauro Ramos Venancio2007-04-121-0/+2
| | | | llvm-svn: 35950
* For PR411:Reid Spencer2007-02-051-1/+0
| | | | | | | | | | 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
* Switch inliner over to use DenseMap instead of std::map for ValueMap. ThisChris Lattner2007-02-031-3/+3
| | | | | | speeds up the inliner 16%. llvm-svn: 33801
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-1/+1
| | | | | | confusion with external linkage types. llvm-svn: 33663
* For PR761:Reid Spencer2007-01-261-2/+1
| | | | | | | The Module::setEndianness and Module::setPointerSize methods have been removed. Instead you can get/set the DataLayout. Adjust thise accordingly. llvm-svn: 33530
* For PR411:Reid Spencer2007-01-061-5/+5
| | | | | | | | | 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
* Add a CloneModule call that exposes the mapping of values from the old moduleChris Lattner2006-05-171-4/+8
| | | | | | to the new module. Patch provided by Nick Lewycky! llvm-svn: 28349
* rename methodChris Lattner2006-01-241-1/+1
| | | | llvm-svn: 25572
* When cloning a module, clone the inline asm.Chris Lattner2006-01-231-0/+1
| | | | llvm-svn: 25559
* Make sure that cloning a module clones its target triple and dependentChris Lattner2006-01-181-3/+7
| | | | | | library list as well. This should help bugpoint. llvm-svn: 25424
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-271-1/+1
| | | | llvm-svn: 22523
* wrap long lines, preserve calling conventions when cloning functions andChris Lattner2005-05-091-6/+13
| | | | | | turning calls into invokes llvm-svn: 21797
* Remove trailing whitespaceMisha Brukman2005-04-211-2/+2
| | | | llvm-svn: 21427
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-4/+4
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* Convert to SymbolTable's new iteration interface.Reid Spencer2004-05-251-5/+7
| | | | llvm-svn: 13754
* Finegrainify namespacificationChris Lattner2004-01-091-5/+2
| | | | llvm-svn: 10727
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* 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. llvm-svn: 9298
* Fix spelling.Misha Brukman2003-10-101-1/+1
| | | | llvm-svn: 9027
* Make sure that the cloned module retains the type symbol table entries!Chris Lattner2003-04-241-0/+9
| | | | llvm-svn: 5894
* Make sure to preserve endiannes and pointer size when cloning modules!Chris Lattner2003-04-241-0/+2
| | | | llvm-svn: 5892
* Preserve the new moduleID fieldChris Lattner2003-04-221-1/+1
| | | | llvm-svn: 5835
* Add new linkage types to support a real frontendChris Lattner2003-04-161-7/+6
| | | | llvm-svn: 5786
* Initial checkin of Module cloning support stuffChris Lattner2002-11-201-0/+73
llvm-svn: 4788
OpenPOWER on IntegriCloud