Chris Lattner
9261f0e02b
Implement LoopDepth calculation in terms of dominators instead of intervals
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1600 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 00:41:01 +00:00
Chris Lattner
967a04442d
Convert xforms over to use new pass structure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1596 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-30 23:29:35 +00:00
Chris Lattner
facd752d3a
Convert analyses over to new Pass framework
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1595 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-30 23:27:55 +00:00
Chris Lattner
05ad462d1b
Checkin new pass framework. This one is more useful and automatically
...
creates analysis results for passes that need them. MethodPass's never
have to worry about being invoked on external methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1594 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-30 23:20:39 +00:00
Chris Lattner
b1244c54a4
Don't die on call instructions, which reference methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1593 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-30 23:00:41 +00:00
Chris Lattner
625568410a
Check in GCC 3.02 compatiblity headers for GCC 2.95.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1590 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-30 16:27:12 +00:00
Chris Lattner
33fa13c57c
Remove opt namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1587 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-26 22:47:07 +00:00
Chris Lattner
17643a8c9d
* Expose new pass DeadInstElimination
...
* Add comments that describe the differences between the DCE passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1553 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-23 05:47:35 +00:00
Chris Lattner
80fceef49b
Pull run() into Pass.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1552 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-23 05:46:22 +00:00
Chris Lattner
5048c3b853
Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass in
...
the ChangeAllocations.h header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 00:13:51 +00:00
Chris Lattner
8445372636
LowerAllocations is really a BasicBlock pass. Make it so.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1521 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 23:34:02 +00:00
Chris Lattner
59b6b8e0b3
Move stuff out of the Optimizations directories into the appropriate Transforms
...
directories. Eliminate the opt namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1520 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 23:17:48 +00:00
Chris Lattner
7012bcd61b
Fix for problem that caused both HUGE and INVALID latencies to be negative
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1513 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 22:42:49 +00:00
Chris Lattner
c0c60a99d0
Include all header files individually instead of this one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1512 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 21:45:44 +00:00
Chris Lattner
c4edcb3a17
Pull stuff out of opt namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1511 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 21:44:38 +00:00
Chris Lattner
24d5c6a0cc
Moved header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1509 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:41:55 +00:00
Chris Lattner
f4de63f65f
Implement a more powerful, simpler, pass system. This pass system can figure
...
out how to run a collection of passes optimially given their behaviors and
charactaristics.
Convert code to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:31:50 +00:00
Chris Lattner
aff5bcebb7
Implement a more powerful, simpler, pass system. This pass system can figure
...
out how to run a collection of passes optimially given their behaviors and
charactaristics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1506 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:31:00 +00:00
Chris Lattner
697954c15d
Changes to build successfully with GCC 3.02
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Ruchira Sasanka
6011e2eead
Added more comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1495 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07 19:57:37 +00:00
Ruchira Sasanka
c1a29f10a6
MachineRegInfo: Added a method to get the size of a register pushed on to stack.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1492 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07 19:17:41 +00:00
Ruchira Sasanka
42bd177eae
Added comments, destructors where necessary.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1491 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07 19:16:26 +00:00
Vikram S. Adve
34ca7efbe6
Eliminate function getIndicesBROKEN().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1486 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-15 00:37:12 +00:00
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