OSDN Git Service

Remove unnecessary patches/ directory.
authorStephen Hines <srhines@google.com>
Tue, 14 Jul 2015 02:30:37 +0000 (19:30 -0700)
committerStephen Hines <srhines@google.com>
Tue, 14 Jul 2015 02:30:37 +0000 (19:30 -0700)
We don't use these patches, and all of the history is available directly
via git.

Change-Id: I064de1f73d426288431c3ea46a483f7e37619f63

patches/0001-Add-module-notice.patch [deleted file]
patches/0002-Add-basic-Android-configuration.patch [deleted file]
patches/0003-Add-support-for-64-bit-longs.patch [deleted file]
patches/0004-Add-Android-makefiles-for-LLVM.patch [deleted file]

diff --git a/patches/0001-Add-module-notice.patch b/patches/0001-Add-module-notice.patch
deleted file mode 100644 (file)
index af1ad17..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-From ae11c6bec4809f0b587ef765112bf38a79289996 Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 3 Apr 2014 10:44:14 -0700
-Subject: [PATCH 1/5] Add module notice.
-
-Change-Id: Ibfd46c3d2e652b7b56563349ae4924039eb8d4ac
----
- MODULE_LICENSE_BSD_LIKE | 0
- 1 file changed, 0 insertions(+), 0 deletions(-)
- create mode 100644 MODULE_LICENSE_BSD_LIKE
-
-diff --git a/MODULE_LICENSE_BSD_LIKE b/MODULE_LICENSE_BSD_LIKE
-new file mode 100644
-index 0000000..e69de29
--- 
-1.9.1.423.g4596e3a
-
diff --git a/patches/0002-Add-basic-Android-configuration.patch b/patches/0002-Add-basic-Android-configuration.patch
deleted file mode 100644 (file)
index 3a17a3b..0000000
+++ /dev/null
@@ -1,2389 +0,0 @@
-From 75d1e0c4b102d6c244e10b83427ca5a52b89cab6 Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 27 Mar 2014 14:04:43 -0700
-Subject: [PATCH 2/5] Add basic Android configuration.
-
-Change-Id: I0102d75a076e96e15606cbecc86b069c0fc43bf1
----
- device/include/llvm/Config/AsmParsers.def    |  39 ++
- device/include/llvm/Config/AsmPrinters.def   |  39 ++
- device/include/llvm/Config/Disassemblers.def |  39 ++
- device/include/llvm/Config/Targets.def       |  38 ++
- device/include/llvm/Config/config.h          | 689 +++++++++++++++++++++++++
- device/include/llvm/Config/llvm-config.h     |  94 ++++
- host/include/llvm/Config/AsmParsers.def      |  32 ++
- host/include/llvm/Config/AsmPrinters.def     |  32 ++
- host/include/llvm/Config/Disassemblers.def   |  32 ++
- host/include/llvm/Config/Targets.def         |  31 ++
- host/include/llvm/Config/config.h            | 725 +++++++++++++++++++++++++++
- host/include/llvm/Config/llvm-config.h       | 102 ++++
- include/llvm/Config/llvm-platform-config.h   | 160 ++++++
- include/llvm/Support/DataTypes.h             | 213 ++++++++
- 14 files changed, 2265 insertions(+)
- create mode 100644 device/include/llvm/Config/AsmParsers.def
- create mode 100644 device/include/llvm/Config/AsmPrinters.def
- create mode 100644 device/include/llvm/Config/Disassemblers.def
- create mode 100644 device/include/llvm/Config/Targets.def
- create mode 100644 device/include/llvm/Config/config.h
- create mode 100644 device/include/llvm/Config/llvm-config.h
- create mode 100644 host/include/llvm/Config/AsmParsers.def
- create mode 100644 host/include/llvm/Config/AsmPrinters.def
- create mode 100644 host/include/llvm/Config/Disassemblers.def
- create mode 100644 host/include/llvm/Config/Targets.def
- create mode 100644 host/include/llvm/Config/config.h
- create mode 100644 host/include/llvm/Config/llvm-config.h
- create mode 100644 include/llvm/Config/llvm-platform-config.h
- create mode 100644 include/llvm/Support/DataTypes.h
-
-diff --git a/device/include/llvm/Config/AsmParsers.def b/device/include/llvm/Config/AsmParsers.def
-new file mode 100644
-index 0000000..ca3af2c
---- /dev/null
-+++ b/device/include/llvm/Config/AsmParsers.def
-@@ -0,0 +1,39 @@
-+//===- llvm/Config/AsmParsers.def - LLVM Assembly Parsers -------*- C++ -*-===//
-+//
-+//                     The LLVM Compiler Infrastructure
-+//
-+// This file is distributed under the University of Illinois Open Source
-+// License. See LICENSE.TXT for details.
-+//
-+//===----------------------------------------------------------------------===//
-+//
-+// This file enumerates all of the assembly-language parsers
-+// supported by this build of LLVM. Clients of this file should define
-+// the LLVM_ASM_PARSER macro to be a function-like macro with a
-+// single parameter (the name of the target whose assembly can be
-+// generated); including this file will then enumerate all of the
-+// targets with assembly parsers.
-+//
-+// The set of targets supported by LLVM is generated at configuration
-+// time, at which point this header is generated. Do not modify this
-+// header directly.
-+//
-+//===----------------------------------------------------------------------===//
-+
-+#ifndef LLVM_ASM_PARSER
-+#  error Please define the macro LLVM_ASM_PARSER(TargetName)
-+#endif
-+
-+#if defined(__arm__)
-+  LLVM_ASM_PARSER(ARM)
-+#elif defined(__mips__)
-+  LLVM_ASM_PARSER(Mips)
-+#elif defined(__i386__) || defined(__x86_64__)
-+  LLVM_ASM_PARSER(X86)
-+#elif defined(__aarch64__)
-+  LLVM_ASM_PARSER(AArch64)
-+#else
-+#  error Unsupported TARGET_ARCH for LLVM_ASM_PARSER
-+#endif
-+
-+#undef LLVM_ASM_PARSER
-diff --git a/device/include/llvm/Config/AsmPrinters.def b/device/include/llvm/Config/AsmPrinters.def
-new file mode 100644
-index 0000000..3a396c2
---- /dev/null
-+++ b/device/include/llvm/Config/AsmPrinters.def
-@@ -0,0 +1,39 @@
-+//===- llvm/Config/AsmPrinters.def - LLVM Assembly Printers -----*- C++ -*-===//
-+//
-+//                     The LLVM Compiler Infrastructure
-+//
-+// This file is distributed under the University of Illinois Open Source
-+// License. See LICENSE.TXT for details.
-+//
-+//===----------------------------------------------------------------------===//
-+//
-+// This file enumerates all of the assembly-language printers
-+// supported by this build of LLVM. Clients of this file should define
-+// the LLVM_ASM_PRINTER macro to be a function-like macro with a
-+// single parameter (the name of the target whose assembly can be
-+// generated); including this file will then enumerate all of the
-+// targets with assembly printers.
-+//
-+// The set of targets supported by LLVM is generated at configuration
-+// time, at which point this header is generated. Do not modify this
-+// header directly.
-+//
-+//===----------------------------------------------------------------------===//
-+
-+#ifndef LLVM_ASM_PRINTER
-+#  error Please define the macro LLVM_ASM_PRINTER(TargetName)
-+#endif
-+
-+#if defined(__arm__)
-+  LLVM_ASM_PRINTER(ARM)
-+#elif defined(__mips__)
-+  LLVM_ASM_PRINTER(Mips)
-+#elif defined(__i386__) || defined(__x86_64__)
-+  LLVM_ASM_PRINTER(X86)
-+#elif defined(__aarch64__)
-+  LLVM_ASM_PRINTER(AArch64)
-+#else
-+#  error Unsupported TARGET_ARCH for LLVM_ASM_PRINTER
-+#endif
-+
-+#undef LLVM_ASM_PRINTER
-diff --git a/device/include/llvm/Config/Disassemblers.def b/device/include/llvm/Config/Disassemblers.def
-new file mode 100644
-index 0000000..aba88f8
---- /dev/null
-+++ b/device/include/llvm/Config/Disassemblers.def
-@@ -0,0 +1,39 @@
-+//===- llvm/Config/Disassemblers.def - LLVM Assembly Parsers ----*- C++ -*-===//
-+//
-+//                     The LLVM Compiler Infrastructure
-+//
-+// This file is distributed under the University of Illinois Open Source
-+// License. See LICENSE.TXT for details.
-+//
-+//===----------------------------------------------------------------------===//
-+//
-+// This file enumerates all of the assembly-language parsers
-+// supported by this build of LLVM. Clients of this file should define
-+// the LLVM_ASM_PARSER macro to be a function-like macro with a
-+// single parameter (the name of the target whose assembly can be
-+// generated); including this file will then enumerate all of the
-+// targets with assembly parsers.
-+//
-+// The set of targets supported by LLVM is generated at configuration
-+// time, at which point this header is generated. Do not modify this
-+// header directly.
-+//
-+//===----------------------------------------------------------------------===//
-+
-+#ifndef LLVM_DISASSEMBLER
-+#  error Please define the macro LLVM_DISASSEMBLER(TargetName)
-+#endif
-+
-+#if defined(__arm__)
-+  LLVM_DISASSEMBLER(ARM)
-+#elif defined(__mips__)
-+  LLVM_DISASSEMBLER(Mips)
-+#elif defined(__i386__) || defined(__x86_64__)
-+  LLVM_DISASSEMBLER(X86)
-+#elif defined(__aarch64__)
-+  LLVM_DISASSEMBLER(AArch64)
-+#else
-+#  error Unsupported TARGET_ARCH for LLVM_DISASSEMBLER
-+#endif
-+
-+#undef LLVM_DISASSEMBLER
-diff --git a/device/include/llvm/Config/Targets.def b/device/include/llvm/Config/Targets.def
-new file mode 100644
-index 0000000..f30c81f
---- /dev/null
-+++ b/device/include/llvm/Config/Targets.def
-@@ -0,0 +1,38 @@
-+/*===- llvm/Config/Targets.def - LLVM Target Architectures ------*- C++ -*-===*\
-+|*                                                                            *|
-+|*                     The LLVM Compiler Infrastructure                       *|
-+|*                                                                            *|
-+|* This file is distributed under the University of Illinois Open Source      *|
-+|* License. See LICENSE.TXT for details.                                      *|
-+|*                                                                            *|
-+|*===----------------------------------------------------------------------===*|
-+|*                                                                            *|
-+|* This file enumerates all of the target architectures supported by          *|
-+|* this build of LLVM. Clients of this file should define the                 *|
-+|* LLVM_TARGET macro to be a function-like macro with a single                *|
-+|* parameter (the name of the target); including this file will then          *|
-+|* enumerate all of the targets.                                              *|
-+|*                                                                            *|
-+|* The set of targets supported by LLVM is generated at configuration         *|
-+|* time, at which point this header is generated. Do not modify this          *|
-+|* header directly.                                                           *|
-+|*                                                                            *|
-+\*===----------------------------------------------------------------------===*/
-+
-+#ifndef LLVM_TARGET
-+#  error Please define the macro LLVM_TARGET(TargetName)
-+#endif
-+
-+#if defined(__arm__)
-+  LLVM_TARGET(ARM)
-+#elif defined(__mips__)
-+  LLVM_TARGET(Mips)
-+#elif defined(__i386__) || defined(__x86_64__)
-+  LLVM_TARGET(X86)
-+#elif defined(__aarch64__)
-+  LLVM_TARGET(AArch64)
-+#else
-+#  error Unsupported TARGET_ARCH for LLVM_TARGET
-+#endif
-+
-+#undef LLVM_TARGET
-diff --git a/device/include/llvm/Config/config.h b/device/include/llvm/Config/config.h
-new file mode 100644
-index 0000000..f76132a
---- /dev/null
-+++ b/device/include/llvm/Config/config.h
-@@ -0,0 +1,689 @@
-+/* include/llvm/Config/config.h.  Generated from config.h.in by configure.  */
-+/* include/llvm/Config/config.h.in.  Generated from autoconf/configure.ac by autoheader.  */
-+
-+#ifndef CONFIG_H
-+#define CONFIG_H
-+
-+/* Bug report URL. */
-+#define BUG_REPORT_URL "http://llvm.org/bugs/"
-+
-+/* Relative directory for resource files */
-+#define CLANG_RESOURCE_DIR ""
-+
-+/* Directories clang will search for headers */
-+#define C_INCLUDE_DIRS ""
-+
-+/* Default <path> to all compiler invocations for --sysroot=<path>. */
-+#define DEFAULT_SYSROOT ""
-+
-+/* Define if position independent code is enabled */
-+#define ENABLE_PIC 1
-+
-+/* Define if timestamp information (e.g., __DATE___) is allowed */
-+#define ENABLE_TIMESTAMPS 1
-+
-+/* Directory where gcc is installed. */
-+#define GCC_INSTALL_PREFIX ""
-+
-+/* Define to 1 if you have the `argz_append' function. */
-+/* #undef HAVE_ARGZ_APPEND */
-+
-+/* Define to 1 if you have the `argz_create_sep' function. */
-+/* #undef HAVE_ARGZ_CREATE_SEP */
-+
-+/* Define to 1 if you have the <argz.h> header file. */
-+/* #undef HAVE_ARGZ_H */
-+
-+/* Define to 1 if you have the `argz_insert' function. */
-+/* #undef HAVE_ARGZ_INSERT */
-+
-+/* Define to 1 if you have the `argz_next' function. */
-+/* #undef HAVE_ARGZ_NEXT */
-+
-+/* Define to 1 if you have the `argz_stringify' function. */
-+/* #undef HAVE_ARGZ_STRINGIFY */
-+
-+/* Define to 1 if you have the <assert.h> header file. */
-+#define HAVE_ASSERT_H 1
-+
-+/* Define to 1 if you have the `backtrace' function. */
-+#if defined(HAVE_BACKTRACE) && HAVE_BACKTRACE == 0
-+/* Defined by AndroidConfig.h as 0 */
-+#undef HAVE_BACKTRACE
-+#endif
-+
-+/* Define to 1 if you have the `bcopy' function. */
-+/* #undef HAVE_BCOPY */
-+
-+/* Define to 1 if you have the `ceilf' function. */
-+#define HAVE_CEILF 1
-+
-+/* Define if the neat program is available */
-+/* #undef HAVE_CIRCO */
-+
-+/* Define to 1 if you have the `closedir' function. */
-+#define HAVE_CLOSEDIR 1
-+
-+/* Define to 1 if you have the <CrashReporterClient.h> header file. */
-+/* #undef HAVE_CRASHREPORTERCLIENT_H */
-+
-+/* Define if __crashreporter_info__ exists. */
-+/* #undef HAVE_CRASHREPORTER_INFO */
-+
-+/* Define to 1 if you have the <ctype.h> header file. */
-+#define HAVE_CTYPE_H 1
-+
-+/* Define to 1 if you have the <cxxabi.h> header file. */
-+#define HAVE_CXXABI_H 0
-+
-+/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
-+   don't. */
-+#define HAVE_DECL_STRERROR_S 0
-+
-+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
-+   */
-+#define HAVE_DIRENT_H 1
-+
-+/* Define if you have the GNU dld library. */
-+/* #undef HAVE_DLD */
-+
-+/* Define to 1 if you have the <dld.h> header file. */
-+/* #undef HAVE_DLD_H */
-+
-+/* Define to 1 if you have the `dlerror' function. */
-+#define HAVE_DLERROR 1
-+
-+/* Define to 1 if you have the <dlfcn.h> header file. */
-+#define HAVE_DLFCN_H 1
-+
-+/* Define if dlopen() is available on this platform. */
-+#define HAVE_DLOPEN 1
-+
-+/* Define to 1 if you have the <dl.h> header file. */
-+/* #undef HAVE_DL_H */
-+
-+/* Define if the dot program is available */
-+/* #undef HAVE_DOT */
-+
-+/* Define if the dotty program is available */
-+/* #undef HAVE_DOTTY */
-+
-+/* Define if you have the _dyld_func_lookup function. */
-+/* #undef HAVE_DYLD */
-+
-+/* Define to 1 if you have the <errno.h> header file. */
-+#define HAVE_ERRNO_H 1
-+
-+/* Define to 1 if the system has the type `error_t'. */
-+#define HAVE_ERROR_T 1
-+
-+/* Define to 1 if you have the <execinfo.h> header file. */
-+#define HAVE_EXECINFO_H 0
-+
-+/* Define to 1 if you have the <fcntl.h> header file. */
-+#define HAVE_FCNTL_H 1
-+
-+/* Define if the neat program is available */
-+/* #undef HAVE_FDP */
-+
-+/* Define to 1 if you have the <fenv.h> header file. */
-+#define HAVE_FENV_H 1
-+
-+/* Define if libffi is available on this platform. */
-+/* #undef HAVE_FFI_CALL */
-+
-+/* Define to 1 if you have the <ffi/ffi.h> header file. */
-+/* #undef HAVE_FFI_FFI_H */
-+
-+/* Define to 1 if you have the <ffi.h> header file. */
-+/* #undef HAVE_FFI_H */
-+
-+/* Set to 1 if the finite function is found in <ieeefp.h> */
-+/* #undef HAVE_FINITE_IN_IEEEFP_H */
-+
-+/* Define to 1 if you have the `floorf' function. */
-+#define HAVE_FLOORF 1
-+
-+/* Define to 1 if you have the `fmodf' function. */
-+#define HAVE_FMODF 1
-+
-+/* Define to 1 if you have the `futimens' function. */
-+#define HAVE_FUTIMENS 1
-+
-+/* Define to 1 if you have the `getcwd' function. */
-+#define HAVE_GETCWD 1
-+
-+/* Define to 1 if you have the `getpagesize' function. */
-+#define HAVE_GETPAGESIZE 1
-+
-+/* Define to 1 if you have the `getrlimit' function. */
-+#define HAVE_GETRLIMIT 1
-+
-+/* Define to 1 if you have the `getrusage' function. */
-+#define HAVE_GETRUSAGE 1
-+
-+/* Define to 1 if you have the `gettimeofday' function. */
-+#define HAVE_GETTIMEOFDAY 1
-+
-+/* Define if the Graphviz program is available */
-+/* #undef HAVE_GRAPHVIZ */
-+
-+/* Define if the gv program is available */
-+/* #undef HAVE_GV */
-+
-+/* Define to 1 if you have the `index' function. */
-+/* #undef HAVE_INDEX */
-+
-+/* Define to 1 if the system has the type `int64_t'. */
-+#define HAVE_INT64_T 1
-+
-+/* Define to 1 if you have the <inttypes.h> header file. */
-+#define HAVE_INTTYPES_H 1
-+
-+/* Define to 1 if you have the `isatty' function. */
-+#define HAVE_ISATTY 1
-+
-+/* Set to 1 if the isinf function is found in <cmath> */
-+#define HAVE_ISINF_IN_CMATH 1
-+
-+/* Set to 1 if the isinf function is found in <math.h> */
-+#define HAVE_ISINF_IN_MATH_H 1
-+
-+/* Set to 1 if the isnan function is found in <cmath> */
-+#define HAVE_ISNAN_IN_CMATH 1
-+
-+/* Set to 1 if the isnan function is found in <math.h> */
-+#define HAVE_ISNAN_IN_MATH_H 1
-+
-+/* Define if you have the libdl library or equivalent. */
-+#define HAVE_LIBDL 1
-+
-+/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
-+/* #undef HAVE_LIBIMAGEHLP */
-+
-+/* Define to 1 if you have the `m' library (-lm). */
-+#define HAVE_LIBM 1
-+
-+/* Define to 1 if you have the `psapi' library (-lpsapi). */
-+/* #undef HAVE_LIBPSAPI */
-+
-+/* Define to 1 if you have the `pthread' library (-lpthread). */
-+#define HAVE_LIBPTHREAD 1
-+
-+/* Define to 1 if you have the `udis86' library (-ludis86). */
-+/* #undef HAVE_LIBUDIS86 */
-+
-+/* Define to 1 if you have the <limits.h> header file. */
-+#define HAVE_LIMITS_H 1
-+
-+/* Define if you can use -Wl,-export-dynamic. */
-+#define HAVE_LINK_EXPORT_DYNAMIC 1
-+
-+/* Define to 1 if you have the <link.h> header file. */
-+#define HAVE_LINK_H 1
-+
-+/* Define if you can use -Wl,-R. to pass -R. to the linker, in order to add
-+   the current directory to the dynamic linker search path. */
-+#define HAVE_LINK_R 1
-+
-+/* Define to 1 if you have the `longjmp' function. */
-+#define HAVE_LONGJMP 1
-+
-+/* Define to 1 if you have the <mach/mach.h> header file. */
-+/* #undef HAVE_MACH_MACH_H */
-+
-+/* Define to 1 if you have the <mach-o/dyld.h> header file. */
-+/* #undef HAVE_MACH_O_DYLD_H */
-+
-+/* Define if mallinfo() is available on this platform. */
-+#define HAVE_MALLINFO 1
-+
-+/* Define to 1 if you have the <malloc.h> header file. */
-+//#define HAVE_MALLOC_H 1 /* Defined by AndroidConfig.h */
-+
-+/* Define to 1 if you have the <malloc/malloc.h> header file. */
-+/* #undef HAVE_MALLOC_MALLOC_H */
-+
-+/* Define to 1 if you have the `malloc_zone_statistics' function. */
-+/* #undef HAVE_MALLOC_ZONE_STATISTICS */
-+
-+/* Define to 1 if you have the `memcpy' function. */
-+#define HAVE_MEMCPY 1
-+
-+/* Define to 1 if you have the `memmove' function. */
-+#define HAVE_MEMMOVE 1
-+
-+/* Define to 1 if you have the <memory.h> header file. */
-+#define HAVE_MEMORY_H 1
-+
-+/* Define to 1 if you have the `mkdtemp' function. */
-+#define HAVE_MKDTEMP 0
-+
-+/* Define to 1 if you have the `mkstemp' function. */
-+#define HAVE_MKSTEMP 1
-+
-+/* Define to 1 if you have the `mktemp' function. */
-+#define HAVE_MKTEMP 1
-+
-+/* Define to 1 if you have a working `mmap' system call. */
-+#define HAVE_MMAP 1
-+
-+/* Define if mmap() uses MAP_ANONYMOUS to map anonymous pages, or undefine if
-+   it uses MAP_ANON */
-+#define HAVE_MMAP_ANONYMOUS 1
-+
-+/* Define if mmap() can map files into memory */
-+#define HAVE_MMAP_FILE
-+
-+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
-+/* #undef HAVE_NDIR_H */
-+
-+/* Define to 1 if you have the `nearbyintf' function. */
-+#define HAVE_NEARBYINTF 1
-+
-+/* Define if the neat program is available */
-+/* #undef HAVE_NEATO */
-+
-+/* Define to 1 if you have the `opendir' function. */
-+#define HAVE_OPENDIR 1
-+
-+/* Define to 1 if you have the `posix_spawn' function. */
-+/* #undef HAVE_POSIX_SPAWN */
-+
-+/* Define to 1 if you have the `powf' function. */
-+#define HAVE_POWF 1
-+
-+/* Define to 1 if you have the `pread' function. */
-+#define HAVE_PREAD 1
-+
-+/* Define if libtool can extract symbol lists from object files. */
-+#define HAVE_PRELOADED_SYMBOLS 1
-+
-+/* Define to have the %a format string */
-+#define HAVE_PRINTF_A 1
-+
-+/* Have pthread_getspecific */
-+#define HAVE_PTHREAD_GETSPECIFIC 1
-+
-+/* Define to 1 if you have the <pthread.h> header file. */
-+#define HAVE_PTHREAD_H 1
-+
-+/* Have pthread_mutex_lock */
-+#define HAVE_PTHREAD_MUTEX_LOCK 1
-+
-+/* Have pthread_rwlock_init */
-+#define HAVE_PTHREAD_RWLOCK_INIT 1
-+
-+/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
-+#define HAVE_RAND48 1
-+
-+/* Define to 1 if you have the `readdir' function. */
-+#define HAVE_READDIR 1
-+
-+/* Define to 1 if you have the `realpath' function. */
-+#define HAVE_REALPATH 1
-+
-+/* Define to 1 if you have the `rindex' function. */
-+/* #undef HAVE_RINDEX */
-+
-+/* Define to 1 if you have the `rintf' function. */
-+#define HAVE_RINTF 1
-+
-+/* Define to 1 if you have the `round' function. */
-+#define HAVE_ROUND 1
-+
-+/* Define to 1 if you have the `roundf' function. */
-+#define HAVE_ROUNDF 1
-+
-+/* Define to 1 if you have the `sbrk' function. */
-+#define HAVE_SBRK 1
-+
-+/* Define to 1 if you have the `setenv' function. */
-+#define HAVE_SETENV 1
-+
-+/* Define to 1 if you have the `setjmp' function. */
-+#define HAVE_SETJMP 1
-+
-+/* Define to 1 if you have the <setjmp.h> header file. */
-+#define HAVE_SETJMP_H 1
-+
-+/* Define to 1 if you have the `setrlimit' function. */
-+#define HAVE_SETRLIMIT 1
-+
-+/* Define if you have the shl_load function. */
-+/* #undef HAVE_SHL_LOAD */
-+
-+/* Define to 1 if you have the `siglongjmp' function. */
-+#define HAVE_SIGLONGJMP 1
-+
-+/* Define to 1 if you have the <signal.h> header file. */
-+#define HAVE_SIGNAL_H 1
-+
-+/* Define to 1 if you have the `sigsetjmp' function. */
-+/* #undef HAVE_SIGSETJMP */
-+
-+/* Define to 1 if you have the <stdint.h> header file. */
-+#define HAVE_STDINT_H 1
-+
-+/* Define to 1 if you have the <stdio.h> header file. */
-+#define HAVE_STDIO_H 1
-+
-+/* Define to 1 if you have the <stdlib.h> header file. */
-+#define HAVE_STDLIB_H 1
-+
-+/* Set to 1 if the std::isinf function is found in <cmath> */
-+/* #undef HAVE_STD_ISINF_IN_CMATH */
-+
-+/* Set to 1 if the std::isnan function is found in <cmath> */
-+#define HAVE_STD_ISNAN_IN_CMATH 1
-+
-+/* Define to 1 if you have the `strchr' function. */
-+#define HAVE_STRCHR 1
-+
-+/* Define to 1 if you have the `strcmp' function. */
-+#define HAVE_STRCMP 1
-+
-+/* Define to 1 if you have the `strdup' function. */
-+#define HAVE_STRDUP 1
-+
-+/* Define to 1 if you have the `strerror' function. */
-+#define HAVE_STRERROR 1
-+
-+/* Define to 1 if you have the `strerror_r' function. */
-+#ifndef USE_MINGW
-+#define HAVE_STRERROR_R 1
-+#endif
-+
-+/* Define to 1 if you have the <strings.h> header file. */
-+#define HAVE_STRINGS_H 1
-+
-+/* Define to 1 if you have the <string.h> header file. */
-+#define HAVE_STRING_H 1
-+
-+/* Define to 1 if you have the `strrchr' function. */
-+#define HAVE_STRRCHR 1
-+
-+/* Define to 1 if you have the `strtof' function. */
-+#define HAVE_STRTOF 1
-+
-+/* Define to 1 if you have the `strtoll' function. */
-+#define HAVE_STRTOLL 1
-+
-+/* Define to 1 if you have the `strtoq' function. */
-+#define HAVE_STRTOQ 1
-+
-+/* Define to 1 if you have the `sysconf' function. */
-+#define HAVE_SYSCONF 1
-+
-+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
-+   */
-+/* #undef HAVE_SYS_DIR_H */
-+
-+/* Define to 1 if you have the <sys/dl.h> header file. */
-+/* #undef HAVE_SYS_DL_H */
-+
-+/* Define to 1 if you have the <sys/ioctl.h> header file. */
-+#define HAVE_SYS_IOCTL_H 1
-+
-+/* Define to 1 if you have the <sys/mman.h> header file. */
-+#define HAVE_SYS_MMAN_H 1
-+
-+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
-+   */
-+/* #undef HAVE_SYS_NDIR_H */
-+
-+/* Define to 1 if you have the <sys/param.h> header file. */
-+#define HAVE_SYS_PARAM_H 1
-+
-+/* Define to 1 if you have the <sys/resource.h> header file. */
-+#define HAVE_SYS_RESOURCE_H 1
-+
-+/* Define to 1 if you have the <sys/stat.h> header file. */
-+#define HAVE_SYS_STAT_H 1
-+
-+/* Define to 1 if you have the <sys/time.h> header file. */
-+#define HAVE_SYS_TIME_H 1
-+
-+/* Define to 1 if you have the <sys/types.h> header file. */
-+#define HAVE_SYS_TYPES_H 1
-+
-+/* Define to 1 if you have the <sys/uio.h> header file. */
-+#define HAVE_SYS_UIO_H 1
-+
-+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
-+#define HAVE_SYS_WAIT_H 1
-+
-+/* Define to 1 if you have the <termios.h> header file. */
-+#define HAVE_TERMIOS_H 1
-+
-+/* Define if the neat program is available */
-+/* #undef HAVE_TWOPI */
-+
-+/* Define to 1 if the system has the type `uint64_t'. */
-+#define HAVE_UINT64_T 1
-+
-+/* Define to 1 if you have the <unistd.h> header file. */
-+#define HAVE_UNISTD_H 1
-+
-+/* Define to 1 if you have the <utime.h> header file. */
-+#define HAVE_UTIME_H 1
-+
-+/* Define to 1 if the system has the type `u_int64_t'. */
-+/* #undef HAVE_U_INT64_T */
-+
-+/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
-+/* #undef HAVE_VALGRIND_VALGRIND_H */
-+
-+/* Define to 1 if you have the <windows.h> header file. */
-+/* #undef HAVE_WINDOWS_H */
-+
-+/* Define to 1 if you have the `writev' function. */
-+#define HAVE_WRITEV 1
-+
-+/* Define if the xdot.py program is available */
-+/* #undef HAVE_XDOT_PY */
-+
-+/* Have host's _alloca */
-+/* #undef HAVE__ALLOCA */
-+
-+/* Have host's __alloca */
-+/* #undef HAVE___ALLOCA */
-+
-+/* Have host's __ashldi3 */
-+/* #undef HAVE___ASHLDI3 */
-+
-+/* Have host's __ashrdi3 */
-+/* #undef HAVE___ASHRDI3 */
-+
-+/* Have host's __chkstk */
-+/* #undef HAVE___CHKSTK */
-+
-+/* Have host's __cmpdi2 */
-+/* #undef HAVE___CMPDI2 */
-+
-+/* Have host's __divdi3 */
-+/* #undef HAVE___DIVDI3 */
-+
-+/* Define to 1 if you have the `__dso_handle' function. */
-+#define HAVE___DSO_HANDLE 1
-+
-+/* Have host's __fixdfdi */
-+/* #undef HAVE___FIXDFDI */
-+
-+/* Have host's __fixsfdi */
-+/* #undef HAVE___FIXSFDI */
-+
-+/* Have host's __floatdidf */
-+/* #undef HAVE___FLOATDIDF */
-+
-+/* Have host's __lshrdi3 */
-+/* #undef HAVE___LSHRDI3 */
-+
-+/* Have host's __main */
-+/* #undef HAVE___MAIN */
-+
-+/* Have host's __moddi3 */
-+/* #undef HAVE___MODDI3 */
-+
-+/* Have host's __udivdi3 */
-+/* #undef HAVE___UDIVDI3 */
-+
-+/* Have host's __umoddi3 */
-+/* #undef HAVE___UMODDI3 */
-+
-+/* Have host's ___chkstk */
-+/* #undef HAVE____CHKSTK */
-+
-+/* Linker version detected at compile time. */
-+#define HOST_LINK_VERSION "2.20.1"
-+
-+/* Installation directory for binary executables */
-+#define LLVM_BINDIR "/opt/llvm-android/bin"
-+
-+/* Time at which LLVM was configured */
-+#define LLVM_CONFIGTIME "Tue May  8 14:22:45 CST 2012"
-+
-+/* Installation directory for data files */
-+#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
-+
-+/* Target triple LLVM will generate code for by default */
-+#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
-+
-+/* Installation directory for documentation */
-+#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
-+
-+/* Define if threads enabled */
-+#define LLVM_ENABLE_THREADS 1
-+
-+/* Installation directory for config files */
-+#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
-+
-+/* Has gcc/MSVC atomic intrinsics */
-+#define LLVM_HAS_ATOMICS 1
-+
-+/* Installation directory for include files */
-+#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
-+
-+/* Installation directory for .info files */
-+#define LLVM_INFODIR "/opt/llvm-android/info"
-+
-+/* Installation directory for libraries */
-+#define LLVM_LIBDIR "/opt/llvm-android/lib"
-+
-+/* Installation directory for man pages */
-+#define LLVM_MANDIR "/opt/llvm-android/man"
-+
-+/* Define to path to circo program if found or 'echo circo' otherwise */
-+/* #undef LLVM_PATH_CIRCO */
-+
-+/* Define to path to dot program if found or 'echo dot' otherwise */
-+/* #undef LLVM_PATH_DOT */
-+
-+/* Define to path to dotty program if found or 'echo dotty' otherwise */
-+/* #undef LLVM_PATH_DOTTY */
-+
-+/* Define to path to fdp program if found or 'echo fdp' otherwise */
-+/* #undef LLVM_PATH_FDP */
-+
-+/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
-+/* #undef LLVM_PATH_GRAPHVIZ */
-+
-+/* Define to path to gv program if found or 'echo gv' otherwise */
-+/* #undef LLVM_PATH_GV */
-+
-+/* Define to path to neato program if found or 'echo neato' otherwise */
-+/* #undef LLVM_PATH_NEATO */
-+
-+/* Define to path to twopi program if found or 'echo twopi' otherwise */
-+/* #undef LLVM_PATH_TWOPI */
-+
-+/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
-+/* #undef LLVM_PATH_XDOT_PY */
-+
-+/* Installation prefix directory */
-+#define LLVM_PREFIX "/opt/llvm-android"
-+
-+/* Define if we have the Intel JIT API runtime support library */
-+#define LLVM_USE_INTEL_JITEVENTS 0
-+
-+/* Define if we have the oprofile JIT-support library */
-+#define LLVM_USE_OPROFILE 0
-+
-+/* Major version of the LLVM API */
-+#define LLVM_VERSION_MAJOR 3
-+
-+/* Minor version of the LLVM API */
-+#define LLVM_VERSION_MINOR 4
-+
-+/* Define if the OS needs help to load dependent libraries for dlopen(). */
-+/* #undef LTDL_DLOPEN_DEPLIBS */
-+
-+/* Define to the sub-directory in which libtool stores uninstalled libraries.
-+   */
-+#define LTDL_OBJDIR ".libs/"
-+
-+/* Define to the name of the environment variable that determines the dynamic
-+   library search path. */
-+#define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH"
-+
-+/* Define to the extension used for shared libraries, say, ".so". */
-+#define LTDL_SHLIB_EXT ".so"
-+
-+/* Define to the system default library search path. */
-+#define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/usr/local/lib:/lib:/usr/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib32:/usr/lib32:/usr/local/lib32:/usr/x86_64-pc-linux-gnu/lib:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/32:/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2:/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/32"
-+
-+/* Define if /dev/zero should be used when mapping RWX memory, or undefine if
-+   its not necessary */
-+/* #undef NEED_DEV_ZERO_FOR_MMAP */
-+
-+/* Define if dlsym() requires a leading underscore in symbol names. */
-+/* #undef NEED_USCORE */
-+
-+/* Define to the address where bug reports for this package should be sent. */
-+#define PACKAGE_BUGREPORT "http://llvm.org/bugs/"
-+
-+/* Define to the full name of this package. */
-+#define PACKAGE_NAME "LLVM"
-+
-+/* Define to the full name and version of this package. */
-+#define PACKAGE_STRING "LLVM 3.4"
-+
-+/* Define to the one symbol short name of this package. */
-+#define PACKAGE_TARNAME "llvm"
-+
-+/* Define to the version of this package. */
-+#define PACKAGE_VERSION "3.4"
-+
-+/* Define as the return type of signal handlers (`int' or `void'). */
-+#define RETSIGTYPE void
-+
-+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-+/* #undef STAT_MACROS_BROKEN */
-+
-+/* Define to 1 if you have the ANSI C header files. */
-+#define STDC_HEADERS 1
-+
-+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-+#define TIME_WITH_SYS_TIME 1
-+
-+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
-+/* #undef TM_IN_SYS_TIME */
-+
-+/* Define if use udis86 library */
-+#define USE_UDIS86 0
-+
-+/* Define to empty if `const' does not conform to ANSI C. */
-+/* #undef const */
-+
-+/* Define to a type to use for `error_t' if it is not otherwise available. */
-+/* #undef error_t */
-+
-+/* Define to `int' if <sys/types.h> does not define. */
-+/* #undef pid_t */
-+
-+/* Define to `unsigned int' if <sys/types.h> does not define. */
-+/* #undef size_t */
-+
-+#include "llvm/Config/llvm-platform-config.h"
-+
-+#endif
-diff --git a/device/include/llvm/Config/llvm-config.h b/device/include/llvm/Config/llvm-config.h
-new file mode 100644
-index 0000000..637daed
---- /dev/null
-+++ b/device/include/llvm/Config/llvm-config.h
-@@ -0,0 +1,94 @@
-+/* include/llvm/Config/llvm-config.h.  Generated from llvm-config.h.in by configure.  */
-+/*===-- llvm/config/llvm-config.h - llvm configure variable -------*- C -*-===*/
-+/*                                                                            */
-+/*                     The LLVM Compiler Infrastructure                       */
-+/*                                                                            */
-+/* This file is distributed under the University of Illinois Open Source      */
-+/* License. See LICENSE.TXT for details.                                      */
-+/*                                                                            */
-+/*===----------------------------------------------------------------------===*/
-+
-+/* This file enumerates all of the llvm variables from configure so that
-+   they can be in exported headers and won't override package specific
-+   directives.  This is a C file so we can include it in the llvm-c headers.  */
-+
-+/* To avoid multiple inclusions of these variables when we include the exported
-+   headers and config.h, conditionally include these.  */
-+/* TODO: This is a bit of a hack.  */
-+#ifndef CONFIG_H
-+
-+/* Installation directory for binary executables */
-+#define LLVM_BINDIR "/opt/llvm-android/bin"
-+
-+/* Time at which LLVM was configured */
-+#define LLVM_CONFIGTIME "Tue May  8 14:22:45 CST 2012"
-+
-+/* Installation directory for data files */
-+#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
-+
-+/* Target triple LLVM will generate code for by default */
-+#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
-+
-+/* Installation directory for documentation */
-+#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
-+
-+/* Define if threads enabled */
-+#define LLVM_ENABLE_THREADS 1
-+
-+/* Installation directory for config files */
-+#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
-+
-+/* Has gcc/MSVC atomic intrinsics */
-+#define LLVM_HAS_ATOMICS 1
-+
-+/* Installation directory for include files */
-+#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
-+
-+/* Installation directory for .info files */
-+#define LLVM_INFODIR "/opt/llvm-android/info"
-+
-+/* Installation directory for libraries */
-+#define LLVM_LIBDIR "/opt/llvm-android/lib"
-+
-+/* Installation directory for man pages */
-+#define LLVM_MANDIR "/opt/llvm-android/man"
-+
-+/* Define to path to circo program if found or 'echo circo' otherwise */
-+/* #undef LLVM_PATH_CIRCO */
-+
-+/* Define to path to dot program if found or 'echo dot' otherwise */
-+/* #undef LLVM_PATH_DOT */
-+
-+/* Define to path to dotty program if found or 'echo dotty' otherwise */
-+/* #undef LLVM_PATH_DOTTY */
-+
-+/* Define to path to fdp program if found or 'echo fdp' otherwise */
-+/* #undef LLVM_PATH_FDP */
-+
-+/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
-+/* #undef LLVM_PATH_GRAPHVIZ */
-+
-+/* Define to path to gv program if found or 'echo gv' otherwise */
-+/* #undef LLVM_PATH_GV */
-+
-+/* Define to path to neato program if found or 'echo neato' otherwise */
-+/* #undef LLVM_PATH_NEATO */
-+
-+/* Define to path to twopi program if found or 'echo twopi' otherwise */
-+/* #undef LLVM_PATH_TWOPI */
-+
-+/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
-+/* #undef LLVM_PATH_XDOT_PY */
-+
-+/* Installation prefix directory */
-+#define LLVM_PREFIX "/opt/llvm-android"
-+
-+/* Major version of the LLVM API */
-+#define LLVM_VERSION_MAJOR 3
-+
-+/* Minor version of the LLVM API */
-+#define LLVM_VERSION_MINOR 4
-+
-+#include "llvm/Config/llvm-platform-config.h"
-+
-+#endif
-diff --git a/host/include/llvm/Config/AsmParsers.def b/host/include/llvm/Config/AsmParsers.def
-new file mode 100644
-index 0000000..8fd67da
---- /dev/null
-+++ b/host/include/llvm/Config/AsmParsers.def
-@@ -0,0 +1,32 @@
-+//===- llvm/Config/AsmParsers.def - LLVM Assembly Parsers -------*- C++ -*-===//
-+//
-+//                     The LLVM Compiler Infrastructure
-+//
-+// This file is distributed under the University of Illinois Open Source
-+// License. See LICENSE.TXT for details.
-+//
-+//===----------------------------------------------------------------------===//
-+//
-+// This file enumerates all of the assembly-language parsers
-+// supported by this build of LLVM. Clients of this file should define
-+// the LLVM_ASM_PARSER macro to be a function-like macro with a
-+// single parameter (the name of the target whose assembly can be
-+// generated); including this file will then enumerate all of the
-+// targets with assembly parsers.
-+//
-+// The set of targets supported by LLVM is generated at configuration
-+// time, at which point this header is generated. Do not modify this
-+// header directly.
-+//
-+//===----------------------------------------------------------------------===//
-+
-+#ifndef LLVM_ASM_PARSER
-+#  error Please define the macro LLVM_ASM_PARSER(TargetName)
-+#endif
-+
-+LLVM_ASM_PARSER(ARM)
-+LLVM_ASM_PARSER(Mips)
-+LLVM_ASM_PARSER(X86)
-+LLVM_ASM_PARSER(AArch64)
-+
-+#undef LLVM_ASM_PARSER
-diff --git a/host/include/llvm/Config/AsmPrinters.def b/host/include/llvm/Config/AsmPrinters.def
-new file mode 100644
-index 0000000..07f6adf
---- /dev/null
-+++ b/host/include/llvm/Config/AsmPrinters.def
-@@ -0,0 +1,32 @@
-+//===- llvm/Config/AsmPrinters.def - LLVM Assembly Printers -----*- C++ -*-===//
-+//
-+//                     The LLVM Compiler Infrastructure
-+//
-+// This file is distributed under the University of Illinois Open Source
-+// License. See LICENSE.TXT for details.
-+//
-+//===----------------------------------------------------------------------===//
-+//
-+// This file enumerates all of the assembly-language printers
-+// supported by this build of LLVM. Clients of this file should define
-+// the LLVM_ASM_PRINTER macro to be a function-like macro with a
-+// single parameter (the name of the target whose assembly can be
-+// generated); including this file will then enumerate all of the
-+// targets with assembly printers.
-+//
-+// The set of targets supported by LLVM is generated at configuration
-+// time, at which point this header is generated. Do not modify this
-+// header directly.
-+//
-+//===----------------------------------------------------------------------===//
-+
-+#ifndef LLVM_ASM_PRINTER
-+#  error Please define the macro LLVM_ASM_PRINTER(TargetName)
-+#endif
-+
-+LLVM_ASM_PRINTER(ARM)
-+LLVM_ASM_PRINTER(Mips)
-+LLVM_ASM_PRINTER(X86)
-+LLVM_ASM_PRINTER(AArch64)
-+
-+#undef LLVM_ASM_PRINTER
-diff --git a/host/include/llvm/Config/Disassemblers.def b/host/include/llvm/Config/Disassemblers.def
-new file mode 100644
-index 0000000..18557af
---- /dev/null
-+++ b/host/include/llvm/Config/Disassemblers.def
-@@ -0,0 +1,32 @@
-+//===- llvm/Config/Disassemblers.def - LLVM Assembly Parsers ----*- C++ -*-===//
-+//
-+//                     The LLVM Compiler Infrastructure
-+//
-+// This file is distributed under the University of Illinois Open Source
-+// License. See LICENSE.TXT for details.
-+//
-+//===----------------------------------------------------------------------===//
-+//
-+// This file enumerates all of the assembly-language parsers
-+// supported by this build of LLVM. Clients of this file should define
-+// the LLVM_ASM_PARSER macro to be a function-like macro with a
-+// single parameter (the name of the target whose assembly can be
-+// generated); including this file will then enumerate all of the
-+// targets with assembly parsers.
-+//
-+// The set of targets supported by LLVM is generated at configuration
-+// time, at which point this header is generated. Do not modify this
-+// header directly.
-+//
-+//===----------------------------------------------------------------------===//
-+
-+#ifndef LLVM_DISASSEMBLER
-+#  error Please define the macro LLVM_DISASSEMBLER(TargetName)
-+#endif
-+
-+LLVM_DISASSEMBLER(ARM)
-+LLVM_DISASSEMBLER(Mips)
-+LLVM_DISASSEMBLER(X86)
-+LLVM_DISASSEMBLER(AArch64)
-+
-+#undef LLVM_DISASSEMBLER
-diff --git a/host/include/llvm/Config/Targets.def b/host/include/llvm/Config/Targets.def
-new file mode 100644
-index 0000000..2985cf3
---- /dev/null
-+++ b/host/include/llvm/Config/Targets.def
-@@ -0,0 +1,31 @@
-+/*===- llvm/Config/Targets.def - LLVM Target Architectures ------*- C++ -*-===*\
-+|*                                                                            *|
-+|*                     The LLVM Compiler Infrastructure                       *|
-+|*                                                                            *|
-+|* This file is distributed under the University of Illinois Open Source      *|
-+|* License. See LICENSE.TXT for details.                                      *|
-+|*                                                                            *|
-+|*===----------------------------------------------------------------------===*|
-+|*                                                                            *|
-+|* This file enumerates all of the target architectures supported by          *|
-+|* this build of LLVM. Clients of this file should define the                 *|
-+|* LLVM_TARGET macro to be a function-like macro with a single                *|
-+|* parameter (the name of the target); including this file will then          *|
-+|* enumerate all of the targets.                                              *|
-+|*                                                                            *|
-+|* The set of targets supported by LLVM is generated at configuration         *|
-+|* time, at which point this header is generated. Do not modify this          *|
-+|* header directly.                                                           *|
-+|*                                                                            *|
-+\*===----------------------------------------------------------------------===*/
-+
-+#ifndef LLVM_TARGET
-+#  error Please define the macro LLVM_TARGET(TargetName)
-+#endif
-+
-+LLVM_TARGET(ARM)
-+LLVM_TARGET(Mips)
-+LLVM_TARGET(X86)
-+LLVM_TARGET(AArch64)
-+
-+#undef LLVM_TARGET
-diff --git a/host/include/llvm/Config/config.h b/host/include/llvm/Config/config.h
-new file mode 100644
-index 0000000..8e65910
---- /dev/null
-+++ b/host/include/llvm/Config/config.h
-@@ -0,0 +1,725 @@
-+/* include/llvm/Config/config.h.  Generated from config.h.in by configure.  */
-+/* include/llvm/Config/config.h.in.  Generated from autoconf/configure.ac by autoheader.  */
-+
-+#ifndef CONFIG_H
-+#define CONFIG_H
-+
-+/* Bug report URL. */
-+#define BUG_REPORT_URL "http://llvm.org/bugs/"
-+
-+/* Relative directory for resource files */
-+#define CLANG_RESOURCE_DIR ""
-+
-+/* Directories clang will search for headers */
-+#define C_INCLUDE_DIRS ""
-+
-+/* Default <path> to all compiler invocations for --sysroot=<path>. */
-+#define DEFAULT_SYSROOT ""
-+
-+/* Define if position independent code is enabled */
-+#define ENABLE_PIC 1
-+
-+/* Define if timestamp information (e.g., __DATE___) is allowed */
-+#define ENABLE_TIMESTAMPS 1
-+
-+/* Directory where gcc is installed. */
-+#define GCC_INSTALL_PREFIX ""
-+
-+/* Define to 1 if you have the `argz_append' function. */
-+/* #undef HAVE_ARGZ_APPEND */
-+
-+/* Define to 1 if you have the `argz_create_sep' function. */
-+/* #undef HAVE_ARGZ_CREATE_SEP */
-+
-+/* Define to 1 if you have the <argz.h> header file. */
-+/* #undef HAVE_ARGZ_H */
-+
-+/* Define to 1 if you have the `argz_insert' function. */
-+/* #undef HAVE_ARGZ_INSERT */
-+
-+/* Define to 1 if you have the `argz_next' function. */
-+/* #undef HAVE_ARGZ_NEXT */
-+
-+/* Define to 1 if you have the `argz_stringify' function. */
-+/* #undef HAVE_ARGZ_STRINGIFY */
-+
-+/* Define to 1 if you have the <assert.h> header file. */
-+#define HAVE_ASSERT_H 1
-+
-+/* Define to 1 if you have the `backtrace' function. */
-+/* #define HAVE_BACKTRACE 1 */ /* Defined by AndroidConfig.h */
-+
-+/* Define to 1 if you have the `bcopy' function. */
-+/* #undef HAVE_BCOPY */
-+
-+/* Define to 1 if you have the `ceilf' function. */
-+#define HAVE_CEILF 1
-+
-+/* Define if the neat program is available */
-+/* #undef HAVE_CIRCO */
-+
-+/* Define to 1 if you have the `closedir' function. */
-+#define HAVE_CLOSEDIR 1
-+
-+/* Define to 1 if you have the <CrashReporterClient.h> header file. */
-+/* #undef HAVE_CRASHREPORTERCLIENT_H */
-+
-+/* Define if __crashreporter_info__ exists. */
-+#define HAVE_CRASHREPORTER_INFO 0
-+
-+/* Define to 1 if you have the <ctype.h> header file. */
-+#define HAVE_CTYPE_H 1
-+
-+/* Define to 1 if you have the <cxxabi.h> header file. */
-+#define HAVE_CXXABI_H 0
-+
-+/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
-+   don't. */
-+#define HAVE_DECL_STRERROR_S 0
-+
-+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
-+   */
-+#define HAVE_DIRENT_H 1
-+
-+/* Define if you have the GNU dld library. */
-+/* #undef HAVE_DLD */
-+
-+/* Define to 1 if you have the <dld.h> header file. */
-+/* #undef HAVE_DLD_H */
-+
-+/* Define to 1 if you have the `dlerror' function. */
-+#define HAVE_DLERROR 1
-+
-+/* Define to 1 if you have the <dlfcn.h> header file. */
-+#define HAVE_DLFCN_H 1
-+
-+/* Define if dlopen() is available on this platform. */
-+#define HAVE_DLOPEN 1
-+
-+/* Define to 1 if you have the <dl.h> header file. */
-+/* #undef HAVE_DL_H */
-+
-+/* Define if the dot program is available */
-+/* #undef HAVE_DOT */
-+
-+/* Define if the dotty program is available */
-+/* #undef HAVE_DOTTY */
-+
-+/* Define if you have the _dyld_func_lookup function. */
-+/* #undef HAVE_DYLD */
-+
-+/* Define to 1 if you have the <errno.h> header file. */
-+#define HAVE_ERRNO_H 1
-+
-+/* Define to 1 if the system has the type `error_t'. */
-+#define HAVE_ERROR_T 1
-+
-+/* Define to 1 if you have the <execinfo.h> header file. */
-+#define HAVE_EXECINFO_H 1
-+
-+/* Define to 1 if you have the <fcntl.h> header file. */
-+#define HAVE_FCNTL_H 1
-+
-+/* Define if the neat program is available */
-+/* #undef HAVE_FDP */
-+
-+/* Define to 1 if you have the <fenv.h> header file. */
-+#define HAVE_FENV_H 1
-+
-+/* Define if libffi is available on this platform. */
-+/* #undef HAVE_FFI_CALL */
-+
-+/* Define to 1 if you have the <ffi/ffi.h> header file. */
-+/* #undef HAVE_FFI_FFI_H */
-+
-+/* Define to 1 if you have the <ffi.h> header file. */
-+/* #undef HAVE_FFI_H */
-+
-+/* Set to 1 if the finite function is found in <ieeefp.h> */
-+/* #undef HAVE_FINITE_IN_IEEEFP_H */
-+
-+/* Define to 1 if you have the `floorf' function. */
-+#define HAVE_FLOORF 1
-+
-+/* Define to 1 if you have the `fmodf' function. */
-+#define HAVE_FMODF 1
-+
-+#ifdef __APPLE__
-+/* Define to 1 if you have the `futimes' function. */
-+#define HAVE_FUTIMES 1
-+#else
-+/* Define to 1 if you have the `futimens' function. */
-+#define HAVE_FUTIMENS 1
-+#endif  // __APPLE__
-+
-+/* Define to 1 if you have the `getcwd' function. */
-+#define HAVE_GETCWD 1
-+
-+/* Define to 1 if you have the `getpagesize' function. */
-+#define HAVE_GETPAGESIZE 1
-+
-+/* Define to 1 if you have the `getrlimit' function. */
-+#define HAVE_GETRLIMIT 1
-+
-+/* Define to 1 if you have the `getrusage' function. */
-+#define HAVE_GETRUSAGE 1
-+
-+/* Define to 1 if you have the `gettimeofday' function. */
-+#define HAVE_GETTIMEOFDAY 1
-+
-+/* Define if the Graphviz program is available */
-+/* #undef HAVE_GRAPHVIZ */
-+
-+/* Define if the gv program is available */
-+/* #undef HAVE_GV */
-+
-+/* Define to 1 if you have the `index' function. */
-+/* #undef HAVE_INDEX */
-+
-+/* Define to 1 if the system has the type `int64_t'. */
-+#define HAVE_INT64_T 1
-+
-+/* Define to 1 if you have the <inttypes.h> header file. */
-+#define HAVE_INTTYPES_H 1
-+
-+/* Define to 1 if you have the `isatty' function. */
-+#define HAVE_ISATTY 1
-+
-+/* Set to 1 if the isinf function is found in <cmath> */
-+#define HAVE_ISINF_IN_CMATH 1
-+
-+/* Set to 1 if the isinf function is found in <math.h> */
-+#define HAVE_ISINF_IN_MATH_H 1
-+
-+/* Set to 1 if the isnan function is found in <cmath> */
-+#define HAVE_ISNAN_IN_CMATH 1
-+
-+/* Set to 1 if the isnan function is found in <math.h> */
-+#define HAVE_ISNAN_IN_MATH_H 1
-+
-+/* Define if you have the libdl library or equivalent. */
-+#define HAVE_LIBDL 1
-+
-+/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
-+/* #undef HAVE_LIBIMAGEHLP */
-+
-+/* Define to 1 if you have the `m' library (-lm). */
-+#define HAVE_LIBM 1
-+
-+/* Define to 1 if you have the `psapi' library (-lpsapi). */
-+/* #undef HAVE_LIBPSAPI */
-+
-+/* Define to 1 if you have the `pthread' library (-lpthread). */
-+#define HAVE_LIBPTHREAD 1
-+
-+/* Define to 1 if you have the `shell32' library (-lshell32). */
-+#define HAVE_LIBSHELL32 1
-+
-+/* Define to 1 if you have the `udis86' library (-ludis86). */
-+/* #undef HAVE_LIBUDIS86 */
-+
-+/* Define to 1 if you have the <limits.h> header file. */
-+#define HAVE_LIMITS_H 1
-+
-+/* Define if you can use -Wl,-export-dynamic. */
-+#define HAVE_LINK_EXPORT_DYNAMIC 1
-+
-+/* Define to 1 if you have the <link.h> header file. */
-+#define HAVE_LINK_H 1
-+
-+/* Define if you can use -Wl,-R. to pass -R. to the linker, in order to add
-+   the current directory to the dynamic linker search path. */
-+#define HAVE_LINK_R 1
-+
-+/* Define to 1 if you have the `longjmp' function. */
-+#define HAVE_LONGJMP 1
-+
-+/* Define to 1 if you have the <mach/mach.h> header file. */
-+/* #undef HAVE_MACH_MACH_H */
-+
-+/* Define to 1 if you have the <mach-o/dyld.h> header file. */
-+/* #undef HAVE_MACH_O_DYLD_H */
-+
-+/* Define if mallinfo() is available on this platform. */
-+#if !defined(__APPLE__)
-+#define HAVE_MALLINFO 1
-+#else
-+/* #undef HAVE_MALLINFO */
-+#endif
-+
-+/* Define to 1 if you have the <malloc.h> header file. */
-+/* #define HAVE_MALLOC_H 1 */ /* Defined by AndroidConfig.h */
-+
-+/* Define to 1 if you have the <malloc/malloc.h> header file. */
-+/* #undef HAVE_MALLOC_MALLOC_H */
-+
-+/* Define to 1 if you have the `malloc_zone_statistics' function. */
-+/* #undef HAVE_MALLOC_ZONE_STATISTICS */
-+
-+/* Define to 1 if you have the `memcpy' function. */
-+#define HAVE_MEMCPY 1
-+
-+/* Define to 1 if you have the `memmove' function. */
-+#define HAVE_MEMMOVE 1
-+
-+/* Define to 1 if you have the <memory.h> header file. */
-+#define HAVE_MEMORY_H 1
-+
-+/* Define to 1 if you have the `mkdtemp' function. */
-+#define HAVE_MKDTEMP 1
-+
-+/* Define to 1 if you have the `mkstemp' function. */
-+#define HAVE_MKSTEMP 1
-+
-+/* Define to 1 if you have the `mktemp' function. */
-+#define HAVE_MKTEMP 1
-+
-+/* Define to 1 if you have a working `mmap' system call. */
-+#define HAVE_MMAP 1
-+
-+/* Define if mmap() uses MAP_ANONYMOUS to map anonymous pages, or undefine if
-+   it uses MAP_ANON */
-+#if !defined(__APPLE__)
-+#define HAVE_MMAP_ANONYMOUS
-+#else
-+/* #undef HAVE_MMAP_ANONYMOUS */
-+#endif
-+
-+/* Define if mmap() can map files into memory */
-+#define HAVE_MMAP_FILE
-+
-+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
-+/* #undef HAVE_NDIR_H */
-+
-+/* Define to 1 if you have the `nearbyintf' function. */
-+#define HAVE_NEARBYINTF 1
-+
-+/* Define if the neat program is available */
-+/* #undef HAVE_NEATO */
-+
-+/* Define to 1 if you have the `opendir' function. */
-+#define HAVE_OPENDIR 1
-+
-+/* Define to 1 if you have the `posix_spawn' function. */
-+#define HAVE_POSIX_SPAWN 1
-+
-+/* Define to 1 if you have the `powf' function. */
-+#define HAVE_POWF 1
-+
-+/* Define to 1 if you have the `pread' function. */
-+#if !defined(_WIN32) && !defined(_WIN64)
-+#define HAVE_PREAD 1
-+#endif
-+
-+/* Define if libtool can extract symbol lists from object files. */
-+#define HAVE_PRELOADED_SYMBOLS 1
-+
-+/* Define to have the %a format string */
-+#define HAVE_PRINTF_A 1
-+
-+#if !defined(_WIN32) && !defined(_WIN64)
-+
-+/* Have pthread_getspecific */
-+#define HAVE_PTHREAD_GETSPECIFIC 1
-+
-+/* Define to 1 if you have the <pthread.h> header file. */
-+#define HAVE_PTHREAD_H 1
-+
-+/* Have pthread_mutex_lock */
-+#define HAVE_PTHREAD_MUTEX_LOCK 1
-+
-+/* Have pthread_rwlock_init */
-+#define HAVE_PTHREAD_RWLOCK_INIT 1
-+
-+#endif /* !defined(_WIN32) && !defined(_WIN64) */
-+
-+/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
-+#define HAVE_RAND48 1
-+
-+/* Define to 1 if you have the `readdir' function. */
-+#define HAVE_READDIR 1
-+
-+/* Define to 1 if you have the `realpath' function. */
-+#define HAVE_REALPATH 1
-+
-+/* Define to 1 if you have the `rindex' function. */
-+/* #undef HAVE_RINDEX */
-+
-+/* Define to 1 if you have the `rintf' function. */
-+#define HAVE_RINTF 1
-+
-+/* Define to 1 if you have the `round' function. */
-+#define HAVE_ROUND 1
-+
-+/* Define to 1 if you have the `roundf' function. */
-+#define HAVE_ROUNDF 1
-+
-+/* Define to 1 if you have the `sbrk' function. */
-+#define HAVE_SBRK 1
-+
-+/* Define to 1 if you have the `setenv' function. */
-+#define HAVE_SETENV 1
-+
-+/* Define to 1 if you have the `setjmp' function. */
-+#define HAVE_SETJMP 1
-+
-+/* Define to 1 if you have the <setjmp.h> header file. */
-+#define HAVE_SETJMP_H 1
-+
-+/* Define to 1 if you have the `setrlimit' function. */
-+#define HAVE_SETRLIMIT 1
-+
-+/* Define if you have the shl_load function. */
-+/* #undef HAVE_SHL_LOAD */
-+
-+/* Define to 1 if you have the `siglongjmp' function. */
-+#define HAVE_SIGLONGJMP 1
-+
-+/* Define to 1 if you have the <signal.h> header file. */
-+#define HAVE_SIGNAL_H 1
-+
-+/* Define to 1 if you have the `sigsetjmp' function. */
-+/* #undef HAVE_SIGSETJMP */
-+
-+/* Define to 1 if you have the <stdint.h> header file. */
-+#define HAVE_STDINT_H 1
-+
-+/* Define to 1 if you have the <stdio.h> header file. */
-+#define HAVE_STDIO_H 1
-+
-+/* Define to 1 if you have the <stdlib.h> header file. */
-+#define HAVE_STDLIB_H 1
-+
-+/* Set to 1 if the std::isinf function is found in <cmath> */
-+#define HAVE_STD_ISINF_IN_CMATH 1
-+
-+/* Set to 1 if the std::isnan function is found in <cmath> */
-+#define HAVE_STD_ISNAN_IN_CMATH 1
-+
-+/* Define to 1 if you have the `strchr' function. */
-+#define HAVE_STRCHR 1
-+
-+/* Define to 1 if you have the `strcmp' function. */
-+#define HAVE_STRCMP 1
-+
-+/* Define to 1 if you have the `strdup' function. */
-+#define HAVE_STRDUP 1
-+
-+/* Define to 1 if you have the `strerror' function. */
-+#define HAVE_STRERROR 1
-+
-+/* Define to 1 if you have the `strerror_r' function. */
-+#ifndef USE_MINGW
-+#define HAVE_STRERROR_R 1
-+#endif
-+
-+/* Define to 1 if you have the <strings.h> header file. */
-+#define HAVE_STRINGS_H 1
-+
-+/* Define to 1 if you have the <string.h> header file. */
-+#define HAVE_STRING_H 1
-+
-+/* Define to 1 if you have the `strrchr' function. */
-+#define HAVE_STRRCHR 1
-+
-+/* Define to 1 if you have the `strtof' function. */
-+#define HAVE_STRTOF 1
-+
-+/* Define to 1 if you have the `strtoll' function. */
-+#define HAVE_STRTOLL 1
-+
-+/* Define to 1 if you have the `strtoq' function. */
-+#define HAVE_STRTOQ 1
-+
-+/* Define to 1 if you have the `sysconf' function. */
-+#define HAVE_SYSCONF 1
-+
-+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
-+   */
-+/* #undef HAVE_SYS_DIR_H */
-+
-+/* Define to 1 if you have the <sys/dl.h> header file. */
-+/* #undef HAVE_SYS_DL_H */
-+
-+/* Define to 1 if you have the <sys/ioctl.h> header file. */
-+#define HAVE_SYS_IOCTL_H 1
-+
-+/* Define to 1 if you have the <sys/mman.h> header file. */
-+#define HAVE_SYS_MMAN_H 1
-+
-+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
-+   */
-+/* #undef HAVE_SYS_NDIR_H */
-+
-+/* Define to 1 if you have the <sys/param.h> header file. */
-+#define HAVE_SYS_PARAM_H 1
-+
-+/* Define to 1 if you have the <sys/resource.h> header file. */
-+#define HAVE_SYS_RESOURCE_H 1
-+
-+/* Define to 1 if you have the <sys/stat.h> header file. */
-+#define HAVE_SYS_STAT_H 1
-+
-+/* Define to 1 if you have the <sys/time.h> header file. */
-+#define HAVE_SYS_TIME_H 1
-+
-+/* Define to 1 if you have the <sys/types.h> header file. */
-+#define HAVE_SYS_TYPES_H 1
-+
-+/* Define to 1 if you have the <sys/uio.h> header file. */
-+/* #define HAVE_SYS_UIO_H 1 */
-+
-+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
-+#define HAVE_SYS_WAIT_H 1
-+
-+/* Define to 1 if you have the <termios.h> header file. */
-+#define HAVE_TERMIOS_H 1
-+
-+/* Define if the neat program is available */
-+/* #undef HAVE_TWOPI */
-+
-+/* Define to 1 if the system has the type `uint64_t'. */
-+#define HAVE_UINT64_T 1
-+
-+/* Define to 1 if you have the <unistd.h> header file. */
-+#define HAVE_UNISTD_H 1
-+
-+/* Define to 1 if you have the <utime.h> header file. */
-+#define HAVE_UTIME_H 1
-+
-+/* Define to 1 if the system has the type `u_int64_t'. */
-+/* #undef HAVE_U_INT64_T */
-+
-+/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
-+/* #undef HAVE_VALGRIND_VALGRIND_H */
-+
-+#if defined(_WIN32) || defined(_WIN64)
-+/* Define to 1 if you have the <windows.h> header file. */
-+#define HAVE_WINDOWS_H 1
-+
-+/* Define to 1 if you have the `writev' function. */
-+/* #undef HAVE_WRITEV */
-+
-+#else
-+/* Define to 1 if you have the <windows.h> header file. */
-+/* #undef HAVE_WINDOWS_H */
-+
-+/* Define to 1 if you have the `writev' function. */
-+#define HAVE_WRITEV 1
-+#endif
-+
-+/* Define if the xdot.py program is available */
-+/* #undef HAVE_XDOT_PY */
-+
-+/* Have host's _alloca */
-+/* #undef HAVE__ALLOCA */
-+
-+/* Have host's __alloca */
-+/* #undef HAVE___ALLOCA */
-+
-+/* Have host's __ashldi3 */
-+/* #undef HAVE___ASHLDI3 */
-+
-+/* Have host's __ashrdi3 */
-+/* #undef HAVE___ASHRDI3 */
-+
-+/* Have host's __chkstk */
-+/* #undef HAVE___CHKSTK */
-+
-+/* Have host's __cmpdi2 */
-+/* #undef HAVE___CMPDI2 */
-+
-+/* Have host's __divdi3 */
-+/* #undef HAVE___DIVDI3 */
-+
-+/* Define to 1 if you have the `__dso_handle' function. */
-+/* #undef HAVE___DSO_HANDLE */
-+
-+/* Have host's __fixdfdi */
-+/* #undef HAVE___FIXDFDI */
-+
-+/* Have host's __fixsfdi */
-+/* #undef HAVE___FIXSFDI */
-+
-+/* Have host's __floatdidf */
-+/* #undef HAVE___FLOATDIDF */
-+
-+/* Have host's __lshrdi3 */
-+/* #undef HAVE___LSHRDI3 */
-+
-+/* Have host's __main */
-+/* #undef HAVE___MAIN */
-+
-+/* Have host's __moddi3 */
-+/* #undef HAVE___MODDI3 */
-+
-+/* Have host's __udivdi3 */
-+/* #undef HAVE___UDIVDI3 */
-+
-+/* Have host's __umoddi3 */
-+/* #undef HAVE___UMODDI3 */
-+
-+/* Have host's ___chkstk */
-+/* #undef HAVE____CHKSTK */
-+
-+/* Linker version detected at compile time. */
-+#define HOST_LINK_VERSION "2.20.1"
-+
-+/* Installation directory for binary executables */
-+#define LLVM_BINDIR "/opt/llvm-android/bin"
-+
-+/* Time at which LLVM was configured */
-+#define LLVM_CONFIGTIME "Tue May  8 14:22:45 CST 2012"
-+
-+/* Installation directory for data files */
-+#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
-+
-+/* Target triple LLVM will generate code for by default */
-+#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
-+
-+/* Installation directory for documentation */
-+#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
-+
-+/* Define if threads enabled */
-+#define LLVM_ENABLE_THREADS 1
-+
-+/* Installation directory for config files */
-+#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
-+
-+#if !defined(_WIN32) && !defined(_WIN64)
-+
-+/* Has gcc/MSVC atomic intrinsics */
-+#define LLVM_HAS_ATOMICS 1
-+
-+#else
-+
-+#define LLVM_HAS_ATOMICS 0
-+
-+#endif /* !defined(_WIN32) && !defined(_WIN64) */
-+
-+/* Installation directory for include files */
-+#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
-+
-+/* Installation directory for .info files */
-+#define LLVM_INFODIR "/opt/llvm-android/info"
-+
-+/* Installation directory for libraries */
-+#define LLVM_LIBDIR "/opt/llvm-android/lib"
-+
-+/* Installation directory for man pages */
-+#define LLVM_MANDIR "/opt/llvm-android/man"
-+
-+/* Define to path to circo program if found or 'echo circo' otherwise */
-+/* #undef LLVM_PATH_CIRCO */
-+
-+/* Define to path to dot program if found or 'echo dot' otherwise */
-+/* #undef LLVM_PATH_DOT */
-+
-+/* Define to path to dotty program if found or 'echo dotty' otherwise */
-+/* #undef LLVM_PATH_DOTTY */
-+
-+/* Define to path to fdp program if found or 'echo fdp' otherwise */
-+/* #undef LLVM_PATH_FDP */
-+
-+/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
-+/* #undef LLVM_PATH_GRAPHVIZ */
-+
-+/* Define to path to gv program if found or 'echo gv' otherwise */
-+/* #undef LLVM_PATH_GV */
-+
-+/* Define to path to neato program if found or 'echo neato' otherwise */
-+/* #undef LLVM_PATH_NEATO */
-+
-+/* Define to path to twopi program if found or 'echo twopi' otherwise */
-+/* #undef LLVM_PATH_TWOPI */
-+
-+/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
-+/* #undef LLVM_PATH_XDOT_PY */
-+
-+/* Installation prefix directory */
-+#define LLVM_PREFIX "/opt/llvm-android"
-+
-+/* Define if we have the Intel JIT API runtime support library */
-+#define LLVM_USE_INTEL_JITEVENTS 0
-+
-+/* Define if we have the oprofile JIT-support library */
-+#define LLVM_USE_OPROFILE 0
-+
-+/* Major version of the LLVM API */
-+#define LLVM_VERSION_MAJOR 3
-+
-+/* Minor version of the LLVM API */
-+#define LLVM_VERSION_MINOR 5
-+
-+/* Define if the OS needs help to load dependent libraries for dlopen(). */
-+/* #undef LTDL_DLOPEN_DEPLIBS */
-+
-+/* Define to the sub-directory in which libtool stores uninstalled libraries.
-+   */
-+#define LTDL_OBJDIR ".libs/"
-+
-+/* Define to the name of the environment variable that determines the dynamic
-+   library search path. */
-+#define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH"
-+
-+/* Define to the extension used for shared libraries, say, ".so". */
-+#define LTDL_SHLIB_EXT ".so"
-+
-+/* Define to the system default library search path. */
-+#define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/usr/local/lib:/lib:/usr/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib32:/usr/lib32:/usr/local/lib32:/usr/x86_64-pc-linux-gnu/lib:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/32:/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2:/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/32"
-+
-+/* Define if /dev/zero should be used when mapping RWX memory, or undefine if
-+   its not necessary */
-+/* #undef NEED_DEV_ZERO_FOR_MMAP */
-+
-+/* Define if dlsym() requires a leading underscore in symbol names. */
-+/* #undef NEED_USCORE */
-+
-+/* Define to the address where bug reports for this package should be sent. */
-+#define PACKAGE_BUGREPORT "http://llvm.org/bugs/"
-+
-+/* Define to the full name of this package. */
-+#define PACKAGE_NAME "LLVM"
-+
-+/* Define to the full name and version of this package. */
-+#define PACKAGE_STRING "LLVM 3.4"
-+
-+/* Define to the one symbol short name of this package. */
-+#define PACKAGE_TARNAME "llvm"
-+
-+/* Define to the version of this package. */
-+#define PACKAGE_VERSION "3.4"
-+
-+/* Define as the return type of signal handlers (`int' or `void'). */
-+#define RETSIGTYPE void
-+
-+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-+/* #undef STAT_MACROS_BROKEN */
-+
-+/* Define to 1 if you have the ANSI C header files. */
-+#define STDC_HEADERS 1
-+
-+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-+#define TIME_WITH_SYS_TIME 1
-+
-+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
-+/* #undef TM_IN_SYS_TIME */
-+
-+/* Define if use udis86 library */
-+#define USE_UDIS86 0
-+
-+/* Define to empty if `const' does not conform to ANSI C. */
-+/* #undef const */
-+
-+/* Define to a type to use for `error_t' if it is not otherwise available. */
-+/* #undef error_t */
-+
-+/* Define to `int' if <sys/types.h> does not define. */
-+/* #undef pid_t */
-+
-+/* Define to `unsigned int' if <sys/types.h> does not define. */
-+/* #undef size_t */
-+
-+#include "llvm/Config/llvm-platform-config.h"
-+
-+#endif
-diff --git a/host/include/llvm/Config/llvm-config.h b/host/include/llvm/Config/llvm-config.h
-new file mode 100644
-index 0000000..95f85fe
---- /dev/null
-+++ b/host/include/llvm/Config/llvm-config.h
-@@ -0,0 +1,102 @@
-+/* include/llvm/Config/llvm-config.h.  Generated from llvm-config.h.in by configure.  */
-+/*===-- llvm/config/llvm-config.h - llvm configure variable -------*- C -*-===*/
-+/*                                                                            */
-+/*                     The LLVM Compiler Infrastructure                       */
-+/*                                                                            */
-+/* This file is distributed under the University of Illinois Open Source      */
-+/* License. See LICENSE.TXT for details.                                      */
-+/*                                                                            */
-+/*===----------------------------------------------------------------------===*/
-+
-+/* This file enumerates all of the llvm variables from configure so that
-+   they can be in exported headers and won't override package specific
-+   directives.  This is a C file so we can include it in the llvm-c headers.  */
-+
-+/* To avoid multiple inclusions of these variables when we include the exported
-+   headers and config.h, conditionally include these.  */
-+/* TODO: This is a bit of a hack.  */
-+#ifndef CONFIG_H
-+
-+/* Installation directory for binary executables */
-+#define LLVM_BINDIR "/opt/llvm-android/bin"
-+
-+/* Time at which LLVM was configured */
-+#define LLVM_CONFIGTIME "Tue May  8 14:22:45 CST 2012"
-+
-+/* Installation directory for data files */
-+#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
-+
-+/* Target triple LLVM will generate code for by default */
-+#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
-+
-+/* Installation directory for documentation */
-+#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
-+
-+/* Define if threads enabled */
-+#define LLVM_ENABLE_THREADS 1
-+
-+/* Installation directory for config files */
-+#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
-+
-+#if !defined(_WIN32) && !defined(_WIN64)
-+
-+/* Has gcc/MSVC atomic intrinsics */
-+#define LLVM_HAS_ATOMICS 1
-+
-+#else
-+
-+#define LLVM_HAS_ATOMICS 0
-+
-+#endif /* !defined(_WIN32) && !defined(_WIN64) */
-+
-+/* Installation directory for include files */
-+#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
-+
-+/* Installation directory for .info files */
-+#define LLVM_INFODIR "/opt/llvm-android/info"
-+
-+/* Installation directory for libraries */
-+#define LLVM_LIBDIR "/opt/llvm-android/lib"
-+
-+/* Installation directory for man pages */
-+#define LLVM_MANDIR "/opt/llvm-android/man"
-+
-+/* Define to path to circo program if found or 'echo circo' otherwise */
-+/* #undef LLVM_PATH_CIRCO */
-+
-+/* Define to path to dot program if found or 'echo dot' otherwise */
-+/* #undef LLVM_PATH_DOT */
-+
-+/* Define to path to dotty program if found or 'echo dotty' otherwise */
-+/* #undef LLVM_PATH_DOTTY */
-+
-+/* Define to path to fdp program if found or 'echo fdp' otherwise */
-+/* #undef LLVM_PATH_FDP */
-+
-+/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
-+/* #undef LLVM_PATH_GRAPHVIZ */
-+
-+/* Define to path to gv program if found or 'echo gv' otherwise */
-+/* #undef LLVM_PATH_GV */
-+
-+/* Define to path to neato program if found or 'echo neato' otherwise */
-+/* #undef LLVM_PATH_NEATO */
-+
-+/* Define to path to twopi program if found or 'echo twopi' otherwise */
-+/* #undef LLVM_PATH_TWOPI */
-+
-+/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
-+/* #undef LLVM_PATH_XDOT_PY */
-+
-+/* Installation prefix directory */
-+#define LLVM_PREFIX "/opt/llvm-android"
-+
-+/* Major version of the LLVM API */
-+#define LLVM_VERSION_MAJOR 3
-+
-+/* Minor version of the LLVM API */
-+#define LLVM_VERSION_MINOR 5
-+
-+#include "llvm/Config/llvm-platform-config.h"
-+
-+#endif
-diff --git a/include/llvm/Config/llvm-platform-config.h b/include/llvm/Config/llvm-platform-config.h
-new file mode 100644
-index 0000000..cd005be
---- /dev/null
-+++ b/include/llvm/Config/llvm-platform-config.h
-@@ -0,0 +1,160 @@
-+#ifndef LLVM_NATIVE_CONFIG_H
-+
-+/*===-- llvm/config/llvm-native-config.h --------------------------*- C -*-===*/
-+/*                                                                            */
-+/*                     The LLVM Compiler Infrastructure                       */
-+/*                                                                            */
-+/* This file is distributed under the University of Illinois Open Source      */
-+/* License. See LICENSE.TXT for details.                                      */
-+/*                                                                            */
-+/*===----------------------------------------------------------------------===*/
-+
-+#if defined(__i386__) || defined(__x86_64__)
-+
-+/* LLVM architecture name for the native architecture, if available */
-+#define LLVM_NATIVE_ARCH X86
-+
-+/* Host triple LLVM will be executed on */
-+#define LLVM_HOST_TRIPLE "i686-unknown-linux-gnu"
-+
-+/* LLVM name for the native AsmParser init function, if available */
-+#define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser
-+
-+/* LLVM name for the native AsmPrinter init function, if available */
-+#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter
-+
-+/* LLVM name for the native Disassembler init function, if available */
-+#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler
-+
-+/* LLVM name for the native Target init function, if available */
-+#define LLVM_NATIVE_TARGET LLVMInitializeX86Target
-+
-+/* LLVM name for the native TargetInfo init function, if available */
-+#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo
-+
-+/* LLVM name for the native target MC init function, if available */
-+#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC
-+
-+
-+#elif defined(__arm__)
-+
-+/* LLVM architecture name for the native architecture, if available */
-+#define LLVM_NATIVE_ARCH ARM
-+
-+/* Host triple LLVM will be executed on */
-+#define LLVM_HOST_TRIPLE "arm-unknown-linux-gnu"
-+
-+/* LLVM name for the native AsmParser init function, if available */
-+#define LLVM_NATIVE_ASMPARSER LLVMInitializeARMAsmParser
-+
-+/* LLVM name for the native AsmPrinter init function, if available */
-+#define LLVM_NATIVE_ASMPRINTER LLVMInitializeARMAsmPrinter
-+
-+/* LLVM name for the native Disassembler init function, if available */
-+#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeARMDisassembler
-+
-+/* LLVM name for the native Target init function, if available */
-+#define LLVM_NATIVE_TARGET LLVMInitializeARMTarget
-+
-+/* LLVM name for the native TargetInfo init function, if available */
-+#define LLVM_NATIVE_TARGETINFO LLVMInitializeARMTargetInfo
-+
-+/* LLVM name for the native target MC init function, if available */
-+#define LLVM_NATIVE_TARGETMC LLVMInitializeARMTargetMC
-+
-+
-+#elif defined(__mips__)
-+
-+/* LLVM architecture name for the native architecture, if available */
-+#define LLVM_NATIVE_ARCH Mips
-+
-+/* Host triple LLVM will be executed on */
-+#define LLVM_HOST_TRIPLE "mipsel-unknown-linux-gnu"
-+
-+/* LLVM name for the native AsmParser init function, if available */
-+#define LLVM_NATIVE_ASMPARSER LLVMInitializeMipsAsmParser
-+
-+/* LLVM name for the native AsmPrinter init function, if available */
-+#define LLVM_NATIVE_ASMPRINTER LLVMInitializeMipsAsmPrinter
-+
-+/* LLVM name for the native Disassembler init function, if available */
-+#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeMipsDisassembler
-+
-+/* LLVM name for the native Target init function, if available */
-+#define LLVM_NATIVE_TARGET LLVMInitializeMipsTarget
-+
-+/* LLVM name for the native TargetInfo init function, if available */
-+#define LLVM_NATIVE_TARGETINFO LLVMInitializeMipsTargetInfo
-+
-+/* LLVM name for the native target MC init function, if available */
-+#define LLVM_NATIVE_TARGETMC LLVMInitializeMipsTargetMC
-+
-+#elif defined(__aarch64__)
-+
-+/* LLVM architecture name for the native architecture, if available */
-+#define LLVM_NATIVE_ARCH AArch64
-+
-+/* Host triple LLVM will be executed on */
-+#define LLVM_HOST_TRIPLE "aarch64-none-linux-gnu"
-+
-+/* LLVM name for the native AsmParser init function, if available */
-+#define LLVM_NATIVE_ASMPARSER LLVMInitializeAArch64AsmParser
-+
-+/* LLVM name for the native AsmPrinter init function, if available */
-+#define LLVM_NATIVE_ASMPRINTER LLVMInitializeAArch64AsmPrinter
-+
-+/* LLVM name for the native Disassembler init function, if available */
-+#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeAArch64Disassembler
-+
-+/* LLVM name for the native Target init function, if available */
-+#define LLVM_NATIVE_TARGET LLVMInitializeAArch64Target
-+
-+/* LLVM name for the native TargetInfo init function, if available */
-+#define LLVM_NATIVE_TARGETINFO LLVMInitializeAArch64TargetInfo
-+
-+/* LLVM name for the native target MC init function, if available */
-+#define LLVM_NATIVE_TARGETMC LLVMInitializeAArch64TargetMC
-+
-+#else
-+
-+#error "Unknown native architecture"
-+
-+#endif
-+
-+
-+
-+#if defined(_WIN32) || defined(_WIN64)
-+
-+/* Define if this is Unixish platform */
-+/* #undef LLVM_ON_UNIX */
-+
-+/* Define if this is Win32ish platform */
-+#define LLVM_ON_WIN32 1
-+
-+/* Define to 1 if you have the <windows.h> header file. */
-+#define HAVE_WINDOWS_H 1
-+
-+/* Define to 1 if you have the `psapi' library (-lpsapi). */
-+#define HAVE_LIBPSAPI 1
-+
-+/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
-+#define HAVE_LIBIMAGEHLP 1
-+
-+/* Type of 1st arg on ELM Callback */
-+#define WIN32_ELMCB_PCSTR PSTR
-+
-+
-+#else /* Linux, Mac OS X, ... Unixish platform */
-+
-+/* Define if this is Unixish platform */
-+#define LLVM_ON_UNIX 1
-+
-+/* Define if this is Win32ish platform */
-+/* #undef LLVM_ON_WIN32 */
-+
-+/* Type of 1st arg on ELM Callback */
-+/* #undef WIN32_ELMCB_PCSTR */
-+
-+#endif
-+
-+#endif // LLVM_NATIVE_CONFIG_H
-diff --git a/include/llvm/Support/DataTypes.h b/include/llvm/Support/DataTypes.h
-new file mode 100644
-index 0000000..a4a65b8
---- /dev/null
-+++ b/include/llvm/Support/DataTypes.h
-@@ -0,0 +1,213 @@
-+/* include/llvm/Support/DataTypes.h.  Generated from DataTypes.h.in by configure.  */
-+/*===-- include/Support/DataTypes.h - Define fixed size types -----*- C -*-===*\
-+|*                                                                            *|
-+|*                     The LLVM Compiler Infrastructure                       *|
-+|*                                                                            *|
-+|* This file is distributed under the University of Illinois Open Source      *|
-+|* License. See LICENSE.TXT for details.                                      *|
-+|*                                                                            *|
-+|*===----------------------------------------------------------------------===*|
-+|*                                                                            *|
-+|* This file contains definitions to figure out the size of _HOST_ data types.*|
-+|* This file is important because different host OS's define different macros,*|
-+|* which makes portability tough.  This file exports the following            *|
-+|* definitions:                                                               *|
-+|*                                                                            *|
-+|*   [u]int(32|64)_t : typedefs for signed and unsigned 32/64 bit system types*|
-+|*   [U]INT(8|16|32|64)_(MIN|MAX) : Constants for the min and max values.     *|
-+|*                                                                            *|
-+|* No library is required when using these functions.                         *|
-+|*                                                                            *|
-+|*===----------------------------------------------------------------------===*/
-+
-+/* Please leave this file C-compatible. */
-+
-+/* Please keep this file in sync with DataTypes.h.cmake */
-+
-+#ifndef SUPPORT_DATATYPES_H
-+#define SUPPORT_DATATYPES_H
-+
-+#define HAVE_SYS_TYPES_H 1
-+#define HAVE_INTTYPES_H 1
-+#define HAVE_STDINT_H 1
-+#define HAVE_UINT64_T 1
-+/* #undef HAVE_U_INT64_T */
-+
-+#ifdef __cplusplus
-+#include <cmath>
-+#else
-+#include <math.h>
-+#endif
-+
-+#ifndef _MSC_VER
-+
-+/* Note that this header's correct operation depends on __STDC_LIMIT_MACROS
-+   being defined.  We would define it here, but in order to prevent Bad Things
-+   happening when system headers or C++ STL headers include stdint.h before we
-+   define it here, we define it on the g++ command line (in Makefile.rules). */
-+#if !defined(__STDC_LIMIT_MACROS)
-+# error "Must #define __STDC_LIMIT_MACROS before #including Support/DataTypes.h"
-+#endif
-+
-+#if !defined(__STDC_CONSTANT_MACROS)
-+# error "Must #define __STDC_CONSTANT_MACROS before " \
-+        "#including Support/DataTypes.h"
-+#endif
-+
-+/* Note that <inttypes.h> includes <stdint.h>, if this is a C99 system. */
-+#ifdef HAVE_SYS_TYPES_H
-+#include <sys/types.h>
-+#endif
-+
-+#ifdef HAVE_INTTYPES_H
-+#include <inttypes.h>
-+#endif
-+
-+#ifdef HAVE_STDINT_H
-+#include <stdint.h>
-+#endif
-+
-+#ifdef _AIX
-+#include "llvm/Support/AIXDataTypesFix.h"
-+#endif
-+
-+/* Handle incorrect definition of uint64_t as u_int64_t */
-+#ifndef HAVE_UINT64_T
-+#ifdef HAVE_U_INT64_T
-+typedef u_int64_t uint64_t;
-+#else
-+# error "Don't have a definition for uint64_t on this platform"
-+#endif
-+#endif
-+
-+#ifdef _OpenBSD_
-+#define INT8_MAX 127
-+#define INT8_MIN -128
-+#define UINT8_MAX 255
-+#define INT16_MAX 32767
-+#define INT16_MIN -32768
-+#define UINT16_MAX 65535
-+#define INT32_MAX 2147483647
-+#define INT32_MIN -2147483648
-+#define UINT32_MAX 4294967295U
-+#endif
-+
-+#else /* _MSC_VER */
-+/* Visual C++ doesn't provide standard integer headers, but it does provide
-+   built-in data types. */
-+#include <stdlib.h>
-+#include <stddef.h>
-+#include <sys/types.h>
-+#ifdef __cplusplus
-+#include <cmath>
-+#else
-+#include <math.h>
-+#endif
-+typedef __int64 int64_t;
-+typedef unsigned __int64 uint64_t;
-+typedef signed int int32_t;
-+typedef unsigned int uint32_t;
-+typedef short int16_t;
-+typedef unsigned short uint16_t;
-+typedef signed char int8_t;
-+typedef unsigned char uint8_t;
-+typedef signed int ssize_t;
-+#ifndef INT8_MAX
-+# define INT8_MAX 127
-+#endif
-+#ifndef INT8_MIN
-+# define INT8_MIN -128
-+#endif
-+#ifndef UINT8_MAX
-+# define UINT8_MAX 255
-+#endif
-+#ifndef INT16_MAX
-+# define INT16_MAX 32767
-+#endif
-+#ifndef INT16_MIN
-+# define INT16_MIN -32768
-+#endif
-+#ifndef UINT16_MAX
-+# define UINT16_MAX 65535
-+#endif
-+#ifndef INT32_MAX
-+# define INT32_MAX 2147483647
-+#endif
-+#ifndef INT32_MIN
-+/* MSC treats -2147483648 as -(2147483648U). */
-+# define INT32_MIN (-INT32_MAX - 1)
-+#endif
-+#ifndef UINT32_MAX
-+# define UINT32_MAX 4294967295U
-+#endif
-+/* Certain compatibility updates to VC++ introduce the `cstdint'
-+ * header, which defines the INT*_C macros. On default installs they
-+ * are absent. */
-+#ifndef INT8_C
-+# define INT8_C(C)   C##i8
-+#endif
-+#ifndef UINT8_C
-+# define UINT8_C(C)  C##ui8
-+#endif
-+#ifndef INT16_C
-+# define INT16_C(C)  C##i16
-+#endif
-+#ifndef UINT16_C
-+# define UINT16_C(C) C##ui16
-+#endif
-+#ifndef INT32_C
-+# define INT32_C(C)  C##i32
-+#endif
-+#ifndef UINT32_C
-+# define UINT32_C(C) C##ui32
-+#endif
-+#ifndef INT64_C
-+# define INT64_C(C)  C##i64
-+#endif
-+#ifndef UINT64_C
-+# define UINT64_C(C) C##ui64
-+#endif
-+
-+#ifndef PRId64
-+# define PRId64 "I64d"
-+#endif
-+#ifndef PRIi64
-+# define PRIi64 "I64i"
-+#endif
-+#ifndef PRIo64
-+# define PRIo64 "I64o"
-+#endif
-+#ifndef PRIu64
-+# define PRIu64 "I64u"
-+#endif
-+#ifndef PRIx64
-+# define PRIx64 "I64x"
-+#endif
-+#ifndef PRIX64
-+# define PRIX64 "I64X"
-+#endif
-+
-+#endif /* _MSC_VER */
-+
-+/* Set defaults for constants which we cannot find. */
-+#if !defined(INT64_MAX)
-+# define INT64_MAX 9223372036854775807LL
-+#endif
-+#if !defined(INT64_MIN)
-+# define INT64_MIN ((-INT64_MAX)-1)
-+#endif
-+#if !defined(UINT64_MAX)
-+# define UINT64_MAX 0xffffffffffffffffULL
-+#endif
-+
-+#if __GNUC__ > 3
-+#define END_WITH_NULL __attribute__((sentinel))
-+#else
-+#define END_WITH_NULL
-+#endif
-+
-+#ifndef HUGE_VALF
-+#define HUGE_VALF (float)HUGE_VAL
-+#endif
-+
-+#endif  /* SUPPORT_DATATYPES_H */
--- 
-1.9.1.423.g4596e3a
-
diff --git a/patches/0003-Add-support-for-64-bit-longs.patch b/patches/0003-Add-support-for-64-bit-longs.patch
deleted file mode 100644 (file)
index e375914..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From 37aee898ae3a8041aad2a7cc595b8a6cf7438b52 Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 3 Apr 2014 11:14:41 -0700
-Subject: [PATCH 3/5] Add support for 64-bit longs.
-
-Change-Id: I7d50c91b8324fa81c29595a8dc19f2180653a4f2
----
- lib/Target/ARM/ARM.td           | 4 ++++
- lib/Target/ARM/ARMSubtarget.cpp | 1 +
- lib/Target/ARM/ARMSubtarget.h   | 3 +++
- 3 files changed, 8 insertions(+)
-
-diff --git a/lib/Target/ARM/ARM.td b/lib/Target/ARM/ARM.td
-index 7916ccc..25385a6 100644
---- a/lib/Target/ARM/ARM.td
-+++ b/lib/Target/ARM/ARM.td
-@@ -267,6 +267,10 @@ def FeatureAPCS  : SubtargetFeature<"apcs", "TargetABI", "ARM_ABI_APCS",
- def FeatureAAPCS : SubtargetFeature<"aapcs", "TargetABI", "ARM_ABI_AAPCS",
-                                    "Use the AAPCS ABI">;
-+// RenderScript-specific support for 64-bit long types on all targets
-+def FeatureLong64 : SubtargetFeature<"long64", "UseLong64",
-+                                     "true",
-+                                     "long type is forced to be 64-bit">;
- class ProcNoItin<string Name, list<SubtargetFeature> Features>
-  : Processor<Name, NoItineraries, Features>;
-diff --git a/lib/Target/ARM/ARMSubtarget.cpp b/lib/Target/ARM/ARMSubtarget.cpp
-index 5222c1b..73e2018 100644
---- a/lib/Target/ARM/ARMSubtarget.cpp
-+++ b/lib/Target/ARM/ARMSubtarget.cpp
-@@ -139,6 +139,7 @@ void ARMSubtarget::initializeEnvironment() {
-   Thumb2DSP = false;
-   UseNaClTrap = false;
-   UnsafeFPMath = false;
-+  UseLong64 = false;
- }
- void ARMSubtarget::resetSubtargetFeatures(const MachineFunction *MF) {
-diff --git a/lib/Target/ARM/ARMSubtarget.h b/lib/Target/ARM/ARMSubtarget.h
-index 804f238..3855419 100644
---- a/lib/Target/ARM/ARMSubtarget.h
-+++ b/lib/Target/ARM/ARMSubtarget.h
-@@ -197,6 +197,9 @@ protected:
-   /// NaCl TRAP instruction is generated instead of the regular TRAP.
-   bool UseNaClTrap;
-+  /// Force long to be a 64-bit type (RenderScript-specific)
-+  bool UseLong64;
-+
-   /// Target machine allowed unsafe FP math (such as use of NEON fp)
-   bool UnsafeFPMath;
--- 
-1.9.1.423.g4596e3a
-
diff --git a/patches/0004-Add-Android-makefiles-for-LLVM.patch b/patches/0004-Add-Android-makefiles-for-LLVM.patch
deleted file mode 100644 (file)
index 863909a..0000000
+++ /dev/null
@@ -1,4628 +0,0 @@
-From ca95c159402c89aff7dab5a29f3ea3b54c5a77a4 Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 27 Mar 2014 15:10:30 -0700
-Subject: [PATCH 4/5] Add Android makefiles for LLVM.
-
-Change-Id: I4f561d517605569e11af40bb191d056d7e7196de
----
- Android.mk                                 |  90 +++++++++++++
- CleanSpec.mk                               |  54 ++++++++
- clear_tblgen_vars.mk                       |   2 +
- lib/Analysis/Android.mk                    |  80 +++++++++++
- lib/Analysis/IPA/Android.mk                |  40 ++++++
- lib/AsmParser/Android.mk                   |  34 +++++
- lib/Bitcode/Reader/Android.mk              |  36 +++++
- lib/Bitcode/Writer/Android.mk              |  37 +++++
- lib/CodeGen/Android.mk                     | 143 ++++++++++++++++++++
- lib/CodeGen/AsmPrinter/Android.mk          |  62 +++++++++
- lib/CodeGen/SelectionDAG/Android.mk        |  56 ++++++++
- lib/ExecutionEngine/Android.mk             |  18 +++
- lib/ExecutionEngine/JIT/Android.mk         |  17 +++
- lib/ExecutionEngine/MCJIT/Android.mk       |  16 +++
- lib/ExecutionEngine/RuntimeDyld/Android.mk |  18 +++
- lib/IR/Android.mk                          |  79 +++++++++++
- lib/IRReader/Android.mk                    |  38 ++++++
- lib/Linker/Android.mk                      |  32 +++++
- lib/MC/Android.mk                          |  78 +++++++++++
- lib/MC/MCDisassembler/Android.mk           |  15 +++
- lib/MC/MCParser/Android.mk                 |  40 ++++++
- lib/Object/Android.mk                      |  45 +++++++
- lib/Option/Android.mk                      |  42 ++++++
- lib/Support/Android.mk                     | 120 +++++++++++++++++
- lib/TableGen/Android.mk                    |  39 ++++++
- lib/Target/AArch64/Android.mk              |  67 ++++++++++
- lib/Target/AArch64/AsmParser/Android.mk    |  63 +++++++++
- lib/Target/AArch64/Disassembler/Android.mk |  55 ++++++++
- lib/Target/AArch64/InstPrinter/Android.mk  |  57 ++++++++
- lib/Target/AArch64/MCTargetDesc/Android.mk |  57 ++++++++
- lib/Target/AArch64/TargetInfo/Android.mk   |  55 ++++++++
- lib/Target/AArch64/Utils/Android.mk        |  36 +++++
- lib/Target/ARM/Android.mk                  |  87 ++++++++++++
- lib/Target/ARM/AsmParser/Android.mk        |  63 +++++++++
- lib/Target/ARM/Disassembler/Android.mk     |  55 ++++++++
- lib/Target/ARM/InstPrinter/Android.mk      |  57 ++++++++
- lib/Target/ARM/MCTargetDesc/Android.mk     |  61 +++++++++
- lib/Target/ARM/TargetInfo/Android.mk       |  55 ++++++++
- lib/Target/Android.mk                      |  39 ++++++
- lib/Target/Mips/Android.mk                 |  85 ++++++++++++
- lib/Target/Mips/AsmParser/Android.mk       |  56 ++++++++
- lib/Target/Mips/Disassembler/Android.mk    |  48 +++++++
- lib/Target/Mips/InstPrinter/Android.mk     |  48 +++++++
- lib/Target/Mips/MCTargetDesc/Android.mk    |  58 ++++++++
- lib/Target/Mips/TargetInfo/Android.mk      |  47 +++++++
- lib/Target/X86/Android.mk                  |  72 ++++++++++
- lib/Target/X86/AsmParser/Android.mk        |  59 ++++++++
- lib/Target/X86/Disassembler/Android.mk     |  56 ++++++++
- lib/Target/X86/InstPrinter/Android.mk      |  57 ++++++++
- lib/Target/X86/MCTargetDesc/Android.mk     |  56 ++++++++
- lib/Target/X86/TargetInfo/Android.mk       |  55 ++++++++
- lib/Target/X86/Utils/Android.mk            |  36 +++++
- lib/Transforms/IPO/Android.mk              |  52 ++++++++
- lib/Transforms/InstCombine/Android.mk      |  44 ++++++
- lib/Transforms/Instrumentation/Android.mk  |  37 +++++
- lib/Transforms/ObjCARC/Android.mk          |  40 ++++++
- lib/Transforms/Scalar/Android.mk           |  73 ++++++++++
- lib/Transforms/Utils/Android.mk            |  66 +++++++++
- lib/Transforms/Vectorize/Android.mk        |  35 +++++
- llvm-device-build.mk                       |  79 +++++++++++
- llvm-gen-intrinsics.mk                     |  19 +++
- llvm-host-build.mk                         |  64 +++++++++
- llvm-tblgen-rules.mk                       | 208 +++++++++++++++++++++++++++++
- llvm.mk                                    |  11 ++
- shared_llvm.mk                             | 137 +++++++++++++++++++
- tools/llc/Android.mk                       | 136 +++++++++++++++++++
- tools/llvm-as/Android.mk                   |  28 ++++
- tools/llvm-dis/Android.mk                  |  25 ++++
- tools/llvm-link/Android.mk                 |  50 +++++++
- tools/opt/Android.mk                       |  81 +++++++++++
- utils/FileCheck/Android.mk                 |  23 ++++
- utils/TableGen/Android.mk                  |  58 ++++++++
- 72 files changed, 4037 insertions(+)
- create mode 100644 Android.mk
- create mode 100644 CleanSpec.mk
- create mode 100644 clear_tblgen_vars.mk
- create mode 100644 lib/Analysis/Android.mk
- create mode 100644 lib/Analysis/IPA/Android.mk
- create mode 100644 lib/AsmParser/Android.mk
- create mode 100644 lib/Bitcode/Reader/Android.mk
- create mode 100644 lib/Bitcode/Writer/Android.mk
- create mode 100644 lib/CodeGen/Android.mk
- create mode 100644 lib/CodeGen/AsmPrinter/Android.mk
- create mode 100644 lib/CodeGen/SelectionDAG/Android.mk
- create mode 100644 lib/ExecutionEngine/Android.mk
- create mode 100644 lib/ExecutionEngine/JIT/Android.mk
- create mode 100644 lib/ExecutionEngine/MCJIT/Android.mk
- create mode 100644 lib/ExecutionEngine/RuntimeDyld/Android.mk
- create mode 100644 lib/IR/Android.mk
- create mode 100644 lib/IRReader/Android.mk
- create mode 100644 lib/Linker/Android.mk
- create mode 100644 lib/MC/Android.mk
- create mode 100644 lib/MC/MCDisassembler/Android.mk
- create mode 100644 lib/MC/MCParser/Android.mk
- create mode 100644 lib/Object/Android.mk
- create mode 100644 lib/Option/Android.mk
- create mode 100644 lib/Support/Android.mk
- create mode 100644 lib/TableGen/Android.mk
- create mode 100644 lib/Target/AArch64/Android.mk
- create mode 100644 lib/Target/AArch64/AsmParser/Android.mk
- create mode 100644 lib/Target/AArch64/Disassembler/Android.mk
- create mode 100644 lib/Target/AArch64/InstPrinter/Android.mk
- create mode 100644 lib/Target/AArch64/MCTargetDesc/Android.mk
- create mode 100644 lib/Target/AArch64/TargetInfo/Android.mk
- create mode 100644 lib/Target/AArch64/Utils/Android.mk
- create mode 100644 lib/Target/ARM/Android.mk
- create mode 100644 lib/Target/ARM/AsmParser/Android.mk
- create mode 100644 lib/Target/ARM/Disassembler/Android.mk
- create mode 100644 lib/Target/ARM/InstPrinter/Android.mk
- create mode 100644 lib/Target/ARM/MCTargetDesc/Android.mk
- create mode 100644 lib/Target/ARM/TargetInfo/Android.mk
- create mode 100644 lib/Target/Android.mk
- create mode 100644 lib/Target/Mips/Android.mk
- create mode 100644 lib/Target/Mips/AsmParser/Android.mk
- create mode 100644 lib/Target/Mips/Disassembler/Android.mk
- create mode 100644 lib/Target/Mips/InstPrinter/Android.mk
- create mode 100644 lib/Target/Mips/MCTargetDesc/Android.mk
- create mode 100644 lib/Target/Mips/TargetInfo/Android.mk
- create mode 100644 lib/Target/X86/Android.mk
- create mode 100644 lib/Target/X86/AsmParser/Android.mk
- create mode 100644 lib/Target/X86/Disassembler/Android.mk
- create mode 100644 lib/Target/X86/InstPrinter/Android.mk
- create mode 100644 lib/Target/X86/MCTargetDesc/Android.mk
- create mode 100644 lib/Target/X86/TargetInfo/Android.mk
- create mode 100644 lib/Target/X86/Utils/Android.mk
- create mode 100644 lib/Transforms/IPO/Android.mk
- create mode 100644 lib/Transforms/InstCombine/Android.mk
- create mode 100644 lib/Transforms/Instrumentation/Android.mk
- create mode 100644 lib/Transforms/ObjCARC/Android.mk
- create mode 100644 lib/Transforms/Scalar/Android.mk
- create mode 100644 lib/Transforms/Utils/Android.mk
- create mode 100644 lib/Transforms/Vectorize/Android.mk
- create mode 100644 llvm-device-build.mk
- create mode 100644 llvm-gen-intrinsics.mk
- create mode 100644 llvm-host-build.mk
- create mode 100644 llvm-tblgen-rules.mk
- create mode 100644 llvm.mk
- create mode 100644 shared_llvm.mk
- create mode 100644 tools/llc/Android.mk
- create mode 100644 tools/llvm-as/Android.mk
- create mode 100644 tools/llvm-dis/Android.mk
- create mode 100644 tools/llvm-link/Android.mk
- create mode 100644 tools/opt/Android.mk
- create mode 100644 utils/FileCheck/Android.mk
- create mode 100644 utils/TableGen/Android.mk
-
-diff --git a/Android.mk b/Android.mk
-new file mode 100644
-index 0000000..9f6e8a5
---- /dev/null
-+++ b/Android.mk
-@@ -0,0 +1,90 @@
-+LOCAL_PATH := $(call my-dir)
-+LLVM_ROOT_PATH := $(LOCAL_PATH)
-+LLVM_ENABLE_ASSERTION := false
-+
-+include $(CLEAR_VARS)
-+
-+# LLVM Libraries
-+subdirs := \
-+  lib/Analysis \
-+  lib/Analysis/IPA \
-+  lib/AsmParser \
-+  lib/Bitcode/Reader \
-+  lib/Bitcode/Writer \
-+  lib/ExecutionEngine \
-+  lib/ExecutionEngine/RuntimeDyld \
-+  lib/ExecutionEngine/JIT \
-+  lib/ExecutionEngine/MCJIT \
-+  lib/CodeGen \
-+  lib/CodeGen/AsmPrinter \
-+  lib/CodeGen/SelectionDAG \
-+  lib/IR \
-+  lib/IRReader \
-+  lib/Linker \
-+  lib/MC \
-+  lib/MC/MCDisassembler \
-+  lib/MC/MCParser \
-+  lib/Object \
-+  lib/Option \
-+  lib/Support \
-+  lib/TableGen \
-+  lib/Target \
-+  lib/Transforms/IPO \
-+  lib/Transforms/InstCombine \
-+  lib/Transforms/Instrumentation \
-+  lib/Transforms/ObjCARC \
-+  lib/Transforms/Scalar \
-+  lib/Transforms/Utils \
-+  lib/Transforms/Vectorize \
-+  utils/FileCheck \
-+  utils/TableGen
-+
-+# ARM Code Generation Libraries
-+subdirs += \
-+  lib/Target/ARM \
-+  lib/Target/ARM/AsmParser \
-+  lib/Target/ARM/InstPrinter \
-+  lib/Target/ARM/Disassembler \
-+  lib/Target/ARM/MCTargetDesc \
-+  lib/Target/ARM/TargetInfo
-+
-+# ARM64 Code Generation Libraries
-+subdirs += \
-+  lib/Target/AArch64  \
-+  lib/Target/AArch64/AsmParser \
-+  lib/Target/AArch64/InstPrinter \
-+  lib/Target/AArch64/Disassembler \
-+  lib/Target/AArch64/MCTargetDesc \
-+  lib/Target/AArch64/TargetInfo \
-+  lib/Target/AArch64/Utils
-+
-+# MIPS Code Generation Libraries
-+subdirs += \
-+  lib/Target/Mips \
-+  lib/Target/Mips/AsmParser \
-+  lib/Target/Mips/InstPrinter \
-+  lib/Target/Mips/Disassembler \
-+  lib/Target/Mips/MCTargetDesc \
-+  lib/Target/Mips/TargetInfo
-+
-+# X86 Code Generation Libraries
-+subdirs += \
-+  lib/Target/X86 \
-+  lib/Target/X86/AsmParser \
-+  lib/Target/X86/InstPrinter \
-+  lib/Target/X86/Disassembler \
-+  lib/Target/X86/MCTargetDesc \
-+  lib/Target/X86/TargetInfo \
-+  lib/Target/X86/Utils
-+
-+# LLVM Command Line Tools
-+subdirs += tools/llc
-+subdirs += tools/llvm-as
-+subdirs += tools/llvm-dis
-+subdirs += tools/llvm-link
-+#subdirs += tools/opt
-+
-+include $(LOCAL_PATH)/llvm.mk
-+include $(LOCAL_PATH)/shared_llvm.mk
-+
-+include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, $(subdirs)))
-diff --git a/CleanSpec.mk b/CleanSpec.mk
-new file mode 100644
-index 0000000..f756f04
---- /dev/null
-+++ b/CleanSpec.mk
-@@ -0,0 +1,54 @@
-+# Copyright (C) 2007 The Android Open Source Project
-+#
-+# Licensed under the Apache License, Version 2.0 (the "License");
-+# you may not use this file except in compliance with the License.
-+# You may obtain a copy of the License at
-+#
-+#      http://www.apache.org/licenses/LICENSE-2.0
-+#
-+# Unless required by applicable law or agreed to in writing, software
-+# distributed under the License is distributed on an "AS IS" BASIS,
-+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+# See the License for the specific language governing permissions and
-+# limitations under the License.
-+#
-+
-+# If you don't need to do a full clean build but would like to touch
-+# a file or delete some intermediate files, add a clean step to the end
-+# of the list.  These steps will only be run once, if they haven't been
-+# run before.
-+#
-+# E.g.:
-+#     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
-+#     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
-+#
-+# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
-+# files that are missing or have been moved.
-+#
-+# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
-+# Use $(OUT_DIR) to refer to the "out" directory.
-+#
-+# If you need to re-do something that's already mentioned, just copy
-+# the command and add it to the bottom of the list.  E.g., if a change
-+# that you made last week required touching a file and a change you
-+# made today requires touching the same file, just copy the old
-+# touch step and add it to the end of the list.
-+#
-+# ************************************************
-+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
-+# ************************************************
-+
-+# For example:
-+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
-+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
-+#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
-+#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
-+
-+# ************************************************
-+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
-+# ************************************************
-+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/stingray/obj/STATIC_LIBRARIES/libLLVM*)
-+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/stingray/obj/STATIC_LIBRARIES/libLLVMARMCodeGen_intermediates*)
-+$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_PREBUILT_TAG)/obj/STATIC_LIBRARIES/libLLVMARM*)
-+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libLLVMARM*)
-+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/EXECUTABLES/app_process__asan_intermediates*)
-diff --git a/clear_tblgen_vars.mk b/clear_tblgen_vars.mk
-new file mode 100644
-index 0000000..6c9623e
---- /dev/null
-+++ b/clear_tblgen_vars.mk
-@@ -0,0 +1,2 @@
-+TBLGEN_TABLES :=
-+TBLGEN_TD_DIR :=
-diff --git a/lib/Analysis/Android.mk b/lib/Analysis/Android.mk
-new file mode 100644
-index 0000000..76eee74
---- /dev/null
-+++ b/lib/Analysis/Android.mk
-@@ -0,0 +1,80 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+analysis_SRC_FILES := \
-+  AliasAnalysis.cpp \
-+  AliasAnalysisCounter.cpp \
-+  AliasAnalysisEvaluator.cpp \
-+  AliasDebugger.cpp \
-+  AliasSetTracker.cpp \
-+  Analysis.cpp \
-+  BasicAliasAnalysis.cpp \
-+  BlockFrequencyInfo.cpp \
-+  BranchProbabilityInfo.cpp \
-+  CFG.cpp \
-+  CFGPrinter.cpp \
-+  CaptureTracking.cpp \
-+  CodeMetrics.cpp \
-+  ConstantFolding.cpp \
-+  CostModel.cpp \
-+  Delinearization.cpp \
-+  DependenceAnalysis.cpp \
-+  DomPrinter.cpp \
-+  DominanceFrontier.cpp \
-+  IVUsers.cpp \
-+  InstCount.cpp \
-+  InstructionSimplify.cpp \
-+  Interval.cpp \
-+  IntervalPartition.cpp \
-+  LazyValueInfo.cpp \
-+  LibCallAliasAnalysis.cpp \
-+  LibCallSemantics.cpp \
-+  Lint.cpp \
-+  Loads.cpp \
-+  LoopInfo.cpp \
-+  LoopPass.cpp \
-+  MemDepPrinter.cpp \
-+  MemoryBuiltins.cpp \
-+  MemoryDependenceAnalysis.cpp \
-+  ModuleDebugInfoPrinter.cpp \
-+  NoAliasAnalysis.cpp \
-+  PHITransAddr.cpp \
-+  PostDominators.cpp \
-+  PtrUseVisitor.cpp \
-+  RegionInfo.cpp \
-+  RegionPass.cpp \
-+  RegionPrinter.cpp \
-+  ScalarEvolution.cpp \
-+  ScalarEvolutionAliasAnalysis.cpp \
-+  ScalarEvolutionExpander.cpp \
-+  ScalarEvolutionNormalization.cpp \
-+  SparsePropagation.cpp \
-+  TargetTransformInfo.cpp \
-+  Trace.cpp \
-+  TypeBasedAliasAnalysis.cpp \
-+  ValueTracking.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE:= libLLVMAnalysis
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(analysis_SRC_FILES)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE:= libLLVMAnalysis
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(analysis_SRC_FILES)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Analysis/IPA/Android.mk b/lib/Analysis/IPA/Android.mk
-new file mode 100644
-index 0000000..d56d931
---- /dev/null
-+++ b/lib/Analysis/IPA/Android.mk
-@@ -0,0 +1,40 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+analysis_ipa_SRC_FILES := \
-+  CallGraph.cpp \
-+  CallGraphSCCPass.cpp \
-+  CallPrinter.cpp \
-+  FindUsedTypes.cpp \
-+  GlobalsModRef.cpp \
-+  IPA.cpp \
-+  InlineCost.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(analysis_ipa_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMipa
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(analysis_ipa_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMipa
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/AsmParser/Android.mk b/lib/AsmParser/Android.mk
-new file mode 100644
-index 0000000..7bd29a7
---- /dev/null
-+++ b/lib/AsmParser/Android.mk
-@@ -0,0 +1,34 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+asm_parser_SRC_FILES := \
-+  LLLexer.cpp \
-+  LLParser.cpp \
-+  Parser.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(asm_parser_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMAsmParser
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LOCAL_PATH)/../../llvm-host-build.mk
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(asm_parser_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMAsmParser
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LOCAL_PATH)/../../llvm-device-build.mk
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-\ No newline at end of file
-diff --git a/lib/Bitcode/Reader/Android.mk b/lib/Bitcode/Reader/Android.mk
-new file mode 100644
-index 0000000..3bdcdda
---- /dev/null
-+++ b/lib/Bitcode/Reader/Android.mk
-@@ -0,0 +1,36 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+bitcode_reader_SRC_FILES := \
-+      BitReader.cpp   \
-+      BitcodeReader.cpp \
-+      BitstreamReader.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(bitcode_reader_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMBitReader
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+include $(CLEAR_VARS)
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+
-+LOCAL_SRC_FILES := $(bitcode_reader_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMBitReader
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Bitcode/Writer/Android.mk b/lib/Bitcode/Writer/Android.mk
-new file mode 100644
-index 0000000..6aa208c
---- /dev/null
-+++ b/lib/Bitcode/Writer/Android.mk
-@@ -0,0 +1,37 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+bitcode_writer_SRC_FILES := \
-+      BitWriter.cpp   \
-+      BitcodeWriter.cpp       \
-+      BitcodeWriterPass.cpp   \
-+      ValueEnumerator.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(bitcode_writer_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMBitWriter
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+include $(CLEAR_VARS)
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+
-+LOCAL_SRC_FILES := $(bitcode_writer_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMBitWriter
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/CodeGen/Android.mk b/lib/CodeGen/Android.mk
-new file mode 100644
-index 0000000..26f04d0
---- /dev/null
-+++ b/lib/CodeGen/Android.mk
-@@ -0,0 +1,143 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+codegen_SRC_FILES := \
-+  AggressiveAntiDepBreaker.cpp \
-+  AllocationOrder.cpp \
-+  Analysis.cpp \
-+  BasicTargetTransformInfo.cpp \
-+  BranchFolding.cpp \
-+  CalcSpillWeights.cpp \
-+  CallingConvLower.cpp \
-+  CodeGen.cpp \
-+  CodeGenPrepare.cpp \
-+  CriticalAntiDepBreaker.cpp \
-+  DeadMachineInstructionElim.cpp \
-+  DFAPacketizer.cpp \
-+  DwarfEHPrepare.cpp \
-+  EarlyIfConversion.cpp \
-+  EdgeBundles.cpp \
-+  ErlangGC.cpp \
-+  ExecutionDepsFix.cpp \
-+  ExpandISelPseudos.cpp \
-+  ExpandPostRAPseudos.cpp \
-+  GCMetadata.cpp \
-+  GCMetadataPrinter.cpp \
-+  GCStrategy.cpp \
-+  IfConversion.cpp \
-+  InlineSpiller.cpp \
-+  InterferenceCache.cpp \
-+  IntrinsicLowering.cpp \
-+  JITCodeEmitter.cpp \
-+  LatencyPriorityQueue.cpp \
-+  LexicalScopes.cpp \
-+  LiveDebugVariables.cpp \
-+  LiveIntervalAnalysis.cpp \
-+  LiveInterval.cpp \
-+  LiveIntervalUnion.cpp \
-+  LivePhysRegs.cpp \
-+  LiveRangeCalc.cpp \
-+  LiveRangeEdit.cpp \
-+  LiveRegMatrix.cpp \
-+  LiveStackAnalysis.cpp \
-+  LiveVariables.cpp \
-+  LLVMTargetMachine.cpp \
-+  LocalStackSlotAllocation.cpp \
-+  MachineBasicBlock.cpp \
-+  MachineBlockFrequencyInfo.cpp \
-+  MachineBlockPlacement.cpp \
-+  MachineBranchProbabilityInfo.cpp \
-+  MachineCodeEmitter.cpp \
-+  MachineCopyPropagation.cpp \
-+  MachineCSE.cpp \
-+  MachineDominators.cpp \
-+  MachineFunctionAnalysis.cpp \
-+  MachineFunction.cpp \
-+  MachineFunctionPass.cpp \
-+  MachineFunctionPrinterPass.cpp \
-+  MachineInstrBundle.cpp \
-+  MachineInstr.cpp \
-+  MachineLICM.cpp \
-+  MachineLoopInfo.cpp \
-+  MachineModuleInfo.cpp \
-+  MachineModuleInfoImpls.cpp \
-+  MachinePassRegistry.cpp \
-+  MachinePostDominators.cpp \
-+  MachineRegisterInfo.cpp \
-+  MachineScheduler.cpp \
-+  MachineSink.cpp \
-+  MachineSSAUpdater.cpp \
-+  MachineTraceMetrics.cpp \
-+  MachineVerifier.cpp \
-+  OcamlGC.cpp \
-+  OptimizePHIs.cpp \
-+  Passes.cpp \
-+  PeepholeOptimizer.cpp \
-+  PHIElimination.cpp \
-+  PHIEliminationUtils.cpp \
-+  PostRASchedulerList.cpp \
-+  ProcessImplicitDefs.cpp \
-+  PrologEpilogInserter.cpp \
-+  PseudoSourceValue.cpp \
-+  RegAllocBase.cpp \
-+  RegAllocBasic.cpp \
-+  RegAllocFast.cpp \
-+  RegAllocGreedy.cpp \
-+  RegAllocPBQP.cpp \
-+  RegisterClassInfo.cpp \
-+  RegisterCoalescer.cpp \
-+  RegisterPressure.cpp \
-+  RegisterScavenging.cpp \
-+  ScheduleDAG.cpp \
-+  ScheduleDAGInstrs.cpp \
-+  ScheduleDAGPrinter.cpp \
-+  ScoreboardHazardRecognizer.cpp \
-+  ShadowStackGC.cpp \
-+  SjLjEHPrepare.cpp \
-+  SlotIndexes.cpp \
-+  Spiller.cpp \
-+  SpillPlacement.cpp \
-+  SplitKit.cpp \
-+  StackColoring.cpp \
-+  StackMapLivenessAnalysis.cpp \
-+  StackMaps.cpp \
-+  StackProtector.cpp \
-+  StackSlotColoring.cpp \
-+  TailDuplication.cpp \
-+  TargetFrameLoweringImpl.cpp \
-+  TargetInstrInfo.cpp \
-+  TargetLoweringBase.cpp \
-+  TargetLoweringObjectFileImpl.cpp \
-+  TargetOptionsImpl.cpp \
-+  TargetRegisterInfo.cpp \
-+  TargetSchedule.cpp \
-+  TwoAddressInstructionPass.cpp \
-+  UnreachableBlockElim.cpp \
-+  VirtRegMap.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(codegen_SRC_FILES)
-+LOCAL_MODULE:= libLLVMCodeGen
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(codegen_SRC_FILES)
-+LOCAL_MODULE:= libLLVMCodeGen
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/CodeGen/AsmPrinter/Android.mk b/lib/CodeGen/AsmPrinter/Android.mk
-new file mode 100644
-index 0000000..1e403ee
---- /dev/null
-+++ b/lib/CodeGen/AsmPrinter/Android.mk
-@@ -0,0 +1,62 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+codegen_asmprinter_SRC_FILES := \
-+  AsmPrinter.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES :=    \
-+      AsmPrinter.cpp  \
-+      AsmPrinterDwarf.cpp     \
-+      AsmPrinterInlineAsm.cpp \
-+      ARMException.cpp        \
-+      DIE.cpp \
-+      DIEHash.cpp \
-+      DwarfAccelTable.cpp \
-+      DwarfCFIException.cpp \
-+      DwarfDebug.cpp  \
-+      DwarfException.cpp      \
-+      DwarfUnit.cpp \
-+      ErlangGCPrinter.cpp \
-+      OcamlGCPrinter.cpp \
-+      Win64Exception.cpp \
-+      WinCodeViewLineTables.cpp
-+
-+LOCAL_MODULE:= libLLVMAsmPrinter
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES :=    \
-+      AsmPrinter.cpp \
-+      AsmPrinterDwarf.cpp \
-+      AsmPrinterInlineAsm.cpp \
-+      ARMException.cpp        \
-+      DIE.cpp \
-+      DIEHash.cpp \
-+      DwarfAccelTable.cpp \
-+      DwarfCFIException.cpp \
-+      DwarfDebug.cpp  \
-+      DwarfException.cpp      \
-+      ErlangGCPrinter.cpp \
-+      Win64Exception.cpp \
-+      $(LOCAL_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMAsmPrinter
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/CodeGen/SelectionDAG/Android.mk b/lib/CodeGen/SelectionDAG/Android.mk
-new file mode 100644
-index 0000000..0e52ee3
---- /dev/null
-+++ b/lib/CodeGen/SelectionDAG/Android.mk
-@@ -0,0 +1,56 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+codegen_selectiondag_SRC_FILES := \
-+  DAGCombiner.cpp \
-+  FastISel.cpp \
-+  FunctionLoweringInfo.cpp \
-+  InstrEmitter.cpp \
-+  LegalizeDAG.cpp \
-+  LegalizeFloatTypes.cpp \
-+  LegalizeIntegerTypes.cpp \
-+  LegalizeTypes.cpp \
-+  LegalizeTypesGeneric.cpp \
-+  LegalizeVectorOps.cpp \
-+  LegalizeVectorTypes.cpp \
-+  ResourcePriorityQueue.cpp \
-+  ScheduleDAGFast.cpp \
-+  ScheduleDAGRRList.cpp \
-+  ScheduleDAGSDNodes.cpp \
-+  ScheduleDAGVLIW.cpp \
-+  SelectionDAG.cpp \
-+  SelectionDAGBuilder.cpp \
-+  SelectionDAGDumper.cpp \
-+  SelectionDAGISel.cpp \
-+  SelectionDAGPrinter.cpp \
-+  TargetLowering.cpp \
-+  TargetSelectionDAGInfo.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(codegen_selectiondag_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMSelectionDAG
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(codegen_selectiondag_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMSelectionDAG
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/ExecutionEngine/Android.mk b/lib/ExecutionEngine/Android.mk
-new file mode 100644
-index 0000000..9f1befd
---- /dev/null
-+++ b/lib/ExecutionEngine/Android.mk
-@@ -0,0 +1,18 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := \
-+      ExecutionEngineBindings.cpp \
-+      ExecutionEngine.cpp \
-+      RTDyldMemoryManager.cpp \
-+      TargetSelect.cpp
-+
-+LOCAL_MODULE:= libLLVMExecutionEngine
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/ExecutionEngine/JIT/Android.mk b/lib/ExecutionEngine/JIT/Android.mk
-new file mode 100644
-index 0000000..0466ba0
---- /dev/null
-+++ b/lib/ExecutionEngine/JIT/Android.mk
-@@ -0,0 +1,17 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES :=    \
-+      JIT.cpp \
-+      JITEmitter.cpp  \
-+      JITMemoryManager.cpp
-+
-+LOCAL_MODULE:= libLLVMJIT
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/ExecutionEngine/MCJIT/Android.mk b/lib/ExecutionEngine/MCJIT/Android.mk
-new file mode 100644
-index 0000000..0314958
---- /dev/null
-+++ b/lib/ExecutionEngine/MCJIT/Android.mk
-@@ -0,0 +1,16 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES :=    \
-+      MCJIT.cpp \
-+      SectionMemoryManager.cpp
-+
-+LOCAL_MODULE:= libLLVMMCJIT
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/ExecutionEngine/RuntimeDyld/Android.mk b/lib/ExecutionEngine/RuntimeDyld/Android.mk
-new file mode 100644
-index 0000000..e98e80a
---- /dev/null
-+++ b/lib/ExecutionEngine/RuntimeDyld/Android.mk
-@@ -0,0 +1,18 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES :=    \
-+      GDBRegistrar.cpp \
-+      RuntimeDyld.cpp \
-+      RuntimeDyldELF.cpp \
-+      RuntimeDyldMachO.cpp
-+
-+LOCAL_MODULE:= libLLVMRuntimeDyld
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/IR/Android.mk b/lib/IR/Android.mk
-new file mode 100644
-index 0000000..071bb04
---- /dev/null
-+++ b/lib/IR/Android.mk
-@@ -0,0 +1,79 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+vmcore_SRC_FILES := \
-+  AsmWriter.cpp \
-+  Attributes.cpp \
-+  AutoUpgrade.cpp \
-+  BasicBlock.cpp \
-+  ConstantFold.cpp \
-+  ConstantRange.cpp \
-+  Constants.cpp \
-+  Core.cpp \
-+  DataLayout.cpp \
-+  DebugInfo.cpp \
-+  DebugLoc.cpp \
-+  DiagnosticInfo.cpp \
-+  DiagnosticPrinter.cpp \
-+  DIBuilder.cpp \
-+  Dominators.cpp \
-+  Function.cpp \
-+  GVMaterializer.cpp \
-+  Globals.cpp \
-+  IRBuilder.cpp \
-+  IRPrintingPasses.cpp \
-+  InlineAsm.cpp \
-+  Instruction.cpp \
-+  Instructions.cpp \
-+  IntrinsicInst.cpp \
-+  LLVMContext.cpp \
-+  LLVMContextImpl.cpp \
-+  LeakDetector.cpp \
-+  LegacyPassManager.cpp \
-+  Mangler.cpp \
-+  Metadata.cpp \
-+  Module.cpp \
-+  Pass.cpp \
-+  PassManager.cpp \
-+  PassRegistry.cpp \
-+  Type.cpp \
-+  TypeFinder.cpp \
-+  Use.cpp \
-+  User.cpp \
-+  Value.cpp \
-+  ValueSymbolTable.cpp \
-+  ValueTypes.cpp \
-+  Verifier.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+REQUIRES_RTTI := 1
-+
-+LOCAL_SRC_FILES := $(vmcore_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMCore
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+include $(CLEAR_VARS)
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+
-+REQUIRES_RTTI := 1
-+
-+LOCAL_SRC_FILES := $(vmcore_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMCore
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/IRReader/Android.mk b/lib/IRReader/Android.mk
-new file mode 100644
-index 0000000..d620521
---- /dev/null
-+++ b/lib/IRReader/Android.mk
-@@ -0,0 +1,38 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+irreader_SRC_FILES := \
-+  IRReader.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+REQUIRES_RTTI := 1
-+
-+LOCAL_SRC_FILES := $(irreader_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMIRReader
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+REQUIRES_RTTI := 1
-+
-+LOCAL_SRC_FILES := $(irreader_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMIRReader
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-\ No newline at end of file
-diff --git a/lib/Linker/Android.mk b/lib/Linker/Android.mk
-new file mode 100644
-index 0000000..161b2ae
---- /dev/null
-+++ b/lib/Linker/Android.mk
-@@ -0,0 +1,32 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+linker_SRC_FILES := \
-+  LinkModules.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_SRC_FILES := $(linker_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMLinker
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(linker_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMLinker
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/MC/Android.mk b/lib/MC/Android.mk
-new file mode 100644
-index 0000000..abf346b
---- /dev/null
-+++ b/lib/MC/Android.mk
-@@ -0,0 +1,78 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+mc_SRC_FILES := \
-+  ELFObjectWriter.cpp \
-+  MachObjectWriter.cpp \
-+  MCAsmBackend.cpp \
-+  MCAsmInfo.cpp \
-+  MCAsmInfoCOFF.cpp \
-+  MCAsmInfoDarwin.cpp \
-+  MCAsmInfoELF.cpp \
-+  MCAsmStreamer.cpp \
-+  MCAssembler.cpp \
-+  MCCodeEmitter.cpp \
-+  MCCodeGenInfo.cpp \
-+  MCContext.cpp \
-+  MCDisassembler.cpp \
-+  MCDwarf.cpp \
-+  MCELF.cpp \
-+  MCELFObjectTargetWriter.cpp \
-+  MCELFStreamer.cpp \
-+  MCExpr.cpp \
-+  MCExternalSymbolizer.cpp \
-+  MCFixup.cpp \
-+  MCInst.cpp \
-+  MCInstPrinter.cpp \
-+  MCInstrAnalysis.cpp \
-+  MCLabel.cpp \
-+  MCLinkerOptimizationHint.cpp \
-+  MCMachObjectTargetWriter.cpp \
-+  MCMachOStreamer.cpp \
-+  MCNullStreamer.cpp \
-+  MCObjectFileInfo.cpp \
-+  MCObjectStreamer.cpp \
-+  MCObjectWriter.cpp \
-+  MCRegisterInfo.cpp \
-+  MCRelocationInfo.cpp \
-+  MCSection.cpp \
-+  MCSectionCOFF.cpp   \
-+  MCSectionELF.cpp \
-+  MCSectionMachO.cpp \
-+  MCStreamer.cpp \
-+  MCSubtargetInfo.cpp \
-+  MCSymbol.cpp \
-+  MCSymbolizer.cpp \
-+  MCValue.cpp \
-+  MCWin64EH.cpp \
-+  WinCOFFObjectWriter.cpp \
-+  WinCOFFStreamer.cpp \
-+  SubtargetFeature.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(mc_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMMC
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+include $(CLEAR_VARS)
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+
-+LOCAL_SRC_FILES := $(mc_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMMC
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/MC/MCDisassembler/Android.mk b/lib/MC/MCDisassembler/Android.mk
-new file mode 100644
-index 0000000..7f73df3
---- /dev/null
-+++ b/lib/MC/MCDisassembler/Android.mk
-@@ -0,0 +1,15 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES :=    \
-+      Disassembler.cpp
-+
-+LOCAL_MODULE:= libLLVMMCDisassembler
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/MC/MCParser/Android.mk b/lib/MC/MCParser/Android.mk
-new file mode 100644
-index 0000000..505a12b
---- /dev/null
-+++ b/lib/MC/MCParser/Android.mk
-@@ -0,0 +1,40 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+mc_parser_SRC_FILES := \
-+  AsmLexer.cpp \
-+  AsmParser.cpp \
-+  COFFAsmParser.cpp \
-+  DarwinAsmParser.cpp \
-+  ELFAsmParser.cpp \
-+  MCAsmLexer.cpp \
-+  MCAsmParser.cpp \
-+  MCAsmParserExtension.cpp \
-+  MCTargetAsmParser.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(mc_parser_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMMCParser
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+include $(CLEAR_VARS)
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+
-+LOCAL_SRC_FILES := $(mc_parser_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMMCParser
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Object/Android.mk b/lib/Object/Android.mk
-new file mode 100644
-index 0000000..7dfa44f
---- /dev/null
-+++ b/lib/Object/Android.mk
-@@ -0,0 +1,45 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+object_SRC_FILES := \
-+  Archive.cpp \
-+  Binary.cpp \
-+  COFFObjectFile.cpp \
-+  ELF.cpp \
-+  ELFObjectFile.cpp \
-+  Error.cpp \
-+  IRObjectFile.cpp \
-+  MachOObjectFile.cpp \
-+  MachOUniversal.cpp \
-+  Object.cpp \
-+  ObjectFile.cpp \
-+  SymbolicFile.cpp
-+
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMObject
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(object_SRC_FILES)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE:= libLLVMObject
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(object_SRC_FILES)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Option/Android.mk b/lib/Option/Android.mk
-new file mode 100644
-index 0000000..8680ce4
---- /dev/null
-+++ b/lib/Option/Android.mk
-@@ -0,0 +1,42 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+option_SRC_FILES := \
-+    Arg.cpp \
-+    ArgList.cpp \
-+    Option.cpp \
-+    OptTable.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+# FIXME: This only requires RTTI because tblgen uses it.  Fix that.
-+REQUIRES_RTTI := 1
-+
-+LOCAL_SRC_FILES := $(option_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMOption
-+
-+LOCAL_CFLAGS := -D__android__
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+include $(CLEAR_VARS)
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+
-+LOCAL_SRC_FILES := $(option_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMOption
-+
-+LOCAL_CFLAGS := -D__android__
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Support/Android.mk b/lib/Support/Android.mk
-new file mode 100644
-index 0000000..165305e
---- /dev/null
-+++ b/lib/Support/Android.mk
-@@ -0,0 +1,120 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+support_SRC_FILES := \
-+  Allocator.cpp \
-+  APFloat.cpp \
-+  APInt.cpp \
-+  APSInt.cpp \
-+  ARMBuildAttrs.cpp \
-+  Atomic.cpp \
-+  BlockFrequency.cpp \
-+  BranchProbability.cpp \
-+  CommandLine.cpp \
-+  Compression.cpp \
-+  ConvertUTF.c \
-+  ConvertUTFWrapper.cpp \
-+  CrashRecoveryContext.cpp \
-+  DAGDeltaAlgorithm.cpp \
-+  DataStream.cpp \
-+  DataExtractor.cpp \
-+  Debug.cpp \
-+  DeltaAlgorithm.cpp \
-+  Dwarf.cpp \
-+  DynamicLibrary.cpp \
-+  Errno.cpp \
-+  ErrorHandling.cpp \
-+  FileUtilities.cpp \
-+  FoldingSet.cpp \
-+  FormattedStream.cpp \
-+  GraphWriter.cpp \
-+  Hashing.cpp \
-+  Host.cpp \
-+  IntervalMap.cpp \
-+  IntEqClasses.cpp \
-+  IntrusiveRefCntPtr.cpp \
-+  IsInf.cpp \
-+  IsNAN.cpp \
-+  LEB128.cpp \
-+  LineIterator.cpp \
-+  Locale.cpp \
-+  LockFileManager.cpp \
-+  MD5.cpp \
-+  ManagedStatic.cpp \
-+  Memory.cpp \
-+  MemoryBuffer.cpp \
-+  MemoryObject.cpp \
-+  Mutex.cpp \
-+  Path.cpp \
-+  PluginLoader.cpp \
-+  PrettyStackTrace.cpp \
-+  Process.cpp \
-+  Program.cpp \
-+  Regex.cpp \
-+  RWMutex.cpp \
-+  SearchForAddressOfSpecialSymbol.cpp \
-+  Signals.cpp \
-+  SmallPtrSet.cpp \
-+  SmallVector.cpp \
-+  SourceMgr.cpp \
-+  Statistic.cpp \
-+  StreamableMemoryObject.cpp \
-+  StringExtras.cpp \
-+  StringMap.cpp \
-+  StringPool.cpp \
-+  StringRef.cpp \
-+  SystemUtils.cpp \
-+  TargetRegistry.cpp \
-+  Threading.cpp \
-+  ThreadLocal.cpp \
-+  Timer.cpp \
-+  TimeValue.cpp \
-+  ToolOutputFile.cpp \
-+  Triple.cpp \
-+  Twine.cpp \
-+  Unicode.cpp \
-+  Valgrind.cpp \
-+  Watchdog.cpp \
-+  circular_raw_ostream.cpp \
-+  raw_os_ostream.cpp \
-+  raw_ostream.cpp \
-+  regcomp.c \
-+  regerror.c \
-+  regexec.c \
-+  regfree.c \
-+  regstrlcpy.c \
-+  system_error.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+# FIXME: This only requires RTTI because tblgen uses it.  Fix that.
-+REQUIRES_RTTI := 1
-+
-+LOCAL_SRC_FILES := $(support_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMSupport
-+
-+LOCAL_CFLAGS := -D__android__
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(support_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMSupport
-+
-+LOCAL_CFLAGS := -D__android__
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/TableGen/Android.mk b/lib/TableGen/Android.mk
-new file mode 100644
-index 0000000..1f01ef7
---- /dev/null
-+++ b/lib/TableGen/Android.mk
-@@ -0,0 +1,39 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+libtablegen_SRC_FILES := \
-+  Error.cpp \
-+  Main.cpp \
-+  Record.cpp \
-+  StringMatcher.cpp \
-+  TableGenBackend.cpp \
-+  TGLexer.cpp \
-+  TGParser.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(libtablegen_SRC_FILES)
-+LOCAL_MODULE:= libLLVMTableGen
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+REQUIRES_EH := 1
-+REQUIRES_RTTI := 1
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+## For the device
-+## =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+#include $(CLEAR_VARS)
-+#
-+#LOCAL_SRC_FILES := $(libtablegen_SRC_FILES)
-+#LOCAL_MODULE:= libLLVMTableGen
-+#
-+#LOCAL_MODULE_TAGS := optional
-+#
-+#include $(LLVM_DEVICE_BUILD_MK)
-+#include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/AArch64/Android.mk b/lib/Target/AArch64/Android.mk
-new file mode 100644
-index 0000000..144c2d3
---- /dev/null
-+++ b/lib/Target/AArch64/Android.mk
-@@ -0,0 +1,67 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm64_codegen_TBLGEN_TABLES := \
-+  AArch64GenRegisterInfo.inc \
-+  AArch64GenInstrInfo.inc \
-+  AArch64GenCodeEmitter.inc \
-+  AArch64GenMCCodeEmitter.inc \
-+  AArch64GenMCPseudoLowering.inc \
-+  AArch64GenAsmWriter.inc \
-+  AArch64GenAsmMatcher.inc \
-+  AArch64GenDAGISel.inc \
-+  AArch64GenFastISel.inc \
-+  AArch64GenCallingConv.inc \
-+  AArch64GenSubtargetInfo.inc \
-+  AArch64GenDisassemblerTables.inc
-+
-+arm64_codegen_SRC_FILES := \
-+  AArch64AsmPrinter.cpp \
-+  AArch64FrameLowering.cpp \
-+  AArch64ISelDAGToDAG.cpp \
-+  AArch64MachineFunctionInfo.cpp \
-+  AArch64RegisterInfo.cpp \
-+  AArch64Subtarget.cpp \
-+  AArch64TargetObjectFile.cpp \
-+  AArch64BranchFixupPass.cpp \
-+  AArch64InstrInfo.cpp \
-+  AArch64ISelLowering.cpp \
-+  AArch64MCInstLower.cpp \
-+  AArch64SelectionDAGInfo.cpp \
-+  AArch64TargetMachine.cpp \
-+  AArch64TargetTransformInfo.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMARM64CodeGen
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(arm64_codegen_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
-+TBLGEN_TABLES := $(arm64_codegen_TBLGEN_TABLES)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMARM64CodeGen
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(arm64_codegen_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
-+TBLGEN_TABLES := $(arm64_codegen_TBLGEN_TABLES)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/AArch64/AsmParser/Android.mk b/lib/Target/AArch64/AsmParser/Android.mk
-new file mode 100644
-index 0000000..0588511
---- /dev/null
-+++ b/lib/Target/AArch64/AsmParser/Android.mk
-@@ -0,0 +1,63 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+#===---------------------------------------------------------------===
-+# libARMAsmParser (common)
-+#===---------------------------------------------------------------===
-+
-+arm64_asm_parser_SRC_FILES := \
-+  AArch64AsmParser.cpp
-+
-+arm64_asm_parser_TBLGEN_TABLES := \
-+  AArch64GenInstrInfo.inc \
-+  AArch64GenRegisterInfo.inc \
-+  AArch64GenAsmMatcher.inc \
-+  AArch64GenSubtargetInfo.inc
-+
-+arm64_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+arm64_asm_parser_C_INCLUDES := $(LOCAL_PATH)/..
-+
-+
-+#===---------------------------------------------------------------===
-+# libARM64AsmParser (host)
-+#===---------------------------------------------------------------===
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMARM64AsmParser
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(arm64_asm_parser_SRC_FILES)
-+LOCAL_C_INCLUDES += $(arm64_asm_parser_C_INCLUDES)
-+TBLGEN_TABLES := $(arm64_asm_parser_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(arm64_asm_parser_TBLGEN_TD_DIR)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+ifneq (,$(filter windows darwin,$(HOST_OS)))
-+# Override the default optimization level to work around taking forever (~50m)
-+# to compile ARM64AsmParser.cpp on Mac with gcc 4.2,
-+# or on Linux with mingw32msvc-gcc 4.2, which is used to cross-compile
-+# the win_sdk.
-+LOCAL_CFLAGS += -O0
-+endif
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+
-+#===---------------------------------------------------------------===
-+# libARM64AsmParser (target)
-+#===---------------------------------------------------------------===
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMARM64AsmParser
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(arm64_asm_parser_SRC_FILES)
-+LOCAL_C_INCLUDES += $(arm64_asm_parser_C_INCLUDES)
-+TBLGEN_TABLES := $(arm64_asm_parser_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(arm64_asm_parser_TBLGEN_TD_DIR)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/AArch64/Disassembler/Android.mk b/lib/Target/AArch64/Disassembler/Android.mk
-new file mode 100644
-index 0000000..fcc53ad
---- /dev/null
-+++ b/lib/Target/AArch64/Disassembler/Android.mk
-@@ -0,0 +1,55 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm64_disassembler_TBLGEN_TABLES := \
-+  AArch64GenDisassemblerTables.inc \
-+  AArch64GenInstrInfo.inc \
-+  AArch64GenSubtargetInfo.inc \
-+  AArch64GenRegisterInfo.inc
-+
-+arm64_disassembler_SRC_FILES := \
-+  AArch64Disassembler.cpp
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm64_disassembler_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm64_disassembler_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARM64Disassembler
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm64_disassembler_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm64_disassembler_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARM64Disassembler
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-diff --git a/lib/Target/AArch64/InstPrinter/Android.mk b/lib/Target/AArch64/InstPrinter/Android.mk
-new file mode 100644
-index 0000000..ac9b0df
---- /dev/null
-+++ b/lib/Target/AArch64/InstPrinter/Android.mk
-@@ -0,0 +1,57 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm64_asm_printer_TBLGEN_TABLES := \
-+  AArch64GenAsmWriter.inc \
-+  AArch64GenRegisterInfo.inc \
-+  AArch64GenSubtargetInfo.inc \
-+  AArch64GenInstrInfo.inc
-+
-+arm64_asm_printer_SRC_FILES := \
-+  AArch64InstPrinter.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm64_asm_printer_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm64_asm_printer_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMARM64AsmPrinter
-+
-+LOCAL_C_INCLUDES += \
-+    $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm64_asm_printer_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm64_asm_printer_SRC_FILES)
-+
-+LOCAL_C_INCLUDES+= \
-+    $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARM64AsmPrinter
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-+
-diff --git a/lib/Target/AArch64/MCTargetDesc/Android.mk b/lib/Target/AArch64/MCTargetDesc/Android.mk
-new file mode 100644
-index 0000000..edcf1f2
---- /dev/null
-+++ b/lib/Target/AArch64/MCTargetDesc/Android.mk
-@@ -0,0 +1,57 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm64_mc_desc_TBLGEN_TABLES := \
-+  AArch64GenRegisterInfo.inc \
-+  AArch64GenInstrInfo.inc \
-+  AArch64GenMCCodeEmitter.inc \
-+  AArch64GenSubtargetInfo.inc
-+
-+arm64_mc_desc_SRC_FILES := \
-+  AArch64AsmBackend.cpp \
-+  AArch64ELFObjectWriter.cpp \
-+  AArch64ELFStreamer.cpp \
-+  AArch64MCAsmInfo.cpp \
-+  AArch64MCCodeEmitter.cpp \
-+  AArch64MCExpr.cpp \
-+  AArch64MCTargetDesc.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+
-+LOCAL_MODULE:= libLLVMARM64Desc
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(arm64_mc_desc_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+TBLGEN_TABLES := $(arm64_mc_desc_TBLGEN_TABLES)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMARM64Desc
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(arm64_mc_desc_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+TBLGEN_TABLES := $(arm64_mc_desc_TBLGEN_TABLES)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/AArch64/TargetInfo/Android.mk b/lib/Target/AArch64/TargetInfo/Android.mk
-new file mode 100644
-index 0000000..cc650f6
---- /dev/null
-+++ b/lib/Target/AArch64/TargetInfo/Android.mk
-@@ -0,0 +1,55 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm64_target_info_TBLGEN_TABLES := \
-+  AArch64GenSubtargetInfo.inc \
-+  AArch64GenRegisterInfo.inc \
-+  AArch64GenInstrInfo.inc
-+
-+arm64_target_info_SRC_FILES := \
-+  AArch64TargetInfo.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm64_target_info_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm64_target_info_SRC_FILES)
-+
-+LOCAL_C_INCLUDES +=   \
-+      $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARM64Info
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm64_target_info_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm64_target_info_SRC_FILES)
-+
-+LOCAL_C_INCLUDES +=   \
-+      $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARM64Info
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/AArch64/Utils/Android.mk b/lib/Target/AArch64/Utils/Android.mk
-new file mode 100644
-index 0000000..b8bf795
---- /dev/null
-+++ b/lib/Target/AArch64/Utils/Android.mk
-@@ -0,0 +1,36 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm64_utils_SRC_FILES := \
-+  AArch64BaseInfo.cpp
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(arm64_utils_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARM64Utils
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(arm64_utils_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARM64Utils
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Target/ARM/Android.mk b/lib/Target/ARM/Android.mk
-new file mode 100644
-index 0000000..4be95aa
---- /dev/null
-+++ b/lib/Target/ARM/Android.mk
-@@ -0,0 +1,87 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm_codegen_TBLGEN_TABLES := \
-+  ARMGenRegisterInfo.inc \
-+  ARMGenInstrInfo.inc \
-+  ARMGenCodeEmitter.inc \
-+  ARMGenMCCodeEmitter.inc \
-+  ARMGenMCPseudoLowering.inc \
-+  ARMGenAsmWriter.inc \
-+  ARMGenAsmMatcher.inc \
-+  ARMGenDAGISel.inc \
-+  ARMGenFastISel.inc \
-+  ARMGenCallingConv.inc \
-+  ARMGenSubtargetInfo.inc \
-+  ARMGenDisassemblerTables.inc
-+
-+arm_codegen_SRC_FILES := \
-+  A15SDOptimizer.cpp \
-+  ARMAsmPrinter.cpp \
-+  ARMAtomicExpandPass.cpp \
-+  ARMBaseInstrInfo.cpp \
-+  ARMBaseRegisterInfo.cpp \
-+  ARMCodeEmitter.cpp \
-+  ARMConstantIslandPass.cpp \
-+  ARMConstantPoolValue.cpp \
-+  ARMExpandPseudoInsts.cpp \
-+  ARMFastISel.cpp \
-+  ARMFrameLowering.cpp \
-+  ARMHazardRecognizer.cpp \
-+  ARMISelDAGToDAG.cpp \
-+  ARMISelLowering.cpp \
-+  ARMInstrInfo.cpp \
-+  ARMJITInfo.cpp \
-+  ARMLoadStoreOptimizer.cpp \
-+  ARMMCInstLower.cpp \
-+  ARMMachineFunctionInfo.cpp \
-+  ARMOptimizeBarriersPass.cpp \
-+  ARMRegisterInfo.cpp \
-+  ARMSelectionDAGInfo.cpp \
-+  ARMSubtarget.cpp \
-+  ARMTargetMachine.cpp \
-+  ARMTargetObjectFile.cpp \
-+  ARMTargetTransformInfo.cpp \
-+  MLxExpansionPass.cpp \
-+  Thumb1FrameLowering.cpp \
-+  Thumb1InstrInfo.cpp \
-+  Thumb1RegisterInfo.cpp \
-+  Thumb2ITBlockPass.cpp \
-+  Thumb2InstrInfo.cpp \
-+  Thumb2RegisterInfo.cpp \
-+  Thumb2SizeReduction.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMARMCodeGen
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(arm_codegen_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
-+TBLGEN_TABLES := $(arm_codegen_TBLGEN_TABLES)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMARMCodeGen
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(arm_codegen_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
-+TBLGEN_TABLES := $(arm_codegen_TBLGEN_TABLES)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/ARM/AsmParser/Android.mk b/lib/Target/ARM/AsmParser/Android.mk
-new file mode 100644
-index 0000000..5f88cc3
---- /dev/null
-+++ b/lib/Target/ARM/AsmParser/Android.mk
-@@ -0,0 +1,63 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+#===---------------------------------------------------------------===
-+# libARMAsmParser (common)
-+#===---------------------------------------------------------------===
-+
-+arm_asm_parser_SRC_FILES := \
-+  ARMAsmParser.cpp
-+
-+arm_asm_parser_TBLGEN_TABLES := \
-+  ARMGenInstrInfo.inc \
-+  ARMGenRegisterInfo.inc \
-+  ARMGenAsmMatcher.inc \
-+  ARMGenSubtargetInfo.inc
-+
-+arm_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+arm_asm_parser_C_INCLUDES := $(LOCAL_PATH)/..
-+
-+
-+#===---------------------------------------------------------------===
-+# libARMAsmParser (host)
-+#===---------------------------------------------------------------===
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMARMAsmParser
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(arm_asm_parser_SRC_FILES)
-+LOCAL_C_INCLUDES += $(arm_asm_parser_C_INCLUDES)
-+TBLGEN_TABLES := $(arm_asm_parser_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(arm_asm_parser_TBLGEN_TD_DIR)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+ifneq (,$(filter windows darwin,$(HOST_OS)))
-+# Override the default optimization level to work around taking forever (~50m)
-+# to compile ARMAsmParser.cpp on Mac with gcc 4.2,
-+# or on Linux with mingw32msvc-gcc 4.2, which is used to cross-compile
-+# the win_sdk.
-+LOCAL_CFLAGS += -O0
-+endif
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+
-+#===---------------------------------------------------------------===
-+# libARMAsmParser (target)
-+#===---------------------------------------------------------------===
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMARMAsmParser
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(arm_asm_parser_SRC_FILES)
-+LOCAL_C_INCLUDES += $(arm_asm_parser_C_INCLUDES)
-+TBLGEN_TABLES := $(arm_asm_parser_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(arm_asm_parser_TBLGEN_TD_DIR)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/ARM/Disassembler/Android.mk b/lib/Target/ARM/Disassembler/Android.mk
-new file mode 100644
-index 0000000..3db61a5
---- /dev/null
-+++ b/lib/Target/ARM/Disassembler/Android.mk
-@@ -0,0 +1,55 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm_disassembler_TBLGEN_TABLES := \
-+  ARMGenDisassemblerTables.inc \
-+  ARMGenInstrInfo.inc \
-+  ARMGenSubtargetInfo.inc \
-+  ARMGenRegisterInfo.inc
-+
-+arm_disassembler_SRC_FILES := \
-+  ARMDisassembler.cpp
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm_disassembler_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm_disassembler_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARMDisassembler
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm_disassembler_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm_disassembler_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARMDisassembler
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-diff --git a/lib/Target/ARM/InstPrinter/Android.mk b/lib/Target/ARM/InstPrinter/Android.mk
-new file mode 100644
-index 0000000..cefed76
---- /dev/null
-+++ b/lib/Target/ARM/InstPrinter/Android.mk
-@@ -0,0 +1,57 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm_asm_printer_TBLGEN_TABLES := \
-+  ARMGenAsmWriter.inc \
-+  ARMGenRegisterInfo.inc \
-+  ARMGenSubtargetInfo.inc \
-+  ARMGenInstrInfo.inc
-+
-+arm_asm_printer_SRC_FILES := \
-+  ARMInstPrinter.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm_asm_printer_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm_asm_printer_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMARMAsmPrinter
-+
-+LOCAL_C_INCLUDES += \
-+    $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm_asm_printer_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm_asm_printer_SRC_FILES)
-+
-+LOCAL_C_INCLUDES+= \
-+    $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARMAsmPrinter
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-+
-diff --git a/lib/Target/ARM/MCTargetDesc/Android.mk b/lib/Target/ARM/MCTargetDesc/Android.mk
-new file mode 100644
-index 0000000..074d29e
---- /dev/null
-+++ b/lib/Target/ARM/MCTargetDesc/Android.mk
-@@ -0,0 +1,61 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm_mc_desc_TBLGEN_TABLES := \
-+  ARMGenRegisterInfo.inc \
-+  ARMGenInstrInfo.inc \
-+  ARMGenMCCodeEmitter.inc \
-+  ARMGenSubtargetInfo.inc
-+
-+arm_mc_desc_SRC_FILES := \
-+  ARMAsmBackend.cpp \
-+  ARMELFObjectWriter.cpp \
-+  ARMELFStreamer.cpp \
-+  ARMMCAsmInfo.cpp \
-+  ARMMCCodeEmitter.cpp \
-+  ARMMCExpr.cpp \
-+  ARMMCTargetDesc.cpp \
-+  ARMMachObjectWriter.cpp \
-+  ARMMachORelocationInfo.cpp \
-+  ARMTargetStreamer.cpp \
-+  ARMUnwindOpAsm.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+
-+LOCAL_MODULE:= libLLVMARMDesc
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(arm_mc_desc_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+TBLGEN_TABLES := $(arm_mc_desc_TBLGEN_TABLES)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMARMDesc
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(arm_mc_desc_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+TBLGEN_TABLES := $(arm_mc_desc_TBLGEN_TABLES)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/ARM/TargetInfo/Android.mk b/lib/Target/ARM/TargetInfo/Android.mk
-new file mode 100644
-index 0000000..e31c2b8
---- /dev/null
-+++ b/lib/Target/ARM/TargetInfo/Android.mk
-@@ -0,0 +1,55 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+arm_target_info_TBLGEN_TABLES := \
-+  ARMGenSubtargetInfo.inc \
-+  ARMGenRegisterInfo.inc \
-+  ARMGenInstrInfo.inc
-+
-+arm_target_info_SRC_FILES := \
-+  ARMTargetInfo.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm_target_info_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm_target_info_SRC_FILES)
-+
-+LOCAL_C_INCLUDES +=   \
-+      $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARMInfo
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(arm_target_info_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(arm_target_info_SRC_FILES)
-+
-+LOCAL_C_INCLUDES +=   \
-+      $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMARMInfo
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/Android.mk b/lib/Target/Android.mk
-new file mode 100644
-index 0000000..1b43ce4
---- /dev/null
-+++ b/lib/Target/Android.mk
-@@ -0,0 +1,39 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+target_SRC_FILES := \
-+  Target.cpp \
-+  TargetIntrinsicInfo.cpp \
-+  TargetJITInfo.cpp \
-+  TargetLibraryInfo.cpp \
-+  TargetLoweringObjectFile.cpp \
-+  TargetMachineC.cpp \
-+  TargetMachine.cpp \
-+  TargetSubtargetInfo.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(target_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMTarget
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(target_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMTarget
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/Mips/Android.mk b/lib/Target/Mips/Android.mk
-new file mode 100644
-index 0000000..74b8a3b
---- /dev/null
-+++ b/lib/Target/Mips/Android.mk
-@@ -0,0 +1,85 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+mips_codegen_TBLGEN_TABLES := \
-+  MipsGenRegisterInfo.inc \
-+  MipsGenInstrInfo.inc \
-+  MipsGenCodeEmitter.inc \
-+  MipsGenMCCodeEmitter.inc \
-+  MipsGenMCPseudoLowering.inc \
-+  MipsGenAsmWriter.inc \
-+  MipsGenDAGISel.inc \
-+  MipsGenCallingConv.inc \
-+  MipsGenSubtargetInfo.inc
-+
-+mips_codegen_SRC_FILES := \
-+  Mips16FrameLowering.cpp \
-+  Mips16HardFloat.cpp \
-+  Mips16HardFloatInfo.cpp \
-+  Mips16ISelDAGToDAG.cpp \
-+  Mips16ISelLowering.cpp \
-+  Mips16InstrInfo.cpp \
-+  Mips16RegisterInfo.cpp \
-+  MipsAnalyzeImmediate.cpp \
-+  MipsAsmPrinter.cpp \
-+  MipsCodeEmitter.cpp \
-+  MipsConstantIslandPass.cpp \
-+  MipsDelaySlotFiller.cpp \
-+  MipsFrameLowering.cpp \
-+  MipsInstrInfo.cpp \
-+  MipsISelDAGToDAG.cpp \
-+  MipsISelLowering.cpp \
-+  MipsJITInfo.cpp \
-+  MipsLongBranch.cpp \
-+  MipsMachineFunction.cpp \
-+  MipsMCInstLower.cpp \
-+  MipsModuleISelDAGToDAG.cpp \
-+  MipsOs16.cpp \
-+  MipsOptimizePICCall.cpp \
-+  MipsRegisterInfo.cpp \
-+  MipsSEFrameLowering.cpp \
-+  MipsSEISelDAGToDAG.cpp \
-+  MipsSEISelLowering.cpp \
-+  MipsSEInstrInfo.cpp \
-+  MipsSERegisterInfo.cpp \
-+  MipsSelectionDAGInfo.cpp \
-+  MipsSubtarget.cpp \
-+  MipsTargetMachine.cpp \
-+  MipsTargetObjectFile.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsCodeGen
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(mips_codegen_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
-+
-+TBLGEN_TABLES := $(mips_codegen_TBLGEN_TABLES)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsCodeGen
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(mips_codegen_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
-+
-+TBLGEN_TABLES := $(mips_codegen_TBLGEN_TABLES)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/Mips/AsmParser/Android.mk b/lib/Target/Mips/AsmParser/Android.mk
-new file mode 100644
-index 0000000..7d8eec1
---- /dev/null
-+++ b/lib/Target/Mips/AsmParser/Android.mk
-@@ -0,0 +1,56 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+#===---------------------------------------------------------------===
-+# libLLVMMipsAsmParser (common)
-+#===---------------------------------------------------------------===
-+
-+mips_asm_parser_SRC_FILES := \
-+  MipsAsmParser.cpp
-+
-+mips_asm_parser_C_INCLUDES := $(LOCAL_PATH)/..
-+
-+mips_asm_parser_TBLGEN_TABLES := \
-+  MipsGenAsmMatcher.inc \
-+  MipsGenInstrInfo.inc \
-+  MipsGenRegisterInfo.inc \
-+  MipsGenSubtargetInfo.inc
-+
-+mips_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+
-+#===---------------------------------------------------------------===
-+# libLLVMMipsAsmParser (host)
-+#===---------------------------------------------------------------===
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsAsmParser
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(mips_asm_parser_SRC_FILES)
-+LOCAL_C_INCLUDES += $(mips_asm_parser_C_INCLUDES)
-+TBLGEN_TABLES := $(mips_asm_parser_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+
-+#===---------------------------------------------------------------===
-+# libLLVMMipsAsmParser (target)
-+#===---------------------------------------------------------------===
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsAsmParser
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(mips_asm_parser_SRC_FILES)
-+LOCAL_C_INCLUDES += $(mips_asm_parser_C_INCLUDES)
-+TBLGEN_TABLES := $(mips_asm_parser_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/Mips/Disassembler/Android.mk b/lib/Target/Mips/Disassembler/Android.mk
-new file mode 100644
-index 0000000..20fd87a
---- /dev/null
-+++ b/lib/Target/Mips/Disassembler/Android.mk
-@@ -0,0 +1,48 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+mips_disassembler_TBLGEN_TABLES := \
-+  MipsGenDisassemblerTables.inc \
-+  MipsGenInstrInfo.inc \
-+  MipsGenRegisterInfo.inc \
-+  MipsGenSubtargetInfo.inc
-+
-+mips_disassembler_SRC_FILES := \
-+  MipsDisassembler.cpp
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsDisassembler
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(mips_disassembler_SRC_FILES)
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+TBLGEN_TABLES := $(mips_disassembler_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsDisassembler
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(mips_disassembler_SRC_FILES)
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+TBLGEN_TABLES := $(mips_disassembler_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Target/Mips/InstPrinter/Android.mk b/lib/Target/Mips/InstPrinter/Android.mk
-new file mode 100644
-index 0000000..f4f3a4f
---- /dev/null
-+++ b/lib/Target/Mips/InstPrinter/Android.mk
-@@ -0,0 +1,48 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+mips_asm_printer_TBLGEN_TABLES := \
-+  MipsGenAsmWriter.inc \
-+  MipsGenRegisterInfo.inc \
-+  MipsGenSubtargetInfo.inc \
-+  MipsGenInstrInfo.inc
-+
-+mips_asm_printer_SRC_FILES := \
-+  MipsInstPrinter.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsAsmPrinter
-+LOCAL_MODULE_TAGS := optional
-+
-+TBLGEN_TABLES := $(mips_asm_printer_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(mips_asm_printer_SRC_FILES)
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsAsmPrinter
-+LOCAL_MODULE_TAGS := optional
-+
-+TBLGEN_TABLES := $(mips_asm_printer_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(mips_asm_printer_SRC_FILES)
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/Mips/MCTargetDesc/Android.mk b/lib/Target/Mips/MCTargetDesc/Android.mk
-new file mode 100644
-index 0000000..7ee11a1
---- /dev/null
-+++ b/lib/Target/Mips/MCTargetDesc/Android.mk
-@@ -0,0 +1,58 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+mips_mc_desc_TBLGEN_TABLES := \
-+  MipsGenRegisterInfo.inc \
-+  MipsGenInstrInfo.inc \
-+  MipsGenMCCodeEmitter.inc \
-+  MipsGenSubtargetInfo.inc
-+
-+mips_mc_desc_SRC_FILES := \
-+  MipsAsmBackend.cpp \
-+  MipsELFObjectWriter.cpp \
-+  MipsELFStreamer.cpp \
-+  MipsMCAsmInfo.cpp \
-+  MipsMCCodeEmitter.cpp \
-+  MipsMCExpr.cpp \
-+  MipsMCTargetDesc.cpp \
-+  MipsNaClELFStreamer.cpp \
-+  MipsTargetStreamer.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsDesc
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(mips_mc_desc_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+TBLGEN_TABLES := $(mips_mc_desc_TBLGEN_TABLES)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsDesc
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(mips_mc_desc_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+TBLGEN_TABLES := $(mips_mc_desc_TBLGEN_TABLES)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/Mips/TargetInfo/Android.mk b/lib/Target/Mips/TargetInfo/Android.mk
-new file mode 100644
-index 0000000..173d05b
---- /dev/null
-+++ b/lib/Target/Mips/TargetInfo/Android.mk
-@@ -0,0 +1,47 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+mips_target_info_TBLGEN_TABLES := \
-+  MipsGenInstrInfo.inc \
-+  MipsGenRegisterInfo.inc \
-+  MipsGenSubtargetInfo.inc
-+
-+mips_target_info_SRC_FILES := \
-+  MipsTargetInfo.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsInfo
-+LOCAL_MODULE_TAGS := optional
-+
-+TBLGEN_TABLES := $(mips_target_info_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(mips_target_info_SRC_FILES)
-+LOCAL_C_INCLUDES +=   $(LOCAL_PATH)/..
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMMipsInfo
-+LOCAL_MODULE_TAGS := optional
-+
-+TBLGEN_TABLES := $(mips_target_info_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(mips_target_info_SRC_FILES)
-+LOCAL_C_INCLUDES +=   $(LOCAL_PATH)/..
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-\ No newline at end of file
-diff --git a/lib/Target/X86/Android.mk b/lib/Target/X86/Android.mk
-new file mode 100644
-index 0000000..73031de
---- /dev/null
-+++ b/lib/Target/X86/Android.mk
-@@ -0,0 +1,72 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+x86_codegen_TBLGEN_TABLES := \
-+  X86GenAsmWriter.inc \
-+  X86GenAsmWriter1.inc \
-+  X86GenRegisterInfo.inc \
-+  X86GenInstrInfo.inc \
-+  X86GenDAGISel.inc \
-+  X86GenFastISel.inc \
-+  X86GenSubtargetInfo.inc \
-+  X86GenCallingConv.inc
-+
-+x86_codegen_SRC_FILES := \
-+  X86AsmPrinter.cpp \
-+  X86COFFMachineModuleInfo.cpp \
-+  X86CodeEmitter.cpp \
-+  X86FastISel.cpp \
-+  X86FixupLEAs.cpp \
-+  X86FloatingPoint.cpp \
-+  X86FrameLowering.cpp \
-+  X86ISelDAGToDAG.cpp \
-+  X86ISelLowering.cpp \
-+  X86InstrInfo.cpp \
-+  X86JITInfo.cpp \
-+  X86MachineFunctionInfo.cpp \
-+  X86MCInstLower.cpp \
-+  X86PadShortFunction.cpp \
-+  X86RegisterInfo.cpp \
-+  X86SelectionDAGInfo.cpp \
-+  X86Subtarget.cpp \
-+  X86TargetMachine.cpp \
-+  X86TargetObjectFile.cpp \
-+  X86TargetTransformInfo.cpp \
-+  X86VZeroUpper.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES)
-+
-+LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMX86CodeGen
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES)
-+
-+LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMX86CodeGen
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/X86/AsmParser/Android.mk b/lib/Target/X86/AsmParser/Android.mk
-new file mode 100644
-index 0000000..4235cb1
---- /dev/null
-+++ b/lib/Target/X86/AsmParser/Android.mk
-@@ -0,0 +1,59 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+# For the device only
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+x86_asm_parser_SRC_FILES :=   \
-+      X86AsmInstrumentation.cpp \
-+      X86AsmParser.cpp
-+
-+x86_asm_parser_TBLGEN_TABLES :=       \
-+      X86GenAsmMatcher.inc    \
-+      X86GenInstrInfo.inc     \
-+      X86GenRegisterInfo.inc \
-+      X86GenSubtargetInfo.inc
-+
-+x86_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+x86_asm_parser_C_INCLUDES +=  \
-+      $(LOCAL_PATH)/..
-+
-+
-+#===---------------------------------------------------------------===
-+# libX86AsmParser (host)
-+#===---------------------------------------------------------------===
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMX86AsmParser
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(x86_asm_parser_SRC_FILES)
-+LOCAL_C_INCLUDES += $(x86_asm_parser_C_INCLUDES)
-+TBLGEN_TABLES := $(x86_asm_parser_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(x86_asm_parser_TBLGEN_TD_DIR)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+
-+#===---------------------------------------------------------------===
-+# libX86AsmParser (target)
-+#===---------------------------------------------------------------===
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMX86AsmParser
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(x86_asm_parser_SRC_FILES)
-+LOCAL_C_INCLUDES += $(x86_asm_parser_C_INCLUDES)
-+TBLGEN_TABLES := $(x86_asm_parser_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(x86_asm_parser_TBLGEN_TD_DIR)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/X86/Disassembler/Android.mk b/lib/Target/X86/Disassembler/Android.mk
-new file mode 100644
-index 0000000..3984266
---- /dev/null
-+++ b/lib/Target/X86/Disassembler/Android.mk
-@@ -0,0 +1,56 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+x86_disassembler_TBLGEN_TABLES := \
-+  X86GenDisassemblerTables.inc \
-+  X86GenInstrInfo.inc \
-+  X86GenRegisterInfo.inc \
-+  X86GenSubtargetInfo.inc
-+
-+x86_disassembler_SRC_FILES := \
-+  X86Disassembler.cpp \
-+  X86DisassemblerDecoder.c
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(x86_disassembler_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(x86_disassembler_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMX86Disassembler
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(x86_disassembler_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(x86_disassembler_SRC_FILES)
-+
-+LOCAL_C_INCLUDES +=   \
-+      $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMX86Disassembler
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Target/X86/InstPrinter/Android.mk b/lib/Target/X86/InstPrinter/Android.mk
-new file mode 100644
-index 0000000..9881beb
---- /dev/null
-+++ b/lib/Target/X86/InstPrinter/Android.mk
-@@ -0,0 +1,57 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+x86_instprinter_TBLGEN_TABLES := \
-+  X86GenAsmWriter.inc \
-+  X86GenAsmWriter1.inc \
-+  X86GenInstrInfo.inc \
-+  X86GenRegisterInfo.inc \
-+  X86GenSubtargetInfo.inc
-+
-+x86_instprinter_SRC_FILES := \
-+  X86ATTInstPrinter.cpp \
-+  X86IntelInstPrinter.cpp \
-+  X86InstComments.cpp
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(x86_instprinter_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(x86_instprinter_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMX86AsmPrinter
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(x86_instprinter_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(x86_instprinter_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE := libLLVMX86AsmPrinter
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Target/X86/MCTargetDesc/Android.mk b/lib/Target/X86/MCTargetDesc/Android.mk
-new file mode 100644
-index 0000000..ee37c27
---- /dev/null
-+++ b/lib/Target/X86/MCTargetDesc/Android.mk
-@@ -0,0 +1,56 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+x86_mc_desc_TBLGEN_TABLES := \
-+  X86GenRegisterInfo.inc \
-+  X86GenInstrInfo.inc \
-+  X86GenSubtargetInfo.inc
-+
-+x86_mc_desc_SRC_FILES := \
-+  X86AsmBackend.cpp \
-+  X86ELFObjectWriter.cpp \
-+  X86ELFRelocationInfo.cpp \
-+  X86MCTargetDesc.cpp \
-+  X86MCAsmInfo.cpp \
-+  X86MCCodeEmitter.cpp \
-+  X86MachORelocationInfo.cpp \
-+  X86MachObjectWriter.cpp \
-+  X86WinCOFFObjectWriter.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+LOCAL_MODULE:= libLLVMX86Desc
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(x86_mc_desc_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
-+TBLGEN_TABLES := $(x86_mc_desc_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device only
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+
-+LOCAL_MODULE:= libLLVMX86Desc
-+LOCAL_MODULE_TAGS := optional
-+
-+LOCAL_SRC_FILES := $(x86_mc_desc_SRC_FILES)
-+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
-+TBLGEN_TABLES := $(x86_mc_desc_TBLGEN_TABLES)
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/X86/TargetInfo/Android.mk b/lib/Target/X86/TargetInfo/Android.mk
-new file mode 100644
-index 0000000..1a6c902
---- /dev/null
-+++ b/lib/Target/X86/TargetInfo/Android.mk
-@@ -0,0 +1,55 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+x86_target_info_TBLGEN_TABLES := \
-+  X86GenRegisterInfo.inc \
-+  X86GenSubtargetInfo.inc \
-+  X86GenInstrInfo.inc
-+
-+x86_target_info_SRC_FILES := \
-+  X86TargetInfo.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(x86_target_info_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(x86_target_info_SRC_FILES)
-+
-+LOCAL_C_INCLUDES +=   \
-+      $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMX86Info
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+include $(CLEAR_TBLGEN_VARS)
-+
-+TBLGEN_TABLES := $(x86_target_info_TBLGEN_TABLES)
-+
-+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
-+
-+LOCAL_SRC_FILES := $(x86_target_info_SRC_FILES)
-+
-+LOCAL_C_INCLUDES +=     \
-+        $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMX86Info
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_TBLGEN_RULES_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Target/X86/Utils/Android.mk b/lib/Target/X86/Utils/Android.mk
-new file mode 100644
-index 0000000..e0c4797
---- /dev/null
-+++ b/lib/Target/X86/Utils/Android.mk
-@@ -0,0 +1,36 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+x86_utils_SRC_FILES := \
-+  X86ShuffleDecode.cpp
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(x86_utils_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMX86Utils
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(x86_utils_SRC_FILES)
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-+
-+LOCAL_MODULE:= libLLVMX86Utils
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-diff --git a/lib/Transforms/IPO/Android.mk b/lib/Transforms/IPO/Android.mk
-new file mode 100644
-index 0000000..1fe7d63
---- /dev/null
-+++ b/lib/Transforms/IPO/Android.mk
-@@ -0,0 +1,52 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+transforms_ipo_SRC_FILES := \
-+  ArgumentPromotion.cpp \
-+  BarrierNoopPass.cpp \
-+  ConstantMerge.cpp \
-+  DeadArgumentElimination.cpp \
-+  ExtractGV.cpp \
-+  FunctionAttrs.cpp \
-+  GlobalDCE.cpp \
-+  GlobalOpt.cpp \
-+  IPConstantPropagation.cpp \
-+  IPO.cpp \
-+  InlineAlways.cpp \
-+  InlineSimple.cpp \
-+  Inliner.cpp \
-+  Internalize.cpp \
-+  LoopExtractor.cpp \
-+  MergeFunctions.cpp \
-+  PartialInlining.cpp \
-+  PassManagerBuilder.cpp \
-+  PruneEH.cpp \
-+  StripDeadPrototypes.cpp \
-+  StripSymbols.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_ipo_SRC_FILES)
-+LOCAL_MODULE:= libLLVMipo
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_ipo_SRC_FILES)
-+LOCAL_MODULE:= libLLVMipo
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Transforms/InstCombine/Android.mk b/lib/Transforms/InstCombine/Android.mk
-new file mode 100644
-index 0000000..62dc7d9
---- /dev/null
-+++ b/lib/Transforms/InstCombine/Android.mk
-@@ -0,0 +1,44 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+transforms_inst_combine_SRC_FILES := \
-+  InstCombineAddSub.cpp \
-+  InstCombineAndOrXor.cpp \
-+  InstCombineCalls.cpp \
-+  InstCombineCasts.cpp \
-+  InstCombineCompares.cpp \
-+  InstCombineLoadStoreAlloca.cpp \
-+  InstCombineMulDivRem.cpp \
-+  InstCombinePHI.cpp \
-+  InstCombineSelect.cpp \
-+  InstCombineShifts.cpp \
-+  InstCombineSimplifyDemanded.cpp \
-+  InstCombineVectorOps.cpp \
-+  InstructionCombining.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_inst_combine_SRC_FILES)
-+LOCAL_MODULE:= libLLVMInstCombine
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_inst_combine_SRC_FILES)
-+LOCAL_MODULE:= libLLVMInstCombine
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Transforms/Instrumentation/Android.mk b/lib/Transforms/Instrumentation/Android.mk
-new file mode 100644
-index 0000000..f9a55c7
---- /dev/null
-+++ b/lib/Transforms/Instrumentation/Android.mk
-@@ -0,0 +1,37 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+instrumentation_SRC_FILES := \
-+  AddressSanitizer.cpp \
-+  BoundsChecking.cpp \
-+  DataFlowSanitizer.cpp \
-+  DebugIR.cpp \
-+  GCOVProfiling.cpp \
-+  Instrumentation.cpp \
-+  MemorySanitizer.cpp \
-+  ThreadSanitizer.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE:= libLLVMInstrumentation
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(instrumentation_SRC_FILES)
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the target
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE:= libLLVMInstrumentation
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(instrumentation_SRC_FILES)
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Transforms/ObjCARC/Android.mk b/lib/Transforms/ObjCARC/Android.mk
-new file mode 100644
-index 0000000..226e9e1
---- /dev/null
-+++ b/lib/Transforms/ObjCARC/Android.mk
-@@ -0,0 +1,40 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+transforms_objcarc_SRC_FILES := \
-+  DependencyAnalysis.cpp \
-+  ObjCARCAliasAnalysis.cpp \
-+  ObjCARCAPElim.cpp \
-+  ObjCARCContract.cpp \
-+  ObjCARC.cpp \
-+  ObjCARCExpand.cpp \
-+  ObjCARCOpts.cpp \
-+  ObjCARCUtil.cpp \
-+  ProvenanceAnalysis.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_objcarc_SRC_FILES)
-+LOCAL_MODULE:= libLLVMTransformObjCARC
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_objcarc_SRC_FILES)
-+LOCAL_MODULE:= libLLVMTransformObjCARC
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Transforms/Scalar/Android.mk b/lib/Transforms/Scalar/Android.mk
-new file mode 100644
-index 0000000..3894f93
---- /dev/null
-+++ b/lib/Transforms/Scalar/Android.mk
-@@ -0,0 +1,73 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+transforms_scalar_SRC_FILES := \
-+  ADCE.cpp \
-+  ConstantProp.cpp \
-+  ConstantHoisting.cpp \
-+  CorrelatedValuePropagation.cpp \
-+  DCE.cpp \
-+  DeadStoreElimination.cpp \
-+  EarlyCSE.cpp \
-+  GlobalMerge.cpp \
-+  GVN.cpp \
-+  IndVarSimplify.cpp \
-+  JumpThreading.cpp \
-+  LICM.cpp \
-+  LoopDeletion.cpp \
-+  LoopIdiomRecognize.cpp \
-+  LoopInstSimplify.cpp \
-+  LoopRerollPass.cpp \
-+  LoopRotation.cpp \
-+  LoopStrengthReduce.cpp \
-+  LoopUnrollPass.cpp \
-+  LoopUnswitch.cpp \
-+  LowerAtomic.cpp \
-+  MemCpyOptimizer.cpp \
-+  PartiallyInlineLibCalls.cpp \
-+  Reassociate.cpp \
-+  Reg2Mem.cpp \
-+  SCCP.cpp \
-+  SROA.cpp \
-+  SampleProfile.cpp \
-+  Scalar.cpp \
-+  Scalarizer.cpp \
-+  ScalarReplAggregates.cpp \
-+  SimplifyCFGPass.cpp \
-+  Sink.cpp \
-+  StructurizeCFG.cpp \
-+  TailRecursionElimination.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES :=    \
-+      $(transforms_scalar_SRC_FILES)
-+
-+LOCAL_MODULE:= libLLVMScalarOpts
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_scalar_SRC_FILES)
-+LOCAL_MODULE:= libLLVMScalarOpts
-+
-+# Override the default optimization level to work around a SIGSEGV
-+# on x86 target builds for SROA.cpp.
-+# Bug: 8047767
-+LOCAL_CFLAGS_x86 += -O1
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Transforms/Utils/Android.mk b/lib/Transforms/Utils/Android.mk
-new file mode 100644
-index 0000000..ab4d8a8
---- /dev/null
-+++ b/lib/Transforms/Utils/Android.mk
-@@ -0,0 +1,66 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+transforms_utils_SRC_FILES := \
-+  AddDiscriminators.cpp \
-+  ASanStackFrameLayout.cpp \
-+  BasicBlockUtils.cpp \
-+  BreakCriticalEdges.cpp \
-+  BuildLibCalls.cpp \
-+  BypassSlowDivision.cpp \
-+  CloneFunction.cpp \
-+  CloneModule.cpp \
-+  CmpInstAnalysis.cpp \
-+  CodeExtractor.cpp \
-+  DemoteRegToStack.cpp \
-+  GlobalStatus.cpp \
-+  InlineFunction.cpp \
-+  InstructionNamer.cpp \
-+  LCSSA.cpp \
-+  Local.cpp \
-+  LoopSimplify.cpp \
-+  LoopUnroll.cpp \
-+  LoopUnrollRuntime.cpp \
-+  LowerExpectIntrinsic.cpp \
-+  LowerInvoke.cpp \
-+  LowerSwitch.cpp \
-+  Mem2Reg.cpp \
-+  MetaRenamer.cpp \
-+  ModuleUtils.cpp \
-+  PromoteMemoryToRegister.cpp \
-+  SSAUpdater.cpp \
-+  SimplifyCFG.cpp \
-+  SimplifyIndVar.cpp \
-+  SimplifyInstructions.cpp \
-+  SimplifyLibCalls.cpp \
-+  SpecialCaseList.cpp \
-+  UnifyFunctionExitNodes.cpp \
-+  Utils.cpp \
-+  ValueMapper.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_utils_SRC_FILES)
-+LOCAL_MODULE:= libLLVMTransformUtils
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_utils_SRC_FILES)
-+LOCAL_MODULE:= libLLVMTransformUtils
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/lib/Transforms/Vectorize/Android.mk b/lib/Transforms/Vectorize/Android.mk
-new file mode 100644
-index 0000000..ea090c0
---- /dev/null
-+++ b/lib/Transforms/Vectorize/Android.mk
-@@ -0,0 +1,35 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+transforms_vectorize_SRC_FILES := \
-+  BBVectorize.cpp \
-+  LoopVectorize.cpp \
-+  SLPVectorizer.cpp \
-+  Vectorize.cpp
-+
-+# For the host
-+# =====================================================
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_vectorize_SRC_FILES)
-+LOCAL_MODULE:= libLLVMVectorize
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_STATIC_LIBRARY)
-+
-+# For the device
-+# =====================================================
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_SRC_FILES := $(transforms_vectorize_SRC_FILES)
-+LOCAL_MODULE:= libLLVMVectorize
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_STATIC_LIBRARY)
-+endif
-diff --git a/llvm-device-build.mk b/llvm-device-build.mk
-new file mode 100644
-index 0000000..7464c98
---- /dev/null
-+++ b/llvm-device-build.mk
-@@ -0,0 +1,79 @@
-+LOCAL_MODULE_TARGET_ARCH := $(LLVM_SUPPORTED_ARCH)
-+
-+LOCAL_CLANG := true
-+
-+LOCAL_CFLAGS :=       \
-+      -D_GNU_SOURCE   \
-+      -D__STDC_LIMIT_MACROS   \
-+      -D__STDC_CONSTANT_MACROS        \
-+      -D__STDC_FORMAT_MACROS  \
-+      -O2     \
-+      -fomit-frame-pointer    \
-+      -Wall   \
-+      -W      \
-+      -Wno-unused-parameter   \
-+      -Wwrite-strings \
-+        -Dsprintf=sprintf \
-+      $(LOCAL_CFLAGS)
-+
-+# The three inline options together reduce libbcc.so almost 1MB.
-+# We move them from global build/core/combo/TARGET_linux-arm.mk
-+# to here.
-+LOCAL_CFLAGS := -DANDROID_TARGET_BUILD \
-+              -finline-functions \
-+              $(LOCAL_CFLAGS)
-+
-+ifeq ($(TARGET_BUILD_VARIANT),eng)
-+LOCAL_CFLAGS := -DANDROID_ENGINEERING_BUILD \
-+                $(LOCAL_CFLAGS)
-+endif
-+
-+ifeq ($(LLVM_ENABLE_ASSERTION),true)
-+LOCAL_CFLAGS :=       \
-+      $(LOCAL_CFLAGS) \
-+      -D_DEBUG        \
-+      -UNDEBUG
-+endif
-+
-+ifneq ($(REQUIRES_EH),1)
-+LOCAL_CFLAGS +=       -fno-exceptions
-+else
-+# No action. The device target should not have exception enabled since bionic
-+# doesn't support it
-+REQUIRES_EH := 0
-+endif
-+
-+ifneq ($(REQUIRES_RTTI),1)
-+LOCAL_CPPFLAGS +=     -fno-rtti
-+else
-+REQUIRES_RTTI := 0
-+endif
-+
-+LOCAL_CPPFLAGS :=     \
-+      $(LOCAL_CPPFLAGS)       \
-+      -Woverloaded-virtual    \
-+      -Wno-sign-promo
-+
-+# Make sure bionic is first so we can include system headers.
-+LOCAL_C_INCLUDES :=   \
-+      bionic \
-+      external/stlport/stlport \
-+      $(LLVM_ROOT_PATH)       \
-+      $(LLVM_ROOT_PATH)/include       \
-+      $(LLVM_ROOT_PATH)/device/include        \
-+      $(LOCAL_C_INCLUDES)
-+
-+###########################################################
-+## Commands for running tblgen to compile a td file
-+###########################################################
-+define transform-device-td-to-out
-+@mkdir -p $(dir $@)
-+@echo "Device TableGen (gen-$(1)): $(TBLGEN_LOCAL_MODULE) <= $<"
-+$(hide) $(TBLGEN) \
-+      -I $(dir $<)    \
-+      -I $(LLVM_ROOT_PATH)/include    \
-+      -I $(LLVM_ROOT_PATH)/device/include     \
-+      -I $(LLVM_ROOT_PATH)/lib/Target \
-+    -gen-$(strip $(1)) \
-+    -o $@ $<
-+endef
-diff --git a/llvm-gen-intrinsics.mk b/llvm-gen-intrinsics.mk
-new file mode 100644
-index 0000000..358027b
---- /dev/null
-+++ b/llvm-gen-intrinsics.mk
-@@ -0,0 +1,19 @@
-+# We treat Intrinsics.td as a very special target just like what lib/VMCore/Makefile does
-+INTRINSICTD := $(LLVM_ROOT_PATH)/include/llvm/IR/Intrinsics.td
-+INTRINSICTDS := $(wildcard $(dir $(INTRINSICTD))/Intrinsics*.td)
-+
-+LOCAL_SRC_FILES := $(INTRINSICTD) $(LOCAL_SRC_FILES)
-+
-+ifeq ($(LOCAL_MODULE_CLASS),)
-+      LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-+endif
-+
-+GENFILE := $(addprefix $(call local-generated-sources-dir)/llvm/IR/,Intrinsics.gen)
-+LOCAL_GENERATED_SOURCES += $(GENFILE)
-+$(GENFILE): TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(GENFILE): $(INTRINSICTD) $(INTRINSICTDS) | $(TBLGEN)
-+ifeq ($(LOCAL_IS_HOST_MODULE),true)
-+      $(call transform-host-td-to-out,intrinsic)
-+else
-+      $(call transform-device-td-to-out,intrinsic)
-+endif
-diff --git a/llvm-host-build.mk b/llvm-host-build.mk
-new file mode 100644
-index 0000000..7e96615
---- /dev/null
-+++ b/llvm-host-build.mk
-@@ -0,0 +1,64 @@
-+LOCAL_CLANG := true
-+
-+LOCAL_CFLAGS +=       \
-+      -D_GNU_SOURCE   \
-+      -D__STDC_LIMIT_MACROS   \
-+      -O2     \
-+      -fomit-frame-pointer    \
-+      -Wall   \
-+      -W      \
-+      -Wno-unused-parameter   \
-+      -Wwrite-strings \
-+        -Dsprintf=sprintf \
-+      $(LOCAL_CFLAGS)
-+
-+ifeq ($(LLVM_ENABLE_ASSERTION),true)
-+LOCAL_CFLAGS :=       \
-+      $(LOCAL_CFLAGS) \
-+      -D_DEBUG        \
-+      -UNDEBUG
-+endif
-+
-+ifneq ($(REQUIRES_EH),1)
-+LOCAL_CFLAGS += -fno-exceptions
-+else
-+REQUIRES_EH := 0
-+LOCAL_CFLAGS += -fexceptions
-+endif
-+
-+ifneq ($(REQUIRES_RTTI),1)
-+LOCAL_CPPFLAGS += -fno-rtti
-+else
-+REQUIRES_RTTI := 0
-+endif
-+
-+LOCAL_CPPFLAGS :=     \
-+      $(LOCAL_CPPFLAGS)       \
-+      -Woverloaded-virtual    \
-+      -Wno-sign-promo         \
-+      -std=c++11
-+
-+# Make sure bionic is first so we can include system headers.
-+LOCAL_C_INCLUDES :=   \
-+      $(LLVM_ROOT_PATH)       \
-+      $(LLVM_ROOT_PATH)/include       \
-+      $(LLVM_ROOT_PATH)/host/include  \
-+      $(LOCAL_C_INCLUDES)
-+
-+LOCAL_IS_HOST_MODULE := true
-+
-+###########################################################
-+## Commands for running tblgen to compile a td file
-+###########################################################
-+define transform-host-td-to-out
-+@mkdir -p $(dir $@)
-+@echo "Host TableGen: $(TBLGEN_LOCAL_MODULE) (gen-$(1)) <= $<"
-+$(hide) $(TBLGEN) \
-+      -I $(dir $<)    \
-+      -I $(LLVM_ROOT_PATH)/include    \
-+      -I $(LLVM_ROOT_PATH)/host/include       \
-+      -I $(LLVM_ROOT_PATH)/lib/Target \
-+      $(if $(strip $(CLANG_ROOT_PATH)),-I $(CLANG_ROOT_PATH)/include,)        \
-+      -gen-$(strip $(1))      \
-+      -o $@ $<
-+endef
-diff --git a/llvm-tblgen-rules.mk b/llvm-tblgen-rules.mk
-new file mode 100644
-index 0000000..0746e8b
---- /dev/null
-+++ b/llvm-tblgen-rules.mk
-@@ -0,0 +1,208 @@
-+###########################################################
-+## Commands for running tblgen to compile a td file
-+##########################################################
-+define transform-td-to-out
-+$(if $(LOCAL_IS_HOST_MODULE), \
-+      $(call transform-host-td-to-out,$(1)),  \
-+      $(call transform-device-td-to-out,$(1)))
-+endef
-+
-+###########################################################
-+## TableGen: Compile .td files to .inc.
-+###########################################################
-+
-+# Set LOCAL_MODULE_CLASS to STATIC_LIBRARIES default (require
-+# for macro local-generated-sources-dir)
-+ifeq ($(LOCAL_MODULE_CLASS),)
-+      LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-+endif
-+
-+ifneq ($(strip $(TBLGEN_TABLES)),)
-+
-+generated_sources := $(call local-generated-sources-dir)
-+tblgen_gen_tables := $(addprefix $(generated_sources)/,$(TBLGEN_TABLES))
-+LOCAL_GENERATED_SOURCES += $(tblgen_gen_tables)
-+
-+tblgen_source_dir := $(LOCAL_PATH)
-+ifneq ($(TBLGEN_TD_DIR),)
-+tblgen_source_dir := $(TBLGEN_TD_DIR)
-+endif
-+
-+ifneq (,$(filter $(tblgen_source_dir),MCTargetDesc))
-+tblgen_td_deps := $(tblgen_source_dir)/../*.td
-+else
-+tblgen_td_deps := $(tblgen_source_dir)/*.td
-+endif
-+tblgen_td_deps := $(wildcard $(tblgen_td_deps))
-+
-+#
-+# The directory and the .td directory is not the same.
-+#
-+ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/ARM/MCTargetDesc)
-+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \
-+                                       $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out, register-info)
-+
-+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \
-+                                    $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,instr-info)
-+
-+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \
-+                                        $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,subtarget)
-+endif
-+
-+ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/X86/MCTargetDesc)
-+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \
-+                                       $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out, register-info)
-+
-+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \
-+                                    $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,instr-info)
-+
-+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \
-+                                        $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,subtarget)
-+endif
-+
-+ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/Mips/MCTargetDesc)
-+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \
-+                                       $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out, register-info)
-+
-+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \
-+                                    $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,instr-info)
-+
-+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \
-+                                        $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,subtarget)
-+endif
-+
-+
-+ifneq ($(filter %GenRegisterInfo.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/%.td \
-+                                       $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,register-info)
-+endif
-+
-+ifneq ($(filter %GenInstrInfo.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/%.td \
-+                                    $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,instr-info)
-+endif
-+
-+ifneq ($(filter %GenAsmWriter.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenAsmWriter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenAsmWriter.inc: $(tblgen_source_dir)/%.td \
-+                                    $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,asm-writer)
-+endif
-+
-+ifneq ($(filter %GenAsmWriter1.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenAsmWriter1.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenAsmWriter1.inc: $(tblgen_source_dir)/%.td \
-+                                     $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,asm-writer -asmwriternum=1)
-+endif
-+
-+ifneq ($(filter %GenAsmMatcher.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenAsmMatcher.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenAsmMatcher.inc: $(tblgen_source_dir)/%.td \
-+                                     $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,asm-matcher)
-+endif
-+
-+ifneq ($(filter %GenCodeEmitter.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenCodeEmitter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenCodeEmitter.inc: $(tblgen_source_dir)/%.td \
-+                                      $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,emitter)
-+endif
-+
-+ifneq ($(filter %GenMCCodeEmitter.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenMCCodeEmitter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenMCCodeEmitter.inc: $(tblgen_source_dir)/%.td \
-+                                        $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,emitter -mc-emitter)
-+endif
-+
-+ifneq ($(filter %GenMCPseudoLowering.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenMCPseudoLowering.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenMCPseudoLowering.inc: $(tblgen_source_dir)/%.td \
-+                                           $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,pseudo-lowering)
-+endif
-+
-+ifneq ($(filter %GenDAGISel.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenDAGISel.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenDAGISel.inc: $(tblgen_source_dir)/%.td \
-+                                  $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,dag-isel)
-+endif
-+
-+ifneq ($(filter %GenDisassemblerTables.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenDisassemblerTables.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenDisassemblerTables.inc: $(tblgen_source_dir)/%.td \
-+                                             $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,disassembler)
-+endif
-+
-+ifneq ($(filter %GenEDInfo.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenEDInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenEDInfo.inc: $(tblgen_source_dir)/%.td \
-+                                 $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,enhanced-disassembly-info)
-+endif
-+
-+ifneq ($(filter %GenFastISel.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenFastISel.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenFastISel.inc: $(tblgen_source_dir)/%.td \
-+                                   $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,fast-isel)
-+endif
-+
-+ifneq ($(filter %GenSubtargetInfo.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/%.td \
-+                                        $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,subtarget)
-+endif
-+
-+ifneq ($(filter %GenCallingConv.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenCallingConv.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenCallingConv.inc: $(tblgen_source_dir)/%.td \
-+                                      $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,callingconv)
-+endif
-+
-+ifneq ($(filter %GenIntrinsics.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/%GenIntrinsics.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/%GenIntrinsics.inc: $(tblgen_source_dir)/%.td \
-+                                     $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,tgt_intrinsics)
-+endif
-+
-+ifneq ($(findstring ARMGenDecoderTables.inc,$(tblgen_gen_tables)),)
-+$(generated_sources)/ARMGenDecoderTables.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
-+$(generated_sources)/ARMGenDecoderTables.inc: $(tblgen_source_dir)/ARM.td \
-+                                          $(tblgen_td_deps) | $(TBLGEN)
-+      $(call transform-td-to-out,arm-decoder)
-+endif
-+
-+# Reset local variables
-+tblgen_td_deps :=
-+
-+endif
-diff --git a/llvm.mk b/llvm.mk
-new file mode 100644
-index 0000000..073ceb7
---- /dev/null
-+++ b/llvm.mk
-@@ -0,0 +1,11 @@
-+ifeq ($(LLVM_ROOT_PATH),)
-+$(error Must set variable LLVM_ROOT_PATH before including this! $(LOCAL_PATH))
-+endif
-+
-+CLEAR_TBLGEN_VARS := $(LLVM_ROOT_PATH)/clear_tblgen_vars.mk
-+LLVM_HOST_BUILD_MK := $(LLVM_ROOT_PATH)/llvm-host-build.mk
-+LLVM_DEVICE_BUILD_MK := $(LLVM_ROOT_PATH)/llvm-device-build.mk
-+LLVM_GEN_INTRINSICS_MK := $(LLVM_ROOT_PATH)/llvm-gen-intrinsics.mk
-+LLVM_TBLGEN_RULES_MK := $(LLVM_ROOT_PATH)/llvm-tblgen-rules.mk
-+
-+LLVM_SUPPORTED_ARCH := arm arm64 mips x86 x86_64
-diff --git a/shared_llvm.mk b/shared_llvm.mk
-new file mode 100644
-index 0000000..f4be822
---- /dev/null
-+++ b/shared_llvm.mk
-@@ -0,0 +1,137 @@
-+# Don't build the library in unbundled branches.
-+ifeq (,$(TARGET_BUILD_APPS))
-+
-+LOCAL_PATH:= $(call my-dir)
-+
-+llvm_pre_static_libraries := \
-+  libLLVMLinker \
-+  libLLVMipo \
-+  libLLVMIRReader \
-+  libLLVMBitWriter \
-+  libLLVMBitReader
-+
-+llvm_arm_static_libraries := \
-+  libLLVMARMCodeGen \
-+  libLLVMARMAsmParser \
-+  libLLVMARMAsmPrinter \
-+  libLLVMARMInfo \
-+  libLLVMARMDesc \
-+  libLLVMARMDisassembler
-+
-+llvm_x86_static_libraries := \
-+  libLLVMX86CodeGen \
-+  libLLVMX86Info \
-+  libLLVMX86Desc \
-+  libLLVMX86AsmParser \
-+  libLLVMX86AsmPrinter \
-+  libLLVMX86Utils \
-+  libLLVMX86Disassembler
-+
-+llvm_mips_static_libraries := \
-+  libLLVMMipsCodeGen \
-+  libLLVMMipsInfo \
-+  libLLVMMipsDesc \
-+  libLLVMMipsAsmParser \
-+  libLLVMMipsAsmPrinter \
-+  libLLVMMipsDisassembler
-+
-+llvm_arm64_static_libraries := \
-+  libLLVMARM64CodeGen \
-+  libLLVMARM64Info \
-+  libLLVMARM64Desc \
-+  libLLVMARM64AsmParser \
-+  libLLVMARM64AsmPrinter \
-+  libLLVMARM64Utils \
-+  libLLVMARM64Disassembler
-+
-+llvm_post_static_libraries := \
-+  libLLVMAsmPrinter \
-+  libLLVMSelectionDAG \
-+  libLLVMCodeGen \
-+  libLLVMObject \
-+  libLLVMScalarOpts \
-+  libLLVMInstCombine \
-+  libLLVMInstrumentation \
-+  libLLVMTransformObjCARC \
-+  libLLVMTransformUtils \
-+  libLLVMipa \
-+  libLLVMAnalysis \
-+  libLLVMTarget \
-+  libLLVMMC \
-+  libLLVMMCParser \
-+  libLLVMCore \
-+  libLLVMAsmParser \
-+  libLLVMOption \
-+  libLLVMSupport \
-+  libLLVMVectorize
-+
-+llvm_host_static_libraries := \
-+  libLLVMExecutionEngine \
-+  libLLVMMCDisassembler \
-+  libLLVMRuntimeDyld \
-+  libLLVMJIT \
-+  libLLVMMCJIT
-+
-+ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS))
-+# HOST LLVM shared library build
-+include $(CLEAR_VARS)
-+LOCAL_IS_HOST_MODULE := true
-+
-+LOCAL_MODULE:= libLLVM
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+# Host build pulls in all ARM, Mips, X86 components.
-+LOCAL_WHOLE_STATIC_LIBRARIES := \
-+  $(llvm_pre_static_libraries) \
-+  $(llvm_arm_static_libraries) \
-+  $(llvm_x86_static_libraries) \
-+  $(llvm_mips_static_libraries) \
-+  $(llvm_arm64_static_libraries) \
-+  $(llvm_host_static_libraries) \
-+  $(llvm_post_static_libraries)
-+
-+ifeq ($(HOST_OS),windows)
-+  LOCAL_LDLIBS := -limagehlp -lpsapi
-+else
-+  LOCAL_LDLIBS := -ldl -lpthread
-+endif
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_SHARED_LIBRARY)
-+endif
-+
-+ifeq (,$(filter $(TARGET_ARCH),$(LLVM_SUPPORTED_ARCH)))
-+$(warning TODO $(TARGET_ARCH): Enable llvm build)
-+endif
-+
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+# DEVICE LLVM shared library build
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE:= libLLVM
-+
-+LOCAL_MODULE_TAGS := optional
-+
-+# Device build selectively pulls in ARM, Mips, X86 components.
-+LOCAL_WHOLE_STATIC_LIBRARIES := \
-+  $(llvm_pre_static_libraries)
-+
-+LOCAL_WHOLE_STATIC_LIBRARIES_arm += $(llvm_arm_static_libraries)
-+LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_x86_static_libraries)
-+LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_x86_static_libraries)
-+LOCAL_WHOLE_STATIC_LIBRARIES_mips += $(llvm_mips_static_libraries)
-+LOCAL_WHOLE_STATIC_LIBRARIES_arm64 += $(llvm_arm64_static_libraries)
-+
-+LOCAL_WHOLE_STATIC_LIBRARIES += $(llvm_post_static_libraries)
-+
-+#LOCAL_LDLIBS := -ldl -lpthread
-+LOCAL_SHARED_LIBRARIES := libcutils libdl libstlport
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(BUILD_SHARED_LIBRARY)
-+
-+endif
-+
-+endif # don't build in unbundled branches
-+
-diff --git a/tools/llc/Android.mk b/tools/llc/Android.mk
-new file mode 100644
-index 0000000..b9d4b74
---- /dev/null
-+++ b/tools/llc/Android.mk
-@@ -0,0 +1,136 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
-+
-+
-+#===---------------------------------------------------------------===
-+# llc command line tool (common)
-+#===---------------------------------------------------------------===
-+
-+llvm_llc_SRC_FILES := \
-+  llc.cpp
-+
-+llvm_llc_mips_STATIC_LIBRARIES := \
-+  libLLVMMipsAsmParser \
-+  libLLVMMipsInfo \
-+  libLLVMMipsCodeGen \
-+  libLLVMMipsDesc \
-+  libLLVMMipsAsmPrinter \
-+
-+llvm_llc_x86_STATIC_LIBRARIES := \
-+  libLLVMX86Info \
-+  libLLVMX86AsmParser \
-+  libLLVMX86CodeGen \
-+  libLLVMX86Disassembler \
-+  libLLVMX86Desc \
-+  libLLVMX86AsmPrinter \
-+  libLLVMX86Utils
-+
-+llvm_llc_arm_STATIC_LIBRARIES := \
-+  libLLVMARMCodeGen \
-+  libLLVMARMDisassembler \
-+  libLLVMARMAsmParser \
-+  libLLVMARMAsmPrinter \
-+  libLLVMARMDesc \
-+  libLLVMARMInfo
-+
-+llvm_llc_STATIC_LIBRARIES := \
-+  libLLVMAsmPrinter \
-+  libLLVMIRReader \
-+  libLLVMAsmParser \
-+  libLLVMBitReader \
-+  libLLVMBitWriter \
-+  libLLVMSelectionDAG \
-+  libLLVMInstCombine \
-+  libLLVMInstrumentation \
-+  libLLVMCodeGen \
-+  libLLVMObject \
-+  libLLVMipo \
-+  libLLVMipa \
-+  libLLVMLinker \
-+  libLLVMMC \
-+  libLLVMMCParser \
-+  libLLVMScalarOpts \
-+  libLLVMTransformUtils \
-+  libLLVMVectorize \
-+  libLLVMAnalysis \
-+  libLLVMTarget \
-+  libLLVMCore \
-+  libLLVMSupport
-+
-+llvm_llc_arm64_STATIC_LIBRARIES := \
-+  libLLVMARM64Info \
-+  libLLVMARM64AsmParser \
-+  libLLVMARM64CodeGen \
-+  libLLVMARM64Disassembler \
-+  libLLVMARM64Desc \
-+  libLLVMARM64AsmPrinter \
-+  libLLVMARM64Utils
-+
-+
-+
-+#===---------------------------------------------------------------===
-+# llc command line tool (host)
-+#===---------------------------------------------------------------===
-+
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := llc
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_MODULE_CLASS := EXECUTABLES
-+LOCAL_IS_HOST_MODULE := true
-+
-+LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES)
-+
-+LOCAL_STATIC_LIBRARIES := \
-+  $(llvm_llc_arm_STATIC_LIBRARIES) \
-+  $(llvm_llc_mips_STATIC_LIBRARIES) \
-+  $(llvm_llc_x86_STATIC_LIBRARIES) \
-+  $(llvm_llc_arm64_STATIC_LIBRARIES) \
-+  $(llvm_llc_STATIC_LIBRARIES)
-+
-+LOCAL_LDLIBS += -lpthread -lm -ldl
-+LOCAL_C_INCLUDES += external/llvm/include
-+
-+include $(LLVM_ROOT_PATH)/llvm.mk
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_EXECUTABLE)
-+
-+
-+#===---------------------------------------------------------------===
-+# llc command line tool (target)
-+#===---------------------------------------------------------------===
-+
-+ifeq (,$(filter $(TARGET_ARCH),$(LLVM_SUPPORTED_ARCH)))
-+$(warning TODO $(TARGET_ARCH): Enable llc build)
-+endif
-+
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := llc
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_MODULE_CLASS := EXECUTABLES
-+
-+LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES)
-+LOCAL_C_INCLUDES += external/llvm/include
-+
-+LOCAL_STATIC_LIBRARIES_arm := $(llvm_llc_arm_STATIC_LIBRARIES)
-+LOCAL_STATIC_LIBRARIES_mips := $(llvm_llc_mips_STATIC_LIBRARIES)
-+LOCAL_STATIC_LIBRARIES_x86 := $(llvm_llc_x86_STATIC_LIBRARIES)
-+LOCAL_STATIC_LIBRARIES_x86_64 := $(llvm_llc_x86_STATIC_LIBRARIES)
-+LOCAL_STATIC_LIBRARIES_arm64 := $(llvm_llc_arm64_STATIC_LIBRARIES)
-+
-+LOCAL_STATIC_LIBRARIES += $(llvm_llc_STATIC_LIBRARIES)
-+
-+LOCAL_SHARED_LIBRARIES :=  \
-+  libcutils  \
-+  libdl  \
-+  libstlport
-+
-+include $(LLVM_ROOT_PATH)/llvm.mk
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_EXECUTABLE)
-+endif
-diff --git a/tools/llvm-as/Android.mk b/tools/llvm-as/Android.mk
-new file mode 100644
-index 0000000..e58868b
---- /dev/null
-+++ b/tools/llvm-as/Android.mk
-@@ -0,0 +1,28 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+llvm_as_SRC_FILES := \
-+  llvm-as.cpp
-+
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := llvm-as
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(llvm_as_SRC_FILES)
-+LOCAL_LDLIBS += -lm
-+ifdef USE_MINGW
-+LOCAL_LDLIBS += -limagehlp
-+else
-+LOCAL_LDLIBS += -lpthread -ldl
-+endif
-+
-+REQUIRES_EH := 1
-+REQUIRES_RTTI := 1
-+
-+LOCAL_STATIC_LIBRARIES := \
-+  libLLVMAsmParser \
-+  libLLVMBitWriter \
-+  libLLVMCore \
-+  libLLVMSupport
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_EXECUTABLE)
-diff --git a/tools/llvm-dis/Android.mk b/tools/llvm-dis/Android.mk
-new file mode 100644
-index 0000000..22d44fd
---- /dev/null
-+++ b/tools/llvm-dis/Android.mk
-@@ -0,0 +1,25 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+llvm_dis_SRC_FILES := \
-+  llvm-dis.cpp
-+
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := llvm-dis
-+LOCAL_MODULE_CLASS := EXECUTABLES
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(llvm_dis_SRC_FILES)
-+LOCAL_LDLIBS += -lpthread -lm -ldl
-+
-+REQUIRES_EH := 1
-+REQUIRES_RTTI := 1
-+
-+LOCAL_STATIC_LIBRARIES := \
-+  libLLVMAnalysis \
-+  libLLVMBitReader \
-+  libLLVMCore \
-+  libLLVMSupport
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_EXECUTABLE)
-diff --git a/tools/llvm-link/Android.mk b/tools/llvm-link/Android.mk
-new file mode 100644
-index 0000000..e051492
---- /dev/null
-+++ b/tools/llvm-link/Android.mk
-@@ -0,0 +1,50 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+llvm_link_SRC_FILES := \
-+  llvm-link.cpp
-+
-+llvm_link_STATIC_LIBRARIES := \
-+  libLLVMLinker \
-+  libLLVMIRReader \
-+  libLLVMBitReader \
-+  libLLVMBitWriter \
-+  libLLVMAsmParser \
-+  libLLVMTransformUtils \
-+  libLLVMAnalysis \
-+  libLLVMTarget \
-+  libLLVMCore \
-+  libLLVMSupport
-+
-+#===---------------------------------------------------------------===
-+# llvm-link command line tool (host)
-+#===---------------------------------------------------------------===
-+
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := llvm-link
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(llvm_link_SRC_FILES)
-+LOCAL_STATIC_LIBRARIES := $(llvm_link_STATIC_LIBRARIES)
-+LOCAL_LDLIBS += -lpthread -lm -ldl
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_EXECUTABLE)
-+
-+#===---------------------------------------------------------------===
-+# llvm-link command line tool (target)
-+#===---------------------------------------------------------------===
-+
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := llvm-link
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(llvm_link_SRC_FILES)
-+LOCAL_STATIC_LIBRARIES := $(llvm_link_STATIC_LIBRARIES)
-+LOCAL_SHARED_LIBRARIES := \
-+  libcutils  \
-+  libstlport
-+
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(BUILD_EXECUTABLE)
-+endif
-diff --git a/tools/opt/Android.mk b/tools/opt/Android.mk
-new file mode 100644
-index 0000000..c5bb4f8
---- /dev/null
-+++ b/tools/opt/Android.mk
-@@ -0,0 +1,81 @@
-+LOCAL_PATH := $(call my-dir)
-+
-+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
-+
-+
-+#===---------------------------------------------------------------===
-+# opt command line tool (common)
-+#===---------------------------------------------------------------===
-+
-+llvm_opt_SRC_FILES := \
-+  AnalysisWrappers.cpp \
-+  GraphPrinters.cpp \
-+  PrintSCC.cpp \
-+  opt.cpp
-+
-+llvm_opt_STATIC_LIBRARIES := \
-+  libLLVMScalarOpts \
-+  libLLVMInstCombine \
-+  libLLVMInstrumentation \
-+  libLLVMMCParser \
-+  libLLVMMC \
-+  libLLVMAsmParser \
-+  libLLVMBitWriter \
-+  libLLVMBitReader \
-+  libLLVMipa \
-+  libLLVMipo \
-+  libLLVMTransformUtils \
-+  libLLVMVectorize \
-+  libLLVMAnalysis \
-+  libLLVMTarget \
-+  libLLVMCore \
-+  libLLVMSupport
-+
-+
-+#===---------------------------------------------------------------===
-+# opt command line tool (host)
-+#===---------------------------------------------------------------===
-+
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := opt
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_MODULE_CLASS := EXECUTABLES
-+LOCAL_IS_HOST_MODULE := true
-+
-+LOCAL_SRC_FILES := $(llvm_opt_SRC_FILES)
-+LOCAL_STATIC_LIBRARIES := $(llvm_opt_STATIC_LIBRARIES)
-+LOCAL_LDLIBS += -lpthread -lm -ldl
-+LOCAL_C_INCLUDES += external/llvm/include
-+
-+include $(LLVM_ROOT_PATH)/llvm.mk
-+include $(LLVM_HOST_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_HOST_EXECUTABLE)
-+
-+
-+#===---------------------------------------------------------------===
-+# opt command line tool (target)
-+#===---------------------------------------------------------------===
-+
-+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := opt
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_MODULE_CLASS := EXECUTABLES
-+
-+LOCAL_SRC_FILES := $(llvm_opt_SRC_FILES)
-+LOCAL_C_INCLUDES += external/llvm/include
-+LOCAL_STATIC_LIBRARIES := $(llvm_opt_STATIC_LIBRARIES)
-+LOCAL_SHARED_LIBRARIES :=  \
-+  libcutils  \
-+  libdl  \
-+  libstlport
-+
-+
-+include $(LLVM_ROOT_PATH)/llvm.mk
-+include $(LLVM_DEVICE_BUILD_MK)
-+include $(LLVM_GEN_INTRINSICS_MK)
-+include $(BUILD_EXECUTABLE)
-+endif
-diff --git a/utils/FileCheck/Android.mk b/utils/FileCheck/Android.mk
-new file mode 100644
-index 0000000..2c211cf
---- /dev/null
-+++ b/utils/FileCheck/Android.mk
-@@ -0,0 +1,23 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+filecheck_SRC_FILES := \
-+  FileCheck.cpp
-+
-+filecheck_STATIC_LIBRARIES := \
-+  libLLVMSupport
-+
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := FileCheck
-+LOCAL_SRC_FILES := $(filecheck_SRC_FILES)
-+LOCAL_STATIC_LIBRARIES := $(filecheck_STATIC_LIBRARIES)
-+LOCAL_C_INCLUDES += external/llvm/include
-+LOCAL_C_INCLUDES += external/llvm/host/include
-+LOCAL_LDLIBS += -lpthread -lm -ldl
-+LOCAL_CFLAGS += -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS
-+
-+#REQUIRES_EH := 1
-+#REQUIRES_RTTI := 1
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_EXECUTABLE)
-diff --git a/utils/TableGen/Android.mk b/utils/TableGen/Android.mk
-new file mode 100644
-index 0000000..8117672
---- /dev/null
-+++ b/utils/TableGen/Android.mk
-@@ -0,0 +1,58 @@
-+LOCAL_PATH:= $(call my-dir)
-+
-+tablegen_SRC_FILES := \
-+  AsmMatcherEmitter.cpp \
-+  AsmWriterEmitter.cpp \
-+  AsmWriterInst.cpp \
-+  CallingConvEmitter.cpp \
-+  CodeEmitterGen.cpp \
-+  CodeGenDAGPatterns.cpp \
-+  CodeGenInstruction.cpp \
-+  CodeGenMapTable.cpp \
-+  CodeGenRegisters.cpp \
-+  CodeGenSchedule.cpp \
-+  CodeGenTarget.cpp \
-+  CTagsEmitter.cpp \
-+  DAGISelEmitter.cpp \
-+  DAGISelMatcherEmitter.cpp \
-+  DAGISelMatcherGen.cpp \
-+  DAGISelMatcherOpt.cpp \
-+  DAGISelMatcher.cpp \
-+  DFAPacketizerEmitter.cpp \
-+  DisassemblerEmitter.cpp \
-+  FastISelEmitter.cpp \
-+  FixedLenDecoderEmitter.cpp \
-+  InstrInfoEmitter.cpp \
-+  IntrinsicEmitter.cpp \
-+  OptParserEmitter.cpp \
-+  PseudoLoweringEmitter.cpp \
-+  RegisterInfoEmitter.cpp \
-+  SetTheory.cpp \
-+  SubtargetEmitter.cpp \
-+  TableGen.cpp \
-+  X86DisassemblerTables.cpp \
-+  X86ModRMFilters.cpp \
-+  X86RecognizableInstr.cpp
-+
-+include $(CLEAR_VARS)
-+
-+LOCAL_MODULE := tblgen
-+LOCAL_MODULE_TAGS := optional
-+LOCAL_SRC_FILES := $(tablegen_SRC_FILES)
-+
-+REQUIRES_EH := 1
-+REQUIRES_RTTI := 1
-+
-+LOCAL_STATIC_LIBRARIES := \
-+  libLLVMTableGen \
-+  libLLVMSupport
-+
-+LOCAL_LDLIBS += -lm
-+ifeq ($(HOST_OS),windows)
-+  LOCAL_LDLIBS += -limagehlp -lpsapi
-+else
-+  LOCAL_LDLIBS += -lpthread -ldl
-+endif
-+
-+include $(LLVM_HOST_BUILD_MK)
-+include $(BUILD_HOST_EXECUTABLE)
--- 
-1.9.1.423.g4596e3a
-