Commit Graph

335 Commits

Author SHA1 Message Date
Chris Lattner
7ec504f5dc Changes to get some meaningful feedback from the bytecode reader. At some point this stuff should all be exception driven, but for now it is not.
llvm-svn: 970
2001-10-24 01:15:12 +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
e8b0d4522f Fix another annoying bug that took forever to track down. This one involves abstract type resolution at a bad time that broke symbol tables.
llvm-svn: 958
2001-10-23 01:53:01 +00:00
Vikram S. Adve
67da8bfa0c Added object of class MachineCodeForMethod.
llvm-svn: 953
2001-10-22 13:58:08 +00:00
Vikram S. Adve
4955d04e5a Added class MachineCodeForMethod to provide method-level information
about the generated native code (e.g., frame layout information).

llvm-svn: 952
2001-10-22 13:57:39 +00:00
Vikram S. Adve
203d3a37d6 Added function interfaces for generating prolog and epilog code.
The functions must be implemented by the target-specific code generator.

llvm-svn: 951
2001-10-22 13:56:33 +00:00
Vikram S. Adve
5b5546998a Added function IsLeafMethod to identify leaf methods.
This will use the CallGraph only if one is provided.

llvm-svn: 950
2001-10-22 13:55:46 +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
Ruchira Sasanka
6df15c541f Added support for both call/jmpl instructions
llvm-svn: 930
2001-10-21 16:43:41 +00:00
Ruchira Sasanka
5362db6250 Added code to Initialize (MachineOperand) to initialize regNum to -1 -- Ruchira
llvm-svn: 919
2001-10-19 18:17:49 +00:00
Chris Lattner
bd93ec9e5f Refactor code into Assembly & bytecode libraries
llvm-svn: 903
2001-10-18 20:31:54 +00:00
Chris Lattner
aaf97a123b initial checkin
llvm-svn: 902
2001-10-18 20:31:42 +00:00
Chris Lattner
ffe8f6e43b move llvm/Transforms/Pass.h to the top level llvm/Pass.h file
llvm-svn: 901
2001-10-18 20:19:09 +00:00
Chris Lattner
ff23ec4b41 Initial Checkin
llvm-svn: 896
2001-10-18 20:05:30 +00:00
Chris Lattner
e4bae737ff Pull bytecode writing out of Module writer pass. Prepare to move to seperate file
llvm-svn: 895
2001-10-18 20:05:07 +00:00
Chris Lattner
f11fb026c8 Add operator[] accessors
llvm-svn: 894
2001-10-18 20:04:40 +00:00
Vikram S. Adve
46310c1fed Add option to print per module instead of per method, so that
global declarations are also printed.

llvm-svn: 891
2001-10-18 18:13:49 +00:00
Vikram S. Adve
ec2a0b15bf Add option to print as bytecode instead of assembly.
llvm-svn: 887
2001-10-18 13:47:49 +00:00
Chris Lattner
568aa25a33 Convert to new simpler Pass structure
Componentize better

llvm-svn: 879
2001-10-18 05:22:27 +00:00
Chris Lattner
5be361613d Convert to new simpler Pass structure
llvm-svn: 878
2001-10-18 05:22:15 +00:00
Chris Lattner
931b135143 Convert to new simpler pass structure
llvm-svn: 877
2001-10-18 05:21:56 +00:00
Chris Lattner
806b0d53d8 Simplify Pass by removing silly subclasses
Fix an iterator problem

llvm-svn: 876
2001-10-18 05:20:53 +00:00
Chris Lattner
bcf4e18b12 Fix minor bug, update comments
llvm-svn: 875
2001-10-18 01:49:48 +00:00
Chris Lattner
d29a604bc9 Pass's return true if they make a modification, not if they fail
llvm-svn: 872
2001-10-18 01:32:17 +00:00
Chris Lattner
a913b68b67 Convert optimizations to use the Pass infrastructure
llvm-svn: 871
2001-10-18 01:31:58 +00:00
Vikram S. Adve
b66fc8ac17 Added virtual function to generate an instruction sequence to
load a constant into a register.

llvm-svn: 862
2001-10-18 00:02:06 +00:00
Vikram S. Adve
c83118d53f 1. Add a bottom-up pass on BURG trees that is used to fix constant operands.
Needs to be bottom up because constant values may be forward-substituted
   to their uses (i.e., into the parent in the BURG tree).
2. Move most of the constant-fixup code into machine-indepedent file
   InstrSelectionSupport.cpp.

llvm-svn: 860
2001-10-17 23:59:09 +00:00
Vikram S. Adve
aff0c3b0f5 Remove extra assert in dyn_cast_or_null.
llvm-svn: 856
2001-10-17 22:39:50 +00:00
Ruchira Sasanka
6be2863ed7 added initializing regNum to -1 in both constructors of MachineOperand
llvm-svn: 851
2001-10-16 16:36:34 +00:00
Ruchira Sasanka
26ab9c8e61 Added support for caller saving
llvm-svn: 847
2001-10-16 01:23:19 +00:00
Chris Lattner
be66ee81bd Print Debug Code to stderr instead of stdout so that it doesn't mess up the assembly output
llvm-svn: 841
2001-10-15 18:30:06 +00:00
Chris Lattner
463b90cb78 ConcretePass should not be a templated class!
llvm-svn: 838
2001-10-15 17:47:13 +00:00
Chris Lattner
9bfad5b7b1 Add new Pass infrastructure and some examples
llvm-svn: 836
2001-10-15 17:31:51 +00:00
Chris Lattner
9e0f07c207 Convert to use Pass infrastructure
llvm-svn: 834
2001-10-15 17:30:18 +00:00
Chris Lattner
6a4db15e88 File moved to: llvm/Transforms/HoistPHIConstants.h
llvm-svn: 833
2001-10-15 17:30:06 +00:00
Ruchira Sasanka
bd3efa900e --changed Sugesting colors for method calls/return values etc.
llvm-svn: 829
2001-10-15 16:23:48 +00:00
Ruchira Sasanka
54051b75a7 fixed a coalscing bug
llvm-svn: 828
2001-10-15 16:22:44 +00:00
Chris Lattner
eba2b7cf61 Be const correct
llvm-svn: 826
2001-10-15 15:54:43 +00:00
Chris Lattner
d9c11e528c Add cast_or_null & dyn_cast_or_null
llvm-svn: 824
2001-10-15 13:41:37 +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
b66d7f5416 Improve error messages on assertion failure.
llvm-svn: 821
2001-10-15 13:13:32 +00:00
Chris Lattner
657954e39b *** empty log message ***
llvm-svn: 813
2001-10-14 23:34:12 +00:00
Chris Lattner
c86be70de5 Update comment, remove misleading method
llvm-svn: 806
2001-10-14 23:26:24 +00:00
Chris Lattner
7de225b35d Initializers are not const even if the GV is.
llvm-svn: 805
2001-10-14 23:24:46 +00:00
Vikram S. Adve
ebdf1737c4 Cast NULL when requested.
llvm-svn: 803
2001-10-14 23:21:06 +00:00
Vikram S. Adve
c46b4eb5fe Added getEntryNode() and getExitNode() functions.
The latter are actually bogus and will be fixed by me soon.

llvm-svn: 802
2001-10-14 23:20:44 +00:00
Vikram S. Adve
a62d1703a1 Insert code to trace values at basic block and method exits.
llvm-svn: 801
2001-10-14 23:19:02 +00:00
Vikram S. Adve
8a6626476e Added routine to create a char array for a string.
llvm-svn: 798
2001-10-14 23:16:27 +00:00
Chris Lattner
42433c96b6 Use the instruction.def file to remain up to date with future instruction
changes

llvm-svn: 792
2001-10-14 17:24:50 +00:00
Chris Lattner
a23671c6ba New file to define instructions...
llvm-svn: 791
2001-10-14 17:24:33 +00:00