Dan Gohman
2303159bba
Move PHIElimination's SplitCriticalEdge for MachineBasicBlocks out
...
into a utility routine, teach it how to update MachineLoopInfo, and
make use of it in MachineLICM to split critical edges on demand.
llvm-svn: 106555
2010-06-22 17:25:57 +00:00
Dan Gohman
b4e120e7a7
Restore dump() methods to Loop and MachineLoop.
...
llvm-svn: 92772
2010-01-05 21:08:02 +00:00
Dan Gohman
1fe811cd09
Add getTopBlock and getBottomBlock member functions to MachineLoopInfo.
...
llvm-svn: 84596
2009-10-20 04:16:37 +00:00
Dan Gohman
9a7df22e10
Move isLCSSAForm, isLoopInvariant, getCanonicalInductionVariable,
...
and related functions out of LoopBase and into Loop, since they
are specific to BasicBlock-based loops. This also allows the code
to be moved out-of-line.
llvm-svn: 75523
2009-07-13 22:02:44 +00:00
Dan Gohman
f6caa6f1e3
Make Loop and MachineLoop be subclasses of LoopBase, rather than typedefs,
...
using the Curiously Recurring Template Pattern with LoopBase.
This will help further refactoring, and future functionality for
Loop. Also, Headers can now foward-declare Loop, instead of pulling
in LoopInfo.h or doing tricks.
llvm-svn: 75519
2009-07-13 21:51:15 +00:00
Dan Gohman
e25e17d91e
Eliminate a layer of indirection in LoopInfo and MachineLoopInfo.
...
llvm-svn: 74394
2009-06-27 21:22:48 +00:00
Dan Gohman
0e73582689
Eliminate several more unnecessary intptr_t casts.
...
llvm-svn: 64888
2009-02-18 05:09:16 +00:00
Dan Gohman
8271066844
Tidy up #includes, deleting a bunch of unnecessary #includes.
...
llvm-svn: 61715
2009-01-05 17:59:02 +00:00
Dan Gohman
027326ba3e
Use empty() instead of begin() == end().
...
llvm-svn: 54780
2008-08-14 18:13:49 +00:00
Dan Gohman
a84b75df17
Remove uses of llvm/System/IncludeFile.h that are no longer needed.
...
llvm-svn: 50695
2008-05-06 01:32:53 +00:00
Chris Lattner
e0b1ee937a
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change. Boy are my fingers tired. ;-)
llvm-svn: 45411
2007-12-29 19:59:42 +00:00
Anton Korobeynikov
23f5d49909
Unbreak build on gcc 3.x
...
llvm-svn: 45315
2007-12-22 14:27:49 +00:00
Owen Anderson
5b2701d634
Fix a stupid error that Chris pointed out.
...
llvm-svn: 44674
2007-12-07 04:04:55 +00:00
Owen Anderson
37a1ebc6a3
Fixes for MachineLoopInfo, mostly from Evan. With these, it should be almost useable!
...
llvm-svn: 44480
2007-12-01 03:01:39 +00:00
Duncan Sands
2a1fefa2c2
Add missing newlines at EOF.
...
llvm-svn: 44399
2007-11-28 10:13:38 +00:00
Owen Anderson
2b9b50b985
Add MachineLoopInfo. This is not yet tested.
...
llvm-svn: 44384
2007-11-27 22:47:08 +00:00