aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-02-05 02:51:01 +0000
committerChris Lattner <sabre@nondot.org>2002-02-05 02:51:01 +0000
commit5e5dfa307a6999cef7cba6d1a594f880ab72c043 (patch)
treef57e9d4dd8fb10d74fa747964759e48f86e7ac9d /lib/CodeGen
parent0665a5f1f5716a69982f4bcd654e5ace975d0c0a (diff)
* Eliminate the LiveVarSet class, making applyTranferFuncForMInst a static
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1711 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/InstrSched/InstrScheduling.cpp1
-rw-r--r--lib/CodeGen/InstrSched/SchedPriorities.cpp16
-rw-r--r--lib/CodeGen/RegAlloc/LiveRangeInfo.h8
-rw-r--r--lib/CodeGen/RegAlloc/PhyRegAlloc.h12
4 files changed, 16 insertions, 21 deletions
diff --git a/lib/CodeGen/InstrSched/InstrScheduling.cpp b/lib/CodeGen/InstrSched/InstrScheduling.cpp
index d625a7b719..6e6d14c7c8 100644
--- a/lib/CodeGen/InstrSched/InstrScheduling.cpp
+++ b/lib/CodeGen/InstrSched/InstrScheduling.cpp
@@ -39,7 +39,6 @@ cl::Enum<enum SchedDebugLevel_t> SchedDebugLevel("dsched", cl::NoFlags,
class InstrSchedule;
class SchedulingManager;
-class DelaySlotInfo;
//----------------------------------------------------------------------
diff --git a/lib/CodeGen/InstrSched/SchedPriorities.cpp b/lib/CodeGen/InstrSched/SchedPriorities.cpp
index e06f84cd67..74f659993e 100644
--- a/lib/CodeGen/InstrSched/SchedPriorities.cpp
+++ b/lib/CodeGen/InstrSched/SchedPriorities.cpp
@@ -20,7 +20,7 @@
#include "SchedPriorities.h"
#include "llvm/Analysis/LiveVar/MethodLiveVarInfo.h"
-#include "llvm/Analysis/LiveVar/LiveVarSet.h"
+#include "llvm/Analysis/LiveVar/ValueSet.h"
#include "Support/PostOrderIterator.h"
#include <iostream>
using std::cerr;
@@ -265,8 +265,7 @@ SchedPriorities::findSetWithMaxDelay(std::vector<candIndex>& mcands,
bool
SchedPriorities::instructionHasLastUse(MethodLiveVarInfo& methodLiveVarInfo,
- const SchedGraphNode* graphNode)
-{
+ const SchedGraphNode* graphNode) {
const MachineInstr* minstr = graphNode->getMachineInstr();
std::hash_map<const MachineInstr*, bool>::const_iterator
@@ -277,15 +276,14 @@ SchedPriorities::instructionHasLastUse(MethodLiveVarInfo& methodLiveVarInfo,
// else check if instruction is a last use and save it in the hash_map
bool hasLastUse = false;
const BasicBlock* bb = graphNode->getBB();
- const LiveVarSet* liveVars =
+ const ValueSet *liveVars =
methodLiveVarInfo.getLiveVarSetBeforeMInst(minstr, bb);
for (MachineInstr::val_const_op_iterator vo(minstr); ! vo.done(); ++vo)
- if (liveVars->find(*vo) == liveVars->end())
- {
- hasLastUse = true;
- break;
- }
+ if (liveVars->find(*vo) == liveVars->end()) {
+ hasLastUse = true;
+ break;
+ }
lastUseMap[minstr] = hasLastUse;
return hasLastUse;
diff --git a/lib/CodeGen/RegAlloc/LiveRangeInfo.h b/lib/CodeGen/RegAlloc/LiveRangeInfo.h
index 09aca44f30..48e81c1068 100644
--- a/lib/CodeGen/RegAlloc/LiveRangeInfo.h
+++ b/lib/CodeGen/RegAlloc/LiveRangeInfo.h
@@ -20,10 +20,10 @@
#define LIVE_RANGE_INFO_H
#include "Support/HashExtras.h"
+#include "llvm/Analysis/LiveVar/ValueSet.h"
class LiveRange;
class MachineInstr;
-class LiveVarSet;
class RegClass;
class MachineRegInfo;
class TargetMachine;
@@ -60,17 +60,15 @@ class LiveRangeInfo {
void unionAndUpdateLRs(LiveRange *L1, LiveRange *L2);
- void addInterference(const Instruction *const Inst,
- const LiveVarSet *const LVSet);
+ void addInterference(const Instruction *Inst, const ValueSet *LVSet);
void suggestRegs4CallRets();
const Method* getMethod() { return Meth; }
-
public:
- LiveRangeInfo(const Method *const M,
+ LiveRangeInfo(const Method *M,
const TargetMachine& tm,
std::vector<RegClass *> & RCList);
diff --git a/lib/CodeGen/RegAlloc/PhyRegAlloc.h b/lib/CodeGen/RegAlloc/PhyRegAlloc.h
index de8d793838..f3aef1cdc2 100644
--- a/lib/CodeGen/RegAlloc/PhyRegAlloc.h
+++ b/lib/CodeGen/RegAlloc/PhyRegAlloc.h
@@ -98,15 +98,15 @@ private:
//------- ------------------ private methods---------------------------------
- void addInterference(const Value *const Def, const LiveVarSet *const LVSet,
- const bool isCallInst);
+ void addInterference(const Value *Def, const ValueSet *LVSet,
+ bool isCallInst);
void addInterferencesForArgs();
void createIGNodeListsAndIGs();
void buildInterferenceGraphs();
void setCallInterferences(const MachineInstr *MInst,
- const LiveVarSet *const LVSetAft );
+ const ValueSet *LVSetAft );
void move2DelayedInstr(const MachineInstr *OrigMI,
const MachineInstr *DelayedMI );
@@ -131,13 +131,13 @@ private:
friend class UltraSparcRegInfo;
- int getUsableUniRegAtMI(RegClass *RC, const int RegType,
+ int getUsableUniRegAtMI(RegClass *RC, int RegType,
const MachineInstr *MInst,
- const LiveVarSet *LVSetBef, MachineInstr *MIBef,
+ const ValueSet *LVSetBef, MachineInstr *MIBef,
MachineInstr *MIAft );
int getUnusedUniRegAtMI(RegClass *RC, const MachineInstr *MInst,
- const LiveVarSet *LVSetBef);
+ const ValueSet *LVSetBef);
void setRelRegsUsedByThisInst(RegClass *RC, const MachineInstr *MInst );
int getUniRegNotUsedByThisInst(RegClass *RC, const MachineInstr *MInst);