Eliminate MainTreeNode function
authorChris Lattner <sabre@nondot.org>
Tue, 11 Sep 2001 23:22:43 +0000 (23:22 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 11 Sep 2001 23:22:43 +0000 (23:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@550 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/InstrForest.h
lib/CodeGen/InstrSelection/InstrSelection.cpp
lib/CodeGen/MachineInstr.cpp
lib/Target/SparcV9/InstrSelection/InstrSelection.cpp

index bbfd65d417e153642f0e13061f9c737baf6d953a..382a72ee11da23997207adb79fa609fc4976f82e 100644 (file)
 #ifndef LLVM_CODEGEN_INSTRFOREST_H
 #define LLVM_CODEGEN_INSTRFOREST_H
 
-//************************** System Include Files **************************/
-
-#include <hash_map>
-#include <hash_set>
-
-//*************************** User Include Files ***************************/
-
 #include "llvm/Support/NonCopyable.h"
 #include "llvm/Support/HashExtras.h"
 #include "llvm/Instruction.h"
-
-//************************* Opaque Declarations ****************************/
+#include <hash_map>
+#include <hash_set>
 
 class ConstPoolVal;
 class BasicBlock;
@@ -43,8 +36,6 @@ class Method;
 class InstrTreeNode;
 class InstrForest;
 
-/******************** Exported Data Types and Constants ********************/
-
 //--------------------------------------------------------------------------
 // OpLabel values for special-case nodes created for instruction selection.
 // All op-labels not defined here are identical to the instruction
@@ -110,7 +101,7 @@ extern StateLabel   burm_state      (OpLabel op, StateLabel leftState,
 
 extern StateLabel      burm_rule       (StateLabel state, int goalNT);
   
-extern BasicTreeNode** burm_kids       (BasicTreeNode* p, int eruleno,
+extern BasicTreeNode**  burm_kids      (BasicTreeNode* p, int eruleno,
                                         BasicTreeNode* kids[]);
   
 extern void            printcover      (BasicTreeNode*, int, int);
@@ -119,8 +110,6 @@ extern int          treecost        (BasicTreeNode*, int, int);
 extern void            printMatches    (BasicTreeNode*);
 
 
-//*********************** Public Class Declarations ************************/
-
 //------------------------------------------------------------------------ 
 // class InstrTreeNode
 // 
@@ -128,12 +117,6 @@ extern void                printMatches    (BasicTreeNode*);
 // instruction selection via BURG.
 //------------------------------------------------------------------------ 
 
-inline InstrTreeNode*
-MainTreeNode(BasicTreeNode* node) {
-  return node->treeNodePtr;
-}
-
-
 class InstrTreeNode : public NonCopyableV {
 public:
   enum InstrTreeNodeType { NTInstructionNode,
@@ -168,9 +151,9 @@ public:
   inline InstrTreeNode* rightChild     () const {
     return (InstrTreeNode*)
       (basicNode.rightChild
-       ? (MainTreeNode(basicNode.rightChild)->getOpLabel() == VRegListOp
-         ? MainTreeNode(basicNode.rightChild)->leftChild()
-         : MainTreeNode(basicNode.rightChild))
+       ? (basicNode.rightChild->treeNodePtr->getOpLabel() == VRegListOp
+         ? basicNode.rightChild->treeNodePtr->leftChild()
+         : basicNode.rightChild->treeNodePtr)
        : NULL);
   }
   
index dbb0f8672a63156fab76c97faefd9becd242eb2d..e6884ab572a6b62514e0221f58211e7298c8c543 100644 (file)
@@ -220,7 +220,7 @@ SelectInstructionsForTree(BasicTreeNode* treeRoot,
   // 
   if (treeRoot->opLabel != VRegListOp)
     {
-      InstructionNode* instrNode = (InstructionNode*) MainTreeNode(treeRoot);
+      InstructionNode* instrNode = (InstructionNode*)treeRoot->treeNodePtr;
       assert(instrNode->getNodeType() == InstrTreeNode::NTInstructionNode);
       
       unsigned N = GetInstructionsByRule(instrNode, ruleForNode, nts, Target,
@@ -259,7 +259,7 @@ SelectInstructionsForTree(BasicTreeNode* treeRoot,
        {
          assert(i < 2);
          InstrTreeNode::InstrTreeNodeType
-           nodeType = MainTreeNode(kids[i])->getNodeType();
+           nodeType = kids[i]->treeNodePtr->getNodeType();
          if (nodeType == InstrTreeNode::NTVRegListNode ||
              nodeType == InstrTreeNode::NTInstructionNode)
            {
index 63acea14b4139bb6723a787ce464f322401ab7d3..e5b768eca993e2f5b96b755eca118188a5ed734f 100644 (file)
@@ -153,7 +153,8 @@ ostream &operator<<(ostream &os, const MachineOperand &mop) {
 // 
 // For the common case of 2- and 3-operand arithmetic/logical instructions,
 // set the m/c instr. operands directly from the VM instruction's operands.
-// Check whether the first or second operand is 0 and can use a dedicated "0" register.
+// Check whether the first or second operand is 0 and can use a dedicated "0"
+// register.
 // Check whether the second operand should use an immediate field or register.
 // (First and third operands are never immediates for such instructions.)
 // 
index dbb0f8672a63156fab76c97faefd9becd242eb2d..e6884ab572a6b62514e0221f58211e7298c8c543 100644 (file)
@@ -220,7 +220,7 @@ SelectInstructionsForTree(BasicTreeNode* treeRoot,
   // 
   if (treeRoot->opLabel != VRegListOp)
     {
-      InstructionNode* instrNode = (InstructionNode*) MainTreeNode(treeRoot);
+      InstructionNode* instrNode = (InstructionNode*)treeRoot->treeNodePtr;
       assert(instrNode->getNodeType() == InstrTreeNode::NTInstructionNode);
       
       unsigned N = GetInstructionsByRule(instrNode, ruleForNode, nts, Target,
@@ -259,7 +259,7 @@ SelectInstructionsForTree(BasicTreeNode* treeRoot,
        {
          assert(i < 2);
          InstrTreeNode::InstrTreeNodeType
-           nodeType = MainTreeNode(kids[i])->getNodeType();
+           nodeType = kids[i]->treeNodePtr->getNodeType();
          if (nodeType == InstrTreeNode::NTVRegListNode ||
              nodeType == InstrTreeNode::NTInstructionNode)
            {