trailing whitespace.
authorJim Grosbach <grosbach@apple.com>
Tue, 1 Mar 2011 01:39:05 +0000 (01:39 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 1 Mar 2011 01:39:05 +0000 (01:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126733 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
utils/TableGen/DAGISelEmitter.cpp
utils/TableGen/DAGISelMatcherEmitter.cpp

index 5b0790f241d175a23931200d04fd1bf9bfa5385c..8387bde46e3b5751e87323f743e91d02dc7efd4d 100644 (file)
@@ -764,7 +764,7 @@ bool SelectionDAGISel::TryToFoldFastISelLoad(const LoadInst *LI,
          "The only use of the vreg must be a use, we haven't emitted the def!");
 
   MachineInstr *User = &*RI;
-  
+
   // Set the insertion point properly.  Folding the load can cause generation of
   // other random instructions (like sign extends) for addressing modes, make
   // sure they get inserted in a logical place before the new instruction.
index f3e8db361228ca2da76b9ed53c5e0eba2de329be..dee8f7731f53358836ffe7601605e1d38a6e700c 100644 (file)
@@ -27,7 +27,7 @@ using namespace llvm;
 static unsigned getResultPatternCost(TreePatternNode *P,
                                      CodeGenDAGPatterns &CGP) {
   if (P->isLeaf()) return 0;
-  
+
   unsigned Cost = 0;
   Record *Op = P->getOperator();
   if (Op->isSubClassOf("Instruction")) {
@@ -43,7 +43,7 @@ static unsigned getResultPatternCost(TreePatternNode *P,
 
 /// getResultPatternCodeSize - Compute the code size of instructions for this
 /// pattern.
-static unsigned getResultPatternSize(TreePatternNode *P, 
+static unsigned getResultPatternSize(TreePatternNode *P,
                                      CodeGenDAGPatterns &CGP) {
   if (P->isLeaf()) return 0;
 
@@ -64,21 +64,21 @@ namespace {
 struct PatternSortingPredicate {
   PatternSortingPredicate(CodeGenDAGPatterns &cgp) : CGP(cgp) {}
   CodeGenDAGPatterns &CGP;
-  
+
   bool operator()(const PatternToMatch *LHS, const PatternToMatch *RHS) {
     const TreePatternNode *LHSSrc = LHS->getSrcPattern();
     const TreePatternNode *RHSSrc = RHS->getSrcPattern();
-    
+
     if (LHSSrc->getNumTypes() != 0 && RHSSrc->getNumTypes() != 0 &&
         LHSSrc->getType(0) != RHSSrc->getType(0)) {
       MVT::SimpleValueType V1 = LHSSrc->getType(0), V2 = RHSSrc->getType(0);
       if (MVT(V1).isVector() != MVT(V2).isVector())
         return MVT(V2).isVector();
-      
+
       if (MVT(V1).isFloatingPoint() != MVT(V2).isFloatingPoint())
         return MVT(V2).isFloatingPoint();
     }
-    
+
     // Otherwise, if the patterns might both match, sort based on complexity,
     // which means that we prefer to match patterns that cover more nodes in the
     // input over nodes that cover fewer.
@@ -86,18 +86,18 @@ struct PatternSortingPredicate {
     unsigned RHSSize = RHS->getPatternComplexity(CGP);
     if (LHSSize > RHSSize) return true;   // LHS -> bigger -> less cost
     if (LHSSize < RHSSize) return false;
-    
+
     // If the patterns have equal complexity, compare generated instruction cost
     unsigned LHSCost = getResultPatternCost(LHS->getDstPattern(), CGP);
     unsigned RHSCost = getResultPatternCost(RHS->getDstPattern(), CGP);
     if (LHSCost < RHSCost) return true;
     if (LHSCost > RHSCost) return false;
-    
+
     unsigned LHSPatSize = getResultPatternSize(LHS->getDstPattern(), CGP);
     unsigned RHSPatSize = getResultPatternSize(RHS->getDstPattern(), CGP);
     if (LHSPatSize < RHSPatSize) return true;
     if (LHSPatSize > RHSPatSize) return false;
-    
+
     // Sort based on the UID of the pattern, giving us a deterministic ordering
     // if all other sorting conditions fail.
     assert(LHS == RHS || LHS->ID != RHS->ID);
@@ -110,7 +110,7 @@ struct PatternSortingPredicate {
 void DAGISelEmitter::run(raw_ostream &OS) {
   EmitSourceFileHeader("DAG Instruction Selector for the " +
                        CGP.getTargetInfo().getName() + " target", OS);
-  
+
   OS << "// *** NOTE: This file is #included into the middle of the target\n"
      << "// *** instruction selector class.  These functions are really "
      << "methods.\n\n";
@@ -132,8 +132,8 @@ void DAGISelEmitter::run(raw_ostream &OS) {
   // We want to process the matches in order of minimal cost.  Sort the patterns
   // so the least cost one is at the start.
   std::sort(Patterns.begin(), Patterns.end(), PatternSortingPredicate(CGP));
-  
-  
+
+
   // Convert each variant of each pattern into a Matcher.
   std::vector<Matcher*> PatternMatchers;
   for (unsigned i = 0, e = Patterns.size(); i != e; ++i) {
@@ -144,7 +144,7 @@ void DAGISelEmitter::run(raw_ostream &OS) {
         break;
     }
   }
-          
+
   Matcher *TheMatcher = new ScopeMatcher(&PatternMatchers[0],
                                          PatternMatchers.size());
 
index 9d0e34dba97662c9da31efcd1b34b9db7613c786..3a71ddb712d82e0827ecfdb6f7aca37a4d028b99 100644 (file)
@@ -51,14 +51,14 @@ public:
 
   unsigned EmitMatcherList(const Matcher *N, unsigned Indent,
                            unsigned StartIdx, formatted_raw_ostream &OS);
-  
+
   void EmitPredicateFunctions(formatted_raw_ostream &OS);
-  
+
   void EmitHistogram(const Matcher *N, formatted_raw_ostream &OS);
 private:
   unsigned EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
                        formatted_raw_ostream &OS);
-  
+
   unsigned getNodePredicate(StringRef PredName) {
     unsigned &Entry = NodePredicateMap[PredName];
     if (Entry == 0) {
@@ -75,7 +75,7 @@ private:
     }
     return Entry-1;
   }
-  
+
   unsigned getComplexPat(const ComplexPattern &P) {
     unsigned &Entry = ComplexPatternMap[&P];
     if (Entry == 0) {
@@ -84,7 +84,7 @@ private:
     }
     return Entry-1;
   }
-  
+
   unsigned getNodeXFormID(Record *Rec) {
     unsigned &Entry = NodeXFormMap[Rec];
     if (Entry == 0) {
@@ -93,13 +93,13 @@ private:
     }
     return Entry-1;
   }
-  
+
 };
 } // end anonymous namespace.
 
 static unsigned GetVBRSize(unsigned Val) {
   if (Val <= 127) return 1;
-  
+
   unsigned NumBytes = 0;
   while (Val >= 128) {
     Val >>= 7;
@@ -115,7 +115,7 @@ static uint64_t EmitVBRValue(uint64_t Val, raw_ostream &OS) {
     OS << Val << ", ";
     return 1;
   }
-  
+
   uint64_t InVal = Val;
   unsigned NumBytes = 0;
   while (Val >= 128) {
@@ -136,14 +136,14 @@ unsigned MatcherTableEmitter::
 EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
             formatted_raw_ostream &OS) {
   OS.PadToColumn(Indent*2);
-  
+
   switch (N->getKind()) {
   case Matcher::Scope: {
     const ScopeMatcher *SM = cast<ScopeMatcher>(N);
     assert(SM->getNext() == 0 && "Shouldn't have next after scope");
-    
+
     unsigned StartIdx = CurrentIdx;
-    
+
     // Emit all of the children.
     for (unsigned i = 0, e = SM->getNumChildren(); i != e; ++i) {
       if (i == 0) {
@@ -167,29 +167,29 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
       unsigned VBRSize = 0;
       do {
         VBRSize = GetVBRSize(ChildSize);
-        
+
         TmpBuf.clear();
         raw_svector_ostream OS(TmpBuf);
         formatted_raw_ostream FOS(OS);
         ChildSize = EmitMatcherList(SM->getChild(i), Indent+1,
                                     CurrentIdx+VBRSize, FOS);
       } while (GetVBRSize(ChildSize) != VBRSize);
-      
+
       assert(ChildSize != 0 && "Should not have a zero-sized child!");
-    
+
       CurrentIdx += EmitVBRValue(ChildSize, OS);
       if (!OmitComments) {
         OS << "/*->" << CurrentIdx+ChildSize << "*/";
-      
+
         if (i == 0)
           OS.PadToColumn(CommentIndent) << "// " << SM->getNumChildren()
             << " children in Scope";
       }
-      
+
       OS << '\n' << TmpBuf.str();
       CurrentIdx += ChildSize;
     }
-    
+
     // Emit a zero as a sentinel indicating end of 'Scope'.
     if (!OmitComments)
       OS << "/*" << CurrentIdx << "*/";
@@ -199,7 +199,7 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     OS << '\n';
     return CurrentIdx - StartIdx + 1;
   }
-      
+
   case Matcher::RecordNode:
     OS << "OPC_RecordNode,";
     if (!OmitComments)
@@ -218,23 +218,23 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
         << cast<RecordChildMatcher>(N)->getWhatFor();
     OS << '\n';
     return 1;
-      
+
   case Matcher::RecordMemRef:
     OS << "OPC_RecordMemRef,\n";
     return 1;
-      
+
   case Matcher::CaptureGlueInput:
     OS << "OPC_CaptureGlueInput,\n";
     return 1;
-      
+
   case Matcher::MoveChild:
     OS << "OPC_MoveChild, " << cast<MoveChildMatcher>(N)->getChildNo() << ",\n";
     return 2;
-      
+
   case Matcher::MoveParent:
     OS << "OPC_MoveParent,\n";
     return 1;
-      
+
   case Matcher::CheckSame:
     OS << "OPC_CheckSame, "
        << cast<CheckSameMatcher>(N)->getMatchNumber() << ",\n";
@@ -261,11 +261,11 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     OS << "OPC_CheckOpcode, TARGET_VAL("
        << cast<CheckOpcodeMatcher>(N)->getOpcode().getEnumName() << "),\n";
     return 3;
-      
+
   case Matcher::SwitchOpcode:
   case Matcher::SwitchType: {
     unsigned StartIdx = CurrentIdx;
-    
+
     unsigned NumCases;
     if (const SwitchOpcodeMatcher *SOM = dyn_cast<SwitchOpcodeMatcher>(N)) {
       OS << "OPC_SwitchOpcode ";
@@ -279,7 +279,7 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
       OS << "/*" << NumCases << " cases */";
     OS << ", ";
     ++CurrentIdx;
-    
+
     // For each case we emit the size, then the opcode, then the matcher.
     for (unsigned i = 0, e = NumCases; i != e; ++i) {
       const Matcher *Child;
@@ -291,7 +291,7 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
         Child = cast<SwitchTypeMatcher>(N)->getCaseMatcher(i);
         IdxSize = 1;  // size of type in table is 1 byte.
       }
-      
+
       // We need to encode the opcode and the offset of the case code before
       // emitting the case code.  Handle this by buffering the output into a
       // string while we get the size.  Unfortunately, the offset of the
@@ -302,26 +302,26 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
       unsigned VBRSize = 0;
       do {
         VBRSize = GetVBRSize(ChildSize);
-        
+
         TmpBuf.clear();
         raw_svector_ostream OS(TmpBuf);
         formatted_raw_ostream FOS(OS);
         ChildSize = EmitMatcherList(Child, Indent+1, CurrentIdx+VBRSize+IdxSize,
                                     FOS);
       } while (GetVBRSize(ChildSize) != VBRSize);
-      
+
       assert(ChildSize != 0 && "Should not have a zero-sized child!");
-      
+
       if (i != 0) {
         OS.PadToColumn(Indent*2);
         if (!OmitComments)
         OS << (isa<SwitchOpcodeMatcher>(N) ?
                    "/*SwitchOpcode*/ " : "/*SwitchType*/ ");
       }
-      
+
       // Emit the VBR.
       CurrentIdx += EmitVBRValue(ChildSize, OS);
-      
+
       OS << ' ';
       if (const SwitchOpcodeMatcher *SOM = dyn_cast<SwitchOpcodeMatcher>(N))
         OS << "TARGET_VAL(" << SOM->getCaseOpcode(i).getEnumName() << "),";
@@ -354,13 +354,13 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     OS << "OPC_CheckType, "
        << getEnumName(cast<CheckTypeMatcher>(N)->getType()) << ",\n";
     return 2;
-      
+
   case Matcher::CheckChildType:
     OS << "OPC_CheckChild"
        << cast<CheckChildTypeMatcher>(N)->getChildNo() << "Type, "
        << getEnumName(cast<CheckChildTypeMatcher>(N)->getType()) << ",\n";
     return 2;
-      
+
   case Matcher::CheckInteger: {
     OS << "OPC_CheckInteger, ";
     unsigned Bytes=1+EmitVBRValue(cast<CheckIntegerMatcher>(N)->getValue(), OS);
@@ -371,7 +371,7 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     OS << "OPC_CheckCondCode, ISD::"
        << cast<CheckCondCodeMatcher>(N)->getCondCodeName() << ",\n";
     return 2;
-      
+
   case Matcher::CheckValueType:
     OS << "OPC_CheckValueType, MVT::"
        << cast<CheckValueTypeMatcher>(N)->getTypeName() << ",\n";
@@ -382,20 +382,20 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     const ComplexPattern &Pattern = CCPM->getPattern();
     OS << "OPC_CheckComplexPat, /*CP*/" << getComplexPat(Pattern) << ", /*#*/"
        << CCPM->getMatchNumber() << ',';
-    
+
     if (!OmitComments) {
       OS.PadToColumn(CommentIndent) << "// " << Pattern.getSelectFunc();
       OS << ":$" << CCPM->getName();
       for (unsigned i = 0, e = Pattern.getNumOperands(); i != e; ++i)
         OS << " #" << CCPM->getFirstResult()+i;
-           
+
       if (Pattern.hasProperty(SDNPHasChain))
         OS << " + chain result";
     }
     OS << '\n';
     return 3;
   }
-      
+
   case Matcher::CheckAndImm: {
     OS << "OPC_CheckAndImm, ";
     unsigned Bytes=1+EmitVBRValue(cast<CheckAndImmMatcher>(N)->getValue(), OS);
@@ -409,11 +409,11 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     OS << '\n';
     return Bytes;
   }
-      
+
   case Matcher::CheckFoldableChainNode:
     OS << "OPC_CheckFoldableChainNode,\n";
     return 1;
-      
+
   case Matcher::EmitInteger: {
     int64_t Val = cast<EmitIntegerMatcher>(N)->getValue();
     OS << "OPC_EmitInteger, "
@@ -430,7 +430,7 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
       << Val << ",\n";
     return 3;
   }
-      
+
   case Matcher::EmitRegister:
     if (useEmitRegister2) {
       OS << "OPC_EmitRegister2, "
@@ -457,22 +457,22 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
       }
       return 3;
     }
-      
+
   case Matcher::EmitConvertToTarget:
     OS << "OPC_EmitConvertToTarget, "
        << cast<EmitConvertToTargetMatcher>(N)->getSlot() << ",\n";
     return 2;
-      
+
   case Matcher::EmitMergeInputChains: {
     const EmitMergeInputChainsMatcher *MN =
       cast<EmitMergeInputChainsMatcher>(N);
-    
+
     // Handle the specialized forms OPC_EmitMergeInputChains1_0 and 1_1.
     if (MN->getNumNodes() == 1 && MN->getNode(0) < 2) {
       OS << "OPC_EmitMergeInputChains1_" << MN->getNode(0) << ",\n";
       return 1;
     }
-    
+
     OS << "OPC_EmitMergeInputChains, " << MN->getNumNodes() << ", ";
     for (unsigned i = 0, e = MN->getNumNodes(); i != e; ++i)
       OS << MN->getNode(i) << ", ";
@@ -494,13 +494,13 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     OS <<'\n';
     return 3;
   }
-      
+
   case Matcher::EmitNode:
   case Matcher::MorphNodeTo: {
     const EmitNodeMatcherCommon *EN = cast<EmitNodeMatcherCommon>(N);
     OS << (isa<EmitNodeMatcher>(EN) ? "OPC_EmitNode" : "OPC_MorphNodeTo");
     OS << ", TARGET_VAL(" << EN->getOpcodeName() << "), 0";
-    
+
     if (EN->hasChain())   OS << "|OPFL_Chain";
     if (EN->hasInFlag())  OS << "|OPFL_GlueInput";
     if (EN->hasOutFlag()) OS << "|OPFL_GlueOutput";
@@ -508,7 +508,7 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     if (EN->getNumFixedArityOperands() != -1)
       OS << "|OPFL_Variadic" << EN->getNumFixedArityOperands();
     OS << ",\n";
-    
+
     OS.PadToColumn(Indent*2+4) << EN->getNumVTs();
     if (!OmitComments)
       OS << "/*#VTs*/";
@@ -523,7 +523,7 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     unsigned NumOperandBytes = 0;
     for (unsigned i = 0, e = EN->getNumOperands(); i != e; ++i)
       NumOperandBytes += EmitVBRValue(EN->getOperand(i), OS);
-    
+
     if (!OmitComments) {
       // Print the result #'s for EmitNode.
       if (const EmitNodeMatcher *E = dyn_cast<EmitNodeMatcher>(EN)) {
@@ -538,14 +538,14 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
 
       if (const MorphNodeToMatcher *SNT = dyn_cast<MorphNodeToMatcher>(N)) {
         OS.PadToColumn(Indent*2) << "// Src: "
-          << *SNT->getPattern().getSrcPattern() << " - Complexity = " 
+          << *SNT->getPattern().getSrcPattern() << " - Complexity = "
           << SNT->getPattern().getPatternComplexity(CGP) << '\n';
         OS.PadToColumn(Indent*2) << "// Dst: "
           << *SNT->getPattern().getDstPattern() << '\n';
       }
     } else
       OS << '\n';
-    
+
     return 6+EN->getNumVTs()+NumOperandBytes;
   }
   case Matcher::MarkGlueResults: {
@@ -566,7 +566,7 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     OS << '\n';
     if (!OmitComments) {
       OS.PadToColumn(Indent*2) << "// Src: "
-        << *CM->getPattern().getSrcPattern() << " - Complexity = " 
+        << *CM->getPattern().getSrcPattern() << " - Complexity = "
         << CM->getPattern().getPatternComplexity(CGP) << '\n';
       OS.PadToColumn(Indent*2) << "// Dst: "
         << *CM->getPattern().getDstPattern();
@@ -590,7 +590,7 @@ EmitMatcherList(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
     unsigned MatcherSize = EmitMatcher(N, Indent, CurrentIdx, OS);
     Size += MatcherSize;
     CurrentIdx += MatcherSize;
-    
+
     // If there are other nodes in this list, iterate to them, otherwise we're
     // done.
     N = N->getNext();
@@ -609,15 +609,15 @@ void MatcherTableEmitter::EmitPredicateFunctions(formatted_raw_ostream &OS) {
     OS << "  }\n";
     OS << "}\n\n";
   }
-   
+
   // Emit Node predicates.
   // FIXME: Annoyingly, these are stored by name, which we never even emit. Yay?
   StringMap<TreePattern*> PFsByName;
-  
+
   for (CodeGenDAGPatterns::pf_iterator I = CGP.pf_begin(), E = CGP.pf_end();
        I != E; ++I)
     PFsByName[I->first->getName()] = I->second;
-  
+
   if (!NodePredicates.empty()) {
     OS << "bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const {\n";
     OS << "  switch (PredNo) {\n";
@@ -626,7 +626,7 @@ void MatcherTableEmitter::EmitPredicateFunctions(formatted_raw_ostream &OS) {
       // FIXME: Storing this by name is horrible.
       TreePattern *P =PFsByName[NodePredicates[i].substr(strlen("Predicate_"))];
       assert(P && "Unknown name?");
-      
+
       // Emit the predicate code corresponding to this pattern.
       std::string Code = P->getRecord()->getValueAsCode("Predicate");
       assert(!Code.empty() && "No code in this predicate");
@@ -646,7 +646,7 @@ void MatcherTableEmitter::EmitPredicateFunctions(formatted_raw_ostream &OS) {
     OS << "  }\n";
     OS << "}\n\n";
   }
-  
+
   // Emit CompletePattern matchers.
   // FIXME: This should be const.
   if (!ComplexPatterns.empty()) {
@@ -662,7 +662,7 @@ void MatcherTableEmitter::EmitPredicateFunctions(formatted_raw_ostream &OS) {
 
       if (P.hasProperty(SDNPHasChain))
         ++NumOps;  // Get the chained node too.
-      
+
       OS << "  case " << i << ":\n";
       OS << "    Result.resize(NextRes+" << NumOps << ");\n";
       OS << "    return "  << P.getSelectFunc();
@@ -672,12 +672,12 @@ void MatcherTableEmitter::EmitPredicateFunctions(formatted_raw_ostream &OS) {
       // first argument.
       if (P.hasProperty(SDNPWantRoot))
         OS << "Root, ";
-      
+
       // If the complex pattern wants the parent of the operand being matched,
       // pass it in as the next argument.
       if (P.hasProperty(SDNPWantParent))
         OS << "Parent, ";
-      
+
       OS << "N";
       for (unsigned i = 0; i != NumOps; ++i)
         OS << ", Result[NextRes+" << i << "].first";
@@ -686,28 +686,28 @@ void MatcherTableEmitter::EmitPredicateFunctions(formatted_raw_ostream &OS) {
     OS << "  }\n";
     OS << "}\n\n";
   }
-  
-  
+
+
   // Emit SDNodeXForm handlers.
   // FIXME: This should be const.
   if (!NodeXForms.empty()) {
     OS << "SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) {\n";
     OS << "  switch (XFormNo) {\n";
     OS << "  default: assert(0 && \"Invalid xform # in table?\");\n";
-    
+
     // FIXME: The node xform could take SDValue's instead of SDNode*'s.
     for (unsigned i = 0, e = NodeXForms.size(); i != e; ++i) {
       const CodeGenDAGPatterns::NodeXForm &Entry =
         CGP.getSDNodeTransform(NodeXForms[i]);
-      
+
       Record *SDNode = Entry.first;
       const std::string &Code = Entry.second;
-      
+
       OS << "  case " << i << ": {  ";
       if (!OmitComments)
         OS << "// " << NodeXForms[i]->getName();
       OS << '\n';
-      
+
       std::string ClassName = CGP.getSDNodeInfo(SDNode).getSDClassName();
       if (ClassName == "SDNode")
         OS << "    SDNode *N = V.getNode();\n";
@@ -727,12 +727,12 @@ static void BuildHistogram(const Matcher *M, std::vector<unsigned> &OpcodeFreq){
     if (unsigned(M->getKind()) >= OpcodeFreq.size())
       OpcodeFreq.resize(M->getKind()+1);
     OpcodeFreq[M->getKind()]++;
-  
+
     // Handle recursive nodes.
     if (const ScopeMatcher *SM = dyn_cast<ScopeMatcher>(M)) {
       for (unsigned i = 0, e = SM->getNumChildren(); i != e; ++i)
         BuildHistogram(SM->getChild(i), OpcodeFreq);
-    } else if (const SwitchOpcodeMatcher *SOM = 
+    } else if (const SwitchOpcodeMatcher *SOM =
                  dyn_cast<SwitchOpcodeMatcher>(M)) {
       for (unsigned i = 0, e = SOM->getNumCases(); i != e; ++i)
         BuildHistogram(SOM->getCaseMatcher(i), OpcodeFreq);
@@ -747,16 +747,16 @@ void MatcherTableEmitter::EmitHistogram(const Matcher *M,
                                         formatted_raw_ostream &OS) {
   if (OmitComments)
     return;
-  
+
   std::vector<unsigned> OpcodeFreq;
   BuildHistogram(M, OpcodeFreq);
-  
+
   OS << "  // Opcode Histogram:\n";
   for (unsigned i = 0, e = OpcodeFreq.size(); i != e; ++i) {
     OS << "  // #";
     switch ((Matcher::KindTy)i) {
-    case Matcher::Scope: OS << "OPC_Scope"; break; 
-    case Matcher::RecordNode: OS << "OPC_RecordNode"; break; 
+    case Matcher::Scope: OS << "OPC_Scope"; break;
+    case Matcher::RecordNode: OS << "OPC_RecordNode"; break;
     case Matcher::RecordChild: OS << "OPC_RecordChild"; break;
     case Matcher::RecordMemRef: OS << "OPC_RecordMemRef"; break;
     case Matcher::CaptureGlueInput: OS << "OPC_CaptureGlueInput"; break;
@@ -789,9 +789,9 @@ void MatcherTableEmitter::EmitHistogram(const Matcher *M,
     case Matcher::MorphNodeTo: OS << "OPC_MorphNodeTo"; break;
     case Matcher::EmitNodeXForm: OS << "OPC_EmitNodeXForm"; break;
     case Matcher::MarkGlueResults: OS << "OPC_MarkGlueResults"; break;
-    case Matcher::CompleteMatch: OS << "OPC_CompleteMatch"; break;    
+    case Matcher::CompleteMatch: OS << "OPC_CompleteMatch"; break;
     }
-    
+
     OS.PadToColumn(40) << " = " << OpcodeFreq[i] << '\n';
   }
   OS << '\n';
@@ -803,7 +803,7 @@ void llvm::EmitMatcherTable(const Matcher *TheMatcher,
                             bool useEmitRegister2,
                             raw_ostream &O) {
   formatted_raw_ostream OS(O);
-  
+
   OS << "// The main instruction selector code.\n";
   OS << "SDNode *SelectCode(SDNode *N) {\n";
 
@@ -815,13 +815,13 @@ void llvm::EmitMatcherTable(const Matcher *TheMatcher,
   OS << "  static const unsigned char MatcherTable[] = {\n";
   unsigned TotalSize = MatcherEmitter.EmitMatcherList(TheMatcher, 5, 0, OS);
   OS << "    0\n  }; // Total Array size is " << (TotalSize+1) << " bytes\n\n";
-  
+
   MatcherEmitter.EmitHistogram(TheMatcher, OS);
-  
+
   OS << "  #undef TARGET_VAL\n";
   OS << "  return SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));\n}\n";
   OS << '\n';
-  
+
   // Next up, emit the function for node and pattern predicates:
   MatcherEmitter.EmitPredicateFunctions(OS);
 }