README.android revision 0aba94cf61c78ed346c4fa20ca4aecf3edf82951
1/*
2 * README.android describes in high-level the LLVM changes that we cannot push
3 * upstream to the llvm.org repository:
4 *  - Changes due to Android's build system.
5 *  - Changes due to Android's toolchain.
6 *  - Changes due to the limitations in Android-based consumer electronics.
7 *
8 * Some of them are to-dos. If and when they are done, there will no longer be
9 * merge conflicts with upstream on those parts.
10 *
11 * The file contains useful hints when we try to resolve future 3-way merge
12 * conflicts.
13 */
14
15* For Honeycomb: Synced to upstream r112344.
16* For Honeycomb MR1: Synced to upstream r119309
17* For Honeycomb MR2: Synced to upstream r119309
18* For Ice Cream Sandwich: Synced to upstream r135569
19* For Ice Cream Sandwich MR1: Synced to upstream r142530
20* For Ice Cream Sandwich MR2: Synced to upstream r146714
21* For Jellybean: Synced to upstream r155090
22
23* Cherry-pick on 2012/05/23: https://llvm.org/svn/llvm-project/llvm/trunk@157317 (Contact srhines for merge questions.)
24* Recent downstreaming on 2012/4/24: Synced to r155090 (Contact sliao for merge questions.)
25* Recent downstreaming on 2012/3/24: Synced to r153224 (Contact sliao & srhines for merge questions.)
26* Recent downstreaming on 2012/3/5: Synced to r152063 (Contact srhines & sliao for merge questions.)
27* Recent downstreaming on 2011/12/17: Synced to r146714 (Contact loganchien & sliao for merge questions.)
28* Recent downstreaming on 2011/11/26: Synced to r145126 (Contact loganchien & sliao for merge questions.)
29* Recent downstreaming on 2011/11/17: Synced to r144606 (Contact loganchien & sliao for merge questions.)
30* Recent downstreaming on 2011/11/14: Synced to r144354 (Contact srhines for merge questions.)
31* Recent downstreaming on 2011/10/22: Synced to r142530 (Contact sliao & loganchien for merge questions.)
32* Recent downstreaming on 2011/7/21:  Synced to r135569 (Contact sliao & loganchien for merge questions.)
33* Recent downstreaming on 2011/7/19:  Synced to r135360 (Contact sliao for merge questions.)
34* Recent downstreaming on 2011/7/2:   Synced to r134306 (Contact sliao for merge questions.)
35* Recent downstreaming on 2011/6/30:  Synced to r133718 (Contact sliao for merge questions.)
36  * This downstreaming could have broken bitcode compatibility
37    * Upstream was migrating from 2.7 bitcode to 3.0 bitcode.
38    * See the 4 commits on 2011/6/17:
39    ==> * 4f6bab9 - Drop the "2" suffix on some enums. (13 days ago) <Chris Lattner>
40    ==> * 96a74c5 - remove support for a bunch of obsolete instruction encodings and other backward compatibility hacks. (13 days ago) <Chris Lattner>
41        * 738f05a - Remove a useless copy of MCELFStreamer. Patch by Logan Chien! (13 days ago) <Benjamin Kramer>
42        * 981d826 - getSuccWeight returns now default 0 if Weights vector is empty. (13 days ago) <Jakub Staszak>
43        * 799a58a55 - missed a file. (13 days ago) <Chris Lattner>
44    ==> * 9d61dd9 - Remove some "2" suffixes from the metadata enums now that "1" is gone. (13 days ago) <Chris Lattner>
45    ==> * 020a5a4 - remove bitcode reader support for LLVM 2.7 metadata encoding. (13 days ago) <Chris Lattner>
46  * We maintain compatibility because Honeycomb SDK is out there.
47    * Our bitcode reader can read both 2.7 and 3.0 versions. Writer is tracking upstream.
48* Recent downstreaming on 2011/6/22:  Synced to r133240 (Contact sliao@ for merge questions.)
49* Recent downstreaming on 2011/4/8:   Synced to r129128 (Contact sliao@ for merge questions.)
50* Recent downstreaming on 2011/3/11:  Synced from r119309 to r127116 (Contact sliao@ for merge questions.)
51
52* We add 40+ Android's *.mk files that are specific to Android's build system.
53
54* All the configuration files because we don't have configure/make/make-install
55
56* Changes for enabling both host and device builds.
57
58* All the tblgen work to enable Android to build a generator-generator binary
59  and then run it in the middle of Android build process.
60
61* Explicitly include <cctype> header since is*() are not builtin functions in
62Android toolchain.
63
64* Code changes to make Android's toolchain stop outputting warnings. (This part
65  should be pushed upstream eventually.)
66
67* lib/Target/{X86,ARM}/AsmPrinter/{X86,ARM}AsmPrinter.cpp
68   Move from lib/Target/{X86,ARM}/{X86,ARM}AsmPrinter.cpp.
69   AsmPrinter is only needed in Android when disassembly functionality
70      is desired to be included.
71
72* Our ARM code generation fixes that upstream hasn't accepted yet. (This
73  conflict will be resolved eventually, but there will always be time lag.)
74
75* Assorted size optimizations because Android-based consumer electronics
76  need them.
77