summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser/LLParser.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Consolidate ConvertGlobalValIDToValue, ConvertGlobalOrMetadataValIDToValue, ↵Victor Hernandez2010-01-111-4/+1
| | | | | | and ConvertValIDToValue into a more powerful ConvertValIDToValue() that does all three's work llvm-svn: 93197
* Compute isFunctionLocal in MDNode ctor or via argument in new function ↵Victor Hernandez2010-01-101-4/+2
| | | | | | | | getWhenValsUnresolved(). Document PFS argument to ParseValID() and ConvertGlobalOrMetadataValIDToValue(). llvm-svn: 93108
* When parsing function-local metadata, create a function-local MDNodeVictor Hernandez2010-01-061-2/+4
| | | | llvm-svn: 92838
* Re-add parsing of function-local metadata; this time with testcase.Victor Hernandez2010-01-051-11/+10
| | | | llvm-svn: 92793
* now that instruction metadata is only parsed in one place, eliminate theChris Lattner2009-12-301-2/+2
| | | | | | | parser-global MDsOnInst vector and make ParseInstructionMetadata return its result by-ref through an argument like the entire rest of the parser. llvm-svn: 92302
* reimplement ParseOptionalInfo as ParseOptionalCommaAlign, correctlyChris Lattner2009-12-301-4/+4
| | | | | | handle the comma case for metadata. llvm-svn: 92301
* rename ParseOptionalCustomMetadata -> ParseInstructionMetadata,Chris Lattner2009-12-301-1/+1
| | | | | | | and make it non-optional. This fixes the bug where we'd accept and ignore a spurious comma after some instructions. llvm-svn: 92300
* convert 4 more instructions over.Chris Lattner2009-12-301-4/+4
| | | | llvm-svn: 92299
* add facilities to start factoring instruction metadata parsingChris Lattner2009-12-301-4/+6
| | | | | | out of each opcode's handler. Change ret over so far. llvm-svn: 92298
* reimplement insertvalue/extractvalue metadata handling to not blindly Chris Lattner2009-12-301-1/+8
| | | | | | accept invalid input. Actually add a testcase. llvm-svn: 92297
* rename MetadataCache -> NumberedMetadata to follow the conventionChris Lattner2009-12-301-2/+1
| | | | | | | used by other things. Convert it to a vector since it is a dense numbering. llvm-svn: 92293
* rewrite ParseMDNodeVector to follow the normal patter used in the .ll parser.Chris Lattner2009-12-301-0/+2
| | | | llvm-svn: 92292
* rename ParseMDNode -> ParseMDNodeID, since it parses !42, not !{... } as ↵Chris Lattner2009-12-301-1/+1
| | | | | | you'd expect. llvm-svn: 92291
* remove the code added in r90497. It has several major issues and no tests.Chris Lattner2009-12-301-2/+0
| | | | llvm-svn: 92288
* split t_Metadata into t_MDNode and t_MDString, eliminating some unsafe casting.Chris Lattner2009-12-301-2/+4
| | | | llvm-svn: 92287
* change ParseMDString and ParseMDNode to take arguments of the right type.Chris Lattner2009-12-291-2/+2
| | | | | | | This exposed a raft of other problems, which I'll deal with in subsequent patches. llvm-svn: 92273
* switch to TrackingVH instead of WeakVH, since these can neverChris Lattner2009-12-291-3/+3
| | | | | | | be RAUW'd and go to null. This also gets us some sorely lacking type safety. llvm-svn: 92272
* Metadata.h doesn't need to include ValueHandle.h anymore.Chris Lattner2009-12-281-0/+1
| | | | llvm-svn: 92211
* Add ParseInlineMetadata() which can parses metadata that refers to an ↵Victor Hernandez2009-12-031-1/+3
| | | | | | instruction. Extend ParseParameterList() to use this new function so that calls to llvm.dbg.declare can pass inline metadata llvm-svn: 90497
* Use WeakVH while storing metadata in containers.Devang Patel2009-11-051-2/+2
| | | | | | This fixes PR5393. llvm-svn: 86091
* full asmparser support for blockaddress. We can now do:Chris Lattner2009-10-281-4/+51
| | | | | | | | | $ llvm-as foo.ll -d -disable-output which reads and prints the .ll file. BC encoding is the next project. Testcase will go in once that works. llvm-svn: 85368
* rename indbr -> indirectbr to appease the residents of #llvm.Chris Lattner2009-10-281-1/+1
| | | | llvm-svn: 85351
* add enough support for indirect branch for the feature test to passChris Lattner2009-10-271-1/+8
| | | | | | | (assembler,asmprinter, bc reader+writer) and document it. Codegen currently aborts on it. llvm-svn: 85274
* Auto-upgrade free instructions to calls to the builtin free function.Victor Hernandez2009-10-241-1/+1
| | | | | | | Update all analysis passes and transforms to treat free calls just like FreeInst. Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised. llvm-svn: 84987
* Autoupgrade malloc insts to malloc calls.Victor Hernandez2009-10-171-2/+5
| | | | | | | | Update testcases that rely on malloc insts being present. Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step. llvm-svn: 84292
* Parse custom metadata attached with an instruction.Devang Patel2009-09-291-1/+1
| | | | llvm-svn: 83033
* Do not use global typedef for MDKindID.Devang Patel2009-09-281-1/+1
| | | | llvm-svn: 83016
* Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it ↵Victor Hernandez2009-09-251-5/+2
| | | | | | causes regressions in the nightly tests. llvm-svn: 82784
* Auto-upgrade malloc instructions to malloc calls.Victor Hernandez2009-09-241-2/+5
| | | | | | Reviewed by Devang Patel. llvm-svn: 82694
* Fix parsing of optional metadata for 'load', 'store' and 'alloc' instructions.Devang Patel2009-09-171-2/+3
| | | | llvm-svn: 82175
* Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.Sandeep Patel2009-09-021-1/+1
| | | | llvm-svn: 80773
* Extend the AsmWriter to print unnamed numbered types as "%0 = type ..."Dan Gohman2009-08-121-0/+1
| | | | | | | and unnamed numbered global variables as "@0 = global ...". Extend the AsmParser to recognize these forms. llvm-svn: 78859
* Parse named metadata.Devang Patel2009-07-291-0/+1
| | | | llvm-svn: 77410
* Derive MDNode from MetadataBase instead of Constant. Emit MDNodes into ↵Devang Patel2009-07-231-3/+3
| | | | | | METADATA_BLOCK in bitcode file. llvm-svn: 76834
* Introduce MetadataBase, a base class for MDString and MDNode.Devang Patel2009-07-221-1/+2
| | | | | | | Derive MDString directly from MetadataBase. Introduce new bitcode block to hold metadata. llvm-svn: 76759
* Refactor metadata parsing routines into separate functions.Devang Patel2009-07-201-0/+2
| | | | llvm-svn: 76455
* Support MDNode forward reference.Devang Patel2009-07-081-0/+2
| | | | llvm-svn: 75031
* Use LLVMContext in the LLLexer.Owen Anderson2009-07-071-1/+1
| | | | llvm-svn: 74934
* switch the .ll parser to use SourceMgr.Chris Lattner2009-07-021-2/+2
| | | | llvm-svn: 74735
* switch the .ll parser into SMDiagnostic.Chris Lattner2009-07-021-1/+1
| | | | llvm-svn: 74734
* Use LLVMContext for generating UndefValue constants too!Owen Anderson2009-07-021-0/+2
| | | | llvm-svn: 74703
* Try again at converting the LLParser to use LLVMContext, without massive ↵Owen Anderson2009-07-011-2/+4
| | | | | | breakage this time. llvm-svn: 74671
* --- Reverse-merging (from foreign repository) r74648 into '.':Bill Wendling2009-07-011-5/+2
| | | | | | | | | | | U include/llvm/LLVMContext.h U lib/VMCore/LLVMContext.cpp U lib/AsmParser/LLParser.cpp U lib/AsmParser/LLParser.h Temporarily reverting r74648. It was causing massive failures in release mode. llvm-svn: 74653
* Convert LLParser to use LLVMContext for creating constants.Owen Anderson2009-07-011-2/+5
| | | | llvm-svn: 74648
* Support stand alone metadata syntax.Devang Patel2009-07-011-1/+3
| | | | | | | !0 = constant metadata !{i32 21, i32 22} @llvm.blah = constant metadata !{i32 1000, i16 200, metadata !0} llvm-svn: 74630
* Make MDNode use CallbackVH. Also change MDNode to store Value* instead ofNick Lewycky2009-05-101-1/+1
| | | | | | | Constant* in preperation of a future change to support holding non-Constants in an MDNode. llvm-svn: 71407
* Add support for embedded metadata to LLVM. This introduces two new types ofNick Lewycky2009-04-041-0/+3
| | | | | | | | Constant, MDString and MDNode which can only be used by globals with a name that starts with "llvm." or as arguments to a function with the same naming restriction. llvm-svn: 68420
* Fix two classes of bugs. First:Chris Lattner2009-03-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | validate an invariant so that the asmparser rejects a bad construct instead of the verifier. Before: llvm-as: assembly parsed, but does not verify as correct! Invalid struct return type! i64 (%struct.Type*, %struct.Type*)* @foo after: llvm-as: t.ll:5:8: functions with 'sret' argument must return void define i64 @foo(%struct.Type* noalias nocapture sret %agg.result, %struct.Type* nocapture byval %t) nounwind { ^ Second, check that void is only used where allowed (in function return types) not in arbitrary places, fixing PR3747 - Crash in llvm-as with void field in struct. We now reject that example with: $ llvm-as t.ll llvm-as: t.ll:1:12: struct element can not have void type %x = type {void} ^ llvm-svn: 66394
* Reject PR3281:accepted03.ll with:Chris Lattner2009-01-051-1/+1
| | | | | | | | llvm-as: accepted03.ll:1:35: invalid unresolved type up reference declare void @r({ \7, opaque, \10 } %su) ^ llvm-svn: 61725
* Fix PR3281:crash08.ll with this diagnostic:Chris Lattner2009-01-051-1/+2
| | | | | | | | llvm-as: crash08.ll:3:15: invalid operand type for instruction "qp" = sdiv fp128 0x1, %30 ^ llvm-svn: 61684
OpenPOWER on IntegriCloud