aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/ShadowStackGC.cpp
AgeCommit message (Collapse)AuthorFilesLines
2010-06-25use ArgOperand API and CallSite to access arguments of CallInstGabor Greif1-6/+8
llvm-svn: 106829
2010-04-20use abstract accessors to CallInstGabor Greif1-1/+1
llvm-svn: 101899
2010-04-16Revert 101465, it broke internal OpenGL testing.Eric Christopher1-7/+7
Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
2010-04-16reapply r101434Gabor Greif1-7/+7
with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
2010-04-16back out r101423 and r101397, they break llvm-gcc self-host on darwin10Gabor Greif1-7/+7
llvm-svn: 101434
2010-04-15reapply r101364, which has been backed out in r101368Gabor Greif1-7/+7
with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101397
2010-04-15back out r101364, as it trips the linux nightlybot on some clang C++ testsGabor Greif1-7/+7
llvm-svn: 101368
2010-04-15rotate CallInst operands, i.e. move callee to the backGabor Greif1-7/+7
of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101364
2009-10-25Remove includes of Support/Compiler.h that are no longer needed after theNick Lewycky1-1/+0
VISIBILITY_HIDDEN removal. llvm-svn: 85043
2009-10-25Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.Nick Lewycky1-2/+2
Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
2009-10-06Introduce and use convenience methods for getting pointer typesDuncan Sands1-1/+1
where the element is of a basic builtin type. For example, to get an i8* use getInt8PtrTy. llvm-svn: 83379
2009-09-19Remove the default value for ConstantStruct::get's isPacked parameter andNick Lewycky1-2/+3
update the code which was broken by this. llvm-svn: 82327
2009-08-13Actually privatize a IntegerTypes, and fix a few bugs exposed by this.Owen Anderson1-1/+1
llvm-svn: 78955
2009-08-13Push LLVMContexts through the IntegerType APIs.Owen Anderson1-14/+19
llvm-svn: 78948
2009-08-05Privatize the StructType table, which unfortunately involves routing ↵Owen Anderson1-5/+5
contexts through a number of APIs. llvm-svn: 78258
2009-07-31Move a few more APIs back to 2.5 forms. The only remaining ones left to ↵Owen Anderson1-2/+2
change back are metadata related, which I'm waiting on to avoid conflicting with Devang. llvm-svn: 77721
2009-07-29Move types back to the 2.5 API.Owen Anderson1-3/+1
llvm-svn: 77516
2009-07-29Move ConstantExpr to 2.5 API.Owen Anderson1-1/+1
llvm-svn: 77494
2009-07-28Change ConstantArray to 2.5 API.Owen Anderson1-1/+1
llvm-svn: 77347
2009-07-27Move ConstantStruct back to 2.5 API.Owen Anderson1-2/+2
llvm-svn: 77266
2009-07-24Revert the ConstantInt constructors back to their 2.5 forms where possible, ↵Owen Anderson1-9/+9
thanks to contexts-on-types. More to come. llvm-svn: 77011
2009-07-22Get rid of the Pass+Context magic.Owen Anderson1-20/+20
llvm-svn: 76702
2009-07-14Move EVER MORE stuff over to LLVMContext.Owen Anderson1-24/+32
llvm-svn: 75703
2009-07-13Begin the painful process of tearing apart the rat'ss nest that is ↵Owen Anderson1-2/+2
Constants.cpp and ConstantFold.cpp. This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's the only way I could figure out to make this process vaguely incremental. llvm-svn: 75445
2009-07-08Push LLVMContext _back_ through IRBuilder.Owen Anderson1-1/+1
llvm-svn: 75040
2009-07-08Switch GlobalVariable ctors to a sane API, where *either* a context or a ↵Owen Anderson1-5/+4
module is required. llvm-svn: 75025
2009-07-08Push LLVMContext through GlobalVariables and IRBuilder.Owen Anderson1-2/+2
llvm-svn: 74985
2009-03-07Introduce new linkage types linkonce_odr, weak_odr, common_odrDuncan Sands1-2/+2
and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing. llvm-svn: 66339
2009-01-16Registry.h should not depend on CommandLine.h.Mikhail Glushenkov1-0/+1
Split Support/Registry.h into two files so that we have less to recompile every time CommandLine.h is changed. llvm-svn: 62312
2009-01-16Delete trailing whitespace.Mikhail Glushenkov1-64/+64
llvm-svn: 62307
2008-09-25 Large mechanical patch.Devang Patel1-1/+1
s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. llvm-svn: 56622
2008-08-17Rename some GC classes so that their roll will hopefully be clearer.Gordon Henriksen1-26/+23
In particular, Collector was confusing to implementors. Several thought that this compile-time class was the place to implement their runtime GC heap. Of course, it doesn't even exist at runtime. Specifically, the renames are: Collector -> GCStrategy CollectorMetadata -> GCFunctionInfo CollectorModuleMetadata -> GCModuleInfo CollectorRegistry -> GCRegistry Function::getCollector -> getGC (setGC, hasGC, clearGC) Several accessors and nested types have also been renamed to be consistent. These changes should be obvious. llvm-svn: 54899
2008-08-17Factor GC metadata table assembly generation out of Collector in preparation ↵Gordon Henriksen1-0/+441
for splitting AsmPrinter into its own library. llvm-svn: 54881