Commit Graph

3543 Commits

Author SHA1 Message Date
Ruchira Sasanka
808568eafc *** empty log message ***
llvm-svn: 580
2001-09-14 21:18:34 +00:00
Chris Lattner
7f155e10f6 Add a forward decl, oops.
llvm-svn: 573
2001-09-14 17:55:51 +00:00
Chris Lattner
8d44b99844 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
87b3bf630b Split Target/Machine.h into three files:
* Machine.h
* InstInfo.h
* SchedInfo.h

TODO: Split out reg info stuff
llvm-svn: 567
2001-09-14 06:08:03 +00:00
Chris Lattner
22a6a90511 Make a new llvm/Target #include directory.
Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files

llvm-svn: 566
2001-09-14 05:34:53 +00:00
Chris Lattner
f8464e4b8d Checkin changes to:
1. Clean up the TargetMachine structure.  No more wierd pointers that have to
   be cast around and taken care of by the target.
2. Instruction Scheduling now takes the schedinfo as an argument.  The same
   should be done with the instinfo, it just isn't now.

llvm-svn: 565
2001-09-14 04:32:55 +00:00
Chris Lattner
06028541ab Move the sparc target to a new lib/Target directory
llvm-svn: 562
2001-09-14 03:55:11 +00:00
Chris Lattner
fc1e0f33fa Move the contents of the CodeGen/TargetMachine/Sparc directory to Target/Sparc
llvm-svn: 560
2001-09-14 03:46:34 +00:00
Chris Lattner
0a823a062c This checkin represents some cleanup of the backend, implementing the following things:
1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory.  The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.

llvm-svn: 559
2001-09-14 03:37:52 +00:00
Chris Lattner
2124f99556 Updates to use local header files.
Note that this reverted changes that Ruchira commited that broke the build and
are unmaintainable without other checkins.

llvm-svn: 557
2001-09-14 03:33:32 +00:00
Chris Lattner
f8459bb199 More cleanups, preparing to revamp InstrForest to, among other things,
not leak all its allocated memory.

llvm-svn: 553
2001-09-12 16:34:03 +00:00
Chris Lattner
16dd09a7bb * Clean up InstrForest
* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)

begin
        seteq int *%x, %y
        ret void
end

llvm-svn: 552
2001-09-12 01:28:49 +00:00
Chris Lattner
cc38da77e8 Eliminate 'BasicNode' from InstrForest.
llvm-svn: 551
2001-09-11 23:52:11 +00:00
Chris Lattner
706ee8e5ec Eliminate MainTreeNode function
llvm-svn: 550
2001-09-11 23:22:43 +00:00
Chris Lattner
a7d3b8dca1 Remove irrelevant gross K&R Cisms
llvm-svn: 549
2001-09-11 23:13:38 +00:00
Chris Lattner
e014d797b4 Use type checking predicates
llvm-svn: 543
2001-09-10 20:10:26 +00:00
Chris Lattner
5a01692836 Use correct casts
llvm-svn: 542
2001-09-10 20:10:02 +00:00
Chris Lattner
aeaba8a2ee Use predicate for Value type test
Use builtin casts

llvm-svn: 541
2001-09-10 20:09:50 +00:00
Chris Lattner
44a45af61b Use predicate for Value type test
llvm-svn: 540
2001-09-10 20:09:28 +00:00
Chris Lattner
acfa507663 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
a461b05207 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
e4fe7bc4a5 Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally.
llvm-svn: 524
2001-09-09 23:01:32 +00:00
Chris Lattner
c49f5f35db Fix problems with freeing memory twice
llvm-svn: 520
2001-09-09 22:26:29 +00:00
Vikram S. Adve
b606fcb3e0 Handle cast float-to-float or cast double-to-double.
llvm-svn: 512
2001-09-09 20:35:34 +00:00
Chris Lattner
57de997eff Fix build breakage. :(
llvm-svn: 511
2001-09-09 19:52:23 +00:00
Chris Lattner
facf074632 I really don't like it when people break the build.
llvm-svn: 510
2001-09-09 19:41:52 +00:00
Ruchira Sasanka
f5788aa837 Committed for compliation. Not yet final.
--Ruchira

llvm-svn: 505
2001-09-08 14:22:50 +00:00
Ruchira Sasanka
e5d0fb8eee --Ruchira
llvm-svn: 504
2001-09-08 14:10:34 +00:00
Chris Lattner
064286b9cf Updates to work with new lack of constant pool
llvm-svn: 490
2001-09-07 21:22:57 +00:00
Chris Lattner
e99c9acb84 Remove unneeded #includes
llvm-svn: 489
2001-09-07 21:22:28 +00:00
Chris Lattner
b7d0c37f5c Remove unnecesary #include add dump calls pulled out of .h file
llvm-svn: 488
2001-09-07 21:21:03 +00:00
Chris Lattner
bbf765695f * Remove lots of #includes
llvm-svn: 487
2001-09-07 21:19:42 +00:00
Chris Lattner
feb62c321e Add tags so emacs knows these are C++ files
llvm-svn: 483
2001-09-07 21:04:20 +00:00
Chris Lattner
23fcc08d38 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
74d07801bf 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
4eb6d9fd85 annotations are now const
llvm-svn: 450
2001-09-07 16:40:04 +00:00
Ruchira Sasanka
4d30f4bb6c *** empty log message ***
llvm-svn: 412
2001-08-31 20:59:58 +00:00
Vikram S. Adve
10db4c2551 Added nonterminals for arithmetic operations where one operand is constant.
llvm-svn: 406
2001-08-28 23:25:46 +00:00
Vikram S. Adve
59a091870a Makefile for InstrSched/
llvm-svn: 403
2001-08-28 23:17:22 +00:00
Vikram S. Adve
27713047f4 Remove source list.
llvm-svn: 402
2001-08-28 23:16:59 +00:00
Vikram S. Adve
ebfa4bd437 Added directory InstrSched.
llvm-svn: 401
2001-08-28 23:16:13 +00:00
Vikram S. Adve
245b5b0691 Major changes too hard to document :-)
llvm-svn: 400
2001-08-28 23:12:57 +00:00
Vikram S. Adve
23e59b70cd Extensive additions for supporting instruction scheduling.
llvm-svn: 398
2001-08-28 23:10:41 +00:00
Vikram S. Adve
742086f200 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
3148b83485 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
138c3bb667 Class that encapsulates priority heuristics for instruction scheduling.
llvm-svn: 395
2001-08-28 23:06:49 +00:00
Vikram S. Adve
754c4dd6ae 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
8641f9dca0 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
5f72f42aee Moved function PrintMachineInstructions here.
llvm-svn: 392
2001-08-28 23:02:39 +00:00
Chris Lattner
b6aa2334f4 I suck
llvm-svn: 385
2001-08-27 18:54:45 +00:00