[PATCH] D71709: Give frontend dump flags consistent names (*-dump instead of dump-*)

2019-12-23 Thread David Herzka via Phabricator via cfe-commits
herzka updated this revision to Diff 235188.
herzka added a comment.

rebase, restore changes to CC1Options.td that I left out of last revision


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71709/new/

https://reviews.llvm.org/D71709

Files:
  clang/include/clang/Driver/CC1Options.td
  clang/lib/Frontend/CompilerInvocation.cpp
  clang/test/CoverageMapping/block-storage-starts-region.m
  clang/test/CoverageMapping/break.c
  clang/test/CoverageMapping/builtinmacro.c
  clang/test/CoverageMapping/casts.c
  clang/test/CoverageMapping/classtemplate.cpp
  clang/test/CoverageMapping/comment-in-macro.c
  clang/test/CoverageMapping/continue.c
  clang/test/CoverageMapping/control-flow-macro.c
  clang/test/CoverageMapping/decl.c
  clang/test/CoverageMapping/default-method.cpp
  clang/test/CoverageMapping/deferred-region.cpp
  clang/test/CoverageMapping/empty-destructor.cpp
  clang/test/CoverageMapping/header.cpp
  clang/test/CoverageMapping/if.cpp
  clang/test/CoverageMapping/implicit-def-in-macro.m
  clang/test/CoverageMapping/include-macros.c
  clang/test/CoverageMapping/includehell.cpp
  clang/test/CoverageMapping/label.cpp
  clang/test/CoverageMapping/lambda.cpp
  clang/test/CoverageMapping/logical.cpp
  clang/test/CoverageMapping/loopmacro.c
  clang/test/CoverageMapping/loops.cpp
  clang/test/CoverageMapping/macro-expansion.c
  clang/test/CoverageMapping/macro-expressions.cpp
  clang/test/CoverageMapping/macro-stringize-twice.cpp
  clang/test/CoverageMapping/macroception.c
  clang/test/CoverageMapping/macroparams.c
  clang/test/CoverageMapping/macroparams2.c
  clang/test/CoverageMapping/macros.c
  clang/test/CoverageMapping/macroscopes.cpp
  clang/test/CoverageMapping/md.cpp
  clang/test/CoverageMapping/moremacros.c
  clang/test/CoverageMapping/nestedclass.cpp
  clang/test/CoverageMapping/objc.m
  clang/test/CoverageMapping/openmp.c
  clang/test/CoverageMapping/pr32679.cpp
  clang/test/CoverageMapping/preprocessor.c
  clang/test/CoverageMapping/return.c
  clang/test/CoverageMapping/switch.cpp
  clang/test/CoverageMapping/switchmacro.c
  clang/test/CoverageMapping/system_macro.cpp
  clang/test/CoverageMapping/templates.cpp
  clang/test/CoverageMapping/test.c
  clang/test/CoverageMapping/trycatch.cpp
  clang/test/CoverageMapping/trymacro.cpp
  clang/test/CoverageMapping/unreachable-macro.c
  clang/test/CoverageMapping/unused_function.cpp
  clang/test/CoverageMapping/while.c
  clang/test/Lexer/dollar-idents.c
  clang/test/Preprocessor/dumptokens_phyloc.c
  clang/utils/token-delta.py

Index: clang/utils/token-delta.py
===
--- clang/utils/token-delta.py
+++ clang/utils/token-delta.py
@@ -108,7 +108,7 @@
   re.DOTALL | re.MULTILINE)
 
 def getTokens(path):
-p = subprocess.Popen(['clang','-dump-raw-tokens',path],
+p = subprocess.Popen(['clang','-raw-tokens-dump',path],
  stdin=subprocess.PIPE,
  stdout=subprocess.PIPE,
  stderr=subprocess.PIPE)
Index: clang/test/Preprocessor/dumptokens_phyloc.c
===
--- clang/test/Preprocessor/dumptokens_phyloc.c
+++ clang/test/Preprocessor/dumptokens_phyloc.c
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -dump-tokens %s 2>&1 | grep "Spelling=.*dumptokens_phyloc.c:3:20"
+// RUN: %clang_cc1 -tokens-dump %s 2>&1 | grep "Spelling=.*dumptokens_phyloc.c:3:20"
 
 #define TESTPHYLOC 10
 
Index: clang/test/Lexer/dollar-idents.c
===
--- clang/test/Lexer/dollar-idents.c
+++ clang/test/Lexer/dollar-idents.c
@@ -1,5 +1,5 @@
-// RUN: %clang_cc1 -dump-tokens %s 2>&1 | FileCheck %s
-// RUN: %clang_cc1 -dump-tokens -x assembler-with-cpp %s 2>&1 | FileCheck %s --check-prefix=CHECK-ASM
+// RUN: %clang_cc1 -tokens-dump %s 2>&1 | FileCheck %s
+// RUN: %clang_cc1 -tokens-dump -x assembler-with-cpp %s 2>&1 | FileCheck %s --check-prefix=CHECK-ASM
 // PR3808
 
 // CHECK: identifier '$A'
Index: clang/test/CoverageMapping/while.c
===
--- clang/test/CoverageMapping/while.c
+++ clang/test/CoverageMapping/while.c
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name loops.cpp %s | FileCheck %s
+// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -coverage-mapping-dump -emit-llvm-only -main-file-name loops.cpp %s | FileCheck %s
 
 // CHECK: main
 int main() {// CHECK-NEXT: File 0, [[@LINE]]:12 -> [[@LINE+8]]:2 = #0
Index: clang/test/CoverageMapping/unused_function.cpp
===
--- clang/test/CoverageMapping/unused_function.cpp
+++ clang/test/CoverageMapping/unused_function.cpp
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -fprof

[PATCH] D71709: Give frontend dump flags consistent names (*-dump instead of dump-*)

2019-12-22 Thread Brian Gesiak via Phabricator via cfe-commits
modocache added a subscriber: mehdi_amini.
modocache added a comment.

Ah, I'm sorry I wasn't clear -- instead of changing a lot of tests to use the 
new names exclusively, my suggestion was to change one or two tests to use the 
new canonical name, and have the remaining tests keep using the alias. That 
would keep the patch small, but still exercise both the new option name 
`-tokens-dump` as well as the old alias `-dump-tokens`.

That being said, this change also works for me! I'd be happy to have this 
landed. But I want to make sure others have input as well. @mehdi_amini  
commented on this patch on the LLVM Discord, for example:

> This patch seems weird to me: with this logic we would shuffle around every 
> possible options (`-fdump-vtable-layouts` / `-fvtable-layouts-dump`, 
> `-disable-O0-optnone` / `-O0-optnone-disable`, ...) ?

To which I responded:

> I'm of the opinion -- and maybe this would be a radical change -- that all 
> "dump" options should either use it as a prefix (`-fdump-vtable-layouts`) or 
> as a suffix (`-fvtable-layouts-dump`). I'm not an expert though, so I don't 
> know what would be the polite way to change option names without disrupting 
> end users of LLVM. I thought the patch was good because it adds aliases, so 
> people who are used to `-dump-tokens` or `-ast-dump` could still use those 
> option names.
> 
> So I think my answer to your question is "no, we shouldn't provide aliases 
> with all permutations of words in options." My take is "for options that dump 
> some sort of intermediate output, dump should appear in a standard place in 
> the option name. Whether it's at the beginning (`-dump-ast`, `-dump-tokens`) 
> or at the end (`-ast-dump`, `-tokens-dump`) doesn't matter to me, per se, as 
> long as it's consistent." And, my second opinion: "Personally I'd love to 
> change all of these option names right now, but that might be disruptive, I 
> don't know. If it isn't, then let's change them. If it is, then using aliases 
> seems like a good migratory plan."

I'd like to wait and give others the chance to review this patch, so I'll wait 
a bit to accept it. It would help me personally day to day to have this change 
landed, because I can never remember the order of options like `-tokens-dump` 
and `-dump-ast`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71709/new/

https://reviews.llvm.org/D71709



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D71709: Give frontend dump flags consistent names (*-dump instead of dump-*)

2019-12-20 Thread David Herzka via Phabricator via cfe-commits
herzka updated this revision to Diff 234966.
herzka added a comment.
Herald added a reviewer: jdoerfert.

change flags in tests


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71709/new/

https://reviews.llvm.org/D71709

Files:
  clang/lib/Frontend/CompilerInvocation.cpp
  clang/test/CoverageMapping/block-storage-starts-region.m
  clang/test/CoverageMapping/break.c
  clang/test/CoverageMapping/builtinmacro.c
  clang/test/CoverageMapping/casts.c
  clang/test/CoverageMapping/classtemplate.cpp
  clang/test/CoverageMapping/comment-in-macro.c
  clang/test/CoverageMapping/continue.c
  clang/test/CoverageMapping/control-flow-macro.c
  clang/test/CoverageMapping/decl.c
  clang/test/CoverageMapping/default-method.cpp
  clang/test/CoverageMapping/deferred-region.cpp
  clang/test/CoverageMapping/empty-destructor.cpp
  clang/test/CoverageMapping/header.cpp
  clang/test/CoverageMapping/if.cpp
  clang/test/CoverageMapping/implicit-def-in-macro.m
  clang/test/CoverageMapping/include-macros.c
  clang/test/CoverageMapping/includehell.cpp
  clang/test/CoverageMapping/label.cpp
  clang/test/CoverageMapping/lambda.cpp
  clang/test/CoverageMapping/logical.cpp
  clang/test/CoverageMapping/loopmacro.c
  clang/test/CoverageMapping/loops.cpp
  clang/test/CoverageMapping/macro-expansion.c
  clang/test/CoverageMapping/macro-expressions.cpp
  clang/test/CoverageMapping/macro-stringize-twice.cpp
  clang/test/CoverageMapping/macroception.c
  clang/test/CoverageMapping/macroparams.c
  clang/test/CoverageMapping/macroparams2.c
  clang/test/CoverageMapping/macros.c
  clang/test/CoverageMapping/macroscopes.cpp
  clang/test/CoverageMapping/md.cpp
  clang/test/CoverageMapping/moremacros.c
  clang/test/CoverageMapping/nestedclass.cpp
  clang/test/CoverageMapping/objc.m
  clang/test/CoverageMapping/openmp.c
  clang/test/CoverageMapping/pr32679.cpp
  clang/test/CoverageMapping/preprocessor.c
  clang/test/CoverageMapping/return.c
  clang/test/CoverageMapping/switch.cpp
  clang/test/CoverageMapping/switchmacro.c
  clang/test/CoverageMapping/system_macro.cpp
  clang/test/CoverageMapping/templates.cpp
  clang/test/CoverageMapping/test.c
  clang/test/CoverageMapping/trycatch.cpp
  clang/test/CoverageMapping/trymacro.cpp
  clang/test/CoverageMapping/unreachable-macro.c
  clang/test/CoverageMapping/unused_function.cpp
  clang/test/CoverageMapping/while.c
  clang/test/Lexer/dollar-idents.c
  clang/test/Preprocessor/dumptokens_phyloc.c
  clang/utils/token-delta.py

Index: clang/utils/token-delta.py
===
--- clang/utils/token-delta.py
+++ clang/utils/token-delta.py
@@ -108,7 +108,7 @@
   re.DOTALL | re.MULTILINE)
 
 def getTokens(path):
-p = subprocess.Popen(['clang','-dump-raw-tokens',path],
+p = subprocess.Popen(['clang','-raw-tokens-dump',path],
  stdin=subprocess.PIPE,
  stdout=subprocess.PIPE,
  stderr=subprocess.PIPE)
Index: clang/test/Preprocessor/dumptokens_phyloc.c
===
--- clang/test/Preprocessor/dumptokens_phyloc.c
+++ clang/test/Preprocessor/dumptokens_phyloc.c
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -dump-tokens %s 2>&1 | grep "Spelling=.*dumptokens_phyloc.c:3:20"
+// RUN: %clang_cc1 -tokens-dump %s 2>&1 | grep "Spelling=.*dumptokens_phyloc.c:3:20"
 
 #define TESTPHYLOC 10
 
Index: clang/test/Lexer/dollar-idents.c
===
--- clang/test/Lexer/dollar-idents.c
+++ clang/test/Lexer/dollar-idents.c
@@ -1,5 +1,5 @@
-// RUN: %clang_cc1 -dump-tokens %s 2>&1 | FileCheck %s
-// RUN: %clang_cc1 -dump-tokens -x assembler-with-cpp %s 2>&1 | FileCheck %s --check-prefix=CHECK-ASM
+// RUN: %clang_cc1 -tokens-dump %s 2>&1 | FileCheck %s
+// RUN: %clang_cc1 -tokens-dump -x assembler-with-cpp %s 2>&1 | FileCheck %s --check-prefix=CHECK-ASM
 // PR3808
 
 // CHECK: identifier '$A'
Index: clang/test/CoverageMapping/while.c
===
--- clang/test/CoverageMapping/while.c
+++ clang/test/CoverageMapping/while.c
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name loops.cpp %s | FileCheck %s
+// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -coverage-mapping-dump -emit-llvm-only -main-file-name loops.cpp %s | FileCheck %s
 
 // CHECK: main
 int main() {// CHECK-NEXT: File 0, [[@LINE]]:12 -> [[@LINE+8]]:2 = #0
Index: clang/test/CoverageMapping/unused_function.cpp
===
--- clang/test/CoverageMapping/unused_function.cpp
+++ clang/test/CoverageMapping/unused_function.cpp
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapp

[PATCH] D71709: Give frontend dump flags consistent names (*-dump instead of dump-*)

2019-12-20 Thread David Herzka via Phabricator via cfe-commits
herzka added a comment.

I worry that repeating all those names in those tests might be noisy. I think 
I'll switch those to use the new name, but add another test that makes sure 
both names still work.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71709/new/

https://reviews.llvm.org/D71709



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D71709: Give frontend dump flags consistent names (*-dump instead of dump-*)

2019-12-19 Thread Brian Gesiak via Phabricator via cfe-commits
modocache requested changes to this revision.
modocache added subscribers: jroelofs, echristo.
modocache added a comment.
This revision now requires changes to proceed.

Grepping for "dump-tokens", I can see one regression test that exercises this 
option: clang/test/Lexer/dollar-idents.c. "dump-coverage-mapping" also shows up 
in a few regression tests. One way to exercise the new option names is to 
modify these tests to use both the new and old option names. I think this would 
test that they can be used interchangeably.

As for the unit tests in llvm/unittests or clang/unittests, I agree, I don't 
think this diff requires any new tests in there.

I'll request changes on this diff because some `switch` statements in Clang 
need to be updated to handle the new option names. Also I'll suggest some 
additional reviewers: @jroelofs (who suggested we create aliases for these), 
and @echristo (because these options were last modified over 7 years ago and 
Eric has a long tenure in this codebase).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71709/new/

https://reviews.llvm.org/D71709



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D71709: Give frontend dump flags consistent names (*-dump instead of dump-*)

2019-12-19 Thread David Herzka via Phabricator via cfe-commits
herzka updated this revision to Diff 234746.
herzka added a comment.

Update argument parsing


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71709/new/

https://reviews.llvm.org/D71709

Files:
  clang/include/clang/Driver/CC1Options.td
  clang/lib/Frontend/CompilerInvocation.cpp


Index: clang/lib/Frontend/CompilerInvocation.cpp
===
--- clang/lib/Frontend/CompilerInvocation.cpp
+++ clang/lib/Frontend/CompilerInvocation.cpp
@@ -851,7 +851,7 @@
 
   Opts.CoverageMapping =
   Args.hasFlag(OPT_fcoverage_mapping, OPT_fno_coverage_mapping, false);
-  Opts.DumpCoverageMapping = Args.hasArg(OPT_dump_coverage_mapping);
+  Opts.DumpCoverageMapping = Args.hasArg(OPT_coverage_mapping_dump);
   Opts.AsmVerbose = Args.hasArg(OPT_masm_verbose);
   Opts.PreserveAsmComments = !Args.hasArg(OPT_fno_preserve_as_comments);
   Opts.AssumeSaneOperatorNew = !Args.hasArg(OPT_fno_assume_sane_operator_new);
@@ -1725,9 +1725,9 @@
   Opts.ProgramAction = frontend::ASTView; break;
 case OPT_compiler_options_dump:
   Opts.ProgramAction = frontend::DumpCompilerOptions; break;
-case OPT_dump_raw_tokens:
+case OPT_raw_tokens_dump:
   Opts.ProgramAction = frontend::DumpRawTokens; break;
-case OPT_dump_tokens:
+case OPT_tokens_dump:
   Opts.ProgramAction = frontend::DumpTokens; break;
 case OPT_S:
   Opts.ProgramAction = frontend::EmitAssembly; break;
@@ -3340,7 +3340,7 @@
   Opts.DisablePCHValidation = Args.hasArg(OPT_fno_validate_pch);
   Opts.AllowPCHWithCompilerErrors = Args.hasArg(OPT_fallow_pch_with_errors);
 
-  Opts.DumpDeserializedPCHDecls = Args.hasArg(OPT_dump_deserialized_pch_decls);
+  Opts.DumpDeserializedPCHDecls = Args.hasArg(OPT_deserialized_pch_decls_dump);
   for (const auto *A : Args.filtered(OPT_error_on_deserialized_pch_decl))
 Opts.DeserializedPCHDeclsToErrorOn.insert(A->getValue());
 
Index: clang/include/clang/Driver/CC1Options.td
===
--- clang/include/clang/Driver/CC1Options.td
+++ clang/include/clang/Driver/CC1Options.td
@@ -272,8 +272,10 @@
   HelpText<"Four-byte version string for gcov files.">;
 def test_coverage : Flag<["-"], "test-coverage">,
   HelpText<"Do not generate coverage files or remove coverage changes from 
IR">;
-def dump_coverage_mapping : Flag<["-"], "dump-coverage-mapping">,
+def coverage_mapping_dump : Flag<["-"], "coverage-mapping-dump">,
   HelpText<"Dump the coverage mapping records, for testing">;
+def dump_coverage_mapping : Flag<["-"], "dump-coverage-mapping">,
+  Alias;
 def fuse_register_sized_bitfield_access: Flag<["-"], 
"fuse-register-sized-bitfield-access">,
   HelpText<"Use register sized accesses to bit-fields, when possible.">;
 def relaxed_aliasing : Flag<["-"], "relaxed-aliasing">,
@@ -559,12 +561,16 @@
 
 def Eonly : Flag<["-"], "Eonly">,
   HelpText<"Just run preprocessor, no output (for timings)">;
-def dump_raw_tokens : Flag<["-"], "dump-raw-tokens">,
+def raw_tokens_dump : Flag<["-"], "raw-tokens-dump">,
   HelpText<"Lex file in raw mode and dump raw tokens">;
+def dump_raw_tokens : Flag<["-"], "dump-raw-tokens">,
+  Alias;
 def analyze : Flag<["-"], "analyze">,
   HelpText<"Run static analysis engine">;
-def dump_tokens : Flag<["-"], "dump-tokens">,
+def tokens_dump : Flag<["-"], "tokens-dump">,
   HelpText<"Run preprocessor, dump internal rep of tokens">;
+def dump_tokens : Flag<["-"], "dump-tokens">,
+  Alias;
 def init_only : Flag<["-"], "init-only">,
   HelpText<"Only execute frontend initialization">;
 def fixit : Flag<["-"], "fixit">,
@@ -726,8 +732,10 @@
   HelpText<"Disable validation of precompiled headers">;
 def fallow_pch_with_errors : Flag<["-"], "fallow-pch-with-compiler-errors">,
   HelpText<"Accept a PCH file that was created with compiler errors">;
-def dump_deserialized_pch_decls : Flag<["-"], "dump-deserialized-decls">,
+def deserialized_pch_decls_dump : Flag<["-"], "deserialized-decls-dump">,
   HelpText<"Dump declarations that are deserialized from PCH, for testing">;
+def dump_deserialized_pch_decls : Flag<["-"], "dump-deserialized-decls">,
+  Alias;
 def error_on_deserialized_pch_decl : Separate<["-"], 
"error-on-deserialized-decl">,
   HelpText<"Emit error if a specific declaration is deserialized from PCH, for 
testing">;
 def error_on_deserialized_pch_decl_EQ : Joined<["-"], 
"error-on-deserialized-decl=">,


Index: clang/lib/Frontend/CompilerInvocation.cpp
===
--- clang/lib/Frontend/CompilerInvocation.cpp
+++ clang/lib/Frontend/CompilerInvocation.cpp
@@ -851,7 +851,7 @@
 
   Opts.CoverageMapping =
   Args.hasFlag(OPT_fcoverage_mapping, OPT_fno_coverage_mapping, false);
-  Opts.DumpCoverageMapping = Args.hasArg(OPT_dump_coverage_mapping);
+  Opts.DumpCoverageMapping = Args.hasArg(OPT_coverage_mapping_dump);
   Opts.AsmVerbose = Args.hasArg(OPT_masm_verbose

[PATCH] D71709: Give frontend dump flags consistent names (*-dump instead of dump-*)

2019-12-19 Thread David Herzka via Phabricator via cfe-commits
herzka added a comment.

@modocache, should I add a unit test for these aliases or would that be too 
trivial? I don't see unit tests for all the existing flags.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71709/new/

https://reviews.llvm.org/D71709



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D71709: Give frontend dump flags consistent names (*-dump instead of dump-*)

2019-12-19 Thread David Herzka via Phabricator via cfe-commits
herzka created this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
herzka added a reviewer: modocache.
herzka added a comment.

@modocache, should I add a unit test for these aliases or would that be too 
trivial? I don't see unit tests for all the existing flags.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D71709

Files:
  clang/include/clang/Driver/CC1Options.td


Index: clang/include/clang/Driver/CC1Options.td
===
--- clang/include/clang/Driver/CC1Options.td
+++ clang/include/clang/Driver/CC1Options.td
@@ -272,8 +272,10 @@
   HelpText<"Four-byte version string for gcov files.">;
 def test_coverage : Flag<["-"], "test-coverage">,
   HelpText<"Do not generate coverage files or remove coverage changes from 
IR">;
-def dump_coverage_mapping : Flag<["-"], "dump-coverage-mapping">,
+def coverage_mapping_dump : Flag<["-"], "coverage-mapping-dump">,
   HelpText<"Dump the coverage mapping records, for testing">;
+def dump_coverage_mapping : Flag<["-"], "dump-coverage-mapping">,
+  Alias;
 def fuse_register_sized_bitfield_access: Flag<["-"], 
"fuse-register-sized-bitfield-access">,
   HelpText<"Use register sized accesses to bit-fields, when possible.">;
 def relaxed_aliasing : Flag<["-"], "relaxed-aliasing">,
@@ -559,12 +561,16 @@
 
 def Eonly : Flag<["-"], "Eonly">,
   HelpText<"Just run preprocessor, no output (for timings)">;
-def dump_raw_tokens : Flag<["-"], "dump-raw-tokens">,
+def raw_tokens_dump : Flag<["-"], "raw-tokens-dump">,
   HelpText<"Lex file in raw mode and dump raw tokens">;
+def dump_raw_tokens : Flag<["-"], "dump-raw-tokens">,
+  Alias;
 def analyze : Flag<["-"], "analyze">,
   HelpText<"Run static analysis engine">;
-def dump_tokens : Flag<["-"], "dump-tokens">,
+def tokens_dump : Flag<["-"], "tokens-dump">,
   HelpText<"Run preprocessor, dump internal rep of tokens">;
+def dump_tokens : Flag<["-"], "dump-tokens">,
+  Alias;
 def init_only : Flag<["-"], "init-only">,
   HelpText<"Only execute frontend initialization">;
 def fixit : Flag<["-"], "fixit">,
@@ -726,8 +732,10 @@
   HelpText<"Disable validation of precompiled headers">;
 def fallow_pch_with_errors : Flag<["-"], "fallow-pch-with-compiler-errors">,
   HelpText<"Accept a PCH file that was created with compiler errors">;
-def dump_deserialized_pch_decls : Flag<["-"], "dump-deserialized-decls">,
+def deserialized_pch_decls_dump : Flag<["-"], "deserialized-decls-dump">,
   HelpText<"Dump declarations that are deserialized from PCH, for testing">;
+def dump_deserialized_pch_decls : Flag<["-"], "dump-deserialized-decls">,
+  Alias;
 def error_on_deserialized_pch_decl : Separate<["-"], 
"error-on-deserialized-decl">,
   HelpText<"Emit error if a specific declaration is deserialized from PCH, for 
testing">;
 def error_on_deserialized_pch_decl_EQ : Joined<["-"], 
"error-on-deserialized-decl=">,


Index: clang/include/clang/Driver/CC1Options.td
===
--- clang/include/clang/Driver/CC1Options.td
+++ clang/include/clang/Driver/CC1Options.td
@@ -272,8 +272,10 @@
   HelpText<"Four-byte version string for gcov files.">;
 def test_coverage : Flag<["-"], "test-coverage">,
   HelpText<"Do not generate coverage files or remove coverage changes from IR">;
-def dump_coverage_mapping : Flag<["-"], "dump-coverage-mapping">,
+def coverage_mapping_dump : Flag<["-"], "coverage-mapping-dump">,
   HelpText<"Dump the coverage mapping records, for testing">;
+def dump_coverage_mapping : Flag<["-"], "dump-coverage-mapping">,
+  Alias;
 def fuse_register_sized_bitfield_access: Flag<["-"], "fuse-register-sized-bitfield-access">,
   HelpText<"Use register sized accesses to bit-fields, when possible.">;
 def relaxed_aliasing : Flag<["-"], "relaxed-aliasing">,
@@ -559,12 +561,16 @@
 
 def Eonly : Flag<["-"], "Eonly">,
   HelpText<"Just run preprocessor, no output (for timings)">;
-def dump_raw_tokens : Flag<["-"], "dump-raw-tokens">,
+def raw_tokens_dump : Flag<["-"], "raw-tokens-dump">,
   HelpText<"Lex file in raw mode and dump raw tokens">;
+def dump_raw_tokens : Flag<["-"], "dump-raw-tokens">,
+  Alias;
 def analyze : Flag<["-"], "analyze">,
   HelpText<"Run static analysis engine">;
-def dump_tokens : Flag<["-"], "dump-tokens">,
+def tokens_dump : Flag<["-"], "tokens-dump">,
   HelpText<"Run preprocessor, dump internal rep of tokens">;
+def dump_tokens : Flag<["-"], "dump-tokens">,
+  Alias;
 def init_only : Flag<["-"], "init-only">,
   HelpText<"Only execute frontend initialization">;
 def fixit : Flag<["-"], "fixit">,
@@ -726,8 +732,10 @@
   HelpText<"Disable validation of precompiled headers">;
 def fallow_pch_with_errors : Flag<["-"], "fallow-pch-with-compiler-errors">,
   HelpText<"Accept a PCH file that was created with compiler errors">;
-def dump_deserialized_pch_decls : Flag<["-"], "dump-deserialized-decls">,
+def deserialized_pch_decls_dump : Flag<["-"], "deserialized-decls