summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Archive/Archive.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move all of the header files which are involved in modelling the LLVM IRChandler Carruth2013-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. llvm-svn: 171366
* Use the new script to sort the includes of every file under lib.Chandler Carruth2012-12-031-1/+2
| | | | | | | | | | | | | | | | | Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
* UnRevert "Revert the archive part of "Support/PathV2: Add identify_magic.""Michael J. Spencer2011-01-161-3/+2
| | | | | | This reverts commit dd103021a889a986a181ce36ed7b0e8dc9b645e1. llvm-svn: 123595
* Revert the archive part of "Support/PathV2: Add identify_magic."Michael J. Spencer2011-01-161-2/+3
| | | | llvm-svn: 123593
* Support/PathV2: Add identify_magic.Michael J. Spencer2011-01-151-3/+2
| | | | llvm-svn: 123548
* Fix Whitespace.Michael J. Spencer2011-01-101-11/+11
| | | | llvm-svn: 123152
* Support/Path: Deprecate PathV1::exists and replace all uses with ↵Michael J. Spencer2011-01-101-2/+4
| | | | | | PathV2::fs::exists. llvm-svn: 123151
* MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> ↵Michael J. Spencer2010-12-161-8/+6
| | | | | | via an out parm. llvm-svn: 121958
* Support/MemoryBuffer: Replace all uses of std::string *ErrMsg with ↵Michael J. Spencer2010-12-091-4/+11
| | | | | | error_code &ec. And fix clients. llvm-svn: 121379
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120298
* Don't write into MemoryBuffers.Benjamin Kramer2010-04-191-3/+2
| | | | llvm-svn: 101783
* Fix -Wcast-qual warnings.Dan Gohman2010-04-191-1/+1
| | | | llvm-svn: 101779
* Kill ModuleProvider and ghost linkage by inverting the relationship betweenJeffrey Yasskin2010-01-271-29/+14
| | | | | | | | | | | | | | | | | | | | | Modules and ModuleProviders. Because the "ModuleProvider" simply materializes GlobalValues now, and doesn't provide modules, it's renamed to "GVMaterializer". Code that used to need a ModuleProvider to materialize Functions can now materialize the Functions directly. Functions no longer use a magic linkage to record that they're materializable; they simply ask the GVMaterializer. Because the C ABI must never change, we can't remove LLVMModuleProviderRef or the functions that refer to it. Instead, because Module now exposes the same functionality ModuleProvider used to, we store a Module* in any LLVMModuleProviderRef and translate in the wrapper methods. The bindings to other languages still use the ModuleProvider concept. It would probably be worth some time to update them to follow the C++ more closely, but I don't intend to do it. Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735. llvm-svn: 94686
* Prune #includes from llvm/Linker.h and llvm/System/Path.h,Chris Lattner2009-08-231-8/+8
| | | | | | | | | | | | | | | | | | forcing them down into various .cpp files. This change also: 1. Renames TimeValue::toString() and Path::toString() to ::str() for similarity with the STL. 2. Removes all stream insertion support for sys::Path, forcing clients to call .str(). 3. Removes a use of Config/alloca.h from bugpoint, using smallvector instead. 4. Weans llvm-db off <iostream> sys::Path really needs to be gutted, but I don't have the desire to do it at this point. llvm-svn: 79869
* Fix some non-sensical code.Daniel Dunbar2009-07-131-1/+4
| | | | | | - This makes it more like other similar code in Archive handling. llvm-svn: 75452
* Make the use of const with respect to LLVMContext sane. Hopefully this is ↵Owen Anderson2009-07-011-3/+3
| | | | | | | | the last time, for the moment, that I will need to make far-reaching changes. llvm-svn: 74655
* Hold the LLVMContext by reference rather than by pointer.Owen Anderson2009-07-011-3/+3
| | | | llvm-svn: 74640
* Add a pointer to the owning LLVMContext to Module. This requires threading ↵Owen Anderson2009-07-011-4/+6
| | | | | | | | | | 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
* Add the private linkage.Rafael Espindola2009-01-151-2/+2
| | | | llvm-svn: 62279
* Fold the useful features of alist and alist_node into ilist, andDan Gohman2008-07-281-2/+2
| | | | | | | | | | | | | | | | a new ilist_node class, and remove them. Unlike alist_node, ilist_node doesn't attempt to manage storage itself, so it avoids the associated problems, including being opaque in gdb. Adjust the Recycler class so that it doesn't depend on alist_node. Also, change it to use explicit Size and Align parameters, allowing it to work when the largest-sized node doesn't have the greatest alignment requirement. Change MachineInstr's MachineMemOperand list from a pool-backed alist to a std::list for now. llvm-svn: 54146
* Change the MemoryBuffer::getFile* methods to take just a pointer to theChris Lattner2008-04-011-3/+2
| | | | | | | | start of a filename, not a filename+length. All clients can produce a null terminated name, and the system api's require null terminated strings anyway. llvm-svn: 49041
* change the archive stuff to use MemoryBuffer instead of mappedfile.Chris Lattner2008-04-011-14/+7
| | | | | | | MemoryBuffer is higher level and more closely matches the model needed. llvm-svn: 49029
* Remove MappedFile support for mapping files for write and execChris Lattner2008-04-011-1/+1
| | | | | | | and shared. This complicates the design, is not used, and probably doesn't even work. llvm-svn: 49022
* add missing #includesChris Lattner2008-04-011-0/+1
| | | | llvm-svn: 49020
* Fix thinko: alias always defines new symbol. Even is aliasee itself is ↵Anton Korobeynikov2008-03-111-4/+2
| | | | | | undefined. llvm-svn: 48203
* Add alias with non-external aliasee to the list of exported symbols of the ↵Anton Korobeynikov2008-03-041-1/+10
| | | | | | library. llvm-svn: 47899
* Unbreak build with gcc 4.3: provide missed includes and silence most ↵Anton Korobeynikov2008-02-201-0/+2
| | | | | | annoying warnings. llvm-svn: 47367
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* eliminate residual cruft related to recognizing bytecodeGabor Greif2007-07-061-8/+1
| | | | | | | files. bitcode files are the only LLVM format left. llvm-svn: 37945
* Here is the bulk of the sanitizing.Gabor Greif2007-07-051-8/+8
| | | | | | Almost all occurrences of "bytecode" in the sources have been eliminated. llvm-svn: 37913
* adjust this to live in lib/ArchiveChris Lattner2007-05-061-0/+271
llvm-svn: 36886
OpenPOWER on IntegriCloud