Ruchira Sasanka
d7daf6afcd
added isPseudoInstr()
...
llvm-svn: 1302
2001-11-14 15:35:51 +00:00
Chris Lattner
4046596beb
Remove much cruft from the MemAccessInst instruction
...
llvm-svn: 1298
2001-11-14 11:27:58 +00:00
Ruchira Sasanka
50880b3791
Changed for adding Phi Elimination code
...
llvm-svn: 1266
2001-11-12 14:46:00 +00:00
Ruchira Sasanka
da9d0c48ba
Made isPhi const
...
llvm-svn: 1251
2001-11-10 20:58:58 +00:00
Chris Lattner
053906abc0
Initail checking of structure swapper
...
llvm-svn: 1248
2001-11-10 07:28:25 +00:00
Chris Lattner
ad95d27488
Initial checkin of Structure mutator
...
llvm-svn: 1245
2001-11-10 07:26:22 +00:00
Chris Lattner
13c14c20ee
Provide const version of function with the name the other will be eventually renamed to
...
llvm-svn: 1241
2001-11-10 06:48:14 +00:00
Chris Lattner
2549cbf978
Refactor some functionality to expose more useful stuff
...
llvm-svn: 1240
2001-11-10 06:47:45 +00:00
Chris Lattner
41baa6823a
New pass to figure out what types are in use by a program
...
llvm-svn: 1231
2001-11-09 05:27:10 +00:00
Vikram S. Adve
1639b0edef
Cache parameters for target machine.
...
llvm-svn: 1222
2001-11-09 02:11:25 +00:00
Vikram S. Adve
440465ad0e
Added class MachineCacheInfo.
...
Also added function to convert float to int by copying via memory.
llvm-svn: 1221
2001-11-09 02:11:03 +00:00
Chris Lattner
77d6db28d3
Remove unneeded forward decl
...
llvm-svn: 1216
2001-11-08 20:54:51 +00:00
Vikram S. Adve
8e3065c528
Add handle to object MachineFrameInfo.
...
llvm-svn: 1202
2001-11-08 05:23:45 +00:00
Vikram S. Adve
a63363151d
Include handle to TargetMachine in each Machine...Info class.
...
llvm-svn: 1201
2001-11-08 05:22:43 +00:00
Vikram S. Adve
45b91e38e5
Add method CreateCodeToCopyIntToFloat.
...
Include handle to TargetMachine in each Machine...Info object.
llvm-svn: 1200
2001-11-08 05:22:15 +00:00
Vikram S. Adve
d985dbcdd8
Machine-independent interface to target's stack frame layout parameters.
...
llvm-svn: 1190
2001-11-08 04:52:27 +00:00
Vikram S. Adve
f87d137720
Use different op labels for bitwise logical operations and boolean logical
...
operations in BURG input trees.
llvm-svn: 1189
2001-11-08 04:51:39 +00:00
Vikram S. Adve
ef306158e5
Added a second constructor for and improved class TmpInstruction.
...
llvm-svn: 1188
2001-11-08 04:50:33 +00:00
Vikram S. Adve
2cdcbfb6e0
Major overhaul of stack frame management.
...
llvm-svn: 1185
2001-11-08 04:47:06 +00:00
Vikram S. Adve
8b33c2304f
Old file which was moved to include/llvm/Target some time back.
...
llvm-svn: 1184
2001-11-08 04:46:08 +00:00
Vikram S. Adve
848709f127
Removed MachineCodeForMethod object and made it an annotation.
...
llvm-svn: 1183
2001-11-08 04:38:58 +00:00
Chris Lattner
15b45d9783
Initial checkin of pointer safety checker
...
llvm-svn: 1181
2001-11-07 21:16:12 +00:00
Chris Lattner
ec5014e800
Okay, so this is a huge hack. Fixme later
...
llvm-svn: 1171
2001-11-07 05:31:53 +00:00
Chris Lattner
67ba96723c
New class to provide high performance writing.
...
llvm-svn: 1167
2001-11-07 04:20:50 +00:00
Vikram S. Adve
24fbd417a0
Make reg. numbers signed ints.
...
llvm-svn: 1137
2001-11-05 03:56:02 +00:00
Chris Lattner
ea63d43a07
Minor method rename
...
llvm-svn: 1119
2001-11-04 08:08:34 +00:00
Chris Lattner
1645e398fb
Add a helper function to PHI node
...
llvm-svn: 1113
2001-11-03 21:08:00 +00:00
Chris Lattner
b7cb076c0e
Expose method to merge identically named methods
...
llvm-svn: 1109
2001-11-03 19:49:54 +00:00
Ruchira Sasanka
cb3cfedff4
Moved InsertCallerSaveInstr to the SparcRegInfo.cpp and made machine independent
...
llvm-svn: 1107
2001-11-03 17:14:13 +00:00
Chris Lattner
d61e4631f5
Fix major bugs in type resolution
...
llvm-svn: 1092
2001-11-03 03:27:53 +00:00
Chris Lattner
dec971b881
Fix the linker. This bug was not fun to track down. grr
...
llvm-svn: 1090
2001-11-03 03:26:47 +00:00
Chris Lattner
d8c8439517
Print floating point numbers in expodential form so that small numbers don't get truncated, which broke the health benchmark
...
llvm-svn: 1086
2001-11-01 22:06:00 +00:00
Chris Lattner
aa5e794aaa
Expose the low level DCE mechanism to external users
...
llvm-svn: 1082
2001-11-01 07:00:21 +00:00
Chris Lattner
1942341fd4
Implement constant propogation of null pointer values.
...
llvm-svn: 1078
2001-11-01 05:55:13 +00:00
Chris Lattner
ddb95263c8
Add simpler to use ctors. Add getType() overload to specialize getelementptr's type
...
llvm-svn: 1077
2001-11-01 05:54:28 +00:00
Chris Lattner
13475b1a77
Add new isNullValue method
...
llvm-svn: 1076
2001-11-01 05:53:56 +00:00
Chris Lattner
4e4759adc0
Initial checkin of level raising code
...
llvm-svn: 1073
2001-11-01 02:41:52 +00:00
Chris Lattner
3fd0124447
Move level change xfor into the transforms directory
...
llvm-svn: 1070
2001-11-01 02:39:49 +00:00
Chris Lattner
9c5be3af9d
Add some useful accessors
...
llvm-svn: 1069
2001-11-01 02:39:36 +00:00
Chris Lattner
009d9de81c
Implement code to convert %malloc and %free FUNCTION CALLS into the instruction equivalent
...
llvm-svn: 1065
2001-10-31 06:35:59 +00:00
Chris Lattner
91fc057638
Implemented constant propogation of cast instructions
...
llvm-svn: 1064
2001-10-31 05:07:57 +00:00
Chris Lattner
ca01882422
New GCC cleanup pass interface
...
llvm-svn: 1061
2001-10-31 04:32:53 +00:00
Chris Lattner
2fa3e1f85d
Fix ordering problem. Found by purify. :)
...
llvm-svn: 1042
2001-10-30 16:38:49 +00:00
Chris Lattner
ad6e4d8ca7
Expose some more printing functionality from the assembly writer library
...
llvm-svn: 1030
2001-10-29 16:36:49 +00:00
Chris Lattner
b89ee439ae
Systems headers use <> not ""
...
llvm-svn: 1023
2001-10-29 13:29:50 +00:00
Chris Lattner
bf9a3148af
Include functionality to get a string array constant as a string
...
llvm-svn: 1020
2001-10-29 13:24:31 +00:00
Chris Lattner
e9c4fcd1fb
Remove useCSyntax flag
...
llvm-svn: 1019
2001-10-29 13:22:49 +00:00
Chris Lattner
cd24a45f20
Initial checkin of name mangling code. Moved from Linker.h
...
llvm-svn: 1017
2001-10-28 23:31:10 +00:00
Chris Lattner
f4ae52e531
Remove unneccesary function prototypes
...
llvm-svn: 1014
2001-10-28 22:40:59 +00:00
Vikram S. Adve
6c92ae29b9
Added a constant pool to record values that need to be emitted
...
in the assembly code.
llvm-svn: 999
2001-10-28 21:24:50 +00:00
Vikram S. Adve
a77d3e6adb
Add support for name mangling.
...
llvm-svn: 998
2001-10-28 21:23:44 +00:00
Vikram S. Adve
f3e3a2e8cc
Switch useLLVMSyntax to useCSyntax.
...
llvm-svn: 997
2001-10-28 21:21:25 +00:00
Vikram S. Adve
cdb8a8f93e
Support printing control characters in standard C/assembly style.
...
llvm-svn: 995
2001-10-28 21:06:48 +00:00
Ruchira Sasanka
3c4d2dea7c
Added support for spilling
...
llvm-svn: 992
2001-10-28 18:15:12 +00:00
Ruchira Sasanka
b1f435fb91
Moved callerSaving code to machine specific classes since we have to handle
...
%ccr reg differently.
llvm-svn: 991
2001-10-28 18:14:15 +00:00
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