aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/InstrSelection/InstrSelection.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-09-11 23:52:11 +0000
committerChris Lattner <sabre@nondot.org>2001-09-11 23:52:11 +0000
commitd268ad6e2e6c224c688a8e2a51de706e9e6f8165 (patch)
tree4ac2b4e17d755df0a8479ff79710e48ff1a8ec53 /lib/CodeGen/InstrSelection/InstrSelection.cpp
parentc2a2396e17f8fd6c78afd81368d2b80e8cfe6c42 (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.cpp29
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)
{