aboutsummaryrefslogtreecommitdiffstats
path: root/lib/AsmParser
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support for And, XOR, and OrChris Lattner2001-10-202-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@924 91177308-0d34-0410-b5e6-96231b3b80d8
* It is valid to have unsigned arrays as constants... the linker may ↵Chris Lattner2001-10-201-5/+0
| | | | | | initialize them later git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@923 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify some codeChris Lattner2001-10-162-29/+27
| | | | | | | | | | | | | | | | | | Remove Method special case Fix bug exposed by this testcase: implementation void "PtrFunc2"() begin bb1: %reg = add int(int)* null, null add int (int)* %reg, null ret void end git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@852 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ConstPoolPointerReference to ConstPoolPointerRef - My fingers get ↵Chris Lattner2001-10-151-5/+5
| | | | | | tired typing that much git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@822 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add support for forward references of global variable addressesChris Lattner2001-10-131-110/+283
| | | | | | | | | | | | * Add support for numeric global variable addresses * Clean up getVal function by refactoring it into several smaller functions * MethodTypes are now specified with an explicit isVarArg parameter * Break ValueRef into ConstValueRef & SymbolicValueRef components * Add support for the new Invoke instruction * Fix a few broken calls to Type::getName instead of Type::getDescription git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@758 91177308-0d34-0410-b5e6-96231b3b80d8
* Add operator< to ValID's so that they can be put in map'sChris Lattner2001-10-131-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@757 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove exception specificationChris Lattner2001-10-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@756 91177308-0d34-0410-b5e6-96231b3b80d8
* Support the new Invoke instructionChris Lattner2001-10-131-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@755 91177308-0d34-0410-b5e6-96231b3b80d8
* Add commentChris Lattner2001-10-031-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@712 91177308-0d34-0410-b5e6-96231b3b80d8
* Support multiple global's definitionsChris Lattner2001-10-031-23/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@711 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow duplicate constant values as long as they are compatible.Chris Lattner2001-10-031-36/+62
| | | | | | | Clean up stuff a little bit with inMethod/ModuleContext functions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@707 91177308-0d34-0410-b5e6-96231b3b80d8
* Add check to make sure that we dont reference MEthodType's directlyChris Lattner2001-10-031-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@704 91177308-0d34-0410-b5e6-96231b3b80d8
* * Both Method & GlobalVariable now subclass GlobalValueChris Lattner2001-10-032-13/+32
| | | | | | | | | * ConstPoolPointerReference now represents a pointer to a GlobalValue * Methods name references are now explicit pointers to methods * Rename Value::GlobalVal to Value::GlobalVariableVal to avoid confusion git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@703 91177308-0d34-0410-b5e6-96231b3b80d8
* First try at a horrible global value reference wrapperChris Lattner2001-10-031-19/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@701 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up parser, fix a bug that prevented this from working:Chris Lattner2001-10-031-66/+52
| | | | | | | | | | | | %ListNode3 = global %list { %list* null, int 4 } because %list is name and the parser expected a literal {..} type there. In addition, simplified rules that the fix (Allow any Types there, not just a StructType) made obsolete. Simplified type propogation a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@700 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add support for null as a constantChris Lattner2001-10-032-28/+59
| | | | | | | | | * Allow multiple definitions of a type with the same name as long as they are the same type * Eagerly resolve types to allow #2 to work instead of after the whole const pool has been processed * Change grammar to require a const before a local constant definition git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@699 91177308-0d34-0410-b5e6-96231b3b80d8
* Commit more code over to new cast styleChris Lattner2001-10-021-6/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert more code to use new style castsChris Lattner2001-10-011-4/+1
| | | | | | | Eliminate old style casts from value.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@696 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more support for new style castsChris Lattner2001-10-011-14/+10
| | | | | | | Convert more code to use them git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@695 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for new style castsChris Lattner2001-10-011-13/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@694 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement constant pointers, and null specifically in the parser, bytecode ↵Chris Lattner2001-09-303-35/+64
| | | | | | | | | writer, and bytecode reader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@668 91177308-0d34-0410-b5e6-96231b3b80d8
* Pull iterators out of CFG.h and CFGdecls and put them in Support directoryChris Lattner2001-09-281-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@664 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the unsized array constraintChris Lattner2001-09-181-5/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@599 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for global constants, and for initializers for constantsChris Lattner2001-09-182-32/+52
| | | | | | | Clean up parser somewhat by factoring out freeing of ID's into setname function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@597 91177308-0d34-0410-b5e6-96231b3b80d8
* Update to use correct type castChris Lattner2001-09-101-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@536 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement global variable supportChris Lattner2001-09-102-12/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@530 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add support for forward referencing typesChris Lattner2001-09-071-369/+501
| | | | | | | | | | * Add support for upreferences for recursive types * Remove support for ConstantPool.h * Add support for globally unique Constants * Add support for the opaque type git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@446 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for forward referencing typesChris Lattner2001-09-071-3/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@445 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for an opaque typeChris Lattner2001-09-071-19/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@444 91177308-0d34-0410-b5e6-96231b3b80d8
* * Enable the use of escaped literal stringsChris Lattner2001-07-283-63/+174
| | | | | | | | | | | | | | | | | * Unresolved variable names now have the correct line number for their error messages * Rename Def* to Value* * Check for symbol table collisions before inserting values * Remove the STRING keyword * Enable the use of string literals to initialize constant arrays * Enable the use of extended constants in more locations: eg ret [int] [4, 5] * Allow method prototypes to appear in the constant pool of the program * Support varargs methods better. Enable varargs methods with 0 fixed arguments * Allow the entire method prototype to optionally be specified in a call inst git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor some of the constant stuff so that we can return complex constantChris Lattner2001-07-262-70/+89
| | | | | | | values directly. This was causing test failures. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for extern varargs methods & varargs method callsChris Lattner2001-07-254-2185/+38
| | | | | | | Remove tool generated files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved inline/llvm/Tools/* to include/llvm/Support/*Chris Lattner2001-07-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dependence on command line library. Silly anyway.Chris Lattner2001-07-224-2441/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment.Chris Lattner2001-07-202-107/+111
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement forward/external declarations for methods. Also, emit an error if ↵Chris Lattner2001-07-154-696/+755
| | | | | | | | | a method is defined more than once, instead of crashing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support to the parser to recognize floating point constantsChris Lattner2001-07-156-810/+890
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188 91177308-0d34-0410-b5e6-96231b3b80d8
* Added some comments, preparing to add global variables and method prototypesChris Lattner2001-07-142-98/+117
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that types go in the constant pool if they are used.Chris Lattner2001-07-092-141/+199
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171 91177308-0d34-0410-b5e6-96231b3b80d8
* Implementation of Store & GetElementPtrChris Lattner2001-07-085-427/+463
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164 91177308-0d34-0410-b5e6-96231b3b80d8
* Implemented shl, shl, & load instructionsChris Lattner2001-07-085-681/+769
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved Cast from being a Unary instruction to being an "Other" instructionChris Lattner2001-07-085-94/+94
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160 91177308-0d34-0410-b5e6-96231b3b80d8
* Neg instruction removed. Cast instruction implemented.Chris Lattner2001-07-085-673/+682
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156 91177308-0d34-0410-b5e6-96231b3b80d8
* Broad superficial changes:Chris Lattner2001-07-071-1/+1
| | | | | | | | | | * Renamed getOpcode to getOpcodeName * Changed getOpcodeName to return a const char * instead of string * Added a getOpcode method to replace getInstType * Changed code to use getOpcode instead of getInstType git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed memory reference instructions to store the result as the implicitChris Lattner2001-07-073-41/+29
| | | | | | | type of the instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148 91177308-0d34-0410-b5e6-96231b3b80d8
* Miscellaneous cleanups:Chris Lattner2001-06-272-14/+14
| | | | | | | | | | | | * Convert post to pre-increment for for loops * Use generic programming more * Use new Value::cast* instructions * Use new Module, Method, & BasicBlock forwarding methods * Use new facilities in STLExtras.h * Use new Instruction::isPHINode() method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed get.*Operator to create seeing that it would have to be qualifiedChris Lattner2001-06-252-4/+4
| | | | | | | with the classname anyways. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74 91177308-0d34-0410-b5e6-96231b3b80d8
* Updates to supportChris Lattner2001-06-113-258/+305
| | | | | | | | * Changes in PHI node structure * Change to PHI syntax git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved getBinaryOperator to the BinaryOperator class and the getUnaryOperatorChris Lattner2001-06-082-4/+4
| | | | | | | to the UnaryOperator class (from the Instruction class). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial revisionChris Lattner2001-06-068-0/+5735
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8