diff options
author | Chris Lattner <sabre@nondot.org> | 2003-09-01 19:56:48 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-09-01 19:56:48 +0000 |
commit | 87d50f0566679f5556b6ea8cc01a48cb695bbe95 (patch) | |
tree | 82142644ff86bb5c545a3089c30cae7dc7e94f17 | |
parent | 758fefc0f046c54203602ba65d62a89ad781f370 (diff) |
No longer include IGNode.h in the Sparc global header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8292 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/SparcV9/SparcV9RegClassInfo.cpp | 14 | ||||
-rw-r--r-- | lib/Target/SparcV9/SparcV9RegClassInfo.h | 11 | ||||
-rw-r--r-- | lib/Target/SparcV9/SparcV9RegInfo.cpp | 1 |
3 files changed, 16 insertions, 10 deletions
diff --git a/lib/Target/SparcV9/SparcV9RegClassInfo.cpp b/lib/Target/SparcV9/SparcV9RegClassInfo.cpp index c27c28b33f..6050cf069d 100644 --- a/lib/Target/SparcV9/SparcV9RegClassInfo.cpp +++ b/lib/Target/SparcV9/SparcV9RegClassInfo.cpp @@ -8,6 +8,7 @@ #include "SparcInternals.h" #include "llvm/Type.h" #include "../../CodeGen/RegAlloc/RegAllocCommon.h" // FIXME! +#include "llvm/CodeGen/IGNode.h" //----------------------------------------------------------------------------- // Int Register Class - method for coloring a node in the interference graph. @@ -162,6 +163,19 @@ void SparcIntCCRegClass::colorIGNode(IGNode *Node, } +void SparcFloatCCRegClass::colorIGNode(IGNode *Node, + const std::vector<bool> &IsColorUsedArr) const { + for(unsigned c = 0; c != 4; ++c) + if (!IsColorUsedArr[c]) { // find unused color + Node->setColor(c); + return; + } + + Node->getParentLR()->markForSpill(); +} + + + //----------------------------------------------------------------------------- // Float Register Class - method for coloring a node in the interference graph. // diff --git a/lib/Target/SparcV9/SparcV9RegClassInfo.h b/lib/Target/SparcV9/SparcV9RegClassInfo.h index af61791b28..30ec42d764 100644 --- a/lib/Target/SparcV9/SparcV9RegClassInfo.h +++ b/lib/Target/SparcV9/SparcV9RegClassInfo.h @@ -8,7 +8,6 @@ #define SPARC_REG_CLASS_INFO_H #include "llvm/Target/TargetRegInfo.h" -#include "llvm/CodeGen/IGNode.h" //----------------------------------------------------------------------------- // Integer Register Class @@ -175,15 +174,7 @@ struct SparcFloatCCRegClass : public TargetRegClassInfo { : TargetRegClassInfo(ID, 4, 5) { } void colorIGNode(IGNode *Node, - const std::vector<bool> &IsColorUsedArr) const { - for(unsigned c = 0; c != 4; ++c) - if (!IsColorUsedArr[c]) { // find unused color - Node->setColor(c); - return; - } - - Node->getParentLR()->markForSpill(); - } + const std::vector<bool> &IsColorUsedArr) const; // according to Sparc 64 ABI, all %fp CC regs are volatile // diff --git a/lib/Target/SparcV9/SparcV9RegInfo.cpp b/lib/Target/SparcV9/SparcV9RegInfo.cpp index 6edf1f4c0e..cd8e1e2860 100644 --- a/lib/Target/SparcV9/SparcV9RegInfo.cpp +++ b/lib/Target/SparcV9/SparcV9RegInfo.cpp @@ -14,6 +14,7 @@ #include "llvm/CodeGen/MachineCodeForInstruction.h" #include "llvm/CodeGen/MachineInstrAnnot.h" #include "llvm/CodeGen/LiveRangeInfo.h" +#include "llvm/CodeGen/IGNode.h" #include "llvm/iTerminators.h" #include "llvm/iOther.h" #include "llvm/Function.h" |