diff --git a/utils/TableGen/DAGISelMatcher.h b/utils/TableGen/DAGISelMatcher.h
index b5dabaf..e20a00e 100644
--- a/utils/TableGen/DAGISelMatcher.h
+++ b/utils/TableGen/DAGISelMatcher.h
@@ -127,8 +127,14 @@
 
 /// RecordMatcherNode - Save the current node in the operand list.
 class RecordMatcherNode : public MatcherNodeWithChild {
+  /// WhatFor - This is a string indicating why we're recording this.  This
+  /// should only be used for comment generation not anything semantic.
+  std::string WhatFor;
 public:
-  RecordMatcherNode() : MatcherNodeWithChild(Record) {}
+  RecordMatcherNode(StringRef whatfor)
+    : MatcherNodeWithChild(Record), WhatFor(whatfor) {}
+  
+  StringRef getWhatFor() const { return WhatFor; }
   
   static inline bool classof(const MatcherNode *N) {
     return N->getKind() == Record;
diff --git a/utils/TableGen/DAGISelMatcherEmitter.cpp b/utils/TableGen/DAGISelMatcherEmitter.cpp
index af75d7d..9b37254 100644
--- a/utils/TableGen/DAGISelMatcherEmitter.cpp
+++ b/utils/TableGen/DAGISelMatcherEmitter.cpp
@@ -126,7 +126,9 @@
     OS.PadToColumn(Indent*2) << "OPC_Emit, /*XXX*/\n\n";
     return 1;
   case MatcherNode::Record:
-    OS << "OPC_Record,\n";
+    OS << "OPC_Record,";
+    OS.PadToColumn(CommentIndent) << "// "
+       << cast<RecordMatcherNode>(N)->getWhatFor() << '\n';
     return 1;
   case MatcherNode::MoveChild:
     OS << "OPC_MoveChild, "
diff --git a/utils/TableGen/DAGISelMatcherGen.cpp b/utils/TableGen/DAGISelMatcherGen.cpp
index c44be1c..5591cfb 100644
--- a/utils/TableGen/DAGISelMatcherGen.cpp
+++ b/utils/TableGen/DAGISelMatcherGen.cpp
@@ -288,7 +288,7 @@
           NumRecorded += 2; // Input and output chains.
       } else {
         // If it is a normal named node, we must emit a 'Record' opcode.
-        AddMatcherNode(new RecordMatcherNode());
+        AddMatcherNode(new RecordMatcherNode(N->getName()));
         NumRecorded = 1;
       }
       NextRecordedOperandNo += NumRecorded;
