Commit Graph

698 Commits

Author SHA1 Message Date
Ruchira Sasanka ebd284dfe9 -- fixed a ret val bug
llvm-svn: 652
2001-09-19 22:40:51 +00:00
Ruchira Sasanka 72727bf358 -- removed debugging messages
llvm-svn: 651
2001-09-19 22:39:58 +00:00
Ruchira Sasanka 213b3621ac -fixed return value bug.
llvm-svn: 650
2001-09-19 22:31:21 +00:00
Chris Lattner 46f1b61d98 Add proper support to send output to the right place
llvm-svn: 649
2001-09-19 16:52:09 +00:00
Chris Lattner 0bde2affb1 Print .def files as well as other files
llvm-svn: 648
2001-09-19 16:51:10 +00:00
Chris Lattner da876eff3c Change debug info from #define to command line option
Clean up extra debug info that wasn't guarded

llvm-svn: 647
2001-09-19 16:26:23 +00:00
Chris Lattner d89425bb58 Change debug info from #define to command line option
llvm-svn: 646
2001-09-19 16:26:10 +00:00
Chris Lattner 1bec3bd0a4 * REMOVE extraneous debug info if DEBUG_RA is not set
* Spell PhyRegAlloc right.

llvm-svn: 645
2001-09-19 16:09:04 +00:00
Chris Lattner e86a0230aa Seperate instruction definitions into new SparcInstr.def file
Move contents of SparcMachineInstrDesc[] out of SparcInternals.h
into Sparc.cpp

llvm-svn: 644
2001-09-19 15:56:23 +00:00
Chris Lattner 92c15742ad Okay, make the member function work.
llvm-svn: 643
2001-09-19 14:09:25 +00:00
Chris Lattner 8c3f09e42f 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 ab02e437ae Remove debugging output stuff
llvm-svn: 641
2001-09-19 14:08:25 +00:00
Chris Lattner 15d8418323 Emit assembly language from the target...
llvm-svn: 640
2001-09-19 13:56:47 +00:00
Chris Lattner 52c3e98826 Add emitAssembly Method
llvm-svn: 639
2001-09-19 13:54:19 +00:00
Chris Lattner a080ae36f0 Add idea
llvm-svn: 638
2001-09-19 13:52:01 +00:00
Chris Lattner 49726a21a5 Add EmitAssembly to mf
llvm-svn: 637
2001-09-19 13:48:18 +00:00
Chris Lattner 036a317f2a First cut at assembly output
llvm-svn: 636
2001-09-19 13:47:27 +00:00
Chris Lattner 518da4f3cd Add emitAssemblyMethod to TargetMachine
llvm-svn: 635
2001-09-19 13:47:12 +00:00
Ruchira Sasanka 219f777bad *** empty log message ***
llvm-svn: 634
2001-09-18 22:57:47 +00:00
Ruchira Sasanka b5dd3408cb --added methods to operand class to set/get registers after register allocation
llvm-svn: 633
2001-09-18 22:54:47 +00:00
Ruchira Sasanka dfc6c887da -- ruchira
llvm-svn: 632
2001-09-18 22:52:44 +00:00
Ruchira Sasanka 1f331f258b -- updated printing
llvm-svn: 631
2001-09-18 22:43:57 +00:00
Chris Lattner 1d06a46723 Remove a copy of a bunch of code
llvm-svn: 630
2001-09-18 18:15:40 +00:00
Chris Lattner 6c2c87099a C++ gives us auto_ptr's, so we might as well use them. :)
llvm-svn: 629
2001-09-18 17:04:18 +00:00
Chris Lattner ac128cd4c6 Fix up code a bit, remove operator<< to Assembly/Writer.h
llvm-svn: 628
2001-09-18 17:03:59 +00:00
Chris Lattner caa449cf5c Remove extraneous #includes
llvm-svn: 627
2001-09-18 17:03:48 +00:00
Chris Lattner 8d94df8212 Move operator << from Value.h to Assembly/Writer.h
llvm-svn: 626
2001-09-18 17:03:14 +00:00
Chris Lattner 665a31270b Remove operator << to Assembly/Writer.h
llvm-svn: 625
2001-09-18 17:03:04 +00:00
Chris Lattner 3c6ce06243 Don't check for null on delete
llvm-svn: 624
2001-09-18 17:02:42 +00:00
Chris Lattner c36515c32f Un-neuter makefile
llvm-svn: 623
2001-09-18 16:33:36 +00:00
Vikram S. Adve 9d40935697 Minor changes.
llvm-svn: 622
2001-09-18 13:10:45 +00:00
Vikram S. Adve 338f4cc397 Folded inssel*.ll into select.ll.
llvm-svn: 621
2001-09-18 13:10:26 +00:00
Vikram S. Adve 4d86cc2842 Renamed files to match the primary classes they provide.
llvm-svn: 620
2001-09-18 13:10:05 +00:00
Vikram S. Adve 8dd5e310e0 Renamed a header file.
llvm-svn: 619
2001-09-18 13:04:53 +00:00
Vikram S. Adve 514180ed83 Make class TargetMachine the common interface to all target-dependent
information, including instr, sched, and reg information.
This allows us to allocate them all in one place and use them much
more uniformly.

llvm-svn: 618
2001-09-18 13:04:24 +00:00
Vikram S. Adve 78d50d0f7a Allow pointer constants as well as integer and booleans.
Skip over list nodes in ForwardOperand.

llvm-svn: 617
2001-09-18 13:03:13 +00:00
Vikram S. Adve 49d908a419 Make class TargetMachine the common interface to all target-dependent
information, including instr, sched, and reg information.
Rename files to match the primary classes they provide.
Commented out call to register allocation until more tests run correctly.

llvm-svn: 616
2001-09-18 13:01:29 +00:00
Vikram S. Adve 6cefc7072d Renamed files to match the main classes they provide.
Some other minor changes.

llvm-svn: 615
2001-09-18 12:58:33 +00:00
Vikram S. Adve 82d1e14e7f Cast unsigned to int! It was causing a nice little bug.
llvm-svn: 614
2001-09-18 12:57:39 +00:00
Vikram S. Adve bb81dae651 Minor changes.
llvm-svn: 613
2001-09-18 12:56:28 +00:00
Vikram S. Adve 0c51cf0f51 Don't add instructions to subtree for Phi or Call.
Free tree nodes when done.
Avoid obscuring code with for_each and bind_obj :-)

llvm-svn: 612
2001-09-18 12:54:27 +00:00
Vikram S. Adve 8656a80661 Format file header.
llvm-svn: 611
2001-09-18 12:52:03 +00:00
Vikram S. Adve 703297cf24 Add new entry/exit edges when removing delay slot nodes from the graph.
Renamed some header files.

llvm-svn: 610
2001-09-18 12:51:38 +00:00
Vikram S. Adve 3e8029dc07 Moved erase edge functions to class SchedGraph.
Add new dummy edges when deleting existing edges.

llvm-svn: 609
2001-09-18 12:50:40 +00:00
Vikram S. Adve 270766a210 Renamed some header files.
llvm-svn: 608
2001-09-18 12:49:39 +00:00
Vikram S. Adve fa64a35a01 Moved erase-edge functions from SchedGraphNode to SchedGraph.
Renamed some header files.

llvm-svn: 607
2001-09-18 12:49:26 +00:00
Vikram S. Adve 13ba19a1a8 Moved DebugValue to Value.cpp.
llvm-svn: 606
2001-09-18 12:48:16 +00:00
Vikram S. Adve df6bbeb59c Added debugging support.
llvm-svn: 605
2001-09-18 12:44:41 +00:00
Vikram S. Adve 0d4a68f8aa Moved debugging interfaces for class Value to Value.h.
llvm-svn: 604
2001-09-18 12:43:15 +00:00
Vikram S. Adve 06225084b9 Minor fixes: renamed target machine files; fold sched info into TargetMachine.
llvm-svn: 603
2001-09-18 12:41:43 +00:00
Vikram S. Adve f95d8d430f Make class TargetMachine the common interface to all target-dependent
information, including instr, sched, and reg information.
Rename files to match the primary classes they provide.

llvm-svn: 602
2001-09-18 12:38:31 +00:00
Vikram S. Adve b530c7eaf0 Added debugging support.
llvm-svn: 601
2001-09-18 12:23:40 +00:00
Chris Lattner 5751150169 Fix testcases to handle new syntax for construction and initializeation
Test constants

llvm-svn: 600
2001-09-18 04:38:50 +00:00
Chris Lattner e2c8d43e1d Remove the unsized array constraint
llvm-svn: 599
2001-09-18 04:38:32 +00:00
Chris Lattner 3779864fcf Add support for global constants, and for initializers for constants
llvm-svn: 598
2001-09-18 04:01:05 +00:00
Chris Lattner 7fb14f54f8 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
Ruchira Sasanka 3a3bb0d68c added a method to get reg num after register allocation
llvm-svn: 596
2001-09-15 21:11:48 +00:00
Ruchira Sasanka 8efbd10c86 modified machine code printing
llvm-svn: 595
2001-09-15 21:11:11 +00:00
Ruchira Sasanka c56b9552eb -modified machine operand class - took regNum out of union to set regNum after
retister allocation.

llvm-svn: 594
2001-09-15 20:16:41 +00:00
Ruchira Sasanka 970886e738 modified printing of debug messages
llvm-svn: 593
2001-09-15 19:11:31 +00:00
Ruchira Sasanka 86b2ad4b7c --added methods for printing
llvm-svn: 592
2001-09-15 19:08:41 +00:00
Ruchira Sasanka bae3812a95 added setRegForValue to MachineOperand class
llvm-svn: 591
2001-09-15 19:07:45 +00:00
Ruchira Sasanka 6fd9532e54 fixed printing messages
llvm-svn: 590
2001-09-15 19:06:58 +00:00
Ruchira Sasanka fe0292e68d -- debug messages dissabled
llvm-svn: 589
2001-09-15 16:54:40 +00:00
Ruchira Sasanka b2587588d2 added reg alloc support
llvm-svn: 588
2001-09-15 00:34:31 +00:00
Ruchira Sasanka f60342a231 --reg alloc code added
llvm-svn: 587
2001-09-15 00:33:26 +00:00
Ruchira Sasanka 671428c8a7 -reg alloc code
llvm-svn: 586
2001-09-15 00:31:44 +00:00
Ruchira Sasanka 7d144a8500 added register allocation code
llvm-svn: 585
2001-09-15 00:30:44 +00:00
Ruchira Sasanka 7e81e7bf77 Added regalloc
llvm-svn: 584
2001-09-15 00:28:37 +00:00
Chris Lattner 8be8fb9625 Oops, accidentally checked my debugging makefile
llvm-svn: 583
2001-09-14 23:21:08 +00:00
Chris Lattner 172a5f2911 Fix a bug with not removing method level types after compilation
llvm-svn: 582
2001-09-14 22:03:42 +00:00
Ruchira Sasanka 11002a7b93 added RegAlloc Directory to DIRS
llvm-svn: 581
2001-09-14 21:28:17 +00:00
Ruchira Sasanka 808568eafc *** empty log message ***
llvm-svn: 580
2001-09-14 21:18:34 +00:00
Ruchira Sasanka dfdab46dc1 *** empty log message ***
llvm-svn: 579
2001-09-14 20:31:39 +00:00
Chris Lattner 59c9403c7e Remove invalid testcase
llvm-svn: 578
2001-09-14 20:30:58 +00:00
Chris Lattner 52a3873f30 Remove invalid testcase. Unneccesary anyways
llvm-svn: 577
2001-09-14 20:28:57 +00:00
Chris Lattner 4dcbbd5379 Add new test cases
llvm-svn: 576
2001-09-14 20:03:04 +00:00
Chris Lattner 95c652b59b Add support for loading and storing pointers...
llvm-svn: 575
2001-09-14 20:00:02 +00:00
Chris Lattner ad2cbf0e18 Fix a bug that caused a crash if a setcc had zero uses.
llvm-svn: 574
2001-09-14 18:29:28 +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 1680fb1617 Add a comment
llvm-svn: 571
2001-09-14 16:08:12 +00:00
Chris Lattner 5452d611d1 Minor reformatting, & protection fixes
llvm-svn: 570
2001-09-14 16:08:06 +00:00
Chris Lattner 6875e9cc97 Break scheduling infrastructure out of TargetMachine.cpp into SchedInfo.cpp
llvm-svn: 569
2001-09-14 15:43:58 +00:00
Chris Lattner 374e3563c1 Split Register specific stuff out from TargetMachine.h to RegInfo.h
Get rid of unneccesary #includes from TargetMachine.h

llvm-svn: 568
2001-09-14 06:20:10 +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 dce33dfa4b 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.
3. Sparc.h is now just a factory method.  Eventually this file will dissapear,
   but probably not until we have more than one backend.  :)

llvm-svn: 564
2001-09-14 04:32:38 +00:00
Chris Lattner 5fae0de330 Move files to new sparc directory
llvm-svn: 563
2001-09-14 03:56:45 +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 b0ddffaae3 Move files.
llvm-svn: 561
2001-09-14 03:47:57 +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 ff0c8a7511 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.


NOTE! The BBLiveVar.cpp file dependant on the Sparc backend, and is therefore not generic/portale to other backends.  This needs to be fixed.

llvm-svn: 558
2001-09-14 03:37:22 +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 2a35abb142 Export the instruction forest support from the analysis library
llvm-svn: 556
2001-09-14 01:42:42 +00:00
Chris Lattner 1dd2c3f386 Initial instruction tree support for the analysis library
llvm-svn: 555
2001-09-14 01:42:26 +00:00
Chris Lattner aa8d4c7517 Generic k-way tree support
llvm-svn: 554
2001-09-14 01:42:01 +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