hanchenye-llvm-project/llvm/lib/VMCore
John McCall 4b7a8d68ae Add a new function attribute, nonlazybind, which inhibits lazy-loading
optimizations when emitting calls to the function;  instead those calls may
use faster relocations which require the function to be immediately resolved
upon loading the dynamic object featuring the call.  This is useful when it
is known that the function will be called frequently and pervasively and
therefore there is no merit in delaying binding of the function.

Currently only implemented for x86-64, where it turns into a call through
the global offset table.

Patch by Dan Gohman, who assures me that he's going to add LangRef documentation
for this once it's committed.

llvm-svn: 133080
2011-06-15 20:36:13 +00:00
..
AsmWriter.cpp Teach the .ll parser to handle named metadata with non-simple names. 2011-06-15 06:37:58 +00:00
Attributes.cpp Add a new function attribute, nonlazybind, which inhibits lazy-loading 2011-06-15 20:36:13 +00:00
AutoUpgrade.cpp Add one more argument to the prefetch intrinsic to indicate whether it's a data 2011-06-14 04:58:37 +00:00
BasicBlock.cpp Revert r129235 pending a vetting of the EH rewrite. 2011-04-10 23:18:04 +00:00
CMakeLists.txt remove StandardPasses, it has been replaced with PassManagerBuilder 2011-05-22 00:30:45 +00:00
ConstantFold.cpp Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
ConstantFold.h Remove casts between Value** and Constant**, which won't work if a 2011-01-14 08:07:43 +00:00
Constants.cpp Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
ConstantsContext.h PR9214: Convert ConstantExpr::getIndices() to return an ArrayRef, plus 2011-04-13 15:22:40 +00:00
Core.cpp PR9214: Convert Metadata API to use ArrayRef. 2011-04-21 19:59:31 +00:00
DebugInfoProbe.cpp Clear list of instructions without DebugLoc. 2011-05-23 17:34:18 +00:00
DebugLoc.cpp PR9214: Convert Metadata API to use ArrayRef. 2011-04-21 19:59:31 +00:00
Dominators.cpp Spruce up the error output. 2011-03-29 04:28:26 +00:00
Function.cpp add a helper method to get the byval alignment of an argument. 2011-05-22 23:57:23 +00:00
GVMaterializer.cpp Kill ModuleProvider and ghost linkage by inverting the relationship between 2010-01-27 20:34:15 +00:00
Globals.cpp hoist GlobalValue::removeDeadConstantUsers up to being a method on Constant. 2011-02-18 04:41:42 +00:00
IRBuilder.cpp Add CreateLifetimeStart and CreateLifetimeEnd to the IRBuilder, with plans to 2011-05-21 23:14:36 +00:00
InlineAsm.cpp Another possible bug. Stopgap until we can autogenerate tables and 2011-06-03 22:09:12 +00:00
Instruction.cpp AttrListPtr has an overloaded operator== which does this for us, we should use 2011-01-26 09:23:19 +00:00
Instructions.cpp Now that SrcBits and DestBits always represent the primitive size, rather 2011-05-18 10:59:25 +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 Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +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 PR9214: Convert Metadata API to use ArrayRef. 2011-04-21 19:59:31 +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 Basic PassManager diagnostics. 2011-06-03 00:48:58 +00:00
PassRegistry.cpp Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
PrintModulePass.cpp Now with fewer extraneous semicolons! 2010-10-07 22:25:06 +00:00
SymbolTableListTraitsImpl.h
Type.cpp Make codegen able to handle values of empty types. This is one way 2011-05-13 15:18:06 +00:00
TypeSymbolTable.cpp Fix -Wcast-qual warnings. 2010-04-19 15:42:05 +00:00
TypesContext.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Use.cpp Remove useless Tag enumeration. 2011-01-17 15:18:06 +00:00
User.cpp Simplify User::operator delete(). 2011-01-26 21:56:10 +00:00
Value.cpp teach Value::isDereferenceablePointer that byval arguments are always 2011-01-23 21:15:29 +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 Add a minor missing -verify check. Found by inspection. 2011-05-31 20:12:07 +00:00