[PATCH] Part 1 of Many: Refactoring llvm command line parsing

Chris Bieneman beanz at apple.com
Tue Jan 20 16:09:13 PST 2015


Hi chandlerc,

The primary goal of this patch is to remove the need for MarkOptionsChanged(). That goal is accomplished by having addOption and removeOption properly sort the options.

This patch puts the new add and remove functionality on a CommandLineParser class that is a placeholder. Some of the functionality in this class will need to be merged into the OptionRegistry, and other bits can hopefully be in a better abstraction.

Other changes:
* Minor changes to MachinePassRegistry.cpp, LegacyPassNameParser.cpp, and Pass.cpp to support changes to Parser.Initailize()
* Exposed a new API for tools to hide unrelated options (I have patches for clang to adopt)
*Fixed an issue with CommandLineTest caused by the new registration model.

http://reviews.llvm.org/D7076

Files:
  include/llvm/CodeGen/MachinePassRegistry.h
  include/llvm/IR/LegacyPassNameParser.h
  include/llvm/Support/CommandLine.h
  lib/IR/Pass.cpp
  lib/Support/CommandLine.cpp
  unittests/Support/CommandLineTest.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7076.18465.patch
Type: text/x-patch
Size: 37256 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150121/f9496a0e/attachment.bin>


More information about the llvm-commits mailing list