Alkis Evlogimenos
61db3621bd
Use a list instead of a vector to store intervals. This will be needed
...
when we join intervals and one of the two will need to be removed.
llvm-svn: 10892
2004-01-16 16:06:59 +00:00
Chris Lattner
4a78294f54
Remove broken doxygen comments
...
llvm-svn: 10869
2004-01-15 04:37:10 +00:00
Chris Lattner
71acf2763d
Improve comments, add support for remembering the constants strings that
...
are to be emitted.
llvm-svn: 10866
2004-01-14 23:37:43 +00:00
Chris Lattner
599ab961c4
Add new ConstantArray::isString(), as the conditions for using getString()
...
are complex enough to check that it should be a seperate method.
While I'm here, improve ConstantArray::getNullValue a bit, though the
FIXME is still quite valid.
llvm-svn: 10850
2004-01-14 17:06:21 +00:00
Chris Lattner
bcd7372d19
The only clients of the slot calculator are now the asmwriter and bcwriter.
...
Since this really only makes sense for these two, change hte instance variable
to reflect whether we are writing a bytecode file or not. This makes it
reasonable to add bcwriter specific stuff to it as necessary.
llvm-svn: 10837
2004-01-14 02:49:34 +00:00
Alkis Evlogimenos
c73c31a496
Remove allocatable registers vector. It is already provided by
...
LiveVariables.
llvm-svn: 10830
2004-01-13 22:10:43 +00:00
Chris Lattner
ebdd628dbf
Add new method
...
llvm-svn: 10809
2004-01-12 23:18:06 +00:00
Chris Lattner
f6f9aafee4
Move this file to lib/VMCore
...
llvm-svn: 10804
2004-01-12 20:47:29 +00:00
Chris Lattner
0c243f5c04
Eliminate a lot of out-of-date comments, and all of the wierd overloaded
...
operator constant folding stuff.
llvm-svn: 10803
2004-01-12 20:43:44 +00:00
Chris Lattner
cf1d9df549
The getShift method is no obsolete
...
llvm-svn: 10797
2004-01-12 19:37:26 +00:00
Chris Lattner
98a45667fb
llvm::ConstantFoldInstruction
...
llvm-svn: 10787
2004-01-12 18:25:56 +00:00
Chris Lattner
28e5347635
Move prototype of llvm::ConstantFoldInstruction
...
llvm-svn: 10786
2004-01-12 18:25:44 +00:00
Alkis Evlogimenos
ef7c077e63
Make LiveVariables::HandlePhysRegUse and
...
LiveVariables::HandlePhysRegDef private they use information that is
not in memory when LiveVariables finishes the analysis.
Also update the TwoAddressInstructionPass to not use this interface.
llvm-svn: 10755
2004-01-11 09:18:45 +00:00
Chris Lattner
95db39508d
Minor cleanup
...
llvm-svn: 10752
2004-01-10 21:40:29 +00:00
Chris Lattner
00f2e379c6
remove obsolete file
...
llvm-svn: 10740
2004-01-10 19:00:26 +00:00
Chris Lattner
d9020d0485
Remove an obsolete method, including its _long_ out of date comment.
...
This is an incremental step towards fixing PR82
llvm-svn: 10723
2004-01-09 05:45:58 +00:00
Chris Lattner
1013a3ae58
Remove yet another obsolete comment :)
...
llvm-svn: 10720
2004-01-08 22:28:45 +00:00
Brian Gaeke
4fecad2bb2
Fix typos. Rewrite head-of-file comment.
...
llvm-svn: 10719
2004-01-08 22:21:59 +00:00
Brian Gaeke
a1f8f69add
Fix typos. Regularize include guard.
...
llvm-svn: 10718
2004-01-08 22:21:58 +00:00
Chris Lattner
1736f44b1d
Improve encapsulation in the Loop and LoopInfo classes by eliminating the
...
getSubLoops/getTopLevelLoops methods, replacing them with iterator-based
accessors.
llvm-svn: 10714
2004-01-08 00:09:44 +00:00
Chris Lattner
2ef279d638
add new intrinsic
...
llvm-svn: 10700
2004-01-06 05:32:17 +00:00
Chris Lattner
455225f717
add new method
...
llvm-svn: 10699
2004-01-06 05:31:57 +00:00
Chris Lattner
d3277ccf56
/me slaps forehead
...
llvm-svn: 10693
2004-01-05 05:45:25 +00:00
Chris Lattner
f9d6642d90
Add some intrinsics
...
llvm-svn: 10690
2004-01-05 05:35:34 +00:00
Chris Lattner
0aaaa6b6b0
Initial implementation of some source-level debugging stuff
...
llvm-svn: 10684
2004-01-05 05:23:38 +00:00
Chris Lattner
d11cffdfc6
Add new ExecutionEngine::getGlobalValueAtAddress method, which can efficiently
...
turn a memory address back into the LLVM global object that starts at that
address. Note that this won't cause any additional datastructures to be built
for clients of the EE that don't need this information.
llvm-svn: 10673
2003-12-31 20:19:31 +00:00
Chris Lattner
167644f2e1
Add some comments, add a new getGlobalVariable method
...
llvm-svn: 10670
2003-12-31 08:42:27 +00:00
Chris Lattner
3f6af8506e
* Make Module::getTypeName const
...
* Add new Module::getTypeByName method
* Group methods in Module.cpp better
llvm-svn: 10668
2003-12-31 07:09:33 +00:00
Chris Lattner
24a9176b66
Make the lookup method const.
...
llvm-svn: 10667
2003-12-31 07:08:19 +00:00
Chris Lattner
bbc20a4d18
Add a new class useful for providing fully materialized modules to ExecutionEngine's
...
llvm-svn: 10645
2003-12-30 02:44:04 +00:00
Chris Lattner
c37577eb9f
Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering
...
implementation from the TargetMachine directly.
llvm-svn: 10636
2003-12-28 21:23:38 +00:00
Alkis Evlogimenos
fc01aac4d8
Add coalescing to register allocator. A hint is added to each interval
...
which denotes the register we would like to be assigned to (virtual or
physical). In register allocation, if this hint exists and we can map
it to a physical register (it is either a physical register or it is a
virtual register that already got assigned to a physical one) we use
that register if it is available instead of a random one in the free
pool.
llvm-svn: 10634
2003-12-28 17:58:18 +00:00
Alkis Evlogimenos
24b3159dfc
Add TargetInstrInfo::isMoveInstr() to support coalescing in register
...
allocation.
llvm-svn: 10633
2003-12-28 17:35:08 +00:00
Chris Lattner
869549f54b
We may now pass IntrinsicLowering implementations into these methods
...
llvm-svn: 10630
2003-12-28 09:48:17 +00:00
Chris Lattner
215d4146fe
add argument
...
llvm-svn: 10625
2003-12-28 09:42:49 +00:00
Chris Lattner
cd11b985ba
ABC's must have virtual dtors! Shame on me!
...
llvm-svn: 10624
2003-12-28 08:55:50 +00:00
Chris Lattner
00a54b7c00
Move header into top-level llvm dir
...
llvm-svn: 10622
2003-12-28 08:30:07 +00:00
Chris Lattner
8bc92e92ee
Add new interface that allows removal of some code from the code generators,
...
provides for future extensibility, might help the LLVA project avoid having to
hack their own LLI, and provides support required for the experimental Venus
project.
llvm-svn: 10620
2003-12-28 08:19:13 +00:00
Chris Lattner
7e4c7347ad
New method
...
llvm-svn: 10615
2003-12-26 06:50:15 +00:00
Chris Lattner
4f8b788c30
Rename 'run' to 'runFunction' to emphasize that it is usable to run any
...
function in a module, not just main
llvm-svn: 10608
2003-12-26 06:12:25 +00:00
Chris Lattner
e462353594
Hrm is a really nasty ommission. The lack of this destructor was causing abstract
...
types to never be deleted, manifesting itself as many OpaqueType objects being
leaked. Whoops.
llvm-svn: 10601
2003-12-23 23:25:21 +00:00
Chris Lattner
6ecac445aa
Rename ClassifyExpression -> ClassifyExpr
...
llvm-svn: 10591
2003-12-23 08:03:40 +00:00
Chris Lattner
07a17d5ffe
Doxygenize methods, add new getIntPtrType method
...
llvm-svn: 10578
2003-12-22 05:00:45 +00:00
Chris Lattner
ddc02fd15d
fix grammao
...
llvm-svn: 10576
2003-12-22 04:08:12 +00:00
Alkis Evlogimenos
4401d0a7a3
Change weight into a float so that we can take into account the
...
nesting level when computing it. Right now the allocator uses:
w = sum_over_defs_uses( 10 ^ nesting level );
llvm-svn: 10569
2003-12-21 20:19:10 +00:00
Alkis Evlogimenos
4f98b79ef0
Add support for inactive intervals. This effectively reuses registers
...
for live ranges that fall into assigned registers' holes.
llvm-svn: 10566
2003-12-21 05:43:40 +00:00
Chris Lattner
58d2beb555
Rearrange code, indent for the namespace, add the createMachineFunctionPrinterPass
...
to passes.h, and add the machien destruction pass to Passes.h
llvm-svn: 10557
2003-12-20 10:18:58 +00:00
Chris Lattner
f987d900a4
Remove sparc specific passes from public headers
...
llvm-svn: 10552
2003-12-20 09:15:21 +00:00
Chris Lattner
1963b162db
Remove a horrible API
...
llvm-svn: 10551
2003-12-20 09:15:01 +00:00
Chris Lattner
cfa59c4d89
Cleanups to implement PR135
...
llvm-svn: 10548
2003-12-20 03:35:50 +00:00