summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorMikhail Glushenkov <foldr@codedgers.com>2008-05-30 06:15:20 +0000
committerMikhail Glushenkov <foldr@codedgers.com>2008-05-30 06:15:20 +0000
commit9e58d5958fa7a42e385c5c68d6664fde555d036c (patch)
tree26bd593b8f8737fb3247287a86fbfe950380e678 /llvm
parent490692c1d167536c401e9e0282d661cc99646421 (diff)
downloadbcm5719-llvm-9e58d5958fa7a42e385c5c68d6664fde555d036c.tar.gz
bcm5719-llvm-9e58d5958fa7a42e385c5c68d6664fde555d036c.zip
Do not generate empty 'if's for the output_suffix property.
llvm-svn: 51737
Diffstat (limited to 'llvm')
-rw-r--r--llvm/tools/llvmc2/Tools.td4
-rw-r--r--llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp18
2 files changed, 15 insertions, 7 deletions
diff --git a/llvm/tools/llvmc2/Tools.td b/llvm/tools/llvmc2/Tools.td
index 42060e3b2cf..ae60874ea8f 100644
--- a/llvm/tools/llvmc2/Tools.td
+++ b/llvm/tools/llvmc2/Tools.td
@@ -27,7 +27,7 @@ def llvm_gcc_c : Tool<
(output_suffix "bc"),
(cmd_line (case
(switch_on "E"),
- "llvm-g++ -E -x c $INFILE -o $OUTFILE -emit-llvm",
+ "llvm-g++ -E -x c $INFILE -o $OUTFILE",
(default),
"llvm-g++ -c -x c $INFILE -o $OUTFILE -emit-llvm")),
(switch_option "E", (stop_compilation),(output_suffix "i"),
@@ -41,7 +41,7 @@ def llvm_gcc_cpp : Tool<
(output_suffix "bc"),
(cmd_line (case
(switch_on "E"),
- "llvm-g++ -E -x c++ $INFILE -o $OUTFILE -emit-llvm",
+ "llvm-g++ -E -x c++ $INFILE -o $OUTFILE",
(default),
"llvm-g++ -c -x c++ $INFILE -o $OUTFILE -emit-llvm")),
(switch_option "E", (stop_compilation), (output_suffix "i")),
diff --git a/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp b/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
index 93fe90b1ee8..a29492817d2 100644
--- a/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
+++ b/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
@@ -790,12 +790,20 @@ void EmitForwardOptionPropertyHandlingCode (const ToolOptionDescription& D,
}
}
-// A helper function used by EmitOptionPropertyHandlingCode() that
-// tells us whether we should emit any code at all.
+// ToolOptionHasInterestingProperties - A helper function used by
+// EmitOptionPropertyHandlingCode() that tells us whether we should
+// emit any property handling code at all.
bool ToolOptionHasInterestingProperties(const ToolOptionDescription& D) {
- if (!D.isForward() && !D.isUnpackValues() && D.Props.empty())
- return false;
- return true;
+ bool ret = false;
+ for (OptionPropertyList::const_iterator B = D.Props.begin(),
+ E = D.Props.end(); B != E; ++B) {
+ const OptionProperty& OptProp = *B;
+ if (OptProp.first == OptionPropertyType::AppendCmd)
+ ret = true;
+ }
+ if (D.isForward() || D.isUnpackValues())
+ ret = true;
+ return ret;
}
/// EmitOptionPropertyHandlingCode - Helper function used by
OpenPOWER on IntegriCloud