Chris Lattner
fd8d5b852c
Replace all usages of Type::isPointerType with isa<PointerType>
...
llvm-svn: 2486
2002-05-06 16:15:30 +00:00
Chris Lattner
728a84e0f7
Remove dead code
...
llvm-svn: 2473
2002-05-06 03:03:09 +00:00
Chris Lattner
5369a645e6
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
8f309d920f
* 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
7af6cac869
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
9468519f34
Fix bug: test/Regression/Other/2002-04-29-NameBinding.ll
...
llvm-svn: 2402
2002-04-29 18:25:33 +00:00
Chris Lattner
96e0c48175
Eliminate duplicate or unneccesary #include's
...
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
4c9a3f11d3
Remove dead code
...
llvm-svn: 2390
2002-04-28 21:57:50 +00:00
Chris Lattner
74e29d9b61
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
78b786813b
* 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
164b766137
* 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
849c762b02
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
23379a852e
Implement TODO for better diagnostic output
...
llvm-svn: 1859
2002-03-11 22:12:39 +00:00
Chris Lattner
d9558891af
Fix bug: test/Regression/2002-03-08-NameCollision2.ll
...
llvm-svn: 1839
2002-03-08 19:11:42 +00:00
Chris Lattner
c49eff8d4b
Fix minor memory leak
...
llvm-svn: 1837
2002-03-08 18:57:56 +00:00
Chris Lattner
49c5f320ff
Fix for: test/Regression/Assembler/2002-03-08-NameCollision.ll
...
llvm-svn: 1836
2002-03-08 18:41:32 +00:00
Chris Lattner
3dc9a2a61f
Changes to build successfully with GCC 3.02
...
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
a1ba456c49
* 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
c4a5815033
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
f6b7da2bb5
Rename ConstPoolVal -> Constant
...
Rename ConstPool* -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
llvm-svn: 1407
2001-12-03 22:26:30 +00:00
Chris Lattner
bcf2df7058
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
463cc31132
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
2a1613d3b2
Implement support for internal methods
...
llvm-svn: 1373
2001-11-26 18:54:16 +00:00
Chris Lattner
a459583ba8
Implement array indexing with uints
...
llvm-svn: 1336
2001-11-26 16:54:11 +00:00
Chris Lattner
8573672b7f
Improve some debugging code
...
llvm-svn: 1088
2001-11-02 07:46:26 +00:00
Chris Lattner
92f2a6ec9a
Remove ugly subclass of Opaque type
...
llvm-svn: 936
2001-10-22 06:01:08 +00:00
Chris Lattner
ee608fe298
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
8acdb272f4
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
a5248f25c9
Fix bug caused by:
...
%list = type opaque
%list = type %list
llvm-svn: 931
2001-10-21 21:43:25 +00:00
Chris Lattner
03e692a51b
Add support for And, XOR, and Or
...
llvm-svn: 924
2001-10-20 09:32:59 +00:00
Chris Lattner
8c57784273
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
66ccdebe53
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
fd1ab08cba
Rename ConstPoolPointerReference to ConstPoolPointerRef - My fingers get tired typing that much
...
llvm-svn: 822
2001-10-15 13:21:42 +00:00
Chris Lattner
be0be88441
* 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
7a732d2a43
Add comment
...
llvm-svn: 712
2001-10-03 19:35:57 +00:00
Chris Lattner
4b2e88eac3
Support multiple global's definitions
...
llvm-svn: 711
2001-10-03 19:35:04 +00:00
Chris Lattner
db52bbed27
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
a6c7a3f199
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
a01eda3091
* 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
af910dda17
First try at a horrible global value reference wrapper
...
llvm-svn: 701
2001-10-03 06:12:09 +00:00
Chris Lattner
510a74e27d
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
77d303815e
* 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
08b1dde37e
Commit more code over to new cast style
...
llvm-svn: 697
2001-10-02 03:41:24 +00:00
Chris Lattner
4c684cde80
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
43781f1f96
Add support for new style casts
...
llvm-svn: 694
2001-10-01 16:18:37 +00:00
Chris Lattner
b77eae1b27
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
9b45b18404
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
e5750a063d
Remove the unsized array constraint
...
llvm-svn: 599
2001-09-18 04:38:32 +00:00
Chris Lattner
0dfd40e910
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
7310978a8b
Update to use correct type cast
...
llvm-svn: 536
2001-09-10 20:08:08 +00:00