Some small tweaks to make the generated code prettier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51729 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/LLVMCConfigurationEmitter.cpp b/utils/TableGen/LLVMCConfigurationEmitter.cpp
index 8f51c67..2bac703 100644
--- a/utils/TableGen/LLVMCConfigurationEmitter.cpp
+++ b/utils/TableGen/LLVMCConfigurationEmitter.cpp
@@ -776,13 +776,22 @@
   }
 }
 
+// A helper function used by EmitOptionPropertyHandlingCode() that
+// tells us whether we should emit any code at all.
+bool ToolOptionHasInterestingProperties(const ToolOptionDescription& D) {
+  if (!D.isForward() && !D.isUnpackValues() && D.Props.empty())
+    return false;
+  return true;
+}
+
 /// EmitOptionPropertyHandlingCode - Helper function used by
 /// EmitGenerateActionMethod(). Emits code that handles option
 /// properties.
-void EmitOptionPropertyHandlingCode (const ToolProperties& P,
-                                     const ToolOptionDescription& D,
+void EmitOptionPropertyHandlingCode (const ToolOptionDescription& D,
                                      std::ostream& O)
 {
+  if (!ToolOptionHasInterestingProperties(D))
+    return;
   // Start of the if-clause.
   O << Indent2 << "if (";
   if (D.Type == OptionType::Switch)
@@ -878,7 +887,8 @@
   void operator()(const Init* Statement, const char* IndentLevel,
                   std::ostream& O) const
   {
-    EmitCmdLineVecFill(Statement, ToolName, Version, IndentLevel, O);
+    EmitCmdLineVecFill(Statement, ToolName, Version,
+                       (std::string(IndentLevel) + Indent1).c_str(), O);
   }
 };
 
@@ -910,7 +920,7 @@
   for (ToolOptionDescriptions::const_iterator B = P.OptDescs.begin(),
         E = P.OptDescs.end(); B != E; ++B) {
     const ToolOptionDescription& val = B->second;
-    EmitOptionPropertyHandlingCode(P, val, O);
+    EmitOptionPropertyHandlingCode(val, O);
   }
 
   // Handle the Sink property.