de2d8694e25a814696358e95141f4b1aa4d8847e |
|
20-Sep-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r275480 Bug: http://b/31320715 This merges commit 7dcf7f03e005379ef2f06db96aa93f06186b66d5 from aosp/dev. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Iaf3738f74312d875e69f61d604ac058f381a2a1a
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
f3ef5332fa3f4d5ec72c178a2b19dac363a19383 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 Change-Id: I1f29c4676a8abe633ab5707dded58d846c973d50
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
ebe69fe11e48d322045d5949c83283927a0d790b |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
bebe48dbfe00078329341945bfb11f778ace6d12 |
|
17-Nov-2013 |
Hal Finkel <hfinkel@anl.gov> |
Add a loop rerolling pass This adds a loop rerolling pass: the opposite of (partial) loop unrolling. The transformation aims to take loops like this: for (int i = 0; i < 3200; i += 5) { a[i] += alpha * b[i]; a[i + 1] += alpha * b[i + 1]; a[i + 2] += alpha * b[i + 2]; a[i + 3] += alpha * b[i + 3]; a[i + 4] += alpha * b[i + 4]; } and turn them into this: for (int i = 0; i < 3200; ++i) { a[i] += alpha * b[i]; } and loops like this: for (int i = 0; i < 500; ++i) { x[3*i] = foo(0); x[3*i+1] = foo(0); x[3*i+2] = foo(0); } and turn them into this: for (int i = 0; i < 1500; ++i) { x[i] = foo(0); } There are two motivations for this transformation: 1. Code-size reduction (especially relevant, obviously, when compiling for code size). 2. Providing greater choice to the loop vectorizer (and generic unroller) to choose the unrolling factor (and a better ability to vectorize). The loop vectorizer can take vector lengths and register pressure into account when choosing an unrolling factor, for example, and a pre-unrolled loop limits that choice. This is especially problematic if the manual unrolling was optimized for a machine different from the current target. The current implementation is limited to single basic-block loops only. The rerolling recognition should work regardless of how the loop iterations are intermixed within the loop body (subject to dependency and side-effect constraints), but the significant restriction is that the order of the instructions in each iteration must be identical. This seems sufficient to capture all current use cases. This pass is not currently enabled by default at any optimization level. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
a8a7099c1849fcbb4a68642a292fd0250aa46505 |
|
23-Aug-2013 |
Richard Sandiford <rsandifo@linux.vnet.ibm.com> |
Turn MipsOptimizeMathLibCalls into a target-independent scalar transform ...so that it can be used for z too. Most of the code is the same. The only real change is to use TargetTransformInfo to test when a sqrt instruction is available. The pass is opt-in because at the moment it only handles sqrt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
6244b518880842f2c15200ee041e06799e4cc779 |
|
21-Mar-2012 |
Gregory Szorc <gregory.szorc@gmail.com> |
Organize LLVM C API docs into doxygen modules; add docs This gives a lot of love to the docs for the C API. Like Clang's documentation, the C API is now organized into a Doxygen "module" (LLVMC). Each C header file is a child of the main module. Some modules (like Core) have a hierarchy of there own. The produced documentation is thus better organized (before everything was in one monolithic list). This patch also includes a lot of new documentation for APIs in Core.h. It doesn't document them all, but is better than none. Function docs are missing @param and @return annotation, but the documentation body now commonly provides help details (like the expected llvm::Value sub-type to expect). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
0335a14ae771ce1793fb5401acfeb2fb59fc1c6f |
|
25-Jul-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add LLVMAddLowerExpectIntrinsicPass to the C API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
0d9874b48d747298dcea7e4e6385b511c04a7842 |
|
13-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add the alias analysis to the C api. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
45e1a53efd40a594fa8bb59aee75bb0984770d29 |
|
07-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Expose more passes to the C API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
ffa0e71c334aed9172bee010828fc2707774e128 |
|
11-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
remove dead prototype, PR8351 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
75d5fe9213073df311a909924d96a4af7532b001 |
|
12-Mar-2010 |
Nate Begeman <natebegeman@mac.com> |
Whoops this already existed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
47a53a6e4ca2e49284c800e9b9e0172e7df7217c |
|
12-Mar-2010 |
Nate Begeman <natebegeman@mac.com> |
Add a handful of additional useful pass manager things to the C API git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
f8fb7c26ee251e71be8a5372dc4936f3042c7553 |
|
11-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove the now dead condprop pass, PR3906. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
57c03831ccaabd619d1d7eb164375e7e3027031d |
|
06-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
add a bunch more passes to the C bindings (PR3734), patch by Lennart Augustsson! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
69cf031ee33fc564c3888694cb1cd8ab5dae9fd2 |
|
20-Mar-2008 |
Gordon Henriksen <gordonhenriksen@mac.com> |
C and Objective Caml bindings for mem2reg and reg2mem. Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|
41ba1546eb46030e9994ee14f8052a1981ae2c54 |
|
16-Mar-2008 |
Gordon Henriksen <gordonhenriksen@mac.com> |
C and Objective Caml bindings for several scalar transforms. Patch originally by Erick Tryzelaar, but has been modified somewhat. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Transforms/Scalar.h
|