diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index ed807b3..2c6b6da 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -1183,16 +1183,13 @@
                           ");");
       }
 
-      if (FoldedChains.size() > 0) {
-        std::string Code;
-        for (unsigned j = 0, e = FoldedChains.size(); j < e; j++) {
-          ReplaceFroms.push_back("SDValue(" +
-                                 FoldedChains[j].first + ".getNode(), " +
-                                 utostr(FoldedChains[j].second) +
-                                 ")");
-          ReplaceTos.push_back("SDValue(ResNode, " +
-                               utostr(NumResults+NumDstRegs) + ")");
-        }
+      for (unsigned j = 0, e = FoldedChains.size(); j < e; j++) {
+        ReplaceFroms.push_back("SDValue(" +
+                               FoldedChains[j].first + ".getNode(), " +
+                               utostr(FoldedChains[j].second) +
+                               ")");
+        ReplaceTos.push_back("SDValue(ResNode, " +
+                             utostr(NumResults+NumDstRegs) + ")");
       }
 
       if (NodeHasOutFlag) {
