| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* Delete the DelaySlotInfo objects created by the SchedulingManager class.
  These leaked objects were accounting for 3/4 of the memory leaked by the
  backend, so this is a relatively major win.
* Reorganize SchedulingManager::getDelaySlotInfoForInstr so that it has
  better code locality (making it easier to read).
llvm-svn: 2197
 | 
| | 
| 
| 
| 
| 
| 
|  | 
frequently. This still leaks edges quite a bit, but it leaks no nodes
(I think).
llvm-svn: 2190
 | 
| | 
| 
| 
|  | 
llvm-svn: 2180
 | 
| | 
| 
| 
| 
| 
| 
|  | 
class.  The Method class is obsolete (renamed) and all references to it
are being converted over to Function.
llvm-svn: 2144
 | 
| | 
| 
| 
| 
| 
|  | 
useful right now when we only do local scheduling.
llvm-svn: 1975
 | 
| | 
| 
| 
|  | 
llvm-svn: 1974
 | 
| | 
| 
| 
|  | 
llvm-svn: 1973
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Destroy live-variable information after scheduling so it is
recomputed before later phases (e.g., reg. allocation).
Use deterministic iterator to enumerate sched graphs.
llvm-svn: 1972
 | 
| | 
| 
| 
|  | 
llvm-svn: 1971
 | 
| | 
| 
| 
|  | 
llvm-svn: 1957
 | 
| | 
| 
| 
|  | 
llvm-svn: 1802
 | 
| | 
| 
| 
| 
| 
|  | 
* Make it compile with GCC 3.0.4
llvm-svn: 1787
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
llvm/Support/CFG.h
* Make pred & succ iterators for intervals global functions
* Add #includes that are now neccesary because BasicBlock.h doesn't include
  InstrTypes.h anymore
llvm-svn: 1750
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h
llvm-svn: 1746
 | 
| | 
| 
| 
|  | 
llvm-svn: 1720
 | 
| | 
| 
| 
| 
| 
|  | 
return references instead of pointers.
llvm-svn: 1719
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
function in the one .cpp file that uses it.  Use ValueSet's instead.
* Prepare to delete LiveVarSet.h & LiveVarSet.cpp
* Eliminate the ValueSet class, making all old member functions into global
  templates that will eventually be moved to Support.
llvm-svn: 1711
 | 
| | 
| 
| 
|  | 
llvm-svn: 1707
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
right pass
* InstructionScheduling is now a real pass
* InstrSched _uses_ LiveVar analysis, instead of creating it's own copy many times
  through a loop.  In this was LiveVarAnalysis is actually even SHARED by Register
  allocation.
* SchedPriorities is now passed the live var information in
llvm-svn: 1700
 | 
| | 
| 
| 
| 
| 
|  | 
Minor cleanups
llvm-svn: 1688
 | 
| | 
| 
| 
|  | 
llvm-svn: 1674
 | 
| | 
| 
| 
| 
| 
|  | 
SchedPriorities.h
llvm-svn: 1669
 | 
| | 
| 
| 
|  | 
llvm-svn: 1645
 | 
| | 
| 
| 
| 
| 
|  | 
* Switch from MachineCodeForVMInstr to MachineCodeForInstruction model
llvm-svn: 1644
 | 
| | 
| 
| 
| 
| 
|  | 
* Convert a few (*X). to X->
llvm-svn: 1643
 | 
| | 
| 
| 
|  | 
llvm-svn: 1554
 | 
| | 
| 
| 
|  | 
llvm-svn: 1503
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Renamed op_const_iterator   -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()
llvm-svn: 1408
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400
 | 
| | 
| 
| 
|  | 
llvm-svn: 1375
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
since some m. instr. may be generated by LLVM instrs. in other blocks.
Handle non-SSA (anti and output) edges and true edges uniformly by
working with machine instructions alone.
llvm-svn: 1269
 | 
| | 
| 
| 
| 
| 
|  | 
LLVM instruction is no longer recorded in each node, but BB is.
llvm-svn: 1262
 | 
| | 
| 
| 
| 
| 
| 
|  | 
This wasn't a problem until we started putting copies for Phi values
that produced cycles in the SchedGraph!
llvm-svn: 1254
 | 
| | 
| 
| 
| 
| 
|  | 
Much nicer.
llvm-svn: 1223
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
are now found as part of the initial walk of the machine code).
Also memory load/store instructions can be generated for non-memory
LLVM instructions, which wasn't handled before.  It is now.
llvm-svn: 1199
 | 
| | 
| 
| 
|  | 
llvm-svn: 1198
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Avoids having to handle some special cases that cause complex interactions
with instr. selection.
llvm-svn: 1138
 | 
| | 
| 
| 
| 
| 
|  | 
support, e.g., dependences on Call instructions.
llvm-svn: 1009
 | 
| | 
| 
| 
| 
| 
| 
|  | 
(b) any instructions that use or set CC registers.  Whether or not the
latter are needed really should be machine-dependent.
llvm-svn: 1008
 | 
| | 
| 
| 
| 
| 
|  | 
useful instructions already inserted into delay slots.
llvm-svn: 945
 | 
| | 
| 
| 
| 
| 
| 
|  | 
from the value itself (the one causing an edge) because the latter may be
a temporary used within the instruction sequence for the VM instruction.
llvm-svn: 858
 | 
| | 
| 
| 
|  | 
llvm-svn: 857
 | 
| | 
| 
| 
| 
| 
|  | 
* Fix initialization order problems...
llvm-svn: 762
 | 
| | 
| 
| 
|  | 
llvm-svn: 724
 | 
| | 
| 
| 
|  | 
llvm-svn: 721
 | 
| | 
| 
| 
|  | 
llvm-svn: 697
 | 
| | 
| 
| 
| 
| 
|  | 
Eliminate old style casts from value.h
llvm-svn: 696
 | 
| | 
| 
| 
|  | 
llvm-svn: 694
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
(1) Ensure that delay slot instructions are not moved out of place (this
    was happening for some CALL instructions).  Basically, we need to
    move all delay slot instructions out of the graph and handle them
    along with the delayed control transfer instruction.
(2) Mark scheduled instructions correctly when instructions are scheduled
    in more than one cycle in a single step (due to delay slots).
llvm-svn: 678
 | 
| | 
| 
| 
|  | 
llvm-svn: 677
 |