Added most of the boilerplate to the driver needed to run the graph-reachability
constant propagation analysis.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45747 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index cdcbb34..50ff6d0 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -64,6 +64,7 @@
   ParseCFGDump,                 // Parse ASTS. Build CFGs. Print CFGs.
   ParseCFGView,                 // Parse ASTS. Build CFGs. View CFGs.
   AnalysisLiveVariables,        // Print results of live-variable analysis.
+  AnalysisGRConstProp,          // Perform graph-reachability constant prop.
   WarnDeadStores,               // Run DeadStores checker on parsed ASTs.
   WarnDeadStoresCheck,          // Check diagnostics for "DeadStores".
   WarnUninitVals,               // Run UnitializedVariables checker.
@@ -108,6 +109,8 @@
                         "Flag warnings of stores to dead variables."),
              clEnumValN(WarnUninitVals, "warn-uninit-values",
                         "Flag warnings of uses of unitialized variables."),
+             clEnumValN(AnalysisGRConstProp, "gr-const-prop",
+                        "Perform path-sensitive constant propagation."),                            
              clEnumValN(TestSerialization, "test-pickling",
                         "Run prototype serializtion code."),
              clEnumValN(EmitLLVM, "emit-llvm",
@@ -925,6 +928,9 @@
     case WarnUninitVals:
       return CreateUnitValsChecker(Diag);
       
+    case AnalysisGRConstProp:
+      return CreateGRConstProp();
+      
     case TestSerialization:
       return CreateSerializationTest(Diag, FileMgr, LangOpts);