{"push_id":1073015446,"size":2,"distinct_size":0,"ref":"refs/heads/cmremix-mm","head":"b72f3d95143061efdda183f67a508c4b6443a368","before":"838568a28c7836a4423840fdcf58ee3b75a8ec15","commits":[{"sha":"33ae90b35e1a20471ed44bfe1373800f753133e0","author":{"email":"16a9a54ddf4259952e3c118c763138e83693d7fd@frap129.org","name":"Joe Maples"},"message":"DragonTC and Polly support\n\nTest 11\n\nTest 11:\n* Add modules to arm disable list\n* Use O3 for all modules\n* Revert exit-early change\n* Change per loop instructions in dtc source, not via flag\n* Only process profitable loops\n* Remove -lgomp from parallelization flags\n* Clean my_cflags to decrease conflicts and total argument size\n* Improve 3.9 compatibility for arm64 with more disables\nNOTE: Prebuilts must be updated to make use of some new optimizations.\n\nTest 10:\n* Fix typo\n* Do not exit early, regardless of clang version\n\nTest 9:\n* Remove arm.mk\n* Fix issue with DISABLE_DTC where -mcpu=krait2 causes errors\n* Add 3.9 support\n* Add arm64 modules that need to be disabled\n* Do not allow no-affine loops\n* Do not detect parallelization opportunities, all loops are parallelized by force\n* Use context when parallelizing to avoid mis-transformations and overflow\n* 3.7 and up no longer limit computed dependences and use value based dependences to prevent overaproximation\n* 3.8 and up now run Polly's new inliner to prepare loops for transformations\n* 3.8 and up now calculate profitablity based on instructions before loops. The minimal amount of instructions has ben set to 40 in order to avoid run-time regressions while exposing optimization opportunities\n* 3.8 and up now process loops that have been deemed unprofitable in hopes of finding unlikely optimization points\n* 3.8 and up now ignore the first analysis error to find more optimization opportunities\n* 3.8 and up have a max of 40 arrays, raised from 20, that can be taken into account when aliasing\n* 3.8 and up now have register tiling enabled\nNOTE: Old test commits must be reverted first due to reorganization in binary.mk\n\nTest 8:\n* Remove triple flags\n\nTest 7:\n* Add option to enable DragonTC on GCC modules\n* Make sure that the correct target triple is used (for arm64 errors)\n\nTest 6:\n* Add option to disable DTC for specific modules (for arm64 errors)\n* Use Polly Vectorizer instead of Strip-mining loops\n* Run Dead code elimination pass\n* Run Polly after loop optimizations on 3.8 to improve transformations\nNOTE: Prebuilts must be updated because of additions to DragonTC.mk\n\nTest 5:\n* Fix typo for disabling modules\n* Make separate disable lists for arm and arm64\nNOTE: LOCAL_DISABLE_POLLY does not have arch specific versions. This is because it should be in your device tree, so it shouldn't interfere.\n\nTest 4:\n* Make ARM mode off by default\n\nTest 3:\nHuge updates here folks, make sure to read if youve been following the test commits.\n* Toolchain directories can now be named whatver you want, just make sure to set TARGET_DRAGONTC_VERSION to the name in core/clang/config.mk.\n* A simplified SaberMod ARM mode is now bundled, which should improve performance and fix some errors with Polly.\n* AOSP Clang 3.6 is bundled in DragonTC, so you dont need prebuilts/clang/linux-x86/host/3.6 to be AOSP anymore.\n* The Krait2 flag now checks for DragonTC.\n* Exporting DISABLE_DTC_OPTS=true or adding it to a device tree disables Polly and ARM mode.\n\nThings to note:\n* If you used the previous test commits, you MUST revert those before cherry-picking this due to changes in binary.mk.\n* If you build your own prebuilts, you MUST sync DragonTC source and rebuild them before using this.\n* There is a new commit in frameworks/rs that you need to cherry-pick if you don't track ours.\n\nSigned-off-by: Joe Maples <joe@frap129.org>\n\nConflicts:\n\tcore/binary.mk\n\tcore/clang/arm.mk\n\tcore/clang/config.mk\n\tcore/dragontc.mk","distinct":false,"url":"https://api.github.com/repos/CMRemix/android_build/commits/33ae90b35e1a20471ed44bfe1373800f753133e0"},{"sha":"b72f3d95143061efdda183f67a508c4b6443a368","author":{"email":"e3619cd428cb558b77c5bbebbd7e2c172f95f24c@gmail.com","name":"Joe Maples"},"message":"DragonTC: Enable ThinLTO","distinct":false,"url":"https://api.github.com/repos/CMRemix/android_build/commits/b72f3d95143061efdda183f67a508c4b6443a368"}]}