Chris Lattner
52084c119f
Fix a bug I introduced (assertion failed: Unknown operand type), and convert to predicate style for type checks
...
llvm-svn: 531
2001-09-10 19:43:38 +00:00
Chris Lattner
9d1629d688
Implement global variable support
...
llvm-svn: 530
2001-09-10 07:58:01 +00:00
Chris Lattner
3e7417ba99
Add support for external methods
...
llvm-svn: 529
2001-09-10 04:50:17 +00:00
Chris Lattner
34c9e1a6fb
Genericize support for calling functions a bit
...
Add external method support
llvm-svn: 528
2001-09-10 04:49:44 +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
69a3da6f4d
Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally. Remove the two support functions to inline their contents.
...
llvm-svn: 525
2001-09-09 23:01:47 +00:00
Chris Lattner
3bce6b369a
Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally.
...
llvm-svn: 524
2001-09-09 23:01:32 +00:00
Chris Lattner
9985e9db71
Rename contype to subtype
...
llvm-svn: 522
2001-09-09 22:26:58 +00:00
Chris Lattner
c583ae1a1a
Make ADCE more robust, it still has problems, but it's getting closer
...
llvm-svn: 521
2001-09-09 22:26:47 +00:00
Chris Lattner
d681b883a6
Fix problems with freeing memory twice
...
llvm-svn: 520
2001-09-09 22:26:29 +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
Vikram S. Adve
5458bc59fd
Handle cast float-to-float or cast double-to-double.
...
llvm-svn: 512
2001-09-09 20:35:34 +00:00
Chris Lattner
2e74f6ba1f
Fix build breakage. :(
...
llvm-svn: 511
2001-09-09 19:52:23 +00:00
Chris Lattner
b095aaa8f4
I really don't like it when people break the build.
...
llvm-svn: 510
2001-09-09 19:41:52 +00:00
Ruchira Sasanka
4f3751ecdd
Committed for compliation. Not yet final.
...
--Ruchira
llvm-svn: 505
2001-09-08 14:22:50 +00:00
Ruchira Sasanka
1c3c6a2fd2
--Ruchira
...
llvm-svn: 504
2001-09-08 14:10:34 +00:00
Chris Lattner
5e9c4e67c2
Make use of the new TOOLNAME/USEDLIBS options provided in Makefile.common
...
llvm-svn: 501
2001-09-07 22:59:25 +00:00
Chris Lattner
74dcfcd89b
Updates to work with new lack of constant pool
...
llvm-svn: 490
2001-09-07 21:22:57 +00:00
Chris Lattner
beefdaad8b
Remove unneeded #includes
...
llvm-svn: 489
2001-09-07 21:22:28 +00:00
Chris Lattner
fd10317614
Remove unnecesary #include add dump calls pulled out of .h file
...
llvm-svn: 488
2001-09-07 21:21:03 +00:00
Chris Lattner
c1ca76ff89
* Remove lots of #includes
...
llvm-svn: 487
2001-09-07 21:19:42 +00:00
Chris Lattner
9aac44442d
Add tags so emacs knows these are C++ files
...
llvm-svn: 483
2001-09-07 21:04: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
e1acc842ba
The header file for a translation unit should always be included first
...
System headers should be last
llvm-svn: 475
2001-09-07 17:18:30 +00:00
Chris Lattner
796e9f8118
A file should always include it's private header file *FIRST* see the
...
coding guidelines
llvm-svn: 474
2001-09-07 17:15:18 +00:00
Chris Lattner
78c2f4ab17
Annotations are now const
...
llvm-svn: 470
2001-09-07 16:59:15 +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
99e8b0589f
Annotations are const objects now
...
llvm-svn: 458
2001-09-07 16:44:01 +00:00
Chris Lattner
e299925703
Types and constants are wierd things in symbol tables now
...
llvm-svn: 457
2001-09-07 16:43:50 +00:00
Chris Lattner
b82abeff92
* Eliminate reference to ConstantPool class
...
* Constants are global objects that are not allocated or freed
llvm-svn: 456
2001-09-07 16:43:22 +00:00
Chris Lattner
797730ca28
Constant pool is dead
...
llvm-svn: 455
2001-09-07 16:42:51 +00:00
Chris Lattner
4fc1bcadd9
Constants are now global unique objects
...
llvm-svn: 454
2001-09-07 16:42:26 +00:00
Chris Lattner
eaf4551d57
* Eliminate constant pool dependancies:
...
* Eliminate DoRemoveUnusedConstants
llvm-svn: 453
2001-09-07 16:42:08 +00:00
Chris Lattner
6a211421bf
* Supoprt global constants
...
* Remove support for local constant pools
* Eliminate constant pool merging method, which is no longer neccesary
* Disable invalid optimization (todo: fix it)
llvm-svn: 452
2001-09-07 16:41:30 +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
caac8de99d
annotations are now const
...
llvm-svn: 450
2001-09-07 16:40:04 +00:00
Chris Lattner
28154ea366
* Emit bytecode using a deque instead of a vector to be faster
...
* Internal rep no longer has a constant pool
* Support emission of recursive types
* Don't output a constant pool for an external method
* The bytecode writer is no longer a module analyzer
llvm-svn: 449
2001-09-07 16:39:41 +00:00
Chris Lattner
0d073caf6c
* Remove support for internal constant pool
...
* Support globally unique constants
* Support recursive and forward referenced types
* Support abstract types
* Add new BCR_TRACE macro to enable debugging of why the bytecode reader
occasionally refuses to read something
llvm-svn: 448
2001-09-07 16:37:43 +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
b8f60e50f3
* 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
Chris Lattner
1a53e079fd
Add support for forward referencing types
...
llvm-svn: 445
2001-09-07 16:33:01 +00:00
Chris Lattner
f590e0c914
Add support for an opaque type
...
llvm-svn: 444
2001-09-07 16:32:43 +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
Chris Lattner
f1f36de564
Module analyzer no longer has to iterate over constant pool
...
llvm-svn: 441
2001-09-07 16:31:23 +00:00
Chris Lattner
8bd3097d81
Simplify code by eliminating need to hang onto constant pool references
...
llvm-svn: 440
2001-09-07 16:31:04 +00:00
Ruchira Sasanka
fb626ffffe
*** empty log message ***
...
llvm-svn: 412
2001-08-31 20:59:58 +00:00
Vikram S. Adve
28e3131d5c
Added directory LiveVar/
...
llvm-svn: 410
2001-08-28 23:29:31 +00:00
Vikram S. Adve
b79b5f6b8b
Added nonterminals for arithmetic operations where one operand is constant.
...
llvm-svn: 406
2001-08-28 23:25:46 +00:00
Vikram S. Adve
9fd1f9c1c2
Makefile for InstrSched/
...
llvm-svn: 403
2001-08-28 23:17:22 +00:00
Vikram S. Adve
778fc57b85
Remove source list.
...
llvm-svn: 402
2001-08-28 23:16:59 +00:00
Vikram S. Adve
49fddd4df3
Added directory InstrSched.
...
llvm-svn: 401
2001-08-28 23:16:13 +00:00
Vikram S. Adve
789dcfe59c
Major changes too hard to document :-)
...
llvm-svn: 400
2001-08-28 23:12:57 +00:00
Vikram S. Adve
5947c43319
Extensive additions for supporting instruction scheduling.
...
llvm-svn: 398
2001-08-28 23:10:41 +00:00
Vikram S. Adve
f9fa4cc579
Added class MachineSchedInfo and several supporting classes
...
as a machine description for instruction scheduling.
llvm-svn: 397
2001-08-28 23:09:36 +00:00
Vikram S. Adve
ad002e37d5
Implementation of instruction scheduling for LLVM.
...
Currently schedules one basic block at a time.
llvm-svn: 396
2001-08-28 23:07:19 +00:00
Vikram S. Adve
91d73a52d5
Class that encapsulates priority heuristics for instruction scheduling.
...
llvm-svn: 395
2001-08-28 23:06:49 +00:00
Vikram S. Adve
23be1e0839
Scheduling DAG for instruction scheduling. Currently for a single basic block.
...
llvm-svn: 394
2001-08-28 23:06:02 +00:00
Vikram S. Adve
8fdc52a63d
Moved debug options declaration to header file, and moved
...
a function to MachineInstr.cpp.
llvm-svn: 393
2001-08-28 23:04:38 +00:00
Vikram S. Adve
89228a786c
Moved function PrintMachineInstructions here.
...
llvm-svn: 392
2001-08-28 23:02:39 +00:00
Vikram S. Adve
fe68c73977
analyze() now checks to see that we don't analyze the same method twice.
...
Needs a mechnanism to override this check (e.g., after a transformation).
llvm-svn: 391
2001-08-28 22:36:35 +00:00
Vikram S. Adve
4c03772b2a
*** empty log message ***
...
llvm-svn: 390
2001-08-28 22:35:21 +00:00
Chris Lattner
f3b74b4736
I suck
...
llvm-svn: 385
2001-08-27 18:54:45 +00:00
Chris Lattner
6336546710
Initial checkin of TargetData code
...
llvm-svn: 384
2001-08-27 16:00:15 +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
3eb05bbef1
Convert to use the new factored out TargetData class
...
llvm-svn: 381
2001-08-27 15:51:16 +00:00
Chris Lattner
6ea0dfcd7e
Factor code out to the TargetData class
...
llvm-svn: 380
2001-08-27 15:50:41 +00:00
Chris Lattner
b04aee8d08
Support passing a data pointer to annotation factory methods
...
llvm-svn: 376
2001-08-27 05:19:10 +00:00
Chris Lattner
d2af693cd9
Demolish explicit source list
...
llvm-svn: 375
2001-08-27 05:18:35 +00:00
Chris Lattner
0a85e4845d
Lots of new functionality
...
llvm-svn: 372
2001-08-27 05:16:50 +00:00
Chris Lattner
9eaf62df4a
Remove explicit source list
...
llvm-svn: 371
2001-08-25 20:40:32 +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
d381beea6a
Add annotation support
...
llvm-svn: 366
2001-08-23 17:07:56 +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
Chris Lattner
8e225d7a21
Initial checkin of interpreter
...
llvm-svn: 361
2001-08-23 17:05:04 +00:00
Ruchira Sasanka
bc7068b2e4
LV code on machine instructions
...
llvm-svn: 360
2001-08-20 21:12:49 +00:00
Ruchira Sasanka
74f3230149
LV info on machine instructions
...
llvm-svn: 359
2001-08-20 21:11:01 +00:00
Vikram S. Adve
33b366f516
Always set isDef for operand in position resultPos.
...
llvm-svn: 357
2001-08-13 16:32:45 +00:00
Ruchira Sasanka
af7ba34d58
Changed SetMachineOpernad calls in Set3OperandsFromInstr so that the
...
result position is a def (i.e., added true to the end of call) -- Ruchira
llvm-svn: 356
2001-08-13 16:26:28 +00:00
Ruchira Sasanka
c75929f547
Changed case 64 to make the first arg of phi a defintion
...
llvm-svn: 355
2001-08-13 16:24:01 +00:00
Ruchira Sasanka
a6cea3a426
*** empty log message ***
...
llvm-svn: 351
2001-08-07 21:01:23 +00:00
Ruchira Sasanka
01c14da143
added a default isDef arg to SetMachineOperand method - Ruchira
...
llvm-svn: 350
2001-08-07 20:16:52 +00:00
Vikram S. Adve
d0579dd4ee
Add CC operand as 4th operand of SUBcc, and mark it as a def.
...
llvm-svn: 348
2001-08-06 21:06:10 +00:00
Vikram S. Adve
b1cd3ba259
Also, move burg rule to Makefile.common.
...
llvm-svn: 346
2001-08-06 19:06:56 +00:00
Vikram S. Adve
95ee2f4d4c
Better still, lets move pathname for Burg to Makefile.common.
...
llvm-svn: 344
2001-08-06 19:01:45 +00:00
Vikram S. Adve
6e358709c6
Use full pathname for burg.
...
llvm-svn: 342
2001-08-06 18:53:26 +00:00
Vikram S. Adve
62f5a2a6bb
Simplify command line options, and add option for printing
...
machine instructions without debugging info.
llvm-svn: 340
2001-07-31 21:53:25 +00:00
Vikram S. Adve
d5c5e27191
Added tree nodes for Phi instructions.
...
llvm-svn: 338
2001-07-31 21:50:29 +00:00