diff options
author | Chris Lattner <sabre@nondot.org> | 2001-09-11 23:52:11 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2001-09-11 23:52:11 +0000 |
commit | d268ad6e2e6c224c688a8e2a51de706e9e6f8165 (patch) | |
tree | 4ac2b4e17d755df0a8479ff79710e48ff1a8ec53 /lib/CodeGen/InstrSelection/InstrSelection.cpp | |
parent | c2a2396e17f8fd6c78afd81368d2b80e8cfe6c42 (diff) |
Eliminate 'BasicNode' from InstrForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@551 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/InstrSelection/InstrSelection.cpp')
-rw-r--r-- | lib/CodeGen/InstrSelection/InstrSelection.cpp | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/lib/CodeGen/InstrSelection/InstrSelection.cpp b/lib/CodeGen/InstrSelection/InstrSelection.cpp index e6884ab572..675e489e46 100644 --- a/lib/CodeGen/InstrSelection/InstrSelection.cpp +++ b/lib/CodeGen/InstrSelection/InstrSelection.cpp @@ -10,30 +10,19 @@ //**************************************************************************/ -//************************** System Include Files ***************************/ - - -//*************************** User Include Files ***************************/ - #include "llvm/CodeGen/InstrSelection.h" +#include "llvm/CodeGen/MachineInstr.h" #include "llvm/Support/CommandLine.h" #include "llvm/Type.h" #include "llvm/iMemory.h" #include "llvm/Instruction.h" #include "llvm/BasicBlock.h" #include "llvm/Method.h" -#include "llvm/CodeGen/MachineInstr.h" - -//************************* Forward Declarations ***************************/ - -static bool SelectInstructionsForTree(BasicTreeNode* treeRoot, - int goalnt, +static bool SelectInstructionsForTree(InstrTreeNode* treeRoot, int goalnt, TargetMachine &Target); -//************************* Internal Data Types *****************************/ - enum SelectDebugLevel_t { Select_NoDebugInfo, Select_PrintMachineCode, @@ -50,8 +39,6 @@ cl::Enum<enum SelectDebugLevel_t> SelectDebugLevel("dselect", cl::NoFlags, // cl clEnumValN(Select_DebugBurgTrees, "b", "print burg trees"), 0); -//************************** External Functions ****************************/ - //--------------------------------------------------------------------------- // Entry point for instruction selection using BURG. @@ -87,7 +74,7 @@ SelectInstructionsForMethod(Method* method, treeRootIter != treeRoots.end(); ++treeRootIter) { - BasicTreeNode* basicNode = (*treeRootIter)->getBasicNode(); + InstrTreeNode* basicNode = *treeRootIter; // Invoke BURM to label each tree node with a state (void) burm_label(basicNode); @@ -192,8 +179,7 @@ FoldGetElemChain(const InstructionNode* getElemInstrNode, //--------------------------------------------------------------------------- bool -SelectInstructionsForTree(BasicTreeNode* treeRoot, - int goalnt, +SelectInstructionsForTree(InstrTreeNode* treeRoot, int goalnt, TargetMachine &Target) { // Use a static vector to avoid allocating a new one per VM instruction @@ -220,7 +206,7 @@ SelectInstructionsForTree(BasicTreeNode* treeRoot, // if (treeRoot->opLabel != VRegListOp) { - InstructionNode* instrNode = (InstructionNode*)treeRoot->treeNodePtr; + InstructionNode* instrNode = (InstructionNode*)treeRoot; assert(instrNode->getNodeType() == InstrTreeNode::NTInstructionNode); unsigned N = GetInstructionsByRule(instrNode, ruleForNode, nts, Target, @@ -238,7 +224,7 @@ SelectInstructionsForTree(BasicTreeNode* treeRoot, if (nts[0]) { // i.e., there is at least one kid - BasicTreeNode* kids[2]; + InstrTreeNode* kids[2]; int currentRule = ruleForNode; burm_kids(treeRoot, currentRule, kids); @@ -258,8 +244,7 @@ SelectInstructionsForTree(BasicTreeNode* treeRoot, for (int i = 0; nts[i]; i++) { assert(i < 2); - InstrTreeNode::InstrTreeNodeType - nodeType = kids[i]->treeNodePtr->getNodeType(); + InstrTreeNode::InstrTreeNodeType nodeType = kids[i]->getNodeType(); if (nodeType == InstrTreeNode::NTVRegListNode || nodeType == InstrTreeNode::NTInstructionNode) { |