Chris Lattner
1e1a9b4166
Allow open/closing curly braces instead of begin/end to define the body of a function
...
llvm-svn: 2451
2002-05-03 18:23:48 +00:00
Chris Lattner
18489fb61f
* Fix a bug (test/Regression/Assembler/2002-05-02-InvalidForwardRef.ll)
...
introduced in the 1.66 revision of this file.
* Convert a hard coded constant to a symbolic value.
llvm-svn: 2436
2002-05-02 19:27:42 +00:00
Chris Lattner
7b804d6195
The "implementation" is now allowed but not required by the parser. All type
...
definitions must still occur before function bodies, but the wierd keyword is
no longer neccesary.
llvm-svn: 2433
2002-05-02 19:11:13 +00:00
Chris Lattner
8cfc0d5f89
Fix bug: test/Regression/Other/2002-04-29-NameBinding.ll
...
llvm-svn: 2402
2002-04-29 18:25:33 +00:00
Chris Lattner
d5a847057b
Eliminate duplicate or unneccesary #include's
...
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
d0cfbae8c9
Remove dead code
...
llvm-svn: 2390
2002-04-28 21:57:50 +00:00
Chris Lattner
ae234e1868
Move FunctionArgument out of iOther.h into Argument.h and rename class to
...
be 'Argument' instead of FunctionArgument.
Rename some yacc type names to be more concise. Change jump table to use
a vector instead of a list.
llvm-svn: 2214
2002-04-09 19:41:42 +00:00
Chris Lattner
30752bd910
* Make PATypeHolder not take a type argument
...
* Eliminate by inlining the old newTH, newTH, and TypeDone functions
* OPAQUE is now just a token that gets returned by the lexer, not a type
Parser now creates type, not lexer
llvm-svn: 2104
2002-04-04 19:23:55 +00:00
Chris Lattner
041468ff3f
* Fix nondeleted type handle which could cause type pool corruption (and
...
a memory leak)
* Fix memory leak of Argument nodes on function prototypes
llvm-svn: 2065
2002-03-31 07:16:49 +00:00
Chris Lattner
57698e2c0b
Change references from Method to Function
...
change references from MethodARgument to FunctionArgument
llvm-svn: 1991
2002-03-26 18:01:55 +00:00
Chris Lattner
1a8ea8ae4f
Implement TODO for better diagnostic output
...
llvm-svn: 1859
2002-03-11 22:12:39 +00:00
Chris Lattner
108308aa91
Fix bug: test/Regression/2002-03-08-NameCollision2.ll
...
llvm-svn: 1839
2002-03-08 19:11:42 +00:00
Chris Lattner
f7bfab5624
Fix minor memory leak
...
llvm-svn: 1837
2002-03-08 18:57:56 +00:00
Chris Lattner
29f6709c3a
Fix for: test/Regression/Assembler/2002-03-08-NameCollision.ll
...
llvm-svn: 1836
2002-03-08 18:41:32 +00:00
Chris Lattner
7f74a56e24
Changes to build successfully with GCC 3.02
...
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
ef99d3c144
* Fix cases where we were calling Type->getName() instead of Type->getDescription()
...
* Remove unsized array support
* Malloc/alloca do not require that the first element be an unsized array to be an
array allocation
llvm-svn: 1458
2001-12-14 16:28:42 +00:00
Chris Lattner
2413b160ec
Renamed inst_const_iterator -> const_inst_iterator
...
Renamed op_const_iterator -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()
llvm-svn: 1408
2001-12-04 00:03:30 +00:00
Chris Lattner
3462ae3ad7
Rename ConstPoolVal -> Constant
...
Rename ConstPool* -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
llvm-svn: 1407
2001-12-03 22:26:30 +00:00
Chris Lattner
fb5ae02e1a
Split the PHINode class out from the iOther.h file into the iPHINode.h file
...
llvm-svn: 1405
2001-12-03 18:02:31 +00:00
Chris Lattner
5de2204fe8
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400
2001-11-27 00:03:19 +00:00
Chris Lattner
841d8b9e50
Implement support for internal methods
...
llvm-svn: 1373
2001-11-26 18:54:16 +00:00
Chris Lattner
476148f95a
Implement array indexing with uints
...
llvm-svn: 1336
2001-11-26 16:54:11 +00:00
Chris Lattner
f29b231c77
Improve some debugging code
...
llvm-svn: 1088
2001-11-02 07:46:26 +00:00
Chris Lattner
e6b470c3f1
Remove ugly subclass of Opaque type
...
llvm-svn: 936
2001-10-22 06:01:08 +00:00
Chris Lattner
d50fa5aa36
Fix bug with
...
%list = type {%list *}
%list = type {%list *}
not being accepted (broken testmisc.ll)
llvm-svn: 935
2001-10-22 05:56:09 +00:00
Chris Lattner
6265d798d4
Two changes:
...
1. Delete type handle regardless of whether a collision occured
2. Remove a MAJOR pessimization of runtime performance (thought be be an optimization at the time).
This second one was causing a 105k llvm file (from gcc) to parse in 58 seconds... without the
'optimization' it now parses in 3.64 seconds. I suck.
llvm-svn: 933
2001-10-21 23:02:41 +00:00
Chris Lattner
28a63e2972
Fix bug caused by:
...
%list = type opaque
%list = type %list
llvm-svn: 931
2001-10-21 21:43:25 +00:00
Chris Lattner
c27b1d7bf3
Add support for And, XOR, and Or
...
llvm-svn: 924
2001-10-20 09:32:59 +00:00
Chris Lattner
f96ef663e0
It is valid to have unsigned arrays as constants... the linker may initialize them later
...
llvm-svn: 923
2001-10-20 06:43:05 +00:00
Chris Lattner
322e49aa36
Simplify some code
...
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
llvm-svn: 852
2001-10-16 19:54:17 +00:00
Chris Lattner
162ed4d6cc
Rename ConstPoolPointerReference to ConstPoolPointerRef - My fingers get tired typing that much
...
llvm-svn: 822
2001-10-15 13:21:42 +00:00
Chris Lattner
f26e0d9ffe
* Add support for forward references of global variable addresses
...
* 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
llvm-svn: 758
2001-10-13 06:41:08 +00:00
Chris Lattner
78326d20c5
Add comment
...
llvm-svn: 712
2001-10-03 19:35:57 +00:00
Chris Lattner
e504b4395b
Support multiple global's definitions
...
llvm-svn: 711
2001-10-03 19:35:04 +00:00
Chris Lattner
fb3e54940b
Allow duplicate constant values as long as they are compatible.
...
Clean up stuff a little bit with inMethod/ModuleContext functions
llvm-svn: 707
2001-10-03 15:39:04 +00:00
Chris Lattner
28807801be
Add check to make sure that we dont reference MEthodType's directly
...
llvm-svn: 704
2001-10-03 14:59:05 +00:00
Chris Lattner
7fac070215
* Both Method & GlobalVariable now subclass GlobalValue
...
* 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
llvm-svn: 703
2001-10-03 14:53:21 +00:00
Chris Lattner
60e0dd78b2
First try at a horrible global value reference wrapper
...
llvm-svn: 701
2001-10-03 06:12:09 +00:00
Chris Lattner
e63ddd8df7
Clean up parser, fix a bug that prevented this from working:
...
%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.
llvm-svn: 700
2001-10-03 03:19:33 +00:00
Chris Lattner
571a6b07b6
* Add support for null as a constant
...
* 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
llvm-svn: 699
2001-10-03 01:49:25 +00:00
Chris Lattner
da55810666
Commit more code over to new cast style
...
llvm-svn: 697
2001-10-02 03:41:24 +00:00
Chris Lattner
8f19112923
Add more support for new style casts
...
Convert more code to use them
llvm-svn: 695
2001-10-01 18:26:53 +00:00
Chris Lattner
4b717c0edc
Add support for new style casts
...
llvm-svn: 694
2001-10-01 16:18:37 +00:00
Chris Lattner
fbdec250b3
Implement constant pointers, and null specifically in the parser, bytecode writer, and
...
bytecode reader.
llvm-svn: 668
2001-09-30 22:46:54 +00:00
Chris Lattner
bb09a10929
Pull iterators out of CFG.h and CFGdecls and put them in Support directory
...
llvm-svn: 664
2001-09-28 22:56:31 +00:00
Chris Lattner
e2c8d43e1d
Remove the unsized array constraint
...
llvm-svn: 599
2001-09-18 04:38:32 +00:00
Chris Lattner
7fb14f54f8
Add support for global constants, and for initializers for constants
...
Clean up parser somewhat by factoring out freeing of ID's into setname function
llvm-svn: 597
2001-09-18 04:00:54 +00:00
Chris Lattner
8ad45e8101
Update to use correct type cast
...
llvm-svn: 536
2001-09-10 20:08:08 +00:00
Chris Lattner
da9755002f
Implement global variable support
...
llvm-svn: 530
2001-09-10 07:58:01 +00:00
Chris Lattner
aa534bf195
* Add support for forward referencing types
...
* Add support for upreferences for recursive types
* Remove support for ConstantPool.h
* Add support for globally unique Constants
* Add support for the opaque type
llvm-svn: 446
2001-09-07 16:35:17 +00:00