Merge pie-platform-release to aosp-master - DO NOT MERGE

Change-Id: I93ec9b1ed5363de2dd69ab0f6c7287a33275113f
diff --git a/ReadmeAndroid.md b/ReadmeAndroid.md
index c4db867..2cab713 100644
--- a/ReadmeAndroid.md
+++ b/ReadmeAndroid.md
@@ -1,113 +1,7 @@
 Android Clang/LLVM
 ==================
 
-For the latest version of this doc, please make sure to visit:
-[Android Clang/LLVM Toolchain Readme Doc](https://android.googlesource.com/platform/external/clang/+/dev/ReadmeAndroid.md)
+This document is deprecated.   Please visit: [Android Clang/LLVM Toolchain
+Readme Doc](https://android.googlesource.com/toolchain/llvm_android/+/master)
+for the latest instructions on building the Clang/LLVM Toolchain for Android.
 
-Platform Projects
------------------
-
-The LLVM toolchain is primarily composed of the following projects:
-
-* **external/clang**
-* **external/compiler-rt**
-* **external/llvm**
-
-Each of these projects has three important branches:
-
-* *aosp/master*
-
-  This is the branch that will be present in most platform trees. As such,
-  platform components that use clang or LLVM will build against the headers and
-  libraries in this branch.
-
-  This branch does not contain a full history. Updates to this are done via a
-  squashed merge from the *dev* branch. Aside from updates, patches usually
-  shouldn't be submitted to this branch. Any that are will need to be
-  cherry-picked to *dev*.
-
-* *aosp/dev*
-
-  The primary purpose of this branch is allowing us to decouple the platform
-  compilers from RenderScript and other platform components that depend on LLVM
-  libraries. This means we can update the platform compilers even if
-  RenderScript will need substantial modification for API changes.
-
-  Updates are performed in this branch, and the platform compilers are built
-  from this branch.
-
-* *aosp/upstream-master*
-
-  This branch is an automatically updated direct mirror of the upstream master
-  branch. This is a read only branch that is the merge source for updates to
-  *dev*.
-
-
-Development Flow
-----------------
-
-Rebases take place in the **aosp/llvm** tree. This tree is a manifest that uses
-the appropriate *dev* branches of each LLVM project and contains only the
-projects needed to build the platform compilers. Updates are done by merging
-from the *aosp/upstream-master* branch.
-
-Conflicts are resolved manually and then a patch is produced to adapt
-Android.mk files (as well as to add/delete any updated source files).
-Prebuilts are then generated using these projects and placed into the proper
-**prebuilts/clang/host** subprojects.
-
-The prebuilt projects contain multiple versions to make it easy to check in a
-new compiler that may not be ready to be enabled by default. Each new toolchain
-will add the following paths:
-
-    prebuilts/clang/host/linux-x86/clang-$BUILD_NUMBER
-    prebuilts/clang/host/darwin-x86/clang-$BUILD_NUMBER
-    prebuilts/clang/host/windows-x86/clang-$BUILD_NUMBER
-
-In order to prepare for the actual rebase (including updating dependent
-projects), we will copy each **external/** *aosp/dev* project to its
-corresponding **external/** *aosp/master* project as a squashed single CL.
-This makes rollbacks simpler, and it also reduces churn on the Android build
-servers.
-This also has the side effect of not spamming non-Android @google.com
-committers to upstream LLVM projects, since their commits will be batched up
-into a single copy commit on each tracked **external/** project.
-
-Prebuilts for llvm-rs-cc and bcc\_compat also need to be generated for
-**prebuilts/sdk**.
-This is done by running **frameworks/rs/update\_rs\_prebuilts.sh** on both Mac
-and Linux. This is done from the normal AOSP platform tree rather than the LLVM
-tree.
-After this completes, the **prebuilts/sdk** project will have a prepared
-branch/CL that can be uploaded for review/commit.
-
-
-Fixing Bugs
------------
-
-If we find a host-side bug that needs to be fixed, it may trigger an update of
-the host prebuilts (i.e. rebase).
-Device-side fixes can be pushed directly to **external/** *aosp/master* and then
-copied to **external/** *aosp/dev* to speed up the process (assuming that it
-doesn’t affect the host builds).
-
-
-Looking at Upstream
--------------------
-
-The upstream repositories are automatically mirrored to the
-*aosp/upstream-master* branch. Update with `git fetch aosp upstream-master`.
-
-
-Communication
--------------
-
-We have a public mailing list that you can subscribe to:
-[android-llvm@googlegroups.com](https://groups.google.com/forum/#!forum/android-llvm)
-
-
-Guides for Updating Toolchains
-------------------------------
-
-* [Updating platform toolchains](ToolchainPrebuilts.md)
-* [Updating RenderScript prebuilts](RenderScriptPrebuilts.md)
diff --git a/build.py b/build.py
index c16eee9..1411a7e 100755
--- a/build.py
+++ b/build.py
@@ -742,4 +742,7 @@
 
 
 if __name__ == '__main__':
-    main()
+    print 'This script and llvm branch are deprecated and unmaintained.'
+    print 'Use the llvm-toolchain branch (repo init ... -b llvm-toolchain).'
+    print 'https://android.googlesource.com/toolchain/llvm_android/+/master'
+    sys.exit(0)
diff --git a/tools/clang-check/Android.bp b/tools/clang-check/Android.bp
deleted file mode 100644
index b860495..0000000
--- a/tools/clang-check/Android.bp
+++ /dev/null
@@ -1,96 +0,0 @@
-// For the host only
-// =====================================================
-clang_binary_host {
-    name: "clang-check",
-    enabled: false,
-    defaults: ["clang-defaults"],
-    srcs: ["ClangCheck.cpp"],
-
-    group_static_libs: true,
-    static_libs: [
-        "libclangFormat",
-        "libclangFrontendTool",
-        "libclangFrontend",
-        "libclangARCMigrate",
-        "libclangDriver",
-        "libclangSerialization",
-        "libclangCodeGen",
-        "libclangRewriteFrontend",
-        "libclangRewrite",
-        "libclangTooling",
-        "libclangParse",
-        "libclangSema",
-        "libclangStaticAnalyzerFrontend",
-        "libclangStaticAnalyzerCheckers",
-        "libclangStaticAnalyzerMPIChecker",
-        "libclangStaticAnalyzerCore",
-        "libclangAnalysis",
-        "libclangEdit",
-        "libclangAST",
-        "libclangLex",
-        "libclangBasic",
-        "libLLVMARMAsmParser",
-        "libLLVMARMCodeGen",
-        "libLLVMARMAsmPrinter",
-        "libLLVMARMDisassembler",
-        "libLLVMARMDesc",
-        "libLLVMARMInfo",
-        "libLLVMMipsAsmParser",
-        "libLLVMMipsCodeGen",
-        "libLLVMMipsDisassembler",
-        "libLLVMMipsAsmPrinter",
-        "libLLVMMipsDesc",
-        "libLLVMMipsInfo",
-        "libLLVMX86Info",
-        "libLLVMX86AsmParser",
-        "libLLVMX86CodeGen",
-        "libLLVMX86Disassembler",
-        "libLLVMX86Desc",
-        "libLLVMX86AsmPrinter",
-        "libLLVMX86Utils",
-        "libLLVMAArch64Info",
-        "libLLVMAArch64AsmParser",
-        "libLLVMAArch64CodeGen",
-        "libLLVMAArch64Disassembler",
-        "libLLVMAArch64Desc",
-        "libLLVMAArch64AsmPrinter",
-        "libLLVMAArch64Utils",
-        "libLLVMIRReader",
-        "libLLVMGlobalISel",
-        "libLLVMDebugInfoCodeView",
-        "libLLVMAsmParser",
-        "libLLVMAsmPrinter",
-        "libLLVMBitReader",
-        "libLLVMBitWriter",
-        "libLLVMSelectionDAG",
-        "libLLVMipo",
-        "libLLVMInstCombine",
-        "libLLVMInstrumentation",
-        "libLLVMCodeGen",
-        "libLLVMObject",
-        "libLLVMLinker",
-        "libLLVMMC",
-        "libLLVMMCParser",
-        "libLLVMScalarOpts",
-        "libLLVMTransformObjCARC",
-        "libLLVMTransformUtils",
-        "libLLVMVectorize",
-        "libLLVMAnalysis",
-        "libLLVMCore",
-        "libLLVMOption",
-        "libLLVMTarget",
-        "libLLVMProfileData",
-        "libLLVMObject",
-        "libLLVMMCDisassembler",
-        "libLLVMSupport",
-    ],
-
-    target: {
-        windows: {
-            host_ldlibs: [
-                "-limagehlp",
-                "-lversion",
-            ],
-        },
-    },
-}
diff --git a/tools/clang-format/Android.bp b/tools/clang-format/Android.bp
deleted file mode 100644
index 3e2c015..0000000
--- a/tools/clang-format/Android.bp
+++ /dev/null
@@ -1,93 +0,0 @@
-// For the host only
-// =====================================================
-clang_binary_host {
-    name: "clang-format",
-    enabled: false,
-    defaults: ["clang-defaults"],
-    srcs: ["ClangFormat.cpp"],
-
-    static_libs: [
-        "libclangFormat",
-        "libclangFrontendTool",
-        "libclangFrontend",
-        "libclangARCMigrate",
-        "libclangDriver",
-        "libclangSerialization",
-        "libclangCodeGen",
-        "libclangRewriteFrontend",
-        "libclangRewrite",
-        "libclangToolingCore",
-        "libclangParse",
-        "libclangSema",
-        "libclangStaticAnalyzerFrontend",
-        "libclangStaticAnalyzerCheckers",
-        "libclangStaticAnalyzerMPIChecker",
-        "libclangStaticAnalyzerCore",
-        "libclangAnalysis",
-        "libclangEdit",
-        "libclangAST",
-        "libclangLex",
-        "libclangBasic",
-        "libLLVMARMAsmParser",
-        "libLLVMARMCodeGen",
-        "libLLVMARMAsmPrinter",
-        "libLLVMARMDisassembler",
-        "libLLVMARMDesc",
-        "libLLVMARMInfo",
-        "libLLVMMipsAsmParser",
-        "libLLVMMipsCodeGen",
-        "libLLVMMipsDisassembler",
-        "libLLVMMipsAsmPrinter",
-        "libLLVMMipsDesc",
-        "libLLVMMipsInfo",
-        "libLLVMX86Info",
-        "libLLVMX86AsmParser",
-        "libLLVMX86CodeGen",
-        "libLLVMX86Disassembler",
-        "libLLVMX86Desc",
-        "libLLVMX86AsmPrinter",
-        "libLLVMX86Utils",
-        "libLLVMAArch64Info",
-        "libLLVMAArch64AsmParser",
-        "libLLVMAArch64CodeGen",
-        "libLLVMAArch64Disassembler",
-        "libLLVMAArch64Desc",
-        "libLLVMAArch64AsmPrinter",
-        "libLLVMAArch64Utils",
-        "libLLVMIRReader",
-        "libLLVMAsmParser",
-        "libLLVMAsmPrinter",
-        "libLLVMBitReader",
-        "libLLVMBitWriter",
-        "libLLVMSelectionDAG",
-        "libLLVMipo",
-        "libLLVMInstCombine",
-        "libLLVMInstrumentation",
-        "libLLVMCodeGen",
-        "libLLVMObject",
-        "libLLVMLinker",
-        "libLLVMMC",
-        "libLLVMMCParser",
-        "libLLVMScalarOpts",
-        "libLLVMTransformObjCARC",
-        "libLLVMTransformUtils",
-        "libLLVMVectorize",
-        "libLLVMAnalysis",
-        "libLLVMCore",
-        "libLLVMOption",
-        "libLLVMTarget",
-        "libLLVMProfileData",
-        "libLLVMObject",
-        "libLLVMMCDisassembler",
-        "libLLVMSupport",
-    ],
-
-    target: {
-        windows: {
-            host_ldlibs: [
-                "-limagehlp",
-                "-lversion",
-            ],
-        },
-    },
-}
diff --git a/tools/driver/Android.bp b/tools/driver/Android.bp
deleted file mode 100644
index 343d198..0000000
--- a/tools/driver/Android.bp
+++ /dev/null
@@ -1,96 +0,0 @@
-// For the host only
-// =====================================================
-clang_binary_host {
-    name: "clang",
-    enabled: false,
-    defaults: ["clang-defaults"],
-    srcs: ["*.cpp"],
-
-    static_libs: [
-        "libclangFrontendTool",
-        "libclangFrontend",
-        "libclangARCMigrate",
-        "libclangDriver",
-        "libclangSerialization",
-        "libclangCodeGen",
-        "libclangRewriteFrontend",
-        "libclangRewrite",
-        "libclangParse",
-        "libclangSema",
-        "libclangStaticAnalyzerFrontend",
-        "libclangStaticAnalyzerCheckers",
-        "libclangStaticAnalyzerMPIChecker",
-        "libclangStaticAnalyzerCore",
-        "libclangAnalysis",
-        "libclangEdit",
-        "libclangAST",
-        "libclangLex",
-        "libclangBasic",
-        "libLLVMARMAsmParser",
-        "libLLVMARMCodeGen",
-        "libLLVMARMAsmPrinter",
-        "libLLVMARMDisassembler",
-        "libLLVMARMDesc",
-        "libLLVMARMInfo",
-        "libLLVMMipsAsmParser",
-        "libLLVMMipsCodeGen",
-        "libLLVMMipsDisassembler",
-        "libLLVMMipsAsmPrinter",
-        "libLLVMMipsDesc",
-        "libLLVMMipsInfo",
-        "libLLVMX86Info",
-        "libLLVMX86AsmParser",
-        "libLLVMX86CodeGen",
-        "libLLVMX86Disassembler",
-        "libLLVMX86Desc",
-        "libLLVMX86AsmPrinter",
-        "libLLVMX86Utils",
-        "libLLVMAArch64Info",
-        "libLLVMAArch64AsmParser",
-        "libLLVMAArch64CodeGen",
-        "libLLVMAArch64Disassembler",
-        "libLLVMAArch64Desc",
-        "libLLVMAArch64AsmPrinter",
-        "libLLVMAArch64Utils",
-        "libLLVMIRReader",
-        "libLLVMAsmParser",
-        "libLLVMAsmPrinter",
-        "libLLVMBitReader",
-        "libLLVMBitWriter",
-        "libLLVMSelectionDAG",
-        "libLLVMipo",
-        "libLLVMInstCombine",
-        "libLLVMInstrumentation",
-        "libLLVMCodeGen",
-        "libLLVMDebugInfoCodeView",
-        "libLLVMObject",
-        "libLLVMLinker",
-        "libLLVMMC",
-        "libLLVMMCParser",
-        "libLLVMScalarOpts",
-        "libLLVMTransformObjCARC",
-        "libLLVMTransformUtils",
-        "libLLVMVectorize",
-        "libLLVMAnalysis",
-        "libLLVMCore",
-        "libLLVMOption",
-        "libLLVMTarget",
-        "libLLVMGlobalISel",
-        "libLLVMProfileData",
-        "libLLVMProfileDataCoverage",
-        "libLLVMObject",
-        "libLLVMMCDisassembler",
-        "libLLVMSupport",
-    ],
-
-    target: {
-        windows: {
-            host_ldlibs: [
-                "-limagehlp",
-                "-lversion",
-            ],
-        },
-    },
-
-    symlinks: ["clang++"],
-}
diff --git a/utils/TableGen/Android.bp b/utils/TableGen/Android.bp
index fd47688..c42a7a0 100644
--- a/utils/TableGen/Android.bp
+++ b/utils/TableGen/Android.bp
@@ -8,6 +8,10 @@
         "libLLVMSupport",
     ],
 
+    cflags: [
+        "-Wno-implicit-fallthrough",
+        // NeonEmitter.cpp has several -Wimplicit-fallthrough.
+    ],
     tidy_checks: [
         "-google-runtime-member-string-references",
     ],