18d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao/*
28d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao * README.android describes in high-level the LLVM changes that we cannot push
38d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao * upstream to the llvm.org repository:
48d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao *  - Changes due to Android's build system.
58d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao *  - Changes due to Android's toolchain.
68d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao *  - Changes due to the limitations in Android-based consumer electronics.
78d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao *
8d6a2e7d87f9dfd54ad5e480f62a839bf26ade59aShih-wei Liao * Some of them are to-dos. If and when they are done, there will no longer be
98d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao * merge conflicts with upstream on those parts.
108d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao *
11d6a2e7d87f9dfd54ad5e480f62a839bf26ade59aShih-wei Liao * The file contains useful hints when we try to resolve future 3-way merge
12d6a2e7d87f9dfd54ad5e480f62a839bf26ade59aShih-wei Liao * conflicts.
13d6a2e7d87f9dfd54ad5e480f62a839bf26ade59aShih-wei Liao */
148d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao
159dbeb69a345d12b15571769cfacf1d5e1a7ce378Stephen Hines* For Honeycomb: Synced to upstream r112344
1656e9baf7b6e7745a16b1b114f784027428f21d4bShih-wei Liao* For Honeycomb MR1: Synced to upstream r119309
1756e9baf7b6e7745a16b1b114f784027428f21d4bShih-wei Liao* For Honeycomb MR2: Synced to upstream r119309
18545506526ff4b6f82047ea71237576cb37296789Shih-wei Liao* For Ice Cream Sandwich: Synced to upstream r135569
19ac212abcc6d858470ad35ce7d660af0c1800364aShih-wei Liao* For Ice Cream Sandwich MR1: Synced to upstream r142530
20d010e1824491b73739b1a639b7e2805beeb71664Shih-wei Liao* For Ice Cream Sandwich MR2: Synced to upstream r146714
210bf048c82b95f4e0b3227d275a347436197cff7fShih-wei Liao* For Jellybean: Synced to upstream r155090
22d62cdbe700ab288e9ad447824066edb7d17167d9Stephen Hines* For Jellybean MR1: Synced to upstream r162314
23d212f3fdfcfd01d5bc24ac4614b7e23478432f80Stephen Hines* For Jellybean MR2: Synced to upstream r177342
24ead8d02a509cd69a74e01e4af90d8b237f30ed1cStephen Hines* For Key Lime Pie: Synced to upstream r187913
25a786d68e67b354d96a7bd445a5cb19f576f423d6Shih-wei Liao
26ead8d02a509cd69a74e01e4af90d8b237f30ed1cStephen Hines* Recent downstreaming on 2013/8/8: Synced to r187913 (Contact srhines for merge questions.)
279151f6474c0c3c696e75a12a605c48f54da4665fStephen Hines* Recent downstreaming on 2013/6/13: Synced to r183849 (Contact srhines for merge questions.)
289dbeb69a345d12b15571769cfacf1d5e1a7ce378Stephen Hines* Recent downstreaming on 2013/5/3: Synced to r180947 (Contact srhines for merge questions.)
29d212f3fdfcfd01d5bc24ac4614b7e23478432f80Stephen Hines* Recent downstreaming on 2013/3/18: Synced to r177342 (Contact srhines for merge questions.)
302123c1c0de9e6006dfffe9123b4b992703202e3eStephen Hines* Recent downstreaming on 2013/3/5: Synced to r176139 (Contact srhines for merge questions.)
312123c1c0de9e6006dfffe9123b4b992703202e3eStephen Hines* Recent downstreaming on 2013/1/8: Synced to r171905 (Contact srhines for merge questions.)
32d62cdbe700ab288e9ad447824066edb7d17167d9Stephen Hines* Recent downstreaming on 2012/8/23: Synced to r162314 (Contact srhines for merge questions.)
339398c35f34fa0cf72ce820da9fbf42ed5b80b376Shih-wei Liao* Recent downstreaming on 2012/8/3: Synced to r160668 (Contact sliao for merge questions.)
340aba94cf61c78ed346c4fa20ca4aecf3edf82951Stephen Hines* Cherry-pick on 2012/05/23: https://llvm.org/svn/llvm-project/llvm/trunk@157317 (Contact srhines for merge questions.)
350bf048c82b95f4e0b3227d275a347436197cff7fShih-wei Liao* Recent downstreaming on 2012/4/24: Synced to r155090 (Contact sliao for merge questions.)
36533017afd216baae235e11b154558a3759a9e875Shih-wei Liao* Recent downstreaming on 2012/3/24: Synced to r153224 (Contact sliao & srhines for merge questions.)
37d1acd051dd8446a013b6c35b4bfe64ec68417206Shih-wei Liao* Recent downstreaming on 2012/3/5: Synced to r152063 (Contact srhines & sliao for merge questions.)
38f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/12/17: Synced to r146714 (Contact loganchien & sliao for merge questions.)
39f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/11/26: Synced to r145126 (Contact loganchien & sliao for merge questions.)
40f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/11/17: Synced to r144606 (Contact loganchien & sliao for merge questions.)
41f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/11/14: Synced to r144354 (Contact srhines for merge questions.)
42f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/10/22: Synced to r142530 (Contact sliao & loganchien for merge questions.)
43f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/7/21:  Synced to r135569 (Contact sliao & loganchien for merge questions.)
44f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/7/19:  Synced to r135360 (Contact sliao for merge questions.)
45f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/7/2:   Synced to r134306 (Contact sliao for merge questions.)
46f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/6/30:  Synced to r133718 (Contact sliao for merge questions.)
47039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao  * This downstreaming could have broken bitcode compatibility
48039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao    * Upstream was migrating from 2.7 bitcode to 3.0 bitcode.
49039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao    * See the 4 commits on 2011/6/17:
50039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao    ==> * 4f6bab9 - Drop the "2" suffix on some enums. (13 days ago) <Chris Lattner>
51039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao    ==> * 96a74c5 - remove support for a bunch of obsolete instruction encodings and other backward compatibility hacks. (13 days ago) <Chris Lattner>
52039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao        * 738f05a - Remove a useless copy of MCELFStreamer. Patch by Logan Chien! (13 days ago) <Benjamin Kramer>
53039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao        * 981d826 - getSuccWeight returns now default 0 if Weights vector is empty. (13 days ago) <Jakub Staszak>
54039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao        * 799a58a55 - missed a file. (13 days ago) <Chris Lattner>
55039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao    ==> * 9d61dd9 - Remove some "2" suffixes from the metadata enums now that "1" is gone. (13 days ago) <Chris Lattner>
56039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao    ==> * 020a5a4 - remove bitcode reader support for LLVM 2.7 metadata encoding. (13 days ago) <Chris Lattner>
57039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao  * We maintain compatibility because Honeycomb SDK is out there.
58039a79eb418211573bada57ec3a1edf5a9d6071eShih-wei Liao    * Our bitcode reader can read both 2.7 and 3.0 versions. Writer is tracking upstream.
59f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/6/22:  Synced to r133240 (Contact sliao@ for merge questions.)
60f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/4/8:   Synced to r129128 (Contact sliao@ for merge questions.)
61f8718ea1f9203dbbbcf04d029f4e2e7bfc5bfed5Shih-wei Liao* Recent downstreaming on 2011/3/11:  Synced from r119309 to r127116 (Contact sliao@ for merge questions.)
6257da390bbc106b3afc38167b4886482492e78398Shih-wei Liao
638d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao* We add 40+ Android's *.mk files that are specific to Android's build system.
648d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao
658d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao* All the configuration files because we don't have configure/make/make-install
668d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao
678d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao* Changes for enabling both host and device builds.
688d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao
698d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao* All the tblgen work to enable Android to build a generator-generator binary
708d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao  and then run it in the middle of Android build process.
718d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao
72d6a2e7d87f9dfd54ad5e480f62a839bf26ade59aShih-wei Liao* Explicitly include <cctype> header since is*() are not builtin functions in
738d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei LiaoAndroid toolchain.
748d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao
758d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao* Code changes to make Android's toolchain stop outputting warnings. (This part
768d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao  should be pushed upstream eventually.)
778d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao
788d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao* lib/Target/{X86,ARM}/AsmPrinter/{X86,ARM}AsmPrinter.cpp
79d6a2e7d87f9dfd54ad5e480f62a839bf26ade59aShih-wei Liao   Move from lib/Target/{X86,ARM}/{X86,ARM}AsmPrinter.cpp.
80d6a2e7d87f9dfd54ad5e480f62a839bf26ade59aShih-wei Liao   AsmPrinter is only needed in Android when disassembly functionality
818d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao      is desired to be included.
828d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao
838d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao* Our ARM code generation fixes that upstream hasn't accepted yet. (This
848d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao  conflict will be resolved eventually, but there will always be time lag.)
858d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao
868d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao* Assorted size optimizations because Android-based consumer electronics
878d3892a530a26f66ead4fbfc4d36d3c8a917b295Shih-wei Liao  need them.
88