diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 741eddc3a45ae91286e60bff95aaf2715339a134..747f7e164d613d05842fa57b86253df64498dad1 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -107,6 +107,8 @@ ProgAction(llvm::cl::desc("Choose output type:"), llvm::cl::ZeroOrMore,
                         "Run preprocessor, emit preprocessed file"),
              clEnumValN(DumpRawTokens, "dump-raw-tokens",
                         "Lex file in raw mode and dump raw tokens"),
+             clEnumValN(RunAnalysis, "analyze",
+                        "Run static analysis engine"),
              clEnumValN(DumpTokens, "dump-tokens",
                         "Run preprocessor, dump internal rep of tokens"),
              clEnumValN(ParseNoop, "parse-noop",
@@ -1298,7 +1300,6 @@ static ASTConsumer* CreateASTConsumer(const std::string& InFile,
       return CreateBlockRewriter(InFile, OutputFile, Diag, LangOpts);
       
     case RunAnalysis:
-      assert (!AnalysisList.empty());
       return CreateAnalysisConsumer(&AnalysisList[0],
                                     &AnalysisList[0]+AnalysisList.size(),
                                     AnalysisStoreOpt, AnalysisDiagOpt,
@@ -1545,10 +1546,7 @@ int main(int argc, char **argv) {
     exit(1);
   }
   
-  // Are we invoking one or more source analyses?
-  if (!AnalysisList.empty() && ProgAction == ParseSyntaxOnly)
-    ProgAction = RunAnalysis;  
-  else if (!InheritanceViewCls.empty())  // C++ visualization?
+  if (!InheritanceViewCls.empty())  // C++ visualization?
     ProgAction = InheritanceView;
     
   llvm::OwningPtr<SourceManager> SourceMgr;
diff --git a/test/Analysis/CFDateGC.m b/test/Analysis/CFDateGC.m
index 04d2209a3cc16f82851852ea4e460a6acfe5117d..401cef4e9401df40fb70b3e78d060cfa67d5e837 100644
--- a/test/Analysis/CFDateGC.m
+++ b/test/Analysis/CFDateGC.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify -fobjc-gc %s
+// RUN: clang -analyze -checker-cfref -verify -fobjc-gc %s
 
 //===----------------------------------------------------------------------===//
 // The following code is reduced using delta-debugging from
diff --git a/test/Analysis/CFNumber.c b/test/Analysis/CFNumber.c
index 19a1ec07921d719e8b2c58bc18b6e815d63de49d..6daeb729c9f971702143253735552f8c9fca57f2 100644
--- a/test/Analysis/CFNumber.c
+++ b/test/Analysis/CFNumber.c
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify -triple x86_64-apple-darwin9 %s
+// RUN: clang -analyze -checker-cfref -verify -triple x86_64-apple-darwin9 %s
 
 typedef signed long CFIndex;
 typedef const struct __CFAllocator * CFAllocatorRef;
diff --git a/test/Analysis/CFRetainRelease_NSAssertionHandler.m b/test/Analysis/CFRetainRelease_NSAssertionHandler.m
index b17a51a673cbea1bc3b9d73ec8cbe0710b776708..13a2236518fd2b7bf89771699fa664d19f4278bf 100644
--- a/test/Analysis/CFRetainRelease_NSAssertionHandler.m
+++ b/test/Analysis/CFRetainRelease_NSAssertionHandler.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 typedef struct objc_selector *SEL;
 typedef signed char BOOL;
diff --git a/test/Analysis/CGColorSpace.c b/test/Analysis/CGColorSpace.c
index 97bf27982cd61ea6113362a801e9c6bd69f9b0f9..7dac73ca3a2bfaed8b7796540bfd9e23cb609833 100644
--- a/test/Analysis/CGColorSpace.c
+++ b/test/Analysis/CGColorSpace.c
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 typedef struct CGColorSpace *CGColorSpaceRef;
 extern CGColorSpaceRef CGColorSpaceCreateDeviceRGB(void);
diff --git a/test/Analysis/CheckNSError.m b/test/Analysis/CheckNSError.m
index 241c68cd85b3317ffda250a56730346df77ab236..7da12c04b893f321f7289286ccef61d5c8174837 100644
--- a/test/Analysis/CheckNSError.m
+++ b/test/Analysis/CheckNSError.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 typedef signed char BOOL;
 typedef int NSInteger;
diff --git a/test/Analysis/MissingDealloc.m b/test/Analysis/MissingDealloc.m
index e6df6f071b82dbd2a9d9cb99590b72363eb8c688..3b16aa3feab7fdca1a5db35d0ff8ee492a81d0f8 100644
--- a/test/Analysis/MissingDealloc.m
+++ b/test/Analysis/MissingDealloc.m
@@ -1,4 +1,4 @@
-// RUN: clang -warn-objc-missing-dealloc '-DIBOutlet=__attribute__((iboutlet))' %s --verify
+// RUN: clang -analyze -warn-objc-missing-dealloc '-DIBOutlet=__attribute__((iboutlet))' %s --verify
 typedef signed char BOOL;
 @protocol NSObject  - (BOOL)isEqual:(id)object; @end
 @interface NSObject <NSObject> {}
diff --git a/test/Analysis/NSPanel.m b/test/Analysis/NSPanel.m
index a24818e19ed8396f12af9279b0b3610cbfd5e732..8a64581b2effc90c89c10b530c1d87d6c1eb4ecd 100644
--- a/test/Analysis/NSPanel.m
+++ b/test/Analysis/NSPanel.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 // BEGIN delta-debugging reduced header stuff
 
diff --git a/test/Analysis/NSString.m b/test/Analysis/NSString.m
index ccee61b2f71507df4b9f7dc6c855dd95438cd2b8..af8909f838b18e46f52ef3cc5de9d1a4e605e6e5 100644
--- a/test/Analysis/NSString.m
+++ b/test/Analysis/NSString.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 //===----------------------------------------------------------------------===//
 // The following code is reduced using delta-debugging from
diff --git a/test/Analysis/NSWindow.m b/test/Analysis/NSWindow.m
index 012b2ded2291b961214c9e422a91ea77324def61..f7202f556384ecc7e75385fec43bed22013d7236 100644
--- a/test/Analysis/NSWindow.m
+++ b/test/Analysis/NSWindow.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -warn-dead-stores -verify %s
+// RUN: clang -analyze -checker-cfref -warn-dead-stores -verify %s
 
 // These declarations were reduced using Delta-Debugging from Foundation.h
 // on Mac OS X.  The test cases are below.
diff --git a/test/Analysis/NoReturn.m b/test/Analysis/NoReturn.m
index f67a673adb6eff9c415b55d741b2015bf7cc83d6..16870f8aa10159bda15b0f687e25efb2fe6e328b 100644
--- a/test/Analysis/NoReturn.m
+++ b/test/Analysis/NoReturn.m
@@ -1,5 +1,5 @@
-// RUN: clang -checker-simple -verify %s &&
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-simple -verify %s &&
+// RUN: clang -analyze -checker-cfref -verify %s
 
 #include <stdarg.h>
 
diff --git a/test/Analysis/ObjCProperties.m b/test/Analysis/ObjCProperties.m
index f207475bd637f4ef4d5e6ccf788da2895aaf5883..f2f18b5771150aabbb33e7ff27f126e208c0a080 100644
--- a/test/Analysis/ObjCProperties.m
+++ b/test/Analysis/ObjCProperties.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-simple %s -verify
+// RUN: clang -analyze -checker-simple %s -verify
 
 // The point of this test cases is to exercise properties in the static
 // analyzer
diff --git a/test/Analysis/ObjCRetSigs.m b/test/Analysis/ObjCRetSigs.m
index 009f6c380805d8a77fd603491ca036018df558bb..2d1aa80d1256c6c74e0c2e3741a152ddaae01e0b 100644
--- a/test/Analysis/ObjCRetSigs.m
+++ b/test/Analysis/ObjCRetSigs.m
@@ -1,4 +1,4 @@
-// RUN: clang -warn-objc-methodsigs -verify %s
+// RUN: clang -analyze -warn-objc-methodsigs -verify %s
 
 #include <stdio.h>
 
diff --git a/test/Analysis/PR2978.m b/test/Analysis/PR2978.m
index 0b9ae233786412ef92eb7fabff0a79169d23c4c5..e2a031dd06878419feb2f49612a487e9fd956445 100644
--- a/test/Analysis/PR2978.m
+++ b/test/Analysis/PR2978.m
@@ -1,4 +1,4 @@
-// RUN: clang -warn-objc-missing-dealloc %s -verify
+// RUN: clang -analyze -warn-objc-missing-dealloc %s -verify
 
 // Tests for the checker which checks missing/extra ivar 'release' calls 
 // in dealloc.
diff --git a/test/Analysis/array-struct.c b/test/Analysis/array-struct.c
index 8f4bb044ba87fb374087a1c48eb59b257ebd075c..1d5e9448e92833a186a8fc1574b46c109ebd7e4a 100644
--- a/test/Analysis/array-struct.c
+++ b/test/Analysis/array-struct.c
@@ -1,5 +1,5 @@
-// RUN: clang -checker-simple -verify %s
-// DISABLE: clang -checker-simple -analyzer-store-region -verify %s
+// RUN: clang -analyze -checker-simple -verify %s
+// DISABLE: clang -analyze -checker-simple -analyzer-store-region -verify %s
 
 struct s {
   int data;
diff --git a/test/Analysis/cfref_PR2519.c b/test/Analysis/cfref_PR2519.c
index aa429a6f7eb5d3f565e9fb32e3ca3f79fd26bc5d..22146fbf6dd843c869764e466df44e8a53fdb1ea 100644
--- a/test/Analysis/cfref_PR2519.c
+++ b/test/Analysis/cfref_PR2519.c
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 typedef unsigned char Boolean;
 typedef signed long CFIndex;
diff --git a/test/Analysis/cfref_rdar6080742.c b/test/Analysis/cfref_rdar6080742.c
index 28d7d15c666b8ce13c1880dc4231a075737fda31..1364e8f6e8fc7a5af9f2557e0723c24d839b0419 100644
--- a/test/Analysis/cfref_rdar6080742.c
+++ b/test/Analysis/cfref_rdar6080742.c
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 // This test case was reported in <rdar:problem/6080742>.
 // It tests path-sensitivity with respect to '!(cfstring != 0)' (negation of inequality).
diff --git a/test/Analysis/complex.c b/test/Analysis/complex.c
index 0698d9cd8b691943818bc54c37fb4a63e3425635..22a239aace69328d2231c3eb09434076bf1a36a1 100644
--- a/test/Analysis/complex.c
+++ b/test/Analysis/complex.c
@@ -1,4 +1,4 @@
-// RUN: clang -checker-simple -verify %s
+// RUN: clang -analyze -checker-simple -verify %s
 
 #include <stdint.h>
 
diff --git a/test/Analysis/conditional-op-missing-lhs.c b/test/Analysis/conditional-op-missing-lhs.c
index 9fbb9f198755a5704dc60c94bf7ea972bf60be81..8befc39854ffd5a7ee0b070721806c33ebbef911 100644
--- a/test/Analysis/conditional-op-missing-lhs.c
+++ b/test/Analysis/conditional-op-missing-lhs.c
@@ -1,4 +1,4 @@
-// RUN: clang -warn-dead-stores -warn-uninit-values -verify %s
+// RUN: clang -analyze -warn-dead-stores -warn-uninit-values -verify %s
 
 void f1()
 {
diff --git a/test/Analysis/dead-stores.c b/test/Analysis/dead-stores.c
index 92dfdf712c59d7dd81b97075b8abb30e91d7ff38..c72bdcf2b45828ba21434879354759efc45eca36 100644
--- a/test/Analysis/dead-stores.c
+++ b/test/Analysis/dead-stores.c
@@ -1,6 +1,6 @@
-// RUN: clang -warn-dead-stores -verify %s &&
-// RUN: clang -checker-simple -warn-dead-stores -verify %s &&
-// RUN: clang -warn-dead-stores -checker-simple -verify %s
+// RUN: clang -analyze -warn-dead-stores -verify %s &&
+// RUN: clang -analyze -checker-simple -warn-dead-stores -verify %s &&
+// RUN: clang -analyze -warn-dead-stores -checker-simple -verify %s
 
 
 void f1() {
diff --git a/test/Analysis/dead-stores.m b/test/Analysis/dead-stores.m
index f58c2c135f6cfd1fc8f5508e1bacb3b2288c4fec..ee948538858476ca13617e7ca6672a379b47af7f 100644
--- a/test/Analysis/dead-stores.m
+++ b/test/Analysis/dead-stores.m
@@ -1,4 +1,4 @@
-// RUN: clang -warn-dead-stores -verify %s
+// RUN: clang -analyze -warn-dead-stores -verify %s
 
 typedef signed char BOOL;
 typedef unsigned int NSUInteger;
diff --git a/test/Analysis/exercise-ps.c b/test/Analysis/exercise-ps.c
index 0d5af4bcde2ddaff806b40868d0f34c77e71341d..f561912d21a9369cc55a9af45d369bd833cb7f57 100644
--- a/test/Analysis/exercise-ps.c
+++ b/test/Analysis/exercise-ps.c
@@ -1,4 +1,4 @@
-// RUN: clang -checker-simple -verify %s
+// RUN: clang -analyze -checker-simple -verify %s
 //
 // Just exercise the analyzer (no assertions).
 
diff --git a/test/Analysis/fields.c b/test/Analysis/fields.c
index 72de12c4dcc1321f848ce46c3c343b0b7cd7218f..defa19ead9926267a79507dbe624e8891cd75203 100644
--- a/test/Analysis/fields.c
+++ b/test/Analysis/fields.c
@@ -1,5 +1,5 @@
-// RUN: clang -checker-cfref %s -verify &&
-// RUN: clang -checker-simple %s -verify
+// RUN: clang -analyze -checker-cfref %s -verify &&
+// RUN: clang -analyze -checker-simple %s -verify
 
 unsigned foo();
 typedef struct bf { unsigned x:2; } bf;
diff --git a/test/Analysis/func.c b/test/Analysis/func.c
index 49824c3ca65470617075aa456c351a5f098f80a5..53c4432a4d059c72e83dd39d576951827cd95618 100644
--- a/test/Analysis/func.c
+++ b/test/Analysis/func.c
@@ -1,4 +1,4 @@
-// RUN: clang -checker-simple -verify %s
+// RUN: clang -analyze -checker-simple -verify %s
 
 void f(void) {
   void (*p)(void);
diff --git a/test/Analysis/misc-ps.m b/test/Analysis/misc-ps.m
index 5fccf5724e9735f0ab7ec231e3cf9693bfaa52d6..f9f1bdd4513b3f4e69883a75336c03279c1e2877 100644
--- a/test/Analysis/misc-ps.m
+++ b/test/Analysis/misc-ps.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref --verify -fblocks %s
+// RUN: clang -analyze -checker-cfref --verify -fblocks %s
 
 // Reduced test case from crash in <rdar://problem/6253157>
 @class NSObject;
diff --git a/test/Analysis/no-exit-cfg.c b/test/Analysis/no-exit-cfg.c
index b61abf548f0d20987a8dc5cc0185cfaa48201c0e..60637a1916e3015bfa9b25d00b0ced02392a1a68 100644
--- a/test/Analysis/no-exit-cfg.c
+++ b/test/Analysis/no-exit-cfg.c
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 // This is a test case for the issue reported in PR 2819:
 //  http://llvm.org/bugs/show_bug.cgi?id=2819
diff --git a/test/Analysis/null-deref-ps.c b/test/Analysis/null-deref-ps.c
index 5092e82e41897f017f75747e28d6016394de7e21..18884c12aeabd590a7bb7b202cf962d23ce8efa2 100644
--- a/test/Analysis/null-deref-ps.c
+++ b/test/Analysis/null-deref-ps.c
@@ -1,5 +1,5 @@
-// RUN: clang -std=gnu99 -checker-simple -verify %s &&
-// RUN: clang -std=gnu99 -checker-simple -analyzer-store-region -analyzer-purge-dead=false -verify %s
+// RUN: clang -analyze -std=gnu99 -checker-simple -verify %s &&
+// RUN: clang -analyze -std=gnu99 -checker-simple -analyzer-store-region -analyzer-purge-dead=false -verify %s
 
 #include<stdint.h>
 #include <assert.h>
diff --git a/test/Analysis/outofbound.c b/test/Analysis/outofbound.c
index 6e6e8f033b5357062fdece5b4411d7411571d173..ab9c0cfa4c8a975bc709e0aaaf5bc434c2677c7e 100644
--- a/test/Analysis/outofbound.c
+++ b/test/Analysis/outofbound.c
@@ -1,4 +1,4 @@
-// RUN: clang -checker-simple -analyzer-store-region -verify %s
+// RUN: clang -analyze -checker-simple -analyzer-store-region -verify %s
 
 char f1() {
   char* s = "abcd";
diff --git a/test/Analysis/rdar-6442306-1.m b/test/Analysis/rdar-6442306-1.m
index 2bc5c5c75f48a340a27b42b2a0df9479a102134d..ea8d9baf6e65265bd7165dcee66ce2ea05aae705 100644
--- a/test/Analysis/rdar-6442306-1.m
+++ b/test/Analysis/rdar-6442306-1.m
@@ -1,5 +1,5 @@
-// RUN: clang -checker-cfref %s --analyzer-store-basic -verify
-// DISABLE: clang -checker-cfref %s --analyzer-store-region -verify
+// RUN: clang -analyze -checker-cfref %s --analyzer-store-basic -verify
+// DISABLE: clang -analyze -checker-cfref %s --analyzer-store-region -verify
 
 typedef int bar_return_t;
 typedef struct {
diff --git a/test/Analysis/refcnt_naming.m b/test/Analysis/refcnt_naming.m
index 1390cdd73d0c74309a676899b7e187cdbce194a5..3c86853b47ee840c1a3dec8132790316b9cb235b 100644
--- a/test/Analysis/refcnt_naming.m
+++ b/test/Analysis/refcnt_naming.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 typedef const struct __CFString * CFStringRef;
 typedef const struct __CFAllocator * CFAllocatorRef;
diff --git a/test/Analysis/retain-release.m b/test/Analysis/retain-release.m
index bf833bf2aca79c9fc376cdb5aabab4541841b81d..ec40a9a0f79d35d2f118073155ce6ae1defcdda7 100644
--- a/test/Analysis/retain-release.m
+++ b/test/Analysis/retain-release.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 //===----------------------------------------------------------------------===//
 // The following code is reduced using delta-debugging from
diff --git a/test/Analysis/stack-addr-ps.c b/test/Analysis/stack-addr-ps.c
index 58687f36c705382d7607b696e89f5a0384ccf873..57ce7dc8850263a6fec6b49554fdf93aae27eae9 100644
--- a/test/Analysis/stack-addr-ps.c
+++ b/test/Analysis/stack-addr-ps.c
@@ -1,4 +1,4 @@
-// RUN: clang -checker-simple -verify %s
+// RUN: clang -analyze -checker-simple -verify %s
 
 #include <stdlib.h>
 #include <alloca.h>
diff --git a/test/Analysis/uninit-msg-expr.m b/test/Analysis/uninit-msg-expr.m
index 10b983731424fc290a42aa2427a7c186274eff67..3bceca0e6c376ea3e77683fa04b74116d269d001 100644
--- a/test/Analysis/uninit-msg-expr.m
+++ b/test/Analysis/uninit-msg-expr.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-simple -verify %s
+// RUN: clang -analyze -checker-simple -verify %s
 
 //===----------------------------------------------------------------------===//
 // The following code is reduced using delta-debugging from
diff --git a/test/Analysis/uninit-ps-rdar6145427.m b/test/Analysis/uninit-ps-rdar6145427.m
index b24cbaf65706a2053ac606adde66d5b87447264b..530139da932fadcdc66479e0bd5e0373c4e73d9c 100644
--- a/test/Analysis/uninit-ps-rdar6145427.m
+++ b/test/Analysis/uninit-ps-rdar6145427.m
@@ -1,4 +1,4 @@
-// RUN: clang -verify -checker-cfref %s
+// RUN: clang -analyze -verify -checker-cfref %s
 
 // Delta-Debugging reduced preamble.
 typedef signed char BOOL;
diff --git a/test/Analysis/uninit-vals-ps-region.c b/test/Analysis/uninit-vals-ps-region.c
index 96da8b0935a73744bd84ce823caff73d26b7a187..830e32ad8fa3de56d4cfc73e83ffe67e443d4307 100644
--- a/test/Analysis/uninit-vals-ps-region.c
+++ b/test/Analysis/uninit-vals-ps-region.c
@@ -1,4 +1,4 @@
-// DISABLE: clang -checker-simple -analyzer-store-region -verify %s
+// DISABLE: clang -analyze -checker-simple -analyzer-store-region -verify %s
 
 struct s {
   int data;
diff --git a/test/Analysis/uninit-vals-ps.c b/test/Analysis/uninit-vals-ps.c
index b86000092993ddf41375dc9433286ffad6600921..96963e4fff46107883de5975f7dd988a06a03c3c 100644
--- a/test/Analysis/uninit-vals-ps.c
+++ b/test/Analysis/uninit-vals-ps.c
@@ -1,5 +1,5 @@
-// RUN: clang -checker-cfref -verify %s &&
-// RUN: clang -checker-cfref -analyzer-store-region -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s &&
+// RUN: clang -analyze -checker-cfref -analyzer-store-region -verify %s
 
 struct FPRec {
   void (*my_func)(int * x);  
diff --git a/test/Analysis/uninit-vals.c b/test/Analysis/uninit-vals.c
index fa6d0fc481b48095107d5dd32107d4a4207220c7..a7f5733dc414976fc1eb1269ebebeb50c983f79e 100644
--- a/test/Analysis/uninit-vals.c
+++ b/test/Analysis/uninit-vals.c
@@ -1,4 +1,4 @@
-// RUN: clang -warn-uninit-values -verify %s
+// RUN: clang -analyze -warn-uninit-values -verify %s
 
 int f1() {
   int x;
diff --git a/test/Analysis/uninit-vals.m b/test/Analysis/uninit-vals.m
index 74aa6672027047f30fffe276b529b00425b52da3..f7a7df766e5005b4665f452b87b2c98b4e4ac892 100644
--- a/test/Analysis/uninit-vals.m
+++ b/test/Analysis/uninit-vals.m
@@ -1,4 +1,4 @@
-// RUN: clang -checker-cfref -verify %s
+// RUN: clang -analyze -checker-cfref -verify %s
 
 typedef unsigned int NSUInteger;
 
diff --git a/test/Analysis/unused-ivars.m b/test/Analysis/unused-ivars.m
index dd6d69e597cd0218af4749ad868db7c3137947ef..f1568dacc1879dba1520c420494f1f3772a885ab 100644
--- a/test/Analysis/unused-ivars.m
+++ b/test/Analysis/unused-ivars.m
@@ -1,4 +1,4 @@
-// RUN: clang -warn-objc-unused-ivars %s -verify
+// RUN: clang -analyze -warn-objc-unused-ivars %s -verify
 
 @interface A
 {
diff --git a/utils/ccc-analyzer b/utils/ccc-analyzer
index 14cbf54df10da22dfdb3ecfb2b029ca31944942a..71f840af51aa8b47906fc0a30e5b11a928aa31a0 100755
--- a/utils/ccc-analyzer
+++ b/utils/ccc-analyzer
@@ -89,6 +89,7 @@ sub Analyze {
     push @CmdArgs,'-DIBOutlet=__attribute__((iboutlet))';
     push @CmdArgs,@$Args;
     @CmdArgsSansAnalyses = @CmdArgs;
+    push @CmdArgs,'--analyze';
     push @CmdArgs,(split /\s/,$Analyses);
     $RunAnalyzer = 1;
   }