Reid Spencer
293a55f9f0
Adding the initial implementation of the SlotTable class. This class is
...
the Abstract Data Type that holds slot number values and associates them
with Type* and Value*. The SlotTable is simply the holder of the slot
numbers and provides a controlled interface for building the table. It does
not enforce any particular idiom or functionality for manipulating the slot
numbers.
This is part of bug_122. The SlotCalculator and SlotMachine classes will
follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13764 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 18:44:51 +00:00
Reid Spencer
e0b295afd6
Removed unused, useless header file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13757 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 17:28:35 +00:00
Reid Spencer
ec55b08fd0
Give Type its own dump() method in preparation for Type != Value.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13746 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:46:04 +00:00
Reid Spencer
bdfb668fee
Completely rewrote the class. SymbolTable now separates Type* from Value* in preparation\
...
for making Type not derive from Value. There are now separate interfaces \
for looking up, finding, and inserting Types and Values. There are also \
three separate iterator interfaces, one for type planes, one for the types \
(type type plane), and one for values within a type plane. See the \
documentation in the Header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13745 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:45:53 +00:00
Reid Spencer
3afbb1ab10
Convert dump() method to call Type::dump() instead of Value::dump().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13744 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:45:42 +00:00
Chris Lattner
02140b025d
Add some helpers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13737 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 05:32:13 +00:00
Tanya Lattner
17fb34bf8c
Moved MachineBasicBlock deconstructor to cpp file and removed it from LeakDetector to fix memory leak bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13718 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 07:14:35 +00:00
Tanya Lattner
792699c46e
Added MachineFunction parent* to MachineBasicBlock. Customized ilist template
...
to set the parent when a MachineBasicBlock is added to a MachineFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13716 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 06:11:51 +00:00
Tanya Lattner
0c63e03e04
Changed clone to be const.
...
Changed copy constructor to set parent, prev, and next pointers to null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13706 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 03:14:18 +00:00
Chris Lattner
942ae1a07d
Add the new GC intrinsics
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13686 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:16:33 +00:00
Chris Lattner
bab838e76d
Add a new prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13685 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:16:13 +00:00
Chris Lattner
ab8c565768
Several *major* changes to the AA interfaces:
...
1. Provide interfaces so that clients can update alias analyses to reflect
the changes made by the transformations.
2. Change how alias analysis implementations work overall. In particular,
now clients will automatically forward to chained AA implementations: they
don't have to remember to do it themselves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13678 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:12:38 +00:00
Chris Lattner
bc78225518
Add interfaces to update value numbering results
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13677 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:11:17 +00:00
Chris Lattner
c43e0ae350
Rename a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13676 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:10:58 +00:00
Tanya Lattner
b5159ed0cb
Fixed up my changes to add support for cloning Machine Instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13665 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 20:58:02 +00:00
Alkis Evlogimenos
14d2638e38
Remove virtual destructor from InstVisitor. This class should never be
...
used through a base pointer/reference so inproper destruction should
never be an issue. Removing this last virtual function also saves 4
bytes off each InstVisitor instance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13664 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 20:54:39 +00:00
Tanya Lattner
466b534a57
Adding support to clone MachineInstr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13661 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 19:35:12 +00:00
Vikram S. Adve
6ffd14dd54
Remember the set of leaders. Also compute on demand and cache the equiv
...
class for each leader. Finally, rename Elem2ECLeaderMap to Elem2LeaderMap
(most of the changed lines are only due to the latter).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13651 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 08:05:14 +00:00
Vikram S. Adve
b5b0b45e58
Add getCaller() method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13650 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 08:02:45 +00:00
Vikram S. Adve
c5204fb6f8
Complete rewrite of the code that merges DS graphs for equivalence classes
...
of functions called at a common call site. The rewrite inlines the
resulting graphs bottom-up on the SCCs of the CBU call graph. It also
simplifies the merging of equivalence classes by exploiting the fact that
functions in non-trivial SCCs are already merged.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13645 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 07:54:02 +00:00
Vikram S. Adve
44860ccaf2
Fix size/offset assertion to allow negative offsets and folded nodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13644 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 07:34:53 +00:00
Brian Gaeke
91ad59d75e
Fix a typo in the head-of-file comment.
...
Rewrite the comments about the different versions of BuildMI, to
better emphasize their differences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13642 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 05:04:00 +00:00
Chris Lattner
d49b120414
It's not clear to me whether the old version was correct C++ code, but in
...
any case it's not portable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13621 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 18:38:16 +00:00
Chris Lattner
3b963590ef
Starting an identifier with an _ is not legal C/C++ code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13620 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 18:37:13 +00:00
Alkis Evlogimenos
2b6d2eb2d0
Declare function defined in namespace llvm as gcc-3.4 doesn't accept a definition in a namespace of a non-declared function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13602 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-19 19:17:48 +00:00
Misha Brukman
a4c6c522ee
Minor aesthetic alignments; no functional changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13593 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-17 22:28:21 +00:00
Misha Brukman
f40ae3cc9d
* Minor aesthetic alignment of iterator declarations
...
* Removed redundant function comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13592 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-17 22:25:12 +00:00
Brian Gaeke
71d3a87ec1
Define erase forwarding method on traces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13591 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-17 21:17:21 +00:00
Brian Gaeke
da86bdc75c
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13518 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:57:23 +00:00
Brian Gaeke
f460f1679e
Add a NextMBBNumber field w/ incrementing accessor method, for
...
function-level unique numbering of MBBs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13513 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:35:21 +00:00
Brian Gaeke
c07d8d8a26
Add a Number field w/ accessor method, for function-level unique numbering
...
of MBBs.
Add non-const MachineBasicBlock::getParent() accessor method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13512 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:35:20 +00:00
Chris Lattner
43c81f19ee
Add support for inserting all prototypes up-front
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13431 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09 04:29:49 +00:00
Tanya Lattner
b4b2e9d5a7
Fixed up sched graph.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13428 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08 16:14:24 +00:00
Tanya Lattner
5a75c91951
Registering the ModuloScheduling pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13427 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08 16:14:02 +00:00
Tanya Lattner
e5abfd2c05
Changed CPUResource to allow access to max num users for a resource.
...
Also added ModuloScheduling as a friend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13426 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08 16:13:26 +00:00
Chris Lattner
2944bcaaed
Add the enum corresponding to the source change I made earlier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07 02:27:32 +00:00
Alkis Evlogimenos
ad5c296792
Fix for gcc3.4: invalid use of forward delacred class on line 93
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13370 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06 02:07:42 +00:00
Brian Gaeke
6178085cfd
Move the stuff that fixes the size, orientation & fonts of graphs to
...
the debugging functions that call "dot". These fixed settings have
various problems: for example, the fixed size that is set in the graph
traits classes is not appropriate for turning the dot file into a PNG,
and if TrueType font rendering is being used, the 'Courier' TrueType font
may not be installed. It seems easy enough to specify these things on the
command line, anyhow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13366 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-05 06:10:06 +00:00
Brian Gaeke
48b008db57
Apply simplification suggested by Chris: why assign() when operator = will do?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13364 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 22:02:41 +00:00
Brian Gaeke
d11577b68b
Add "Args" optional argument to AbstractInterpreter factory methods, which
...
fills in a ToolArgs vector in the AbstractInterpreter if it is set. This
ToolArgs vector is used to pass additional arguments to LLI and/or LLC.
This is intended to address Bug 40.
Also, make -debug-only=toolrunner work for the LLC and CBE
AbstractInterpreters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 21:09:01 +00:00
Misha Brukman
2dd5c96866
Provide visit(Module&) and visitModule(Module&) functionality.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13353 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 18:30:38 +00:00
Brian Gaeke
7e3f82e6a5
Add BBTrace accessor method and data member.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13351 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 17:11:13 +00:00
Brian Gaeke
dc0bedcd25
New header file containing profile info enums shared between the C++ analysis
...
libraries and the C runtime support library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13347 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 16:57:57 +00:00
Chris Lattner
1570cb14d7
Initialize member out of paranoia
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13319 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-02 16:06:40 +00:00
Brian Gaeke
3ec4f261d2
Chris told me to take these assertions out a few days ago, but I forgot to
...
check this in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13313 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-02 01:04:52 +00:00
Chris Lattner
96362e9cac
Stop LiveVariables from using BasicBlocks as part of the mapping, instead
...
use MachineBasicBlocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13300 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-01 21:23:35 +00:00
Chris Lattner
0aef12a7a9
Move the GraphTraits for MachineBasicBlocks to the MachineBasicBlock file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13299 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-01 21:05:34 +00:00
Tanya Lattner
d11297f2ee
Sorry, now friend class name should be right!!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13294 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:48:37 +00:00
Tanya Lattner
c9bdf09192
Fixed friend class name for ModuloScheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13293 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:47:59 +00:00
Tanya Lattner
32c182a0a8
Fixed friend class name for ModuloSched
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13292 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:46:40 +00:00