/*
 * README.android describes in high-level the LLVM changes that we cannot push
 * upstream to the llvm.org repository:
 *  - Changes due to Android's build system.
 *  - Changes due to Android's toolchain.
 *  - Changes due to the limitations in Android-based consumer electronics.
 *
 * Some of them are to-dos. If and when they are done, there will no longer be
 * merge conflicts with upstream on those parts.
 *
 * The file contains useful hints when we try to resolve future 3-way merge
 * conflicts.
 */

* For Honeycomb: Synced to upstream r112344.
* For Honeycomb MR1: Synced to upstream r119309
* For Honeycomb MR2: Synced to upstream r119309
* For Ice Cream Sandwich: Synced to upstream r135569

* Recent downstreaming on 2011/7/21: From r135360 to 135569 (Contact sliao & logan for merge questions.)
* Recent downstreaming on 2011/7/19: From r134306 to 135360 (Contact sliao for merge questions.)
* Recent downstreaming on 2011/7/2: From r133718 to 134306 (Contact sliao for merge questions.)
* Recent downstreaming on 2011/6/30: From r133240 to 133718 (Contact sliao for merge questions.)
  * This downstreaming could have broken bitcode compatibility
    * Upstream was migrating from 2.7 bitcode to 3.0 bitcode.
    * See the 4 commits on 2011/6/17:
    ==> * 4f6bab9 - Drop the "2" suffix on some enums. (13 days ago) <Chris Lattner>
    ==> * 96a74c5 - remove support for a bunch of obsolete instruction encodings and other backward compatibility hacks. (13 days ago) <Chris Lattner>
        * 738f05a - Remove a useless copy of MCELFStreamer. Patch by Logan Chien! (13 days ago) <Benjamin Kramer>
        * 981d826 - getSuccWeight returns now default 0 if Weights vector is empty. (13 days ago) <Jakub Staszak>
        * 799a58a55 - missed a file. (13 days ago) <Chris Lattner>
    ==> * 9d61dd9 - Remove some "2" suffixes from the metadata enums now that "1" is gone. (13 days ago) <Chris Lattner>
    ==> * 020a5a4 - remove bitcode reader support for LLVM 2.7 metadata encoding. (13 days ago) <Chris Lattner>
  * We maintain compatibility because Honeycomb SDK is out there.
    * Our bitcode reader can read both 2.7 and 3.0 versions. Writer is tracking upstream.
* Recent downstreaming on 2011/6/22: From r129128 to 133240 (Contact sliao@ for merge questions.)
* Recent downstreaming on 2011/4/8: From r127116 to 129128 (Contact sliao@ for merge questions.)
* Recent downstreaming on 2011/3/11: From r119309 to 127116 (Contact sliao@ for merge questions.)

* We add 40+ Android's *.mk files that are specific to Android's build system.

* All the configuration files because we don't have configure/make/make-install

* Changes for enabling both host and device builds.

* All the tblgen work to enable Android to build a generator-generator binary
  and then run it in the middle of Android build process.

* Explicitly include <cctype> header since is*() are not builtin functions in
Android toolchain.

* Code changes to make Android's toolchain stop outputting warnings. (This part
  should be pushed upstream eventually.)

* lib/Target/{X86,ARM}/AsmPrinter/{X86,ARM}AsmPrinter.cpp
   Move from lib/Target/{X86,ARM}/{X86,ARM}AsmPrinter.cpp.
   AsmPrinter is only needed in Android when disassembly functionality
      is desired to be included.

* Our ARM code generation fixes that upstream hasn't accepted yet. (This
  conflict will be resolved eventually, but there will always be time lag.)

* Assorted size optimizations because Android-based consumer electronics
  need them.