3d3abe0852d5f499bed7ab014519dd582a0a795d |
|
11-Mar-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
llvm::SwitchInst Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
a8eb6bb408e84ceb468ceb409f4c87308e67b9eb |
|
09-Mar-2012 |
Duncan Sands <baldrick@free.fr> |
Add statistics on removed switch cases, and fix the phi statistic to count the number of phis changed, not the number visited. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
6f1d7994155c535455b7543e2af6dce5b65de37b |
|
09-Mar-2012 |
Duncan Sands <baldrick@free.fr> |
Eliminate switch cases that can never match, for example removes all negative switch cases if the branch condition is known to be positive. Inspired by a recent improvement to GCC's VRP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
562b84b3aea359d1f918184e355da82bf05eb290 |
|
11-Apr-2011 |
Jay Foad <jay.foad@gmail.com> |
Don't include Operator.h from InstrTypes.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
86e8a700f516e8993417fb57d5386614b35c775d |
|
15-Dec-2010 |
Owen Anderson <resistor@mac.com> |
Fix PR8790, another instance where unreachable code can cause instruction simplification to fail, this case involve a select that simplifies to itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
93f83deba1df95211898fe756758e81969955bd9 |
|
15-Dec-2010 |
Owen Anderson <resistor@mac.com> |
Cleanup trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
cdbd99262286e96729007ac535cd430ecb3d38ac |
|
16-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Have a few places that want to simplify phi nodes use SimplifyInstruction rather than calling hasConstantValue. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
0995f20cfd97110cb842407b5757f217841b0def |
|
29-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Give up on doing in-line instruction simplification during correlated value propagation. Instruction simplification needs to be guaranteed never to be run on an unreachable block. However, earlier block simplifications may have changed the CFG to make block that were reachable when we began our iteration unreachable by the time we try to simplify them. (Note that this also means that our depth-first iterators were potentially being invalidated). This should not have a large impact on code quality, since later runs of instcombine should pick up these simplifications. Fixes PR8506. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
081c34b725980f995be9080eaec24cd3dfaaf065 |
|
19-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
2ab36d350293c77fc8941ce1023e4899df7e3a82 |
|
12-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Begin adding static dependence information to passes, which will allow us to perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
ce665bd2e2b581ab0858d1afe359192bac96b868 |
|
08-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Now with fewer extraneous semicolons! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
ceb9a959573b102d0fc7776cf4660881e6f0f628 |
|
16-Sep-2010 |
Owen Anderson <resistor@mac.com> |
Use a depth-first iteratation in CorrelatedValuePropagation to avoid wasting time trying to optimize unreachable blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
597dad35b8b86c076dbbb0d095319c79de7806ca |
|
04-Sep-2010 |
Owen Anderson <resistor@mac.com> |
Propagate non-local comparisons. Fixes PR1757. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
1593dd6779d7ab1db13c44f32f987c32aff2b54b |
|
03-Sep-2010 |
Owen Anderson <resistor@mac.com> |
Add support for simplifying a load from a computed value to a load from a global when it is provable that they're equivalent. This fixes PR4855. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
869a144f4e53db38789e630fbd9cc57384685ce6 |
|
31-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Only try to clean up the current block if we changed that block already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
7c37f6d2d9d7fe0327e1de5e0dcda729a73d2a6f |
|
31-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Don't perform an extra traversal of the function just to do cleanup. We can safely simplify instructions after each block has been processed without worrying about iterator invalidation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
25e9405272630204eb721d8b6ab47a5a25f24885 |
|
31-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Rename ValuePropagation to a more descriptive CorrelatedValuePropagation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|
7aff1cd0389d922d752b57b9ccf942b457977955 |
|
31-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Rename file to something more descriptive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
|