1Updating RenderScript 2===================== 3 4Updating LLVM Libraries 5----------------------- 6 7Loop over llvm, clang, compiler-rt (in this order): 8 91. Do a squashed merge of *aosp/dev* to *aosp/master*. 10 11 repo start update . 12 git fetch aosp dev 13 git merge --squash aosp/dev 14 git commit -a 15 repo upload . 16 172. Test everything before submitting the patch from the previous step. 18 193. Grab the squashed commit and replay it in *aosp/dev*. 20 21 repo sync . 22 git remote update 23 git branch -D clean_master 24 git checkout -b clean_master aosp/master 25 git checkout working_dev 26 27 Use `-s ours` to ensure that we skip the squashed set of changes. 28 If/when we forget this, we have to do it later. 29 30 git merge -s ours clean_master 31 git push aosp refs/heads/working_dev:refs/heads/dev 32 git branch -D clean_master 33 344. Clean up after our working branch. 35 36 git checkout --detach 37 git branch -D working_dev 38 39This works better because we can keep full history in *aosp/dev*, while 40maintaining easy reverts/commits through *aosp/master*. 41 42 43Generating New Prebuilts 44------------------------ 45 461. Iteratively attempt to build the platform and fix any API differences in 47 frameworks/compile/slang, and/or frameworks/compile/libbcc. This may entail 48 updating the various snapshots of Bitcode Readers/Writers. 492. Update RenderScript prebuilts. 50 51 cd $ANDROID_BUILD_TOP/frameworks/rs 52 ./update_rs_prebuilts.sh 53 543. The prebuilts get copied to **prebuilts/sdk**, so we must upload the 55relevant bits from there. 56 57 cd $ANDROID_BUILD_TOP/prebuilts/sdk 58 git commit -a 59 repo upload . 60 614. Submit CLs. 62 63 64Testing Checklist 65----------------- 66 671. Go to **external/llvm** and run `./android_test.sh` (no known failures 68as of 2015-10-08). 692. Ensure successful build for all architectures: 32- and 64- bit ARM, x86 and 70Mips. 713. Run 32- and 64- bit RenderScript CTS at least for ARM and AArch64. 724. Test RenderScript apps: RsTest, ImageProcessing, and finally 73RSTest\_Compatlib in compatibility mode. 745. Test old APKs with rebased tools: grab the above apps from a different tree 75(i.e. without the rebase), push them to a device with the rebased tools, and 76test. 77This ensures that the rebased BitcodeReader can read the output of old 78BitcodeWriters. 796. Test new APKs on an old device: test freshly built APKs for 80RSTest\_V{11,14,16}, and ImageProcessing\_2 on an old device (say Manta) and 81ensure they pass. 82This ensures that the rebase did not break the 2.9 and 3.2 BitcodeWriters. 83 84 85Checklist for CLs 86----------------- 87 88The following projects will almost always have CLs as a part of the rebase. 89Depending on the changes in LLVM, there might be updates to other projects as 90well. 91 92* External projects 93 94 * **external/clang** 95 * **external/compiler-rt** 96 * **external/llvm** 97 * **frameworks/compile/mclinker** 98 99* RenderScript projects 100 101 * **frameworks/compile/libbcc** 102 * **frameworks/compile/slang** 103 * **frameworks/rs** 104 105* Prebuilts 106 * **prebuilts/sdk** 107 108* CTS tests 109 110 * **cts/tests/tests/renderscript** 111 * **cts/tests/tests/renderscriptlegacy** 112 * **cts/tests/tests/rscpp** 113