Chris Lattner
7a8738c844
Add writer support for call graph nodes and loops and induction variables
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1364 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:47:46 +00:00
Chris Lattner
8bbc979052
Implement an entry node for the call graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1363 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:47:11 +00:00
Chris Lattner
6197b0fe54
Implement "internal vs external linkage" which corresponds to the C notion of static
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1362 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:46:40 +00:00
Chris Lattner
30474bb929
Implement DCE of global values
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1360 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:42:17 +00:00
Chris Lattner
0bbe58f073
* Implement dominator based loop identification
...
* Implement cleaner induction variable identification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1359 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:41:20 +00:00
Chris Lattner
0252755825
Rearrange code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1334 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 16:49:49 +00:00
Chris Lattner
d43d9007a3
Allow array indexing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1333 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 16:49:12 +00:00
Chris Lattner
8927973283
Be more const correct
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1332 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 16:48:56 +00:00
Chris Lattner
45ee091719
* Remove the indexVec stuff which gets out of sync with the operands of the
...
instruction.
* Change the indices to take a vector of Value's instead of ConstPoolVal's
for array indexing
* Add new idx_ iterator support for iterating over indices
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1331 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 16:48:41 +00:00
Chris Lattner
283f4e5ac4
New Method isLosslesslyConvertableTo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1330 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 16:47:10 +00:00
Chris Lattner
7c0cdc0cc8
Add new CompositeType shared baseclass of ArrayType and StructType
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1329 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 16:46:45 +00:00
Chris Lattner
6fa90497b0
Add casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1328 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 16:46:09 +00:00
Chris Lattner
fe700e7e42
Fix protection probs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1321 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 15:24:31 +00:00
Vikram S. Adve
abf73cedd4
Modify method AllocateLocalVar to take size argument.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1320 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 15:23:02 +00:00
Vikram S. Adve
dcf1620896
Bug fix for Chris.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1316 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 15:00:48 +00:00
Chris Lattner
430aa9ec1c
-cleangcc pass now remove type names that are never referenced and type names for pointers to primitive types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1312 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 04:34:46 +00:00
Vikram S. Adve
4c5fe2d3ed
Add function returning which operand holds immediate constant
...
for a given opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1307 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 18:48:36 +00:00
Ruchira Sasanka
b9f550ddfb
added isPseudoInstr()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1302 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 15:35:51 +00:00
Chris Lattner
65ea171409
Remove much cruft from the MemAccessInst instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1298 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 11:27:58 +00:00
Ruchira Sasanka
8486cdd3f9
Changed for adding Phi Elimination code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1266 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-12 14:46:00 +00:00
Ruchira Sasanka
984adc25c9
Made isPhi const
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1251 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-10 20:58:58 +00:00
Chris Lattner
7546c21ae1
Initail checking of structure swapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1248 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-10 07:28:25 +00:00
Chris Lattner
d68ac24bf6
Initial checkin of Structure mutator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1245 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-10 07:26:22 +00:00
Chris Lattner
84b322eb17
Provide const version of function with the name the other will be eventually renamed to
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1241 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-10 06:48:14 +00:00
Chris Lattner
32a9667422
Refactor some functionality to expose more useful stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1240 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-10 06:47:45 +00:00
Chris Lattner
f26e28711b
New pass to figure out what types are in use by a program
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1231 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-09 05:27:10 +00:00
Vikram S. Adve
40abd3fab8
Cache parameters for target machine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1222 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-09 02:11:25 +00:00
Vikram S. Adve
4938d4528f
Added class MachineCacheInfo.
...
Also added function to convert float to int by copying via memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1221 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-09 02:11:03 +00:00
Chris Lattner
b08d519a54
Remove unneeded forward decl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1216 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-08 20:54:51 +00:00
Vikram S. Adve
9b19894da9
Add handle to object MachineFrameInfo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1202 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-08 05:23:45 +00:00
Vikram S. Adve
1c84e2a7d3
Include handle to TargetMachine in each Machine...Info class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1201 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-08 05:22:43 +00:00
Vikram S. Adve
44508e333c
Add method CreateCodeToCopyIntToFloat.
...
Include handle to TargetMachine in each Machine...Info object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1200 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-08 05:22:15 +00:00
Vikram S. Adve
7cffcaaa48
Machine-independent interface to target's stack frame layout parameters.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1190 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-08 04:52:27 +00:00
Vikram S. Adve
df2ee6cff2
Use different op labels for bitwise logical operations and boolean logical
...
operations in BURG input trees.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1189 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-08 04:51:39 +00:00
Vikram S. Adve
e8f1e44fd7
Added a second constructor for and improved class TmpInstruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1188 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-08 04:50:33 +00:00
Vikram S. Adve
be49526193
Major overhaul of stack frame management.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1185 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-08 04:47:06 +00:00
Vikram S. Adve
ebfa232e9d
Old file which was moved to include/llvm/Target some time back.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1184 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-08 04:46:08 +00:00
Vikram S. Adve
4dea947926
Removed MachineCodeForMethod object and made it an annotation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1183 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-08 04:38:58 +00:00
Chris Lattner
2618fba8e3
Initial checkin of pointer safety checker
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1181 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-07 21:16:12 +00:00
Chris Lattner
5818a7162d
Okay, so this is a huge hack. Fixme later
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1171 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-07 05:31:53 +00:00
Chris Lattner
495d6f1933
New class to provide high performance writing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1167 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-07 04:20:50 +00:00
Vikram S. Adve
df1c3b8398
Make reg. numbers signed ints.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1137 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-05 03:56:02 +00:00
Chris Lattner
8e7f409169
Minor method rename
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1119 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-04 08:08:34 +00:00
Chris Lattner
3bf04d5b99
Add a helper function to PHI node
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1113 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-03 21:08:00 +00:00
Chris Lattner
407c25bd82
Expose method to merge identically named methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1109 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-03 19:49:54 +00:00
Ruchira Sasanka
0d3ea0268f
Moved InsertCallerSaveInstr to the SparcRegInfo.cpp and made machine independent
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1107 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-03 17:14:13 +00:00
Chris Lattner
e244a25014
Fix major bugs in type resolution
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1092 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-03 03:27:53 +00:00
Chris Lattner
d4f981d00f
Fix the linker. This bug was not fun to track down. grr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1090 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-03 03:26:47 +00:00
Chris Lattner
6eaa457343
Print floating point numbers in expodential form so that small numbers don't get truncated, which broke the health benchmark
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1086 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 22:06:00 +00:00
Chris Lattner
fd0375bf86
Expose the low level DCE mechanism to external users
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1082 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 07:00:21 +00:00
Chris Lattner
76ac1a45b4
Implement constant propogation of null pointer values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1078 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 05:55:13 +00:00
Chris Lattner
d558426b0e
Add simpler to use ctors. Add getType() overload to specialize getelementptr's type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1077 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 05:54:28 +00:00
Chris Lattner
0eca13bf58
Add new isNullValue method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1076 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 05:53:56 +00:00
Chris Lattner
d3f9a98f66
Initial checkin of level raising code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1073 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:41:52 +00:00
Chris Lattner
4cc5eb2615
Move level change xfor into the transforms directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1070 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:39:49 +00:00
Chris Lattner
b86751715c
Add some useful accessors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1069 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:39:36 +00:00
Chris Lattner
bfe11108ad
Implement code to convert %malloc and %free FUNCTION CALLS into the instruction equivalent
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1065 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 06:35:59 +00:00
Chris Lattner
37aabf28b3
Implemented constant propogation of cast instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1064 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 05:07:57 +00:00
Chris Lattner
2fa11445cd
New GCC cleanup pass interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1061 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:32:53 +00:00
Chris Lattner
6c80e732dc
Fix ordering problem. Found by purify. :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1042 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 16:38:49 +00:00
Chris Lattner
a828014adf
Expose some more printing functionality from the assembly writer library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1030 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:36:49 +00:00
Chris Lattner
3259a3237d
Systems headers use <> not ""
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1023 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 13:29:50 +00:00
Chris Lattner
5f62191f02
Include functionality to get a string array constant as a string
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1020 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 13:24:31 +00:00
Chris Lattner
ed077c479b
Remove useCSyntax flag
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1019 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 13:22:49 +00:00
Chris Lattner
1d050112f7
Initial checkin of name mangling code. Moved from Linker.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1017 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 23:31:10 +00:00
Chris Lattner
fa2c50324e
Remove unneccesary function prototypes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1014 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 22:40:59 +00:00
Vikram S. Adve
dd52255e9a
Added a constant pool to record values that need to be emitted
...
in the assembly code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@999 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 21:24:50 +00:00
Vikram S. Adve
4321ded265
Add support for name mangling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@998 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 21:23:44 +00:00
Vikram S. Adve
5826160c7d
Switch useLLVMSyntax to useCSyntax.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@997 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 21:21:25 +00:00
Vikram S. Adve
15741cfb9b
Support printing control characters in standard C/assembly style.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@995 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 21:06:48 +00:00
Ruchira Sasanka
20c82b12c9
Added support for spilling
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@992 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 18:15:12 +00:00
Ruchira Sasanka
78d63ee313
Moved callerSaving code to machine specific classes since we have to handle
...
%ccr reg differently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@991 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-28 18:14:15 +00:00
Chris Lattner
d6b65255fe
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@970 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-24 01:15:12 +00:00
Chris Lattner
e638c10cb0
More symbol table bugfixes that are impossible to track down. Goody
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@960 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-23 02:32:45 +00:00
Chris Lattner
d48d6c74ad
Fix another annoying bug that took forever to track down. This one involves abstract type resolution at a bad time that broke symbol tables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@958 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-23 01:53:01 +00:00
Vikram S. Adve
0ac8f7ce5a
Added object of class MachineCodeForMethod.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@953 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-22 13:58:08 +00:00
Vikram S. Adve
1876f92599
Added class MachineCodeForMethod to provide method-level information
...
about the generated native code (e.g., frame layout information).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@952 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-22 13:57:39 +00:00
Vikram S. Adve
b4a1e4bea9
Added function interfaces for generating prolog and epilog code.
...
The functions must be implemented by the target-specific code generator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@951 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-22 13:56:33 +00:00
Vikram S. Adve
a7edb1888c
Added function IsLeafMethod to identify leaf methods.
...
This will use the CallGraph only if one is provided.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@950 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-22 13:55:46 +00:00
Chris Lattner
9245fc75a4
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@934 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-22 04:55:44 +00:00
Ruchira Sasanka
b3b6f5338c
Added support for both call/jmpl instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@930 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-21 16:43:41 +00:00
Ruchira Sasanka
33eb292e12
Added code to Initialize (MachineOperand) to initialize regNum to -1 -- Ruchira
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@919 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-19 18:17:49 +00:00
Chris Lattner
1992ce1ee4
Refactor code into Assembly & bytecode libraries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@903 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:31:54 +00:00
Chris Lattner
b44405a90d
initial checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@902 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:31:42 +00:00
Chris Lattner
986fced5f9
move llvm/Transforms/Pass.h to the top level llvm/Pass.h file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@901 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:19:09 +00:00
Chris Lattner
399376b53b
Initial Checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@896 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:05:30 +00:00
Chris Lattner
3923140a4d
Pull bytecode writing out of Module writer pass. Prepare to move to seperate file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@895 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:05:07 +00:00
Chris Lattner
c148d4e073
Add operator[] accessors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@894 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:04:40 +00:00
Vikram S. Adve
d8b5168a08
Add option to print per module instead of per method, so that
...
global declarations are also printed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@891 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 18:13:49 +00:00
Vikram S. Adve
07b877eb5d
Add option to print as bytecode instead of assembly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@887 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 13:47:49 +00:00
Chris Lattner
a36941c069
Convert to new simpler Pass structure
...
Componentize better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@879 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 05:22:27 +00:00
Chris Lattner
9797a51771
Convert to new simpler Pass structure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@878 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 05:22:15 +00:00
Chris Lattner
b44523bd9d
Convert to new simpler pass structure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@877 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 05:21:56 +00:00
Chris Lattner
edcf6491a8
Simplify Pass by removing silly subclasses
...
Fix an iterator problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@876 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 05:20:53 +00:00
Chris Lattner
dea6b3cea9
Fix minor bug, update comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@875 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 01:49:48 +00:00
Chris Lattner
989305bb23
Pass's return true if they make a modification, not if they fail
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@872 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 01:32:17 +00:00
Chris Lattner
475369e255
Convert optimizations to use the Pass infrastructure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@871 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 01:31:58 +00:00
Vikram S. Adve
5684c4e2b4
Added virtual function to generate an instruction sequence to
...
load a constant into a register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@862 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 00:02:06 +00:00
Vikram S. Adve
f60b1f479f
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@860 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-17 23:59:09 +00:00
Vikram S. Adve
00de509022
Remove extra assert in dyn_cast_or_null.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@856 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-17 22:39:50 +00:00
Ruchira Sasanka
618155f6c8
added initializing regNum to -1 in both constructors of MachineOperand
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@851 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 16:36:34 +00:00
Ruchira Sasanka
c4d4b76efb
Added support for caller saving
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@847 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 01:23:19 +00:00
Chris Lattner
634b352fa6
Print Debug Code to stderr instead of stdout so that it doesn't mess up the assembly output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@841 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 18:30:06 +00:00
Chris Lattner
2db4b72017
ConcretePass should not be a templated class!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@838 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:47:13 +00:00
Chris Lattner
1bffea0341
Add new Pass infrastructure and some examples
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@836 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:31:51 +00:00
Chris Lattner
25979243fe
Convert to use Pass infrastructure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@834 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:30:18 +00:00
Chris Lattner
81564a018f
File moved to: llvm/Transforms/HoistPHIConstants.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@833 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:30:06 +00:00
Ruchira Sasanka
f125525e3b
--changed Sugesting colors for method calls/return values etc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@829 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 16:23:48 +00:00
Ruchira Sasanka
21721b63c3
fixed a coalscing bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@828 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 16:22:44 +00:00
Chris Lattner
ec0a95f4e4
Be const correct
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@826 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 15:54:43 +00:00
Chris Lattner
3ef77fcd55
Add cast_or_null & dyn_cast_or_null
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@824 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 13:41:37 +00:00
Chris Lattner
c18545dc9e
Rename ConstPoolPointerReference to ConstPoolPointerRef - My fingers get tired typing that much
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@822 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 13:21:42 +00:00
Chris Lattner
2a72820b43
Improve error messages on assertion failure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@821 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 13:13:32 +00:00
Chris Lattner
3f04045e5a
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@813 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:34:12 +00:00
Chris Lattner
349d591161
Update comment, remove misleading method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@806 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:26:24 +00:00
Chris Lattner
cbf0c2c3e3
Initializers are not const even if the GV is.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@805 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:24:46 +00:00
Vikram S. Adve
46c6371141
Cast NULL when requested.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@803 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:21:06 +00:00
Vikram S. Adve
c649458d18
Added getEntryNode() and getExitNode() functions.
...
The latter are actually bogus and will be fixed by me soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@802 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:20:44 +00:00
Vikram S. Adve
bc4ecce4a9
Insert code to trace values at basic block and method exits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@801 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:19:02 +00:00
Vikram S. Adve
c9abc6528d
Added routine to create a char array for a string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@798 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:16:27 +00:00
Chris Lattner
f96315e985
Use the instruction.def file to remain up to date with future instruction
...
changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@792 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 17:24:50 +00:00
Chris Lattner
2b49e336b6
New file to define instructions...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@791 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 17:24:33 +00:00
Chris Lattner
1166b00316
New module linking functionality prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@789 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 16:57:49 +00:00
Chris Lattner
704037f024
Dang, I screwed up the merge. This should be better
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@785 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:18:40 +00:00
Chris Lattner
2f004fdf18
Fix filename in comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@751 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:32:42 +00:00
Chris Lattner
432b0a7e3d
Better linux support. This file still sucks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@750 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:31:55 +00:00
Chris Lattner
6fed025318
Fix broken #endif
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@749 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:31:00 +00:00
Chris Lattner
0b693fb125
not is a keyword in Ansi C++. Avoid it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@748 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:30:39 +00:00
Chris Lattner
da47526737
Clean up initializers for GCC 2.96
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@747 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:30:10 +00:00
Chris Lattner
0f0dc4e47c
Remove exception specification. Only slows code down.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@746 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:25:30 +00:00
Chris Lattner
c5a22ce2b9
Changes to compile with GCC 2.96
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@745 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:25:03 +00:00
Chris Lattner
a0d7f9dbb7
Add comment indicating semantics of indirect calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@744 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:24:35 +00:00
Chris Lattner
742b1461db
New ctor for invoke inst
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@743 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:24:10 +00:00
Chris Lattner
11a6d82447
Add support for indirect calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@742 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:23:14 +00:00
Chris Lattner
d97f802453
Add some casts to make GCC 2.96 happy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@741 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:20:07 +00:00
Chris Lattner
004adcafec
Add use_back() methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@740 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:18:19 +00:00
Chris Lattner
26e129e64f
Add classof implementations for User
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@739 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:18:05 +00:00
Chris Lattner
067238d5d9
Expose typedefs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@738 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:17:50 +00:00
Chris Lattner
7502f635c6
Add support for module local constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@737 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:17:32 +00:00
Chris Lattner
72665af24d
Add new opcode for Invoke instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@736 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:15:20 +00:00
Chris Lattner
9686fd11c4
Minor changes, add new ctor for invoke instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@735 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:14:53 +00:00
Chris Lattner
16ddd02545
Add assertions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@734 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:12:38 +00:00
Chris Lattner
30bdaaa3fc
* Minor Formatting changes.
...
* MethodType now takes an explicit isVarArg arg instead of an implicit
voidTy on the argument list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@733 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:12:30 +00:00
Chris Lattner
5ef35fdb72
* Add destroyConstant stuff to handle module local constants
...
* Add classof implementations for more ConstPoolVal subclasses
* Pull null pointer implementation stuff out of ConstPoolPointer into
a subclass ConstPoolPointerNull
* Implement ConstPoolPointerReference correctly and completely
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@732 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:11:10 +00:00
Ruchira Sasanka
598641b4ca
--added support for implicit operands in machine instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@727 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-12 17:46:27 +00:00
Vikram S. Adve
a995e6086d
Record implicitRefs for each machine instruction instead of
...
each VM instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@725 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-11 04:23:19 +00:00
Vikram S. Adve
a1d14f3555
Machine-independent code generation routines used in instruction
...
selection. These used to live in several different places before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@719 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:50:43 +00:00
Vikram S. Adve
593da4acc5
Moved code generation support routines to InstrSelectionSupport.{h,cpp}.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@718 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:50:20 +00:00
Chris Lattner
4387370c1c
Factor parentness out of Module & GlobalVariable into GlobalValue
...
Implement SymbolTable debug/dump utility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@710 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 19:28:15 +00:00
Chris Lattner
7323c69a31
Share ConstPoolPointer elements correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@706 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 15:38:36 +00:00