diff --git a/clang/lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.cpp b/clang/lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.cpp
new file mode 100644
index 0000000..52a3ace
--- /dev/null
+++ b/clang/lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.cpp
@@ -0,0 +1,46 @@
+//=-- ExprEngineExperimentalChecks.h ------------------------------*- C++ -*-=
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+//  This file defines functions to instantiate and register experimental
+//  checks in ExprEngine.
+//
+//===----------------------------------------------------------------------===//
+
+#include "ExprEngineInternalChecks.h"
+#include "ExprEngineExperimentalChecks.h"
+#include "clang/StaticAnalyzer/Checkers/LocalCheckers.h"
+
+using namespace clang;
+using namespace ento;
+
+void ento::RegisterExperimentalChecks(ExprEngine &Eng) {
+  // These are checks that never belong as internal checks
+  // within ExprEngine.
+  RegisterCStringChecker(Eng);
+  RegisterChrootChecker(Eng);
+  RegisterMallocChecker(Eng);
+  RegisterPthreadLockChecker(Eng);
+  RegisterStreamChecker(Eng);
+  RegisterUnreachableCodeChecker(Eng);
+}
+
+void ento::RegisterExperimentalInternalChecks(ExprEngine &Eng) {
+  // These are internal checks that should eventually migrate to
+  // RegisterInternalChecks() once they have been further tested.
+  
+  // Note that this must be registered after ReturnStackAddresEngsChecker.
+  RegisterReturnPointerRangeChecker(Eng);
+  
+  RegisterArrayBoundChecker(Eng);
+  RegisterCastSizeChecker(Eng);
+  RegisterCastToStructChecker(Eng);
+  RegisterFixedAddressChecker(Eng);
+  RegisterPointerArithChecker(Eng);
+  RegisterPointerSubChecker(Eng);
+}
