summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm/LLVMContext.h
Commit message (Collapse)AuthorAgeFilesLines
* Introduce "expect" intrinsic instructions.Jakub Staszak2011-07-061-1/+2
| | | | llvm-svn: 134516
* now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate theChris Lattner2010-11-171-5/+11
| | | | | | | | cookie argument to the SourceMgr diagnostic stuff. This cleanly separates LLVMContext's inlineasm handler from the sourcemgr error handling definition, increasing type safety and cleaning things up. llvm-svn: 119486
* Remove the experimental AliasAnalysis::getDependency interface, whichDan Gohman2010-09-141-1/+2
| | | | | | | | | | | isn't a good level of abstraction for memdep. Instead, generalize AliasAnalysis::alias and related interfaces with a new Location class for describing a memory location. For now, this is the same Pointer and Size as before, plus an additional field for a TBAA tag. Also, introduce a fixed MD_tbaa metadata tag kind. llvm-svn: 113858
* Move private member functions to the end of the class declaration.Owen Anderson2010-09-081-14/+15
| | | | llvm-svn: 113385
* Make module ownership methods on LLVMContext private, and make Module a friendOwen Anderson2010-09-081-5/+8
| | | | | | so that it can access them. These are not intended to be externally accessible APIs. llvm-svn: 113380
* Clarify the ownership model of LLVMContext and Module. Namely, contexts ownOwen Anderson2010-09-081-0/+8
| | | | | | | modules are instantiated in them. If the context is deleted, all of its owned modules are also deleted. llvm-svn: 113374
* Remove an obsolete comment.Dan Gohman2010-07-201-2/+1
| | | | llvm-svn: 108940
* Add support for remapping metadata kind IDs when reading in aDan Gohman2010-07-201-1/+1
| | | | | | | | | | | | | bitcode file, so that two bitcode files where the same metadata kind name happens to have been assigned a different ID can still be linked together. Eliminate the restriction that metadata kind IDs can't be 0. Change MD_dbg from 1 to 0, because we can now, and because it's less mysterious that way. llvm-svn: 108939
* introduce a new recoverable error handling API to LLVMContextChris Lattner2010-04-071-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | and use it in one place in inline asm handling stuff. Before we'd generate this for an invalid modifier letter: $ clang asm.c -c -o t.o fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}' INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1> Now we generate this: $ clang asm.c -c -o t.o error: invalid operand in inline asm: 'incl ${0:Z}' asm.c:3:12: note: generated from here __asm__ ("incl %Z0" : "+r" (X)); ^ 1 error generated. This is much better but still admittedly not great ("why" is the operand invalid??), codegen should try harder with its diagnostics :) llvm-svn: 100723
* give LLVMContext an inline asm diagnostic hook member.Chris Lattner2010-04-061-0/+18
| | | | llvm-svn: 100506
* Fix a major source of compile-time slowness at -O0 -g by optimizingChris Lattner2010-03-301-0/+6
| | | | | | | | | | | | | | the storage of !dbg metadata kinds in the instruction themselves. The on-the-side hash table works great for metadata that not-all instructions get, or for metadata that only exists when optimizing. But when compile-time is everything, it isn't great. I'm not super thrilled with the fact that this plops a TrackingVH in Instruction, because it grows it by 3 words. I'm investigating alternatives, but this should be a step in the right direction in any case. llvm-svn: 99957
* Final step in the metadata API restructuring: move the Chris Lattner2009-12-291-5/+15
| | | | | | | | getMDKindID/getMDKindNames methods to LLVMContext (and add convenience methods to Module), eliminating MetadataContext. Move the state that it maintains out to LLVMContext. llvm-svn: 92259
* Derive metadata hierarchy from Value instead of User.Devang Patel2009-10-211-1/+0
| | | | llvm-svn: 84801
* Make LLVMContext's pImpl member const.Dan Gohman2009-10-061-1/+3
| | | | llvm-svn: 83393
* s/class Metadata/class MetadataContext/gDevang Patel2009-09-281-2/+2
| | | | llvm-svn: 83019
* Add llvm::Metadata to manage metadata used in a context. Devang Patel2009-09-161-1/+2
| | | | | | This interface will be used to attach metadata with an instruction. llvm-svn: 82060
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-0/+3
| | | | llvm-svn: 78948
* Make LLVMContext and LLVMContextImpl classes instead of structs.Benjamin Kramer2009-08-111-2/+3
| | | | llvm-svn: 78690
* Tidy #includes.Dan Gohman2009-08-111-4/+0
| | | | llvm-svn: 78677
* Remove dead metadata.Devang Patel2009-08-111-1/+1
| | | | llvm-svn: 78651
* Remove unused forward decls.Benjamin Kramer2009-08-051-24/+0
| | | | llvm-svn: 78187
* Factor some of the constants+context related code out into a separate ↵Owen Anderson2009-08-041-1/+1
| | | | | | | | header, to make LLVMContextImpl.h not hideous. Also, fix some MSVC compile errors. llvm-svn: 78115
* Privatize the last bit of Constant-creation state.Owen Anderson2009-08-041-13/+1
| | | | llvm-svn: 78097
* Privatize all but one of the remaining constant tables.Owen Anderson2009-07-311-0/+3
| | | | llvm-svn: 77748
* Move the metadata constructors back to 2.5 syntax.Owen Anderson2009-07-311-11/+2
| | | | llvm-svn: 77733
* Move a few more APIs back to 2.5 forms. The only remaining ones left to ↵Owen Anderson2009-07-311-8/+0
| | | | | | | | change back are metadata related, which I'm waiting on to avoid conflicting with Devang. llvm-svn: 77721
* Move getTrue() and getFalse() to 2.5-like APIs.Owen Anderson2009-07-311-4/+0
| | | | llvm-svn: 77685
* Move more code back to 2.5 APIs.Owen Anderson2009-07-301-11/+2
| | | | llvm-svn: 77635
* Move types back to the 2.5 API.Owen Anderson2009-07-291-34/+0
| | | | llvm-svn: 77516
* Move ConstantExpr to 2.5 API.Owen Anderson2009-07-291-76/+0
| | | | llvm-svn: 77494
* Return ConstantVector to 2.5 API.Owen Anderson2009-07-281-7/+1
| | | | llvm-svn: 77366
* Change ConstantArray to 2.5 API.Owen Anderson2009-07-281-20/+1
| | | | llvm-svn: 77347
* Move ConstantStruct back to 2.5 API.Owen Anderson2009-07-271-11/+1
| | | | llvm-svn: 77266
* Move ConstantFP construction back to the 2.5-ish API.Owen Anderson2009-07-271-15/+1
| | | | llvm-svn: 77247
* Finish migrating VMCore to StringRef/Twine based APIs.Daniel Dunbar2009-07-251-16/+16
| | | | llvm-svn: 77051
* Revert the ConstantInt constructors back to their 2.5 forms where possible, ↵Owen Anderson2009-07-241-30/+2
| | | | | | thanks to contexts-on-types. More to come. llvm-svn: 77011
* Privatize the ConstantVector tables.Owen Anderson2009-07-241-0/+1
| | | | llvm-svn: 76922
* Privatize the ConstantStruct table.Owen Anderson2009-07-231-0/+3
| | | | llvm-svn: 76912
* MDStringDevang Patel2009-07-231-1/+1
| | | | | | | - Rename member function size(). New name is length(). - Store string beginning and length. Earlier it used to store string end. llvm-svn: 76841
* Privatize the ConstantArray table.Owen Anderson2009-07-211-0/+6
| | | | llvm-svn: 76639
* Privatize the first of the value maps.Owen Anderson2009-07-211-0/+1
| | | | llvm-svn: 76634
* Rename getConstantInt{True|False} to get{True|False} at Chris' behest.Owen Anderson2009-07-211-2/+2
| | | | llvm-svn: 76598
* Privatize the MDNode uniquing table.Owen Anderson2009-07-161-0/+1
| | | | llvm-svn: 76126
* Privatize the MDString uniquing table.Owen Anderson2009-07-161-0/+3
| | | | llvm-svn: 76113
* Move the ConstantInt uniquing table into LLVMContextImpl. This exposed a ↵Owen Anderson2009-07-161-0/+2
| | | | | | | | number of issues in our current context-passing stuff, which is also fixed here llvm-svn: 76089
* Move EVER MORE stuff over to LLVMContext.Owen Anderson2009-07-141-0/+28
| | | | llvm-svn: 75703
* Move a bit more functionality to LLVMContext, which apparently wasn't being ↵Owen Anderson2009-07-131-0/+5
| | | | | | used anyways. llvm-svn: 75546
* Move more functionality over to LLVMContext.Owen Anderson2009-07-131-2/+4
| | | | llvm-svn: 75497
* Begin the painful process of tearing apart the rat'ss nest that is ↵Owen Anderson2009-07-131-0/+14
| | | | | | | | | 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
* This started as a small change, I swear. Unfortunately, lots of things call ↵Owen Anderson2009-07-091-0/+4
| | | | | | the [I|F]CmpInst constructors. Who knew!? llvm-svn: 75200
OpenPOWER on IntegriCloud