llvm-project/llvm/lib
Chris Bieneman d1d9430a05 Refactoring llvm command line parsing and option registration.
Summary:
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.

This patch also removes the RegisteredOptionList global, and the need for cl::Option objects to be linked list nodes.

The changes in CommandLineTest.cpp are required because these changes shift when we validate that options are not duplicated. Before this change duplicate options were only found during certain cl API calls (like cl::ParseCommandLine). With this change duplicate options are found during option construction.

Reviewers: dexonsmith, chandlerc, pete

Reviewed By: pete

Subscribers: pete, majnemer, llvm-commits

Differential Revision: http://reviews.llvm.org/D7132

llvm-svn: 227345
2015-01-28 19:00:25 +00:00
..
Analysis Fold fcmp in cases where value is provably non-negative. By Arch Robison. 2015-01-28 08:03:58 +00:00
AsmParser AsmParser: PARSE_MD_FIELD() => ParseMDField(), NFC 2015-01-20 02:42:29 +00:00
Bitcode [Bitcode] Diagnose errors instead of asserting from bad input 2015-01-24 04:15:05 +00:00
CodeGen Simplify code. NFC. 2015-01-28 17:54:19 +00:00
DebugInfo [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
ExecutionEngine Revert r227247 and r227228: "Add weak symbol support to RuntimeDyld". 2015-01-28 01:30:37 +00:00
Fuzzer [fuzzer] properly enable asan's coverage feedback 2015-01-27 22:19:55 +00:00
IR Fix LLVMSetMetadata and LLVMAddNamedMetadataOperand for single value MDNodes 2015-01-28 16:35:59 +00:00
IRReader Remove unused variable. NFC. 2014-11-06 23:16:57 +00:00
LTO Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
LineEditor
Linker [llvm link] Destroy ConstantArrays in LLVMContext if they are not used. 2015-01-20 19:24:59 +00:00
MC Store the passed in CPU name string so that it can be accessed later. 2015-01-26 17:33:30 +00:00
Object dd the option, -link-opt-hints to llvm-objdump used with -macho to print the 2015-01-27 21:28:24 +00:00
Option [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
ProfileData llvm-cov: Only combine segments if they overlap exactly 2015-01-24 20:58:52 +00:00
Support Refactoring llvm command line parsing and option registration. 2015-01-28 19:00:25 +00:00
TableGen Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
Target [Hexagon] Deleting a lot of old variants of intrinsics and updating references. 2015-01-28 18:29:11 +00:00
Transforms [LPM] Stop using the string based preservation API. It is an 2015-01-28 04:57:56 +00:00
CMakeLists.txt Add a Fuzzer library 2015-01-27 22:08:41 +00:00
LLVMBuild.txt
Makefile