1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
Commit Graph

183 Commits

Author SHA1 Message Date
Chris Lattner
896f34ccd0 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

llvm-svn: 971
2001-10-24 05:12:04 +00:00
Chris Lattner
861e84b114 Remove unnamed prototypes that are created.
llvm-svn: 964
2001-10-23 15:30:18 +00:00
Chris Lattner
db06de9f17 More symbol table bugfixes that are impossible to track down. Goody
llvm-svn: 960
2001-10-23 02:32:45 +00:00
Chris Lattner
0553612e11 Allow unresolved/opaque types to be read and written to bytecode files
llvm-svn: 959
2001-10-23 01:53:22 +00:00
Vikram S. Adve
c7301465ef Delete MachineCodeInfoForMethod object.
llvm-svn: 956
2001-10-22 22:32:11 +00:00
Chris Lattner
c1f107a673 Fix a problem occuring with type unification of symbol table entries
llvm-svn: 955
2001-10-22 21:59:46 +00:00
Vikram S. Adve
ce00fe69b0 Added MachineCodeForMethod object in class Method.
llvm-svn: 949
2001-10-22 13:52:47 +00:00
Chris Lattner
3495dd8b2f 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

llvm-svn: 934
2001-10-22 04:55:44 +00:00
Chris Lattner
b9dca5e2e6 Fix erroneous assertion failure on the following code:
declare int "malloc"(...)

...

%reg112 = call int (...) * %malloc( uint %cast1007 )

llvm-svn: 932
2001-10-21 21:54:51 +00:00
Chris Lattner
65647505e2 Fix shift printing when using a ubyte LHS
llvm-svn: 925
2001-10-20 09:33:10 +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
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
c65d902eee Oops, didn't handle hex values correctly. :(
llvm-svn: 815
2001-10-15 00:05:03 +00:00
Chris Lattner
fc567e1535 * Fix the constpoolarray -> c"" printing routines to escape things properly
* Fix slightly broken sharing problems
* Do not escape the literal string passed in

llvm-svn: 814
2001-10-14 23:54:12 +00:00
Vikram S. Adve
b14610286e Added routine to create a char array for a string.
Also, print char arrays as strings.

llvm-svn: 799
2001-10-14 23:17:20 +00:00
Chris Lattner
24d2022f4e Implement the invoke instruction
llvm-svn: 774
2001-10-13 07:01:45 +00:00
Chris Lattner
77672f99ab * Fix a nefarious bugs: TypesEqual was wrong for varargs methods
* MethodType::get now takes a literal isVarArg method argument
* Use new style casts

llvm-svn: 773
2001-10-13 07:01:33 +00:00
Chris Lattner
5df2c60a5f Convert a runtime check into an assertion
llvm-svn: 772
2001-10-13 06:58:56 +00:00
Chris Lattner
fe9768f73b * Add support for Module specific constants
* Add proper support for ConstPoolPointerReference's

llvm-svn: 771
2001-10-13 06:58:40 +00:00
Chris Lattner
28a5ef9c3d Add new TerminatorInst ctor for invoke
llvm-svn: 770
2001-10-13 06:57:47 +00:00
Chris Lattner
9fd302d22b * Fix TODO
* Support ConstPoolPOinterReferences correctly
* New constPoolPointerNull subclass
* Add classof support for more classes
* Add proper support for ConstPoolPointerReference::getStrValue()

llvm-svn: 769
2001-10-13 06:57:33 +00:00
Chris Lattner
f29cb6207e not is a keyword in ansi C++, avoid it
llvm-svn: 763
2001-10-13 06:51:26 +00:00
Chris Lattner
ecd7a98aad * 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

llvm-svn: 759
2001-10-13 06:42:36 +00:00
Chris Lattner
a7e5f0bb35 Support pointers to globals happily
llvm-svn: 754
2001-10-13 06:35:09 +00:00
Chris Lattner
ac7f7b4758 Factor parentness out of Module & GlobalVariable into GlobalValue
Implement SymbolTable debug/dump utility

llvm-svn: 710
2001-10-03 19:28:15 +00:00
Chris Lattner
ee349cd48b Rename getNullPointer to getNull
Allow sharing of null pointer constants

llvm-svn: 709
2001-10-03 15:39:36 +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
08b1dde37e Commit more code over to new cast style
llvm-svn: 697
2001-10-02 03:41:24 +00:00
Chris Lattner
ad1b0a1a83 Convert more code to use new style casts
Eliminate old style casts from value.h

llvm-svn: 696
2001-10-01 20:11:19 +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
345daca305 Pull predecessor and successor iterators out of the CFG*.h files, and plop them into
the BasicBlock class where they should be.  pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.

llvm-svn: 691
2001-10-01 13:19:53 +00:00
Chris Lattner
94ef0a1a2c Implement a constant pointer value
llvm-svn: 667
2001-09-30 20:14:07 +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
02d80cea8c Make error report a little more useful
llvm-svn: 657
2001-09-28 00:06:52 +00:00
Chris Lattner
e77ee72df2 Okay, make the member function work.
llvm-svn: 643
2001-09-19 14:09:25 +00:00
Chris Lattner
9aa7a88f0e Remove global debug output fns that have been superceded by a member func
llvm-svn: 642
2001-09-19 14:08:53 +00:00
Chris Lattner
86ecc9630a Fix up code a bit, remove operator<< to Assembly/Writer.h
llvm-svn: 628
2001-09-18 17:03:59 +00:00
Vikram S. Adve
bf084ec2e7 Moved DebugValue to Value.cpp.
llvm-svn: 606
2001-09-18 12:48:16 +00:00
Vikram S. Adve
b0232d85a1 Added debugging support.
llvm-svn: 605
2001-09-18 12:44:41 +00:00
Chris Lattner
e5750a063d Remove the unsized array constraint
llvm-svn: 599
2001-09-18 04:38:32 +00:00
Chris Lattner
ac91b150a7 Add support for global constants, and for initializers for constants
llvm-svn: 598
2001-09-18 04:01:05 +00:00
Chris Lattner
d6a98c11bc Chris seems fond of #include <vector>. Fix these. Also convert use list in
Value to a vector instead of a list.

Move SchedGraph.h & SchedPriorities.h into lib/CodeGen/InstrScheduling

llvm-svn: 572
2001-09-14 16:56:32 +00:00
Chris Lattner
ea511697dd Use correct style casts
llvm-svn: 545
2001-09-10 20:11:44 +00:00
Chris Lattner
c5adfbc219 Use correct style casts
Types are not all constant now

llvm-svn: 544
2001-09-10 20:11:28 +00:00
Chris Lattner
0631fccc21 Add support for printing globals
llvm-svn: 537
2001-09-10 20:08:19 +00:00
Chris Lattner
9d1629d688 Implement global variable support
llvm-svn: 530
2001-09-10 07:58:01 +00:00
Chris Lattner
0754f2306a Remove the definitions of 3 global functions that don't belong in the core
llvm-svn: 526
2001-09-09 23:02:07 +00:00
Chris Lattner
9985e9db71 Rename contype to subtype
llvm-svn: 522
2001-09-09 22:26:58 +00:00
Chris Lattner
4bb7fcff1b Rename file to be consistent with header name
llvm-svn: 519
2001-09-09 21:59:43 +00:00
Chris Lattner
45768e6fe5 Clean up Type class by removing mutable ConstRules member and use annotations insead
llvm-svn: 516
2001-09-09 21:02:38 +00:00
Chris Lattner
91858f96f2 Clean up ConstRules stuff to use annotations instead of a mutable member in Type
llvm-svn: 515
2001-09-09 21:01:20 +00:00
Chris Lattner
9570fbc913 Moved functionality into the other constant pool stuff
llvm-svn: 477
2001-09-07 18:00:19 +00:00
Chris Lattner
078b48a3f4 Cleanup
llvm-svn: 467
2001-09-07 16:57:29 +00:00
Chris Lattner
1dd250de63 Support abstract types
Remove constant pool support

llvm-svn: 466
2001-09-07 16:57:07 +00:00
Chris Lattner
873e0fdbf9 Support a abstract, opaque, and recursive types
Remove lockty, remove fillerty
Make type lookup more efficient
Support shared generic factory code

llvm-svn: 465
2001-09-07 16:56:42 +00:00
Chris Lattner
daf98ba299 Types and constnats are wierd objects in the symtabs
Support abstract types in symtab

llvm-svn: 464
2001-09-07 16:48:17 +00:00
Chris Lattner
e3a3aa89f3 Modules must have a valid, nonnull type. Make them void
llvm-svn: 463
2001-09-07 16:47:42 +00:00
Chris Lattner
aeaeab832b Support new setName interface
llvm-svn: 462
2001-09-07 16:47:18 +00:00
Chris Lattner
0e510b8267 * Support new setname interface
* Add assertion for sanity checking

llvm-svn: 461
2001-09-07 16:47:03 +00:00
Chris Lattner
9c4eb70eae * Cnstants are now global objects
* ConstantPools no longer exist
* Constants are global objects in the LLVM system
* Constants are structurally equilivant if they are pointer equilivant
* Support abstract & opaque types
* Support setName on constants even though they don't track names
* Constnats don't get copy ctors anymore
* ConstPoolVal::equals is no longer useful [use ptr equivalency]
* Support generic factory classes to create and maintain constants

llvm-svn: 460
2001-09-07 16:46:31 +00:00
Chris Lattner
d2c013e34c Support new setName itf
llvm-svn: 459
2001-09-07 16:44:17 +00:00
Chris Lattner
652b08d465 * Support global constants
* Eliminate need for constant pool

llvm-svn: 451
2001-09-07 16:40:34 +00:00
Chris Lattner
c189163d03 * Assembly writer is not a module analyzer anymore
* There is no constant pool anymore

llvm-svn: 447
2001-09-07 16:36:04 +00:00
Chris Lattner
fddd7fbc2c Remove #include of nonexistant header file
llvm-svn: 443
2001-09-07 16:32:10 +00:00
Chris Lattner
35ea5501a8 * Slot calc is now simpler and not based on module analyzer.
* Add new SC_DEBUG option to enable debugging of why stuff doesn't work

llvm-svn: 442
2001-09-07 16:31:52 +00:00
Vikram S. Adve
4c03772b2a *** empty log message ***
llvm-svn: 390
2001-08-28 22:35:21 +00:00
Chris Lattner
eaebbaf5bc Remove target specific stuff from Type classes
llvm-svn: 383
2001-08-27 15:52:13 +00:00
Chris Lattner
3b527dd79e Remove target specific method from MemAccessInst class
llvm-svn: 382
2001-08-27 15:51:43 +00:00
Chris Lattner
a6357a1101 Make sure noone branches to the entry node of the method
llvm-svn: 369
2001-08-24 14:56:34 +00:00
Chris Lattner
b2c70da37a Handle case where there is no exit node from a flowgraph
llvm-svn: 365
2001-08-23 17:07:19 +00:00
Chris Lattner
5882b500cf Changed an assertion message
llvm-svn: 364
2001-08-23 17:06:38 +00:00
Vikram S. Adve
a91d7cb350 Added vector of machine instructions for the basic block.
llvm-svn: 330
2001-07-30 18:47:24 +00:00
Chris Lattner
75298e1fd2 Remove some gross stuff
llvm-svn: 328
2001-07-28 17:52:53 +00:00
Chris Lattner
d22d55b65a Allow vararg method types with 0 fixed types
llvm-svn: 327
2001-07-28 17:52:35 +00:00
Chris Lattner
b3d06b4ec9 Make error msg nicer
llvm-svn: 326
2001-07-28 17:52:14 +00:00
Chris Lattner
92c31e1634 * Fix bugs
llvm-svn: 322
2001-07-28 17:49:02 +00:00
Chris Lattner
55c9388cc7 Don't write out constants that do not have a name, they will be inlined.
llvm-svn: 305
2001-07-26 16:29:38 +00:00
Chris Lattner
5a8abf8a9a Add an arg to insertVal to allow us to prevent builtin types from being ignored
when they are inserted.

Ignore constant values without names.  If they are used, they will be inlined.

llvm-svn: 303
2001-07-26 16:28:37 +00:00
Chris Lattner
fc1d7dd221 Add support for extern varargs methods & varargs method calls
llvm-svn: 297
2001-07-25 22:47:55 +00:00
Chris Lattner
ff6c44f04f Moved inline/llvm/Tools/* to include/llvm/Support/*
llvm-svn: 279
2001-07-23 17:46:59 +00:00
Chris Lattner
f1a2e3b6bb Renamed include/llvm/Codegen to include/llvm/CodeGen
llvm-svn: 253
2001-07-21 20:58:30 +00:00
Chris Lattner
1104f35aaf Fix code to be in a consistent style
llvm-svn: 252
2001-07-21 20:09:07 +00:00
Chris Lattner
7482575151 Remove getTempValuesForMachineCode from the Instruction interface
to remove dependency on <vector>

llvm-svn: 250
2001-07-21 20:04:10 +00:00
Chris Lattner
bf2c12c224 Add new ctor for ConstPoolBool
llvm-svn: 246
2001-07-21 19:16:08 +00:00
Chris Lattner
76e199ffd2 Add new constructor for const pool bool
llvm-svn: 245
2001-07-21 19:15:26 +00:00
Chris Lattner
45cddb6e02 Add support for casts
llvm-svn: 244
2001-07-21 19:10:49 +00:00
Vikram S. Adve
a72bdbe37a Utility routines for simpler access to the value of an integer constant.
llvm-svn: 236
2001-07-21 12:44:00 +00:00
Vikram S. Adve
0025c5f58a Add isIntegral() method to SignedIntType and UnsignedIntType.
llvm-svn: 224
2001-07-21 12:32:48 +00:00
Vikram S. Adve
10973f75ab Compute and cache information about the storage size and layout
of structures.  This information is machine-dependent.

llvm-svn: 222
2001-07-20 21:09:17 +00:00
Vikram S. Adve
0d8d2f87a3 Provide uniform access to the pointer operand and to the index
operands (if any) for different types of MemAccessInst's.

llvm-svn: 221
2001-07-20 21:07:06 +00:00
Vikram S. Adve
cec502cb48 Added a representation of the machine instructions generated
for a VM instruction.

llvm-svn: 220
2001-07-20 21:05:02 +00:00
Chris Lattner
b6d8fb9977 Implement ensureTypeAvailable
Implement ConstPoolInt class

llvm-svn: 215
2001-07-20 19:16:02 +00:00
Chris Lattner
510fc61456 Add support for constant propogation of multiplies
llvm-svn: 214
2001-07-20 19:15:36 +00:00
Chris Lattner
a2122c28d0 Factor out WriteAsOperand.
llvm-svn: 213
2001-07-20 19:15:21 +00:00
Chris Lattner
5c33905f73 Implement forward/external declarations for methods.
llvm-svn: 196
2001-07-15 06:35:59 +00:00
Chris Lattner
444b28658f Add support for assembly printing fp constants
llvm-svn: 191
2001-07-15 00:18:39 +00:00
Chris Lattner
d3e41d4d2f * ValueHolder now takes 3 arguments
* Added a few methods to ConstantPool
* ConstPoolVal no longer derives from Value
* Method & Module multiply inherit from SymTabValue & Value now
* Added a GetElementPtrInst::isStructSelector() method

llvm-svn: 184
2001-07-14 06:13:19 +00:00
Chris Lattner
f7499bce49 The parent of a constant pool is a symtabvalue, not a value.
llvm-svn: 180
2001-07-14 06:10:33 +00:00