llvm-project/llvm/lib/VMCore
Rafael Espindola 45e6c195d7 First step in fixing PR8927:
Add a unnamed_addr bit to global variables and functions. This will be used
to indicate that the address is not significant and therefore the constant
or function can be merged with others.

If an optimization pass can show that an address is not used, it can set this.

Examples of things that can have this set by the FE are globals created to
hold string literals and C++ constructors.

Adding unnamed_addr to a non-const global should have no effect unless
an optimization can transform that global into a constant.

Aliases are not allowed to have unnamed_addr since I couldn't figure
out any use for it.

llvm-svn: 123063
2011-01-08 16:42:36 +00:00
..
AsmWriter.cpp First step in fixing PR8927: 2011-01-08 16:42:36 +00:00
Attributes.cpp Merge System into Support. 2010-11-29 18:16:10 +00:00
AutoUpgrade.cpp The pshufw instruction came about in MMX2 when SSE was introduced. Don't place 2010-10-04 20:24:01 +00:00
BasicBlock.cpp Now that hasConstantValue has been made simpler, it may return the 2010-11-17 10:23:23 +00:00
CMakeLists.txt Build with RTTI and exceptions disabled. Only in GCC for now. 2010-10-17 02:26:16 +00:00
ConstantFold.cpp fix PR8867: a crash handling fp128. Thanks to Nick for the testcase. 2010-12-29 01:33:36 +00:00
ConstantFold.h eliminate a bunch of pointless LLVMContext arguments. 2010-02-01 20:48:08 +00:00
Constants.cpp Apparently APFloat::getZero doesn't like PPCDoubleDoubles. 2010-12-04 14:43:08 +00:00
ConstantsContext.h remove unions from LLVM IR. They are severely buggy and not 2010-08-28 04:09:24 +00:00
Core.cpp MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
DebugLoc.cpp rename NewDebugLoc -> DebugLoc, prune #includes in DebugLoc.h. 2010-04-02 20:21:22 +00:00
Dominators.cpp split dom frontier handling stuff out to its own DominanceFrontier header, 2011-01-02 22:09:33 +00:00
Function.cpp Remove the code from Function::dropAllReferences which replaced 2010-12-07 19:56:51 +00:00
GVMaterializer.cpp Kill ModuleProvider and ghost linkage by inverting the relationship between 2010-01-27 20:34:15 +00:00
Globals.cpp Make GlobalValue alignment consistent with load, store, and alloca 2010-07-28 20:56:48 +00:00
IRBuilder.cpp add methods to IRBuilder to create memcpy/memset/memmove. 2010-12-26 22:49:25 +00:00
InlineAsm.cpp Apply patch for use-after-free in InlineAsm constant handling, 2010-11-02 17:59:27 +00:00
Instruction.cpp There is no need for isAssociative to take the type as an argument anymore. 2010-12-20 13:10:23 +00:00
Instructions.cpp Simplify the allocation and freeing of Users' operand lists, now that 2011-01-07 20:29:02 +00:00
IntrinsicInst.cpp warmup ritual: use high-level argument accessors 2010-06-22 19:46:37 +00:00
LLVMContext.cpp Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
LLVMContextImpl.cpp More SmallVectorImpls. 2010-10-12 00:15:27 +00:00
LLVMContextImpl.h now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the 2010-11-17 08:13:01 +00:00
LeakDetector.cpp Merge System into Support. 2010-11-29 18:16:10 +00:00
LeaksContext.h Fix a bunch of namespace polution. 2010-04-15 17:08:50 +00:00
Makefile Enable RTTI again. While this works fine for LLVM, it creates an ABI 2010-04-14 05:51:59 +00:00
Metadata.cpp When an MDNode changes to become identical to another MDNode, 2010-09-28 22:07:19 +00:00
Module.cpp Clarify the ownership model of LLVMContext and Module. Namely, contexts own 2010-09-08 18:03:32 +00:00
Pass.cpp Another step towards getting rid of static ctors for pass registration: have INITIALIZE_PASS AND INITIALIZE_AG_PASS 2010-10-05 22:58:16 +00:00
PassManager.cpp Merge System into Support. 2010-11-29 18:16:10 +00:00
PassRegistry.cpp Silence a warning from non-standard warning avoidance code. 2011-01-05 21:50:21 +00:00
PrintModulePass.cpp Now with fewer extraneous semicolons! 2010-10-07 22:25:06 +00:00
SymbolTableListTraitsImpl.h Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
Type.cpp Change all self assignments X=X to (void)X, so that we can turn on a 2010-12-23 00:58:24 +00:00
TypeSymbolTable.cpp Fix -Wcast-qual warnings. 2010-04-19 15:42:05 +00:00
TypesContext.h Change all self assignments X=X to (void)X, so that we can turn on a 2010-12-23 00:58:24 +00:00
Use.cpp Simplify the allocation and freeing of Users' operand lists, now that 2011-01-07 20:29:02 +00:00
Value.cpp Change all self assignments X=X to (void)X, so that we can turn on a 2010-12-23 00:58:24 +00:00
ValueSymbolTable.cpp Make NamedMDNode not be a subclass of Value, and simplify the interface 2010-07-21 23:38:33 +00:00
ValueTypes.cpp rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for 2010-12-21 02:38:05 +00:00
Verifier.cpp First step in fixing PR8927: 2011-01-08 16:42:36 +00:00