Chris Lattner
e244a25014
Fix major bugs in type resolution
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1092 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-03 03:27:53 +00:00
Chris Lattner
2d3e8bba62
Add extra code for debugging linker problems
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1091 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-03 03:27:29 +00:00
Chris Lattner
3b1e3f45c0
Dramatically simplify recursive type processing. Fixed a few bugs, a few still remain :(
...
Why does this stuff have to come up NOW?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1089 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-02 07:51:31 +00:00
Chris Lattner
35d64564c8
Implement new simpler constructors for if you don't have a index list
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1081 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 05:58:42 +00:00
Chris Lattner
76ac1a45b4
Implement constant propogation of null pointer values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1078 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 05:55:13 +00:00
Chris Lattner
37aabf28b3
Implemented constant propogation of cast instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1064 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 05:07:57 +00:00
Chris Lattner
e51e03b3c6
Initial version of GCC cleanup pass: just removes extraneous global symbol table entries for types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1062 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:33:19 +00:00
Chris Lattner
55fd998ce7
Initialize isRecursive. Found by Purify
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1043 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 16:39:16 +00:00
Chris Lattner
43a6f2e332
Pull method symbols over when linking. Otherwise the result of the link will appear stripped
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1033 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:55:41 +00:00
Chris Lattner
7b8660d72f
Fix blatent bugs in checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1032 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:40:32 +00:00
Chris Lattner
207b5bc6a1
Expose the WriteTypeSymbolic function from the library. Refactor code to make
...
this function explicit. Cause WriteAsOperand to use symbolic types as available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1031 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:37:48 +00:00
Chris Lattner
c182499645
Be careful to output symbolic type name if possible for a type. This makes
...
debugging the Olden/health benchmark actually possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1029 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:05:51 +00:00
Chris Lattner
b97d98ec7c
Remove C string capability from VMCore library. Move to Support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1021 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 13:27:09 +00:00
Chris Lattner
2301a070f6
Remove non linking related stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1015 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 22:43:06 +00:00
Vikram S. Adve
c750c29f28
Support printing control characters in standard C/assembly style,
...
if you specify useCSyntax = true. The old style is still the default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1011 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 21:48:05 +00:00
Vikram S. Adve
9466f5113b
Added name-mangling routines for future use.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1003 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 21:38:02 +00:00
Chris Lattner
008f906afd
Two things:
...
1. Forward propogate a loaded constant to make debugging slightly less annoying
2. Fix an extremely nasty hard to find bug that really irritated me for the better
part of 6 hours and was causing linking to die and bizarre and mysterious ways.
Things should be much more stable now that this one liner has been fixed. GRR
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@971 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-24 05:12:04 +00:00
Chris Lattner
c2d774b6c1
Fix problem linking in a method prototype when a method body exists
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@965 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-23 20:43:42 +00:00
Chris Lattner
2172ca1bab
Remove unnamed prototypes that are created.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@964 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-23 15:30:18 +00:00
Chris Lattner
e638c10cb0
More symbol table bugfixes that are impossible to track down. Goody
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@960 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-23 02:32:45 +00:00
Chris Lattner
5855f0db2a
Allow unresolved/opaque types to be read and written to bytecode files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@959 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-23 01:53:22 +00:00
Vikram S. Adve
7db933d513
Delete MachineCodeInfoForMethod object.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@956 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-22 22:32:11 +00:00
Chris Lattner
c895294762
Fix a problem occuring with type unification of symbol table entries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@955 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-22 21:59:46 +00:00
Vikram S. Adve
ac0ec47957
Added MachineCodeForMethod object in class Method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@949 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-22 13:52:47 +00:00
Chris Lattner
9245fc75a4
Fix bug exposed by this testcase:
...
declare int "call_operand" (%rtx_def*, int) ;; Prototype for: call_operand
declare int "restore_operand" (%rtx_def*, int) ;; Prototype for: restore_operand
%rtx_def = type opaque
%rtx_def = type int
implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@934 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-22 04:55:44 +00:00
Chris Lattner
bfabd8877d
Fix erroneous assertion failure on the following code:
...
declare int "malloc"(...)
...
%reg112 = call int (...) * %malloc( uint %cast1007 )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@932 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-21 21:54:51 +00:00
Chris Lattner
f434cd1b30
Fix shift printing when using a ubyte LHS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@925 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-20 09:33:10 +00:00
Chris Lattner
2b3c925d02
It is valid to have unsigned arrays as constants... the linker may initialize them later
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@923 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-20 06:43:05 +00:00
Chris Lattner
c18545dc9e
Rename ConstPoolPointerReference to ConstPoolPointerRef - My fingers get tired typing that much
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@822 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 13:21:42 +00:00
Chris Lattner
8d2de8a82c
Implement linking of global variable constant references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@817 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 03:12:52 +00:00
Chris Lattner
6bb46cdf27
Oops, didn't handle hex values correctly. :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@815 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 00:05:03 +00:00
Chris Lattner
c5bdb247e4
* Fix the constpoolarray -> c"" printing routines to escape things properly
...
* Fix slightly broken sharing problems
* Do not escape the literal string passed in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@814 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:54:12 +00:00
Chris Lattner
5c377c524a
Implement linker. It's 95% working now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@810 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:29:15 +00:00
Vikram S. Adve
db2da49d76
Added routine to create a char array for a string.
...
Also, print char arrays as strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@799 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:17:20 +00:00
Chris Lattner
52f7e908cb
Start of a linker
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@775 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:03:50 +00:00
Chris Lattner
49ad898e33
Implement the invoke instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@774 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:01:45 +00:00
Chris Lattner
56c5acbe96
* Fix a nefarious bugs: TypesEqual was wrong for varargs methods
...
* MethodType::get now takes a literal isVarArg method argument
* Use new style casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@773 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:01:33 +00:00
Chris Lattner
762a2418a1
Convert a runtime check into an assertion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@772 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:58:56 +00:00
Chris Lattner
dd6dfbc8cc
* Add support for Module specific constants
...
* Add proper support for ConstPoolPointerReference's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@771 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:58:40 +00:00
Chris Lattner
b1726accb2
Add new TerminatorInst ctor for invoke
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@770 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:57:47 +00:00
Chris Lattner
f5ec48d7b5
* Fix TODO
...
* Support ConstPoolPOinterReferences correctly
* New constPoolPointerNull subclass
* Add classof support for more classes
* Add proper support for ConstPoolPointerReference::getStrValue()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@769 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:57:33 +00:00
Chris Lattner
01bad7fbda
not is a keyword in ansi C++, avoid it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@763 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:51:26 +00:00
Chris Lattner
e02fa8551d
* Support writing GlobalVariables with info comments by them
...
* Print out prototypes correctly in cases that we weren't before
* Use new style casts more
* Support printing new invoke instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@759 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:42:36 +00:00
Chris Lattner
f1fef65157
Support pointers to globals happily
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@754 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:35:09 +00:00
Chris Lattner
0b693fb125
not is a keyword in Ansi C++. Avoid it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@748 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:30:39 +00:00
Chris Lattner
4387370c1c
Factor parentness out of Module & GlobalVariable into GlobalValue
...
Implement SymbolTable debug/dump utility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@710 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 19:28:15 +00:00
Chris Lattner
6a57baa295
Rename getNullPointer to getNull
...
Allow sharing of null pointer constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@709 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 15:39:36 +00:00
Chris Lattner
ef9c23f281
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@703 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 14:53:21 +00:00
Chris Lattner
f4ba6c710c
First try at a horrible global value reference wrapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@701 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 06:12:09 +00:00
Chris Lattner
b00c582b6d
Commit more code over to new cast style
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-02 03:41:24 +00:00