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
This commit is contained in:
Chris Lattner
2003-09-01 19:56:48 +00:00
parent 758fefc0f0
commit 87d50f0566
3 changed files with 16 additions and 10 deletions

View File

@@ -8,6 +8,7 @@
#include "SparcInternals.h" #include "SparcInternals.h"
#include "llvm/Type.h" #include "llvm/Type.h"
#include "../../CodeGen/RegAlloc/RegAllocCommon.h" // FIXME! #include "../../CodeGen/RegAlloc/RegAllocCommon.h" // FIXME!
#include "llvm/CodeGen/IGNode.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Int Register Class - method for coloring a node in the interference graph. // 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. // Float Register Class - method for coloring a node in the interference graph.
// //

View File

@@ -8,7 +8,6 @@
#define SPARC_REG_CLASS_INFO_H #define SPARC_REG_CLASS_INFO_H
#include "llvm/Target/TargetRegInfo.h" #include "llvm/Target/TargetRegInfo.h"
#include "llvm/CodeGen/IGNode.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Integer Register Class // Integer Register Class
@@ -175,15 +174,7 @@ struct SparcFloatCCRegClass : public TargetRegClassInfo {
: TargetRegClassInfo(ID, 4, 5) { } : TargetRegClassInfo(ID, 4, 5) { }
void colorIGNode(IGNode *Node, void colorIGNode(IGNode *Node,
const std::vector<bool> &IsColorUsedArr) const { 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();
}
// according to Sparc 64 ABI, all %fp CC regs are volatile // according to Sparc 64 ABI, all %fp CC regs are volatile
// //

View File

@@ -14,6 +14,7 @@
#include "llvm/CodeGen/MachineCodeForInstruction.h" #include "llvm/CodeGen/MachineCodeForInstruction.h"
#include "llvm/CodeGen/MachineInstrAnnot.h" #include "llvm/CodeGen/MachineInstrAnnot.h"
#include "llvm/CodeGen/LiveRangeInfo.h" #include "llvm/CodeGen/LiveRangeInfo.h"
#include "llvm/CodeGen/IGNode.h"
#include "llvm/iTerminators.h" #include "llvm/iTerminators.h"
#include "llvm/iOther.h" #include "llvm/iOther.h"
#include "llvm/Function.h" #include "llvm/Function.h"