Removal of the redundant CompileContext wrapper

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2001-07-23 03:09:03 +00:00
parent 0f68368fd8
commit 6c5a32d545
6 changed files with 42 additions and 89 deletions
@@ -16,7 +16,6 @@
#include "llvm/Type.h"
#include "llvm/iMemory.h"
#include "llvm/Instruction.h"
#include "llvm/LLC/CompileContext.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/Tools/CommandLine.h"
@@ -36,7 +35,7 @@ cl::Enum<enum DebugLev> DebugLevel("debug_select", cl::NoFlags, // cl::Hidden
//************************* Forward Declarations ***************************/
static bool SelectInstructionsForTree(BasicTreeNode* treeRoot, int goalnt,
CompileContext& ccontext);
TargetMachine &Target);
//******************* Externally Visible Functions *************************/
@@ -47,7 +46,7 @@ static bool SelectInstructionsForTree(BasicTreeNode* treeRoot, int goalnt,
// Returns true if instruction selection failed, false otherwise.
//---------------------------------------------------------------------------
bool SelectInstructionsForMethod(Method* method, CompileContext& ccontext) {
bool SelectInstructionsForMethod(Method* method, TargetMachine &Target) {
bool failed = false;
InstrForest instrForest;
@@ -77,7 +76,7 @@ bool SelectInstructionsForMethod(Method* method, CompileContext& ccontext) {
}
// Then recursively walk the tree to select instructions
if (SelectInstructionsForTree(basicNode, /*goalnt*/1, ccontext))
if (SelectInstructionsForTree(basicNode, /*goalnt*/1, Target))
{
failed = true;
break;
@@ -191,7 +190,7 @@ void PrintMachineInstructions(Method* method) {
bool
SelectInstructionsForTree(BasicTreeNode* treeRoot,
int goalnt,
CompileContext& ccontext)
TargetMachine &Target)
{
// Use a static vector to avoid allocating a new one per VM instruction
static MachineInstr* minstrVec[MAX_INSTR_PER_VMINSTR];
@@ -220,7 +219,7 @@ SelectInstructionsForTree(BasicTreeNode* treeRoot,
InstructionNode* instrNode = (InstructionNode*) MainTreeNode(treeRoot);
assert(instrNode->getNodeType() == InstrTreeNode::NTInstructionNode);
unsigned N = GetInstructionsByRule(instrNode, ruleForNode, nts, ccontext,
unsigned N = GetInstructionsByRule(instrNode, ruleForNode, nts, Target,
minstrVec);
assert(N <= MAX_INSTR_PER_VMINSTR);
for (unsigned i=0; i < N; i++)
@@ -260,8 +259,7 @@ SelectInstructionsForTree(BasicTreeNode* treeRoot,
if (nodeType == InstrTreeNode::NTVRegListNode ||
nodeType == InstrTreeNode::NTInstructionNode)
{
bool failed= SelectInstructionsForTree(kids[i], nts[i],ccontext);
if (failed)
if (SelectInstructionsForTree(kids[i], nts[i], Target))
return true; // failure
}
}