summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/LLVMContext.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename "fpaccuracy" metadata to the more generic "fpmath". That's because I'mDuncan Sands2012-04-141-3/+3
| | | | | | | | | thinking of generalizing it to be able to specify other freedoms beyond accuracy (such as that NaN's don't have to be respected). I'd like the 3.1 release (the first one with this metadata) to have the more generic name already rather than having to auto-upgrade it in 3.2. llvm-svn: 154744
* First part of PR12251. Add documentation and verifier support for the rangeRafael Espindola2012-03-241-0/+5
| | | | | | metadata. llvm-svn: 153359
* generalize LLVMContext::emitError to take a twine instead of a StringRef.Chris Lattner2012-01-031-3/+3
| | | | llvm-svn: 147501
* Add a pinned metadata name for fpaccuracy, and document itPeter Collingbourne2011-10-271-0/+5
| | | | llvm-svn: 143135
* Make SMDiagnostic a little more sane. Instead of passing around ↵Chris Lattner2011-10-161-1/+1
| | | | | | | | note/warning/error as a string, pass it around as an enum. llvm-svn: 142107
* Introduce "expect" intrinsic instructions.Jakub Staszak2011-07-061-0/+4
| | | | llvm-svn: 134516
* Add missing standard headers. Patch by Joerg Sonnenberger!Nick Lewycky2010-12-191-0/+1
| | | | llvm-svn: 122193
* Add missing std:: prefixes to some calls. C++ doesn't require that <cfoo>Nick Lewycky2010-12-191-2/+2
| | | | | | | headers provide symbols outside namespace std and the LLVM coding standards state that we should prefix all of them. llvm-svn: 122192
* Remove trailing whitespace.Bob Wilson2010-12-171-7/+6
| | | | llvm-svn: 122099
* now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate theChris Lattner2010-11-171-5/+6
| | | | | | | | 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/+8
| | | | | | | | | | | 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
* 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
* Add support for remapping metadata kind IDs when reading in aDan Gohman2010-07-201-8/+5
| | | | | | | | | | | | | 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/+38
| | | | | | | | | | | | | | | | | | | | | | | | 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-2/+17
| | | | llvm-svn: 100506
* Fix a major source of compile-time slowness at -O0 -g by optimizingChris Lattner2010-03-301-1/+5
| | | | | | | | | | | | | | 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
* move some method definitions to files that make sense.Chris Lattner2010-03-301-11/+40
| | | | llvm-svn: 99927
* Final step in the metadata API restructuring: move the Chris Lattner2009-12-291-5/+0
| | | | | | | | 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
* prune some #includesChris Lattner2009-12-281-1/+0
| | | | llvm-svn: 92212
* Derive metadata hierarchy from Value instead of User.Devang Patel2009-10-211-26/+0
| | | | llvm-svn: 84801
* s/class Metadata/class MetadataContext/gDevang Patel2009-09-281-1/+1
| | | | llvm-svn: 83019
* Add llvm::Metadata to manage metadata used in a context. Devang Patel2009-09-161-0/+4
| | | | | | This interface will be used to attach metadata with an instruction. llvm-svn: 82060
* While replacing an MDNode elment, properly update MDNode's operand list. Devang Patel2009-09-041-3/+4
| | | | | | MDNode's operand list does not include all elements. llvm-svn: 81045
* Use WeakVH to hold dead mdnodes. Check use_empty() before deleting a node.Devang Patel2009-09-031-5/+7
| | | | llvm-svn: 80928
* Now Bitcode reader bug is fixed. Reapply 80839.Devang Patel2009-09-031-4/+5
| | | | | | | | Use CallbackVH, instead of WeakVH, to hold MDNode elements. Use FoldingSetNode to unique MDNodes in a context. Use CallbackVH hooks to update context's MDNodeSet appropriately. llvm-svn: 80868
* Revert 80839 for now. It causes test failures.Devang Patel2009-09-021-5/+4
| | | | llvm-svn: 80841
* Use CallbackVH, instead of WeakVH, to hold MDNode elements. Devang Patel2009-09-021-4/+5
| | | | | | | Use FoldingSetNode to unique MDNodes in a context. Use CallbackVH hooks to update context's MDNodeSet appropriately. llvm-svn: 80839
* For now disable MDNode uniquing. This fixes llvm-gcc bootstrap failure on ↵Devang Patel2009-09-011-4/+4
| | | | | | certain Mac OS X 10.5. I am working on a proper fix. llvm-svn: 80738
* Actually privatize a IntegerTypes, and fix a few bugs exposed by this.Owen Anderson2009-08-131-1/+1
| | | | llvm-svn: 78955
* Make LLVMContext and LLVMContextImpl classes instead of structs.Benjamin Kramer2009-08-111-1/+1
| | | | llvm-svn: 78690
* Tidy #includes.Dan Gohman2009-08-111-3/+0
| | | | llvm-svn: 78677
* Remove dead metadata.Devang Patel2009-08-111-0/+25
| | | | llvm-svn: 78651
* Factor some of the constants+context related code out into a separate ↵Owen Anderson2009-08-041-2/+15
| | | | | | | | header, to make LLVMContextImpl.h not hideous. Also, fix some MSVC compile errors. llvm-svn: 78115
* Move the metadata constructors back to 2.5 syntax.Owen Anderson2009-07-311-18/+0
| | | | llvm-svn: 77733
* Move a few more APIs back to 2.5 forms. The only remaining ones left to ↵Owen Anderson2009-07-311-43/+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-13/+0
| | | | llvm-svn: 77685
* Move more code back to 2.5 APIs.Owen Anderson2009-07-301-21/+2
| | | | llvm-svn: 77635
* Move types back to the 2.5 API.Owen Anderson2009-07-291-83/+0
| | | | llvm-svn: 77516
* Move ConstantExpr to 2.5 API.Owen Anderson2009-07-291-264/+0
| | | | llvm-svn: 77494
* Rename MDNode.h header. It defines MDnode and other metadata classes.Devang Patel2009-07-281-1/+1
| | | | | | New name is Metadata.h. llvm-svn: 77370
* Return ConstantVector to 2.5 API.Owen Anderson2009-07-281-22/+1
| | | | llvm-svn: 77366
* Change ConstantArray to 2.5 API.Owen Anderson2009-07-281-45/+0
| | | | llvm-svn: 77347
* Move ConstantStruct back to 2.5 API.Owen Anderson2009-07-271-32/+0
| | | | llvm-svn: 77266
* Add a comment about the "getelementptr null" trick.Dan Gohman2009-07-271-0/+1
| | | | llvm-svn: 77262
* Move ConstantFP construction back to the 2.5-ish API.Owen Anderson2009-07-271-66/+8
| | | | llvm-svn: 77247
* Finish migrating VMCore to StringRef/Twine based APIs.Daniel Dunbar2009-07-251-8/+4
| | | | llvm-svn: 77051
* Revert the ConstantInt constructors back to their 2.5 forms where possible, ↵Owen Anderson2009-07-241-52/+7
| | | | | | thanks to contexts-on-types. More to come. llvm-svn: 77011
* Privatize the ConstantVector tables.Owen Anderson2009-07-241-1/+5
| | | | llvm-svn: 76922
* Privatize the ConstantStruct table.Owen Anderson2009-07-231-1/+10
| | | | llvm-svn: 76912
* MDStringDevang Patel2009-07-231-3/+3
| | | | | | | - Rename member function size(). New name is length(). - Store string beginning and length. Earlier it used to store string end. llvm-svn: 76841
OpenPOWER on IntegriCloud