- Apr 25, 2014
-
-
Craig Topper authored
llvm-svn: 207196
-
- Jan 02, 2013
-
-
Chandler Carruth authored
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
-
- Dec 03, 2012
-
-
Chandler Carruth authored
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
-
- Nov 27, 2012
-
-
Bill Wendling authored
The dependent libraries feature was never used and has bit-rotted. Remove it. llvm-svn: 168694
-
- Jun 23, 2012
-
-
Hans Wennborg authored
This allows the user/front-end to specify a model that is better than what LLVM would choose by default. For example, a variable might be declared as @x = thread_local(initialexec) global i32 42 if it will not be used in a shared library that is dlopen'ed. If the specified model isn't supported by the target, or if LLVM can make a better choice, a different model may be used. llvm-svn: 159077
-
- Aug 15, 2011
-
-
Eli Friedman authored
llvm-svn: 137654
-
- Jul 09, 2011
-
-
Chris Lattner authored
patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deletions(-) Removing almost 3K lines of code is a good thing. Other advantages include: 1. Value::getType() is a simple load that can be CSE'd, not a mutating union-find operation. 2. Types a uniqued and never move once created, defining away PATypeHolder. 3. Structs can be "named" now, and their name is part of the identity that uniques them. This means that the compiler doesn't merge them structurally which makes the IR much less confusing. 4. Now that there is no way to get a cycle in a type graph without a named struct type, "upreferences" go away. 5. Type refinement is completely gone, which should make LTO much MUCH faster in some common cases with C++ code. 6. Types are now generally immutable, so we can use "Type *" instead "const Type *" everywhere. Downsides of this patch are that it removes some functions from the C API, so people using those will have to upgrade to (not yet added) new API. "LLVM 3.0" is the right time to do this. There are still some cleanups pending after this, this patch is large enough as-is. llvm-svn: 134829
-
- Jan 08, 2011
-
-
Chris Lattner authored
1. Take a flags argument instead of a bool. This makes it more clear to the reader what it is used for. 2. Add a flag that says that "remapping a value not in the map is ok". 3. Reimplement MapValue to share a bunch of code and be a lot more efficient. For lookup failures, don't drop null values into the map. 4. Using the new flag a bunch of code can vaporize in LinkModules and LoopUnswitch, kill it. No functionality change. llvm-svn: 123058
-
- Aug 26, 2010
-
-
Dan Gohman authored
fix: add a flag to MapValue and friends which indicates whether any module-level mappings are being made. In the common case of inlining, no module-level mappings are needed, so MapValue doesn't need to examine non-function-local metadata, which can be very expensive in the case of a large module with really deep metadata (e.g. a large C++ program compiled with -g). This flag is a little awkward; perhaps eventually it can be moved into the ClonedCodeInfo class. llvm-svn: 112190
-
Daniel Dunbar authored
individual ...", which depends on r111922, which I am reverting. llvm-svn: 112157
-
- Aug 25, 2010
-
-
Dan Gohman authored
instructions, not when remapping modules. llvm-svn: 112091
-
- Aug 24, 2010
-
-
Dan Gohman authored
which does the same thing. This eliminates redundant code and handles MDNodes better. MDNode linking still doesn't fully work yet though. llvm-svn: 111941
-
- Jul 22, 2010
-
-
Dan Gohman authored
for creating and populating NamedMDNodes. llvm-svn: 109061
-
- Jun 24, 2010
-
-
Devang Patel authored
llvm-svn: 106699
-
Devang Patel authored
Do not use "ValueMap" as a name for a local variable or an argument. llvm-svn: 106698
-
- Jun 23, 2010
-
-
Devang Patel authored
llvm-svn: 106591
-
- Jun 22, 2010
-
-
Devang Patel authored
Reapply Bob's patch. llvm-svn: 106560
-
Bob Wilson authored
--- Reverse-merging r106508 into '.': U lib/Transforms/Utils/CloneModule.cpp llvm-svn: 106521
-
Bob Wilson authored
llvm-svn: 106508
-
- Apr 21, 2010
-
-
Devang Patel authored
llvm-svn: 101949
-
- Oct 25, 2009
-
-
Dan Gohman authored
llvm-svn: 85020
-
- Aug 27, 2009
-
-
Chris Lattner authored
llvm-svn: 80202
-
- Jul 22, 2009
-
-
Owen Anderson authored
llvm-svn: 76702
-
- Jul 08, 2009
-
-
Owen Anderson authored
llvm-svn: 75025
-
Owen Anderson authored
llvm-svn: 74985
-
- Jul 06, 2009
-
-
Owen Anderson authored
llvm-svn: 74807
-
- Jul 01, 2009
-
-
Owen Anderson authored
Add a pointer to the owning LLVMContext to Module. This requires threading 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
-
- Oct 09, 2008
-
-
Nick Lewycky authored
llvm-svn: 57320
-
- May 26, 2008
-
-
Duncan Sands authored
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
-
- Apr 06, 2008
-
-
Gabor Greif authored
Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Dec 10, 2007
-
-
Gordon Henriksen authored
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
-
- Nov 27, 2007
-
-
Duncan Sands authored
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
-
- Nov 09, 2007
-
-
Anton Korobeynikov authored
llvm-svn: 43940
-
- Jul 10, 2007
-
-
Anton Korobeynikov authored
llvm-svn: 38505
-
- Apr 12, 2007
-
-
Lauro Ramos Venancio authored
llvm-svn: 35950
-
- Feb 05, 2007
-
-
Reid Spencer authored
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
-
- Feb 03, 2007
-
-
Chris Lattner authored
speeds up the inliner 16%. llvm-svn: 33801
-
- Jan 30, 2007
-
-
Reid Spencer authored
confusion with external linkage types. llvm-svn: 33663
-
- Jan 26, 2007
-
-
Reid Spencer authored
The Module::setEndianness and Module::setPointerSize methods have been removed. Instead you can get/set the DataLayout. Adjust thise accordingly. llvm-svn: 33530
-