Vikram S. Adve
fa24897f9f
Eliminate all uses of memInst->getIndicesBROKEN().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1485 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-15 00:36:32 +00:00
Vikram S. Adve
dd08e32deb
getIndexedOffset() shd take vector of Values, not of Constants!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1484 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-15 00:35:48 +00:00
Chris Lattner
2d8a523490
Initial checkin of instcombine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1479 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:52:09 +00:00
Chris Lattner
7ae9b93a7d
Refactor trace values to work as a proper pass. Before it used to add
...
methods while the pass was running which was a no no. Now it adds the
printf method at pass initialization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1456 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:23:53 +00:00
Chris Lattner
a1c7df8286
* Remove support for unsized arrays.
...
* Free instruction does not accept a name
* MemAccessInst can now be used with cast/isa/dyn_cast/...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1455 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:22:56 +00:00
Chris Lattner
389e1118a7
PointerType and ArrayType now subclass Sequential type, which contains addressability logic for indexing. Unsized arrays have been removed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1454 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:20:21 +00:00
Chris Lattner
9a49b210c1
Swap operands now preserves the semantics of the binary operator by changing
...
the opcode of the instruction if possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1444 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-13 00:43:03 +00:00
Chris Lattner
4adc20b41c
Implement some nice functions useful for looking at types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1442 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-13 00:40:16 +00:00
Chris Lattner
a4268ad389
Implement proper iterator tags
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1441 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-13 00:39:49 +00:00
Chris Lattner
9df24be93b
Subclasses can change the opcode of an instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1440 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-13 00:39:33 +00:00
Chris Lattner
682ea21397
Constants KNOW they are of a derived type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1439 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-13 00:38:57 +00:00
Ruchira Sasanka
b720a8bc1d
Added comments are more documentation info
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1434 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-08 21:04:22 +00:00
Chris Lattner
7a17675206
Renamed inst_const_iterator -> const_inst_iterator
...
Renamed op_const_iterator -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1408 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-04 00:03:30 +00:00
Chris Lattner
e9bb2df410
Rename ConstPoolVal -> Constant
...
Rename ConstPool* -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1407 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-03 22:26:30 +00:00
Chris Lattner
9ef18310be
Simplify induction variables pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1406 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-03 18:05:13 +00:00
Chris Lattner
7061dc50b2
Split the PHINode class out from the iOther.h file into the iPHINode.h file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1405 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-03 18:02:31 +00:00
Chris Lattner
df89f6efbc
Induction variables must be phi nodes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1402 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-03 17:27:42 +00:00
Chris Lattner
cee8f9ae67
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27 00:03:19 +00:00
Chris Lattner
360e17eaf1
Move DataTypes.h from llvm/Support to just Support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1399 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 23:04:08 +00:00
Chris Lattner
27f65c8441
Remove unused method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1368 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:50:26 +00:00
Chris Lattner
a3c2dee477
Expose constant prop of an instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1367 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:50:11 +00:00
Chris Lattner
3ee997ba42
Fix field initialization order problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1366 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:49:54 +00:00
Chris Lattner
1c3d5169be
Allow output of manipulators for GCC 2.96 compatibility
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1365 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:49:33 +00:00
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
Chris Lattner
ef9c23f281
* Both Method & GlobalVariable now subclass GlobalValue
...
* ConstPoolPointerReference now represents a pointer to a GlobalValue
* Methods name references are now explicit pointers to methods
* Rename Value::GlobalVal to Value::GlobalVariableVal to avoid confusion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@703 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 14:53:21 +00:00
Chris Lattner
f4ba6c710c
First try at a horrible global value reference wrapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@701 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 06:12:09 +00:00
Chris Lattner
b00c582b6d
Commit more code over to new cast style
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-02 03:41:24 +00:00
Chris Lattner
1d87bcf490
Convert more code to use new style casts
...
Eliminate old style casts from value.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@696 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 20:11:19 +00:00
Chris Lattner
cfe26c930a
Add more support for new style casts
...
Convert more code to use them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@695 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 18:26:53 +00:00
Chris Lattner
9636a91649
Add support for new style casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@694 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 16:18:37 +00:00
Chris Lattner
7295eb4ea3
Add support for newer cleaner isa, cast, dyn_cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@693 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 13:58:13 +00:00
Chris Lattner
6bad546c2a
Update comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@692 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 13:34:22 +00:00
Chris Lattner
f0604b84c7
Pull predecessor and successor iterators out of the CFG*.h files, and plop them into
...
the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@691 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 13:19:53 +00:00
Chris Lattner
711774e169
Pull predecessor and successor iterators out of the CFG*.h files, and plop them into
...
the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.
Also pull Interval stuff into the Interval class out of the global namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@690 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 13:19:41 +00:00
Vikram S. Adve
2a97dd1fc3
Add vector `implicitUses' to class MachineCodeForVMInstr to hold values
...
that are used by the VM instruction but not explicit operands of the
m/c instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@684 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 00:18:12 +00:00
Ruchira Sasanka
e939ddb96b
no major change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@674 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:22:45 +00:00
Ruchira Sasanka
06faeee041
added suggesting color suppor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@672 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:19:09 +00:00
Chris Lattner
4cfb153316
Implement a constant pointer value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@667 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 20:14:07 +00:00
Chris Lattner
7461bf5f8e
Pull iterators out of CFG.h and genericize them with GraphTraits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@666 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 22:59:14 +00:00
Chris Lattner
3ff4387113
Pull iterators out of CFG.h and CFGdecls and put them in Support directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@664 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 22:56:31 +00:00
Chris Lattner
41fbf305ee
Initial support for construction of a call graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@660 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 00:08:15 +00:00
Chris Lattner
4a0cd6cada
print out value's by pointer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@655 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 00:06:28 +00:00
Chris Lattner
6e9ff7ded6
Add capability to print out call graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@654 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 00:06:15 +00:00
Chris Lattner
6edcad89e7
Change debug info from #define to command line option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@646 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:26:10 +00:00
Chris Lattner
27cd2caca5
Remove debugging output stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@641 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 14:08:25 +00:00
Chris Lattner
8a28124a5f
Add emitAssembly Method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@639 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 13:54:19 +00:00
Ruchira Sasanka
80acc6cf43
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@634 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 22:57:47 +00:00
Ruchira Sasanka
eda6806f6a
--added methods to operand class to set/get registers after register allocation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@633 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 22:54:47 +00:00
Chris Lattner
6ec11d4eb0
Move operator << from Value.h to Assembly/Writer.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@626 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:03:14 +00:00
Chris Lattner
20f8d5d093
Remove operator << to Assembly/Writer.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@625 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:03:04 +00:00
Vikram S. Adve
e6cbbfeead
Renamed files to match the primary classes they provide.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@620 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:10:05 +00:00
Vikram S. Adve
8f3f5a87f9
Moved debugging interfaces for class Value to Value.h.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@604 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:43:15 +00:00
Vikram S. Adve
4bc86976bb
Minor fixes: renamed target machine files; fold sched info into TargetMachine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@603 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:41:43 +00:00
Vikram S. Adve
a578a6d054
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@602 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:38:31 +00:00
Vikram S. Adve
0b5787ace8
Added debugging support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@601 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:23:40 +00:00
Chris Lattner
d70684f758
Add support for global constants, and for initializers for constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@598 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:01:05 +00:00
Ruchira Sasanka
475253b430
added a method to get reg num after register allocation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@596 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 21:11:48 +00:00
Ruchira Sasanka
427a527311
-modified machine operand class - took regNum out of union to set regNum after
...
retister allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@594 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 20:16:41 +00:00
Ruchira Sasanka
4d0d632927
-- debug messages dissabled
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@589 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 16:54:40 +00:00
Ruchira Sasanka
c5258a4210
added reg alloc support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@588 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:34:31 +00:00
Ruchira Sasanka
1bf6d645cd
--reg alloc code added
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@587 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:33:26 +00:00
Ruchira Sasanka
94d86e9677
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@579 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 20:31:39 +00:00
Chris Lattner
46cbff625e
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@572 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 16:56:32 +00:00
Chris Lattner
7c94f9dc96
Minor reformatting, & protection fixes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@570 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 16:08:06 +00:00
Chris Lattner
5f3c2e566f
Split Register specific stuff out from TargetMachine.h to RegInfo.h
...
Get rid of unneccesary #includes from TargetMachine.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@568 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 06:20:10 +00:00
Chris Lattner
e5bc8b0653
Split Target/Machine.h into three files:
...
* Machine.h
* InstInfo.h
* SchedInfo.h
TODO: Split out reg info stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@567 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 06:08:03 +00:00
Chris Lattner
b26bcc5087
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@566 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 05:34:53 +00:00
Chris Lattner
69db8da023
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. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@564 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 04:32:38 +00:00
Chris Lattner
0e6530ee1b
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@559 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:37:52 +00:00
Chris Lattner
e710047854
Initial instruction tree support for the analysis library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@555 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 01:42:26 +00:00
Chris Lattner
07ea7d7f7e
Generic k-way tree support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@554 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 01:42:01 +00:00
Chris Lattner
5f6baf78ea
More cleanups, preparing to revamp InstrForest to, among other things,
...
not leak all its allocated memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@553 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-12 16:34:03 +00:00
Chris Lattner
4ddb4c82d7
* Clean up InstrForest
...
* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)
begin
seteq int *%x, %y
ret void
end
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@552 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-12 01:28:49 +00:00
Chris Lattner
d268ad6e2e
Eliminate 'BasicNode' from InstrForest.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@551 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:52:11 +00:00
Chris Lattner
c2a2396e17
Eliminate MainTreeNode function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@550 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:22:43 +00:00
Chris Lattner
69f8ce051e
Handle subtract in expression classifier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@548 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 04:27:34 +00:00
Chris Lattner
871ffd7a2e
Disable destructors on constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@547 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 04:27:19 +00:00
Chris Lattner
74f4a766c4
* Add capability of printing out a global variable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@534 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:06:47 +00:00
Chris Lattner
be07811cd0
* Method::getType should return type cast as MethodType, eliminate getMethodType
...
* Make Type::*Ty not be const types
* Add a new Type.def file to provide info about types
* Add a full complement of casting methods to the Type class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@533 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:06:17 +00:00
Chris Lattner
746e0014a6
Update assertion to allow extra case
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@532 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:02:12 +00:00
Chris Lattner
70cc3397f8
Implement global variable support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@530 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 07:58:01 +00:00
Chris Lattner
85cdba3bb6
Remove 3 gross global functions that don't belong here
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@523 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 23:00:59 +00:00
Chris Lattner
74c2b7633f
Rename contype to subtype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@522 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 22:26:58 +00:00
Chris Lattner
78914e772f
Convert ConstRules to use annotations to clean it up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@514 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:00:23 +00:00
Chris Lattner
56786d268f
Fix build breakage. :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@511 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 19:52:23 +00:00
Chris Lattner
3533155dfb
Remove extra #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@508 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 19:34:25 +00:00
Ruchira Sasanka
c866fe1949
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@507 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-08 17:23:06 +00:00
Ruchira Sasanka
0286ade27f
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@506 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-08 14:32:00 +00:00
Ruchira Sasanka
7cd2ca13c1
Committed for compliation. Not yet final.
...
--Ruchira
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@505 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-08 14:22:50 +00:00
Chris Lattner
04890ad7fb
New file for supporting abstract types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@502 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 23:00:03 +00:00
Chris Lattner
c21708a4ea
Provide a way to change the incoming value for a phi node
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@495 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 22:19:55 +00:00
Chris Lattner
dcd2fb5f7b
* Remove lots of unnecesary #includes
...
* Remove extra flyers
* Remove dependence on stringExtras by eliminating printIndent calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@486 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:18:16 +00:00
Chris Lattner
cffebdc390
* Remove lots of annoying extra #includes
...
* Elminate dependecy on stringextras.h by moving dump's into .cpp files
* Kill InOutIterator class because it breaks iterator semantics to work like that
- Copy ctor on iterator doesn't work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@485 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:07:10 +00:00
Chris Lattner
f977bbcad6
* Add tag so emacs knows it's a c++ file
...
* Remove frivolous flyers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@484 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:04:59 +00:00
Chris Lattner
1b40a1bacd
Add tags so emacs knows these are C++ files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@483 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:04:20 +00:00
Chris Lattner
8a17faaf07
Remove extra space
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@482 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:03:14 +00:00
Chris Lattner
633bfa02d6
Remove ReversePostOrderTraversal declaration
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@481 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:02:50 +00:00
Chris Lattner
12a16341f6
* Don't predefine ReversePostOrderTraversal because it adds a dependence on vector
...
* static ctor/dtor is actually a REALLY good idea
* Remove explicit copy ctor and op=
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@480 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:02:14 +00:00
Chris Lattner
fcc8897ec1
NEw file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@478 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 19:29:23 +00:00
Chris Lattner
dfbaf73cf7
Follow the golden rule of the coding standards guide: Make the code look
...
like the rest of the system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@476 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 17:38:10 +00:00
Chris Lattner
f4f4c87037
Constant pool is eliminated
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@473 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 17:08:28 +00:00