aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/CodeGen/RegAlloc/LiveRange.h58
-rw-r--r--lib/CodeGen/RegAlloc/LiveRangeInfo.cpp11
-rw-r--r--lib/CodeGen/RegAlloc/LiveRangeInfo.h22
-rw-r--r--lib/Target/SparcV9/RegAlloc/LiveRange.h58
-rw-r--r--lib/Target/SparcV9/RegAlloc/LiveRangeInfo.cpp11
-rw-r--r--lib/Target/SparcV9/RegAlloc/LiveRangeInfo.h22
6 files changed, 90 insertions, 92 deletions
diff --git a/lib/CodeGen/RegAlloc/LiveRange.h b/lib/CodeGen/RegAlloc/LiveRange.h
index c06cfdc921..aa409c63fb 100644
--- a/lib/CodeGen/RegAlloc/LiveRange.h
+++ b/lib/CodeGen/RegAlloc/LiveRange.h
@@ -18,58 +18,58 @@
#ifndef LIVERANGE_H
#define LIVERANGE_H
-#include "llvm/CodeGen/ValueSet.h"
#include "llvm/Value.h"
+#include "llvm/CodeGen/ValueSet.h"
class RegClass;
class IGNode;
class LiveRange : public ValueSet {
- RegClass *MyRegClass; // register classs (e.g., int, FP) for this LR
+ RegClass *MyRegClass; // register class (e.g., int, FP) for this LR
- // doesSpanAcrossCalls - Does this live range span across calls?
- // This information is used by graph
- // coloring algo to avoid allocating volatile colors to live ranges
- // that span across calls (since they have to be saved/restored)
- //
+ /// doesSpanAcrossCalls - Does this live range span across calls?
+ /// This information is used by graph coloring algo to avoid allocating
+ /// volatile colors to live ranges that span across calls (since they have to
+ /// be saved/restored)
+ ///
bool doesSpanAcrossCalls;
IGNode *UserIGNode; // IGNode which uses this LR
int Color; // color assigned to this live range
bool mustSpill; // whether this LR must be spilt
- // mustSaveAcrossCalls - whether this LR must be saved accross calls
- // ***TODO REMOVE this
- //
+ /// mustSaveAcrossCalls - whether this LR must be saved accross calls
+ /// ***TODO REMOVE this
+ ///
bool mustSaveAcrossCalls;
- // SuggestedColor - if this LR has a suggested color, can it be
- // really alloated? A suggested color cannot be allocated when the
- // suggested color is volatile and when there are call
- // interferences.
- //
+ /// SuggestedColor - if this LR has a suggested color, can it be
+ /// really alloated? A suggested color cannot be allocated when the
+ /// suggested color is volatile and when there are call
+ /// interferences.
+ ///
int SuggestedColor; // The suggested color for this LR
- // CanUseSuggestedCol - It is possible that a suggested color for
- // this live range is not available before graph coloring (e.g., it
- // can be allocated to another live range which interferes with
- // this)
- //
+ /// CanUseSuggestedCol - It is possible that a suggested color for
+ /// this live range is not available before graph coloring (e.g., it
+ /// can be allocated to another live range which interferes with
+ /// this)
+ ///
bool CanUseSuggestedCol;
- // SpilledStackOffsetFromFP - If this LR is spilled, its stack
- // offset from *FP*. The spilled offsets must always be relative to
- // the FP.
- //
+ /// SpilledStackOffsetFromFP - If this LR is spilled, its stack
+ /// offset from *FP*. The spilled offsets must always be relative to
+ /// the FP.
+ ///
int SpilledStackOffsetFromFP;
- // HasSpillOffset 0 Whether this live range has a spill offset
- //
+ /// HasSpillOffset 0 Whether this live range has a spill offset
+ ///
bool HasSpillOffset;
- // The spill cost of this live range. Calculated using loop depth of
- // each reference to each Value in the live range
- //
+ /// The spill cost of this live range. Calculated using loop depth of
+ /// each reference to each Value in the live range
+ ///
unsigned SpillCost;
public:
diff --git a/lib/CodeGen/RegAlloc/LiveRangeInfo.cpp b/lib/CodeGen/RegAlloc/LiveRangeInfo.cpp
index 0f7958c88e..b9fcda789f 100644
--- a/lib/CodeGen/RegAlloc/LiveRangeInfo.cpp
+++ b/lib/CodeGen/RegAlloc/LiveRangeInfo.cpp
@@ -11,16 +11,16 @@
//
//===----------------------------------------------------------------------===//
+#include "IGNode.h"
#include "LiveRangeInfo.h"
#include "RegAllocCommon.h"
#include "RegClass.h"
-#include "IGNode.h"
+#include "llvm/Function.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetRegInfo.h"
-#include "llvm/Function.h"
#include "Support/SetOperations.h"
unsigned LiveRange::getRegClassID() const { return getRegClass()->getID(); }
@@ -217,7 +217,6 @@ void LiveRangeInfo::constructLiveRanges() {
}
} // for all machine instructions in the BB
-
} // for all BBs in function
// Now we have to suggest clors for call and return arg live ranges.
@@ -278,8 +277,7 @@ void LiveRangeInfo::suggestRegs4CallRets() {
// Checks if live range LR interferes with any node assigned or suggested to
// be assigned the specified color
//
-inline bool InterferesWithColor(const LiveRange& LR, unsigned color)
-{
+inline bool InterferesWithColor(const LiveRange& LR, unsigned color) {
IGNode* lrNode = LR.getUserIGNode();
for (unsigned n=0, NN = lrNode->getNumOfNeighbors(); n < NN; n++) {
LiveRange *neighLR = lrNode->getAdjIGNode(n)->getParentLR();
@@ -299,8 +297,7 @@ inline bool InterferesWithColor(const LiveRange& LR, unsigned color)
// (4) LR2 has color and LR1 interferes with any LR that has the same color
//
inline bool InterfsPreventCoalescing(const LiveRange& LROfDef,
- const LiveRange& LROfUse)
-{
+ const LiveRange& LROfUse) {
// (4) if they have different suggested colors, cannot coalesce
if (LROfDef.hasSuggestedColor() && LROfUse.hasSuggestedColor())
return true;
diff --git a/lib/CodeGen/RegAlloc/LiveRangeInfo.h b/lib/CodeGen/RegAlloc/LiveRangeInfo.h
index a9cb349af5..5c5244bd62 100644
--- a/lib/CodeGen/RegAlloc/LiveRangeInfo.h
+++ b/lib/CodeGen/RegAlloc/LiveRangeInfo.h
@@ -87,20 +87,22 @@ public:
std::vector<RegClass *> & RCList);
- // Destructor to destroy all LiveRanges in the LiveRange Map
+ /// Destructor to destroy all LiveRanges in the LiveRange Map
+ ///
~LiveRangeInfo();
// Main entry point for live range construction
//
void constructLiveRanges();
- // return the common live range map for this method
- //
+ /// return the common live range map for this method
+ ///
inline const LiveRangeMapType *getLiveRangeMap() const
{ return &LiveRangeMap; }
- // Method used to get the live range containing a Value.
- // This may return NULL if no live range exists for a Value (eg, some consts)
+ /// Method used to get the live range containing a Value.
+ /// This may return NULL if no live range exists for a Value (eg, some consts)
+ ///
inline LiveRange *getLiveRangeForValue(const Value *Val) {
return LiveRangeMap[Val];
}
@@ -109,13 +111,13 @@ public:
return I->second;
}
- // Method for coalescing live ranges. Called only after interference info
- // is calculated.
- //
+ /// Method for coalescing live ranges. Called only after interference info
+ /// is calculated.
+ ///
void coalesceLRs();
- // debugging method to print the live ranges
- //
+ /// debugging method to print the live ranges
+ ///
void printLiveRanges();
};
diff --git a/lib/Target/SparcV9/RegAlloc/LiveRange.h b/lib/Target/SparcV9/RegAlloc/LiveRange.h
index c06cfdc921..aa409c63fb 100644
--- a/lib/Target/SparcV9/RegAlloc/LiveRange.h
+++ b/lib/Target/SparcV9/RegAlloc/LiveRange.h
@@ -18,58 +18,58 @@
#ifndef LIVERANGE_H
#define LIVERANGE_H
-#include "llvm/CodeGen/ValueSet.h"
#include "llvm/Value.h"
+#include "llvm/CodeGen/ValueSet.h"
class RegClass;
class IGNode;
class LiveRange : public ValueSet {
- RegClass *MyRegClass; // register classs (e.g., int, FP) for this LR
+ RegClass *MyRegClass; // register class (e.g., int, FP) for this LR
- // doesSpanAcrossCalls - Does this live range span across calls?
- // This information is used by graph
- // coloring algo to avoid allocating volatile colors to live ranges
- // that span across calls (since they have to be saved/restored)
- //
+ /// doesSpanAcrossCalls - Does this live range span across calls?
+ /// This information is used by graph coloring algo to avoid allocating
+ /// volatile colors to live ranges that span across calls (since they have to
+ /// be saved/restored)
+ ///
bool doesSpanAcrossCalls;
IGNode *UserIGNode; // IGNode which uses this LR
int Color; // color assigned to this live range
bool mustSpill; // whether this LR must be spilt
- // mustSaveAcrossCalls - whether this LR must be saved accross calls
- // ***TODO REMOVE this
- //
+ /// mustSaveAcrossCalls - whether this LR must be saved accross calls
+ /// ***TODO REMOVE this
+ ///
bool mustSaveAcrossCalls;
- // SuggestedColor - if this LR has a suggested color, can it be
- // really alloated? A suggested color cannot be allocated when the
- // suggested color is volatile and when there are call
- // interferences.
- //
+ /// SuggestedColor - if this LR has a suggested color, can it be
+ /// really alloated? A suggested color cannot be allocated when the
+ /// suggested color is volatile and when there are call
+ /// interferences.
+ ///
int SuggestedColor; // The suggested color for this LR
- // CanUseSuggestedCol - It is possible that a suggested color for
- // this live range is not available before graph coloring (e.g., it
- // can be allocated to another live range which interferes with
- // this)
- //
+ /// CanUseSuggestedCol - It is possible that a suggested color for
+ /// this live range is not available before graph coloring (e.g., it
+ /// can be allocated to another live range which interferes with
+ /// this)
+ ///
bool CanUseSuggestedCol;
- // SpilledStackOffsetFromFP - If this LR is spilled, its stack
- // offset from *FP*. The spilled offsets must always be relative to
- // the FP.
- //
+ /// SpilledStackOffsetFromFP - If this LR is spilled, its stack
+ /// offset from *FP*. The spilled offsets must always be relative to
+ /// the FP.
+ ///
int SpilledStackOffsetFromFP;
- // HasSpillOffset 0 Whether this live range has a spill offset
- //
+ /// HasSpillOffset 0 Whether this live range has a spill offset
+ ///
bool HasSpillOffset;
- // The spill cost of this live range. Calculated using loop depth of
- // each reference to each Value in the live range
- //
+ /// The spill cost of this live range. Calculated using loop depth of
+ /// each reference to each Value in the live range
+ ///
unsigned SpillCost;
public:
diff --git a/lib/Target/SparcV9/RegAlloc/LiveRangeInfo.cpp b/lib/Target/SparcV9/RegAlloc/LiveRangeInfo.cpp
index 0f7958c88e..b9fcda789f 100644
--- a/lib/Target/SparcV9/RegAlloc/LiveRangeInfo.cpp
+++ b/lib/Target/SparcV9/RegAlloc/LiveRangeInfo.cpp
@@ -11,16 +11,16 @@
//
//===----------------------------------------------------------------------===//
+#include "IGNode.h"
#include "LiveRangeInfo.h"
#include "RegAllocCommon.h"
#include "RegClass.h"
-#include "IGNode.h"
+#include "llvm/Function.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetRegInfo.h"
-#include "llvm/Function.h"
#include "Support/SetOperations.h"
unsigned LiveRange::getRegClassID() const { return getRegClass()->getID(); }
@@ -217,7 +217,6 @@ void LiveRangeInfo::constructLiveRanges() {
}
} // for all machine instructions in the BB
-
} // for all BBs in function
// Now we have to suggest clors for call and return arg live ranges.
@@ -278,8 +277,7 @@ void LiveRangeInfo::suggestRegs4CallRets() {
// Checks if live range LR interferes with any node assigned or suggested to
// be assigned the specified color
//
-inline bool InterferesWithColor(const LiveRange& LR, unsigned color)
-{
+inline bool InterferesWithColor(const LiveRange& LR, unsigned color) {
IGNode* lrNode = LR.getUserIGNode();
for (unsigned n=0, NN = lrNode->getNumOfNeighbors(); n < NN; n++) {
LiveRange *neighLR = lrNode->getAdjIGNode(n)->getParentLR();
@@ -299,8 +297,7 @@ inline bool InterferesWithColor(const LiveRange& LR, unsigned color)
// (4) LR2 has color and LR1 interferes with any LR that has the same color
//
inline bool InterfsPreventCoalescing(const LiveRange& LROfDef,
- const LiveRange& LROfUse)
-{
+ const LiveRange& LROfUse) {
// (4) if they have different suggested colors, cannot coalesce
if (LROfDef.hasSuggestedColor() && LROfUse.hasSuggestedColor())
return true;
diff --git a/lib/Target/SparcV9/RegAlloc/LiveRangeInfo.h b/lib/Target/SparcV9/RegAlloc/LiveRangeInfo.h
index a9cb349af5..5c5244bd62 100644
--- a/lib/Target/SparcV9/RegAlloc/LiveRangeInfo.h
+++ b/lib/Target/SparcV9/RegAlloc/LiveRangeInfo.h
@@ -87,20 +87,22 @@ public:
std::vector<RegClass *> & RCList);
- // Destructor to destroy all LiveRanges in the LiveRange Map
+ /// Destructor to destroy all LiveRanges in the LiveRange Map
+ ///
~LiveRangeInfo();
// Main entry point for live range construction
//
void constructLiveRanges();
- // return the common live range map for this method
- //
+ /// return the common live range map for this method
+ ///
inline const LiveRangeMapType *getLiveRangeMap() const
{ return &LiveRangeMap; }
- // Method used to get the live range containing a Value.
- // This may return NULL if no live range exists for a Value (eg, some consts)
+ /// Method used to get the live range containing a Value.
+ /// This may return NULL if no live range exists for a Value (eg, some consts)
+ ///
inline LiveRange *getLiveRangeForValue(const Value *Val) {
return LiveRangeMap[Val];
}
@@ -109,13 +111,13 @@ public:
return I->second;
}
- // Method for coalescing live ranges. Called only after interference info
- // is calculated.
- //
+ /// Method for coalescing live ranges. Called only after interference info
+ /// is calculated.
+ ///
void coalesceLRs();
- // debugging method to print the live ranges
- //
+ /// debugging method to print the live ranges
+ ///
void printLiveRanges();
};