cddc3e03e4ec99c0268c03a126195173e519ed58 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 (cherry picked from commit f3ef5332fa3f4d5ec72c178a2b19dac363a19383) Change-Id: Ic75dcb63191d65df1b69724576392c0aaeb47728
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
6948897e478cbd66626159776a8017b3c18579b9 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r239765 Bug: 20140355: This rebase pulls the upstream fix for the spurious warnings mentioned in the bug. Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
0c7f116bb6950ef819323d855415b2f2b0aad987 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r235153 Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7
/external/llvm/include/llvm/Analysis/LoopInfo.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/Analysis/LoopInfo.h
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
887f9c5ec15582aec34aa6c28955d01e4e9961e2 |
|
26-Oct-2013 |
Wan Xiaofei <xiaofei.wan@intel.com> |
Quick look-up for block in loop. This patch implements quick look-up for block in loop by maintaining a hash set for blocks. It improves the efficiency of loop analysis a lot, the biggest improvement could be 5-6%(458.sjeng). Below are the compilation time for our benchmark in llc before & after the patch. Benchmark llc - trunk llc - patched 401.bzip2 0.339081 100.00% 0.329657 102.86% 403.gcc 19.853966 100.00% 19.605466 101.27% 429.mcf 0.049823 100.00% 0.048451 102.83% 433.milc 0.514898 100.00% 0.510217 100.92% 444.namd 1.109328 100.00% 1.103481 100.53% 445.gobmk 4.988028 100.00% 4.929114 101.20% 456.hmmer 0.843871 100.00% 0.825865 102.18% 458.sjeng 0.754238 100.00% 0.714095 105.62% 464.h264ref 2.9668 100.00% 2.90612 102.09% 471.omnetpp 4.556533 100.00% 4.511886 100.99% bitmnp01 0.038168 100.00% 0.0357 106.91% idctrn01 0.037745 100.00% 0.037332 101.11% libquake2 3.78689 100.00% 3.76209 100.66% libquake_ 2.251525 100.00% 2.234104 100.78% linpack 0.033159 100.00% 0.032788 101.13% matrix01 0.045319 100.00% 0.043497 104.19% nbench 0.333161 100.00% 0.329799 101.02% tblook01 0.017863 100.00% 0.017666 101.12% ttsprk01 0.054337 100.00% 0.053057 102.41% Reviewer : Andrew Trick <atrick@apple.com>, Hal Finkel <hfinkel@anl.gov> Approver : Andrew Trick <atrick@apple.com> Test : Pass make check-all & llvm test-suite git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
ee21b6f7b41e3fc19031f6d410b2ebe6a1a2f361 |
|
28-May-2013 |
Paul Redmond <paul.redmond@intel.com> |
Add support for llvm.vectorizer metadata - llvm.loop.parallel metadata has been renamed to llvm.loop to be more generic by making the root of additional loop metadata. - Loop::isAnnotatedParallel now looks for llvm.loop and associated llvm.mem.parallel_loop_access - document llvm.loop and update llvm.mem.parallel_loop_access - add support for llvm.vectorizer.width and llvm.vectorizer.unroll - document llvm.vectorizer.* metadata - add utility class LoopVectorizerHints for getting/setting loop metadata - use llvm.vectorizer.width=1 to indicate already vectorized instead of already_vectorized - update existing tests that used llvm.loop.parallel and llvm.vectorizer.already_vectorized Reviewed by: Nadav Rotem git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
64bf55af6f3cc6c6db985d3840547b5869e57222 |
|
09-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded const_cast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
209cb5b56bb90f1ceee570efabe9c04121cb0beb |
|
09-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Use forward declaration instead of #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
5d0ce79e26f40141f35cc0002dc5cc6060382359 |
|
13-Feb-2013 |
Pekka Jaaskelainen <pekka.jaaskelainen@tut.fi> |
Metadata for annotating loops as parallel. The first consumer for this metadata is the loop vectorizer. See the documentation update for more info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
29521a0fb9ba7ed6a2fc50d2c958151f86963ead |
|
09-Feb-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
4fa57932c7b13ec42c563e33a2e40fd04194b64e |
|
09-Feb-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove #includes from the commonly used LoopInfo.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
674be02d525d4e24bc6943ed9274958c580bcfbc |
|
10-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix include guards so they exactly match file names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
255f89faee13dc491cb64fbeae3c763e7e2ea4e6 |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort the #include lines for the include/... tree with the script. AKA: Recompile *ALL* the source code! This one went much better. No manual edits here. I spot-checked for silliness and grep-checked for really broken edits and everything seemed good. It all still compiles. Yell if you see something that looks goofy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
de8091708f2d5ade958507aa6d37907a6277e9f2 |
|
17-Sep-2012 |
Craig Topper <craig.topper@gmail.com> |
Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
c9b1e25493b393013b28e5d457f2fb2845a4dd9f |
|
26-Jun-2012 |
Andrew Trick <atrick@apple.com> |
Enable the new LoopInfo algorithm by default. The primary advantage is that loop optimizations will be applied in a stable order. This helps debugging and unit test creation. It is also a better overall implementation without pathologically bad performance on deep functions. On large functions (llvm-stress --size=200000 | opt -loops) Before: 0.1263s After: 0.0225s On deep functions (after tweaking llvm-stress, thanks Nadav): Before: 0.2281s After: 0.0227s See r158790 for more comments. The loop tree is now consistently generated in forward order, but loop passes are applied in reverse order over the program. If we have a loop optimization that prefers forward order, that can easily be achieved by adding a different type of LoopPassManager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
60c7d5bc2cbeff9eff16716295ffd6a5374dc6bc |
|
20-Jun-2012 |
Andrew Trick <atrick@apple.com> |
Add "extern template" declarations now that we use explicit instantiation. This is supported by gcc and clang, but guarded by a macro for MSVC 2008. The extern template declaration is not necessary but generally good form. It can avoid extra instantiations of the template methods defined inline. The EXTERN_TEMPLATE_INSTANTIATION macro could probably be generalized to handle multiple template parameters if someone thinks it's worthwhile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
305b515c2787f47adecbe120e4b4bef55c5e5525 |
|
20-Jun-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Remove 'static' from inline functions defined in header files. There is a pretty staggering amount of this in LLVM's header files, this is not all of the instances I'm afraid. These include all of the functions that (in my build) are used by a non-static inline (or external) function. Specifically, these issues were caught by the new '-Winternal-linkage-in-inline' warning. I'll try to just clean up the remainder of the clearly redundant "static inline" cases on functions (not methods!) defined within headers if I can do so in a reliable way. There were even several cases of a missing 'inline' altogether, or my personal favorite "static bool inline". Go figure. ;] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
37aa33bc11c01a7142bfa2428a5a4d219b07b6c3 |
|
20-Jun-2012 |
Andrew Trick <atrick@apple.com> |
A new algorithm for computing LoopInfo. Temporarily disabled. -stable-loops enables a new algorithm for generating the Loop forest. It differs from the original algorithm in a few respects: - Not determined by use-list order. - Initially guarantees RPO order of block and subloops. - Linear in the number of CFG edges. - Nonrecursive. I didn't want to change the LoopInfo API yet, so the block lists are still inclusive. This seems strange to me, and it means that building LoopInfo is not strictly linear, but it may not be a problem in practice. At least the block lists start out in RPO order now. In the future we may add an attribute or wrapper analysis that allows other passes to assume RPO order. The primary motivation of this work was not to optimize LoopInfo, but to allow reproducing performance issues by decomposing the compilation stages. I'm often unable to do this with the current LoopInfo, because the loop tree order determines Loop pass order. Serializing the IR tends to invert the order, which reverses the optimization order. This makes it nearly impossible to debug interdependent loop optimizations such as LSR. I also believe this will provide more stable performance results across time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
cbf24b4e58c2f621f480883c5bb1f2f2b2b8d497 |
|
20-Jun-2012 |
Andrew Trick <atrick@apple.com> |
Move the implementation of LoopInfo into LoopInfoImpl.h. The implementation only needs inclusion from LoopInfo.cpp and MachineLoopInfo.cpp. Clients of the interface should only include the interface. This makes the interface readable and speeds up rebuilds after modifying the implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
d9fc1ce8096f7138c60edc3a6655583bf209780e |
|
10-Apr-2012 |
Andrew Trick <atrick@apple.com> |
Fix 12513: Loop unrolling breaks with indirect branches. Take this opportunity to generalize the indirectbr bailout logic for loop transformations. CFG transformations will never get indirectbr right, and there's no point trying. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
092c5ccf5bdcaa53151645e5628cec77fcf4062b |
|
30-Mar-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Handle unreachable code in the dominates functions. This changes users when needed for correctness, but still doesn't clean up code that now unnecessary checks for reachability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
eede6c9075a3a872e0ea00bbd71ab6fa88b677cd |
|
25-Mar-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use the isReachableFromEntry method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
da69f3b357097e75fbf9a5a2bbe1e7273d4b4271 |
|
04-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Simplify more DenseMap.find users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
ed38f1ca2ede643b058211ec09b205ed30d2a256 |
|
28-Nov-2011 |
Andrew Trick <atrick@apple.com> |
Remove the temporary flag -disable-unroll-scev and dead code. SCEV should now be used for trip count analysis, not LoopInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
5786b4cdc118a7fbcdae238e264a884691ab43b7 |
|
09-Nov-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Enhance verifyLoop so that it can reliably verify that every block in a loop is reachable from the loop header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
5434c1e73b6e56756719d2aebb952ac7bb3829e0 |
|
26-Aug-2011 |
Andrew Trick <atrick@apple.com> |
LoopInfo::updateUnloop fix, and verify Block->Loop maps. Fixes an oversight, and adds verification to catch it in the unloop.ll tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
fb62b8deb3c837bc5f4cf98543b89d08e7db9f84 |
|
11-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Reapplying r136844. An algorithm for incrementally updating LoopInfo within a LoopPassManager. The incremental update should be extremely cheap in most cases and can be used in places where it's not feasible to regenerate the entire loop forest. - "Unloop" is a node in the loop tree whose last backedge has been removed. - Perform reverse dataflow on the block inside Unloop to propagate the nearest loop from the block's successors. - For reducible CFG, each block in unloop is visited exactly once. This is because unloop no longer has a backedge and blocks within subloops don't change parents. - Immediate subloops are summarized by the nearest loop reachable from their exits or exits within nested subloops. - At completion the unloop blocks each have a new parent loop, and each immediate subloop has a new parent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
306afdf443a0e2d5d89c1a3ece00cfe18be1c4c4 |
|
10-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Cleanup. Avoid relying on specialization of std::distance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
b1eede12818d91a32adac928c6fffcf6d2800dc0 |
|
10-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Fix the LoopUnroller to handle nontrivial loops and partial unrolling. These are not individual bug fixes. I had to rewrite a good chunk of the unroller to make it sane. I think it was getting lucky on trivial completely unrolled loops with no early exits. I included some fairly simple unit tests for partial unrolling. I didn't do much stress testing, so it may not be perfect, but should be usable now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
0712108d22d5fdc5ea447ef701d843b25bd52d10 |
|
04-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Reverting r136884 updateUnloop, which crashed a linux builder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
762797d1af1b9308c79982aedd9bd2f585f46171 |
|
04-Aug-2011 |
Andrew Trick <atrick@apple.com> |
An algorithm for incrementally updating LoopInfo within a LoopPassManager. The incremental update should be extremely cheap in most cases and can be used in places where it's not feasible to regenerate the entire loop forest. - "Unloop" is a node in the loop tree whose last backedge has been removed. - Perform reverse dataflow on the block inside Unloop to propagate the nearest loop from the block's successors. - For reducible CFG, each block in unloop is visited exactly once. This is because unloop no longer has a backedge and blocks within subloops don't change parents. - Immediate subloops are summarized by the nearest loop reachable from their exits or exits within nested subloops. - At completion the unloop blocks each have a new parent loop, and each immediate subloop has a new parent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
fbfb806e3fe697fd8ee2a59f8fd3e0790ccf0d3c |
|
04-Aug-2011 |
Andrew Trick <atrick@apple.com> |
whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
9fc5cdf77c812aaa80419036de27576d45894d0d |
|
02-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
split dom frontier handling stuff out to its own DominanceFrontier header, so that Dominators.h is *just* domtree. Also prune #includes a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
9bc6a90146417af03144fa2f7dd94f9945b57c06 |
|
28-Dec-2010 |
Duncan Sands <baldrick@free.fr> |
Small optimization to speed up replacementPreservesLCSSAForm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
72851059224b90a3ae74ecd62fbd927a0c54a9f0 |
|
30-Nov-2010 |
Cameron Zwarich <zwarich@apple.com> |
Change the basic block map in LoopInfo from a std::map to a DenseMap. This is a 16% speedup running loops on test-suite + SPEC2000. Reviewed by Eric Christopher. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
3b0aed19f0f9ed62362c04f7e18e2ada686f4055 |
|
19-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Simplify, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
d0c6f3dafd7c3e9137d4e6415014c94137fcd3fc |
|
18-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Factor code for testing whether replacing one value with another preserves LCSSA form out of ScalarEvolution and into the LoopInfo class. Use it to check that SimplifyInstruction simplifications are not breaking LCSSA form. Fixes PR8622. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
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/include/llvm/Analysis/LoopInfo.h
|
adc799112dc180b3cd099038c05101b85d217716 |
|
06-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
pull a simple method out of LICM into a new Loop::hasLoopInvariantOperands method. Remove a useless and confusing Loop::isLoopInvariant(Instruction) method, which didn't do what you thought it did. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
90c579de5a383cee278acc3f7e7b9d0a656e6a35 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Reapply r110396, with fixes to appease the Linux buildbot gods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
1f74590e9d1b9cf0f1f81a156efea73f76546e05 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Revert r110396 to fix buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
9ccaf53ada99c63737547c0235baeb8454b04e80 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
f8336a75c2cffe3a0b9aae5b67faf742754d7eb3 |
|
23-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Eliminate getCanonicalInductionVariableIncrement's last user and eliminate it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
6a0dc079efe7acf7e71cc4c0948fe814f35ba091 |
|
20-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Implement loop splitting analysis. Determine which loop exit blocks need a 'pre-exit' block inserted. Recognize when this would be impossible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
92583187306cec18d73db362681ea4f8e2b41909 |
|
17-Jul-2010 |
Lang Hames <lhames@gmail.com> |
Switched to array_pod_sort as per Chris's suggestion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
60f422f894ae9aff2f508f34733be36f5a0ed20a |
|
17-Jul-2010 |
Lang Hames <lhames@gmail.com> |
LoopSplitter - intended to split live intervals over loop boundaries. Still very much under development. Comments and fixes will be forthcoming. (This commit includes some small tweaks to LiveIntervals & LoopInfo to support the splitter) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
8fe5ccc5850af3248992d182c5b7c079b50120fc |
|
09-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
two more cases of reuse result of operator*, found by inspection git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
4fd6b397031d7b5baa01849c065ad7ef70882d83 |
|
09-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
another case of reuse result of operator*, it is expensive to recompute git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
f6c166078f8f10006dcbdde081603eccccfcefbe |
|
09-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
reuse result of operator*, it is expensive to recompute git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
5cf27f81f49b4516b1e9d269f070c88fa3228f9e |
|
22-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Split out the code for finding a unique loop predecessor from getLoopPreheader into a separate function, for clients which don't require a proper preheader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
bbf81d88116d23fb0776412b5916f7d0b8b3ca7e |
|
10-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Add a DominatorTree argument to isLCSSA so that it doesn't have to compute a set of reachable blocks for itself each time it is called, which is fairly frequently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
31a95c524c82e36867761404d902b94f7afc695e |
|
22-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Rename a variable to avoid a -Wshadow warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
b14bc1f6f82c7f650226f39ed0256d8189eb2a1b |
|
09-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Mention IndVarSimplify in the comment by getSmallConstantTripCount, as is done for getTripCount. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
dda30cd4af1c5f88fc00fd40b673f8e27c61379d |
|
05-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Restore dump() methods to Loop and MachineLoop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
63c9463c62fce8cbe02176dfa2d73f375a06f1f2 |
|
23-Dec-2009 |
David Greene <greened@obbligato.org> |
Remove dump routine and the associated Debug.h from a header. Patch up other files to compensate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
3fb10ac22f22568e07df720d190b4e08ca69833c |
|
23-Dec-2009 |
David Greene <greened@obbligato.org> |
Convert debug messages to use dbgs(). Generally this means s/errs/dbgs/g except for certain special cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
92329c7fbe572892c17aa2d2542a10e3ea16132f |
|
18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Add Loop contains utility methods for testing whether a loop contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
6bec5bb344fc0374431aed1cb63418de607a1aec |
|
18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Reapply LoopStrengthReduce and IVUsers cleanups, excluding the part of 91296 that caused trouble -- the Processed list needs to be preserved for the livetime of the pass, as AddUsersIfInteresting is called from other passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
04149f7ffd033773adfe85e4acf3f560e29bd47d |
|
17-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
440b40d86521305d631e6461314540f54659d4a2 |
|
14-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Drop Loop::isNotAlreadyContainedIn in favor of Loop::contains. The former was just exposing a LoopInfoBase implementation detail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
050959cd08db6c0efb8208271a1d64ce58893e20 |
|
11-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Make getUniqueExitBlocks's precondition assert more precise, to avoid spurious failures. This fixes PR5758. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
a58a04921deba911d6ead8d24f495cec234681c1 |
|
20-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Make Loop::getLoopLatch() work on loops which don't have preheaders, as it may be used in contexts where preheader insertion may have failed due to an indirectbr. Make LoopSimplify's LoopSimplify::SeparateNestedLoop properly fail in the case that it would require splitting an indirectbr edge. These fix PR5502. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
d146e986c818165cca866ee05751451706ccf36a |
|
09-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Fix an 80-column violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
f17e9511f15a0e007ff47d0789d1a52502e8c1fb |
|
05-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Factor out the predicate code for loopsimplify form exit blocks into a separate helper function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
32663b719b4996b3a735f22bba80d771d50f96e7 |
|
25-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Rename isLoopExit to isLoopExiting, for consistency with the wording used elsewhere - an exit block is a block outside the loop branched to from within the loop. An exiting block is a block inside the loop that branches out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
be1123464a232168299bcd9557e94e90c1daa5de |
|
27-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Remove a redundant assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
b7532e254810aba26da9b65ee2c65788695f8c30 |
|
26-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Add a comment describing natural loops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
75144f93eb7e4dbf22d308d21581ae255dd520c6 |
|
15-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Fix apostrophos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
5c89b5240c90eb8171f999e5f06f815502d0321c |
|
08-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Re-apply r80926, with fixes: keep the domtree informed of new blocks that get created during loop unswitching, and fix SplitBlockPredecessors' LCSSA updating code to create new PHIs instead of trying to just move existing ones. Also, optimize Loop::verifyLoop, since it gets called a lot. Use searches on a sorted list of blocks instead of calling the "contains" function, as is done in other places in the Loop class, since "contains" does a linear search. Also, don't call verifyLoop from LoopSimplify or LCSSA, as the PassManager is already calling verifyLoop as part of LoopInfo's verifyAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
8f78a58e14fa754cde827e46ad03f00c7a6ead01 |
|
06-Sep-2009 |
Evan Cheng <evan.cheng@apple.com> |
Revert r80926. It causes loop unswitch assertion and slow down some JIT tests significantly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
8fc5ad33691b2a0672a7487da1f56b6f7f675a1b |
|
03-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Add a verifyAnalysis to LoopInfo, LoopSimplify, and LCSSA form that verify that these passes are properly preserved. Fix several transformation passes that claimed to preserve LoopSimplify form but weren't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
f0608d829a7b8929108ac6718bd866adf710e936 |
|
03-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Move getUniqueExitBlocks from LoopBase to Loop, since they depend on LoopSimplify form, which is currently only available on Loops (and not MachineLoops). Also, move the code out of the header file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
c75cd159cd5e428c9b0c8fb761b83c86844cd287 |
|
27-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Minor code simplification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
ff271e13539a43e804cab4457821a46a8bddc2ec |
|
26-Aug-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Implemented comments from Daniel Dunbar. (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090817/084958.html) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
103289e9383ad1eb66caf28c9b166aebce963a35 |
|
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
convert LoopInfo.h and GraphWriter.h to use raw_ostream git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
45cfe545ec8177262dabc70580ce05feaa1c3880 |
|
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Change Pass::print to take a raw ostream instead of std::ostream, update all code that this affects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
791102fb1192ac9483274e54cbc42480c9b1af10 |
|
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate the std::ostream form of WriteAsOperand and update clients. This also updates dominator related stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
c43782cf7163805fb6d727382b5f807ea035b2b0 |
|
08-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Some ProfileInfo cleanups. - Part of optimal static profiling patch sequence by Andreas Neustifter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
55e354ac0e294bde258420f80a2cc11ea19db482 |
|
08-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add a basic static ProfileInfo provider (ProfileEstimatorPass). - Part of optimal static profiling patch sequence by Andreas Neustifter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
937738649386b8188524d0cd61943214a5b93cf6 |
|
16-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Add an isLoopSimplifyForm() predicate, following the example of isLCSSAForm(), to test whether a loop is in the form guaranteed by the LoopSimplify pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
206613b289f60b71a76e9190d36b9ea9e47a701e |
|
15-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Fix a typo in a comment that Duncan noticed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
bdc017edacb713119b24ab269d250a82d62fffeb |
|
15-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Make makeLoopInvariant report whether it made any changes or not, and use this to simplify more code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
a342026504e65e2c8dc5600dab4b45ab4f94026d |
|
14-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Introduce a new LoopInfo utility function makeLoopInvariant, which works similar to isLoopInvariant, except that it will do trivial hoisting to try to make the value loop invariant if it isn't already. This makes it easier for transformation passes to clear trivial instructions out of the way (the regular LICM pass doesn't run until relatively late). This is code factored out of LoopSimplify and other places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
16a2c927e95c29a316d0271c93e0490ce3bc06ce |
|
14-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Move isLCSSAForm, isLoopInvariant, getCanonicalInductionVariable, and related functions out of LoopBase and into Loop, since they are specific to BasicBlock-based loops. This also allows the code to be moved out-of-line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
c8d76d5afb023a1c6b439941be3b62789fcc0ed3 |
|
13-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Make Loop and MachineLoop be subclasses of LoopBase, rather than typedefs, using the Curiously Recurring Template Pattern with LoopBase. This will help further refactoring, and future functionality for Loop. Also, Headers can now foward-declare Loop, instead of pulling in LoopInfo.h or doing tricks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
9d59d9f8495b0361c9ffd1dc82888d8e7ba5070e |
|
27-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Eliminate a layer of indirection in LoopInfo and MachineLoopInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
a278f3f55212e38c0647909f51ee7d2d6e41799a |
|
25-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Add a getUniqueExitBlock utility function, similar to getExitBlock, but for getUniqueExitBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
6c3534c5aa6b1d34b277dfaca3af86ac41e53f0e |
|
19-May-2009 |
Dan Gohman <gohman@apple.com> |
Add some comments noting how IndVarSimplify facilitates LoopInfo functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
1827e8263c9cb5dc29eea4999d8729f7376af4e1 |
|
08-May-2009 |
Dan Gohman <gohman@apple.com> |
Add a getExitBlock utility function to LoopInfo which returns the exit block of a loop, if there is exactly one, similar to getExitingBlock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
927793b6a165148af6d079ac03f97d13d296ff0d |
|
27-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Make LoopInfo::print() identify header, exit, and latch blocks, and print the loop depth. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
b317143ba851ce2853fb262fb2185ef5f1be030d |
|
18-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Clarify the definition of "latch block" in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
865f006bb45a609e1cb6acb653af3fe5442ee4dc |
|
18-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Eliminate several more unnecessary intptr_t casts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
c83324682f3409c15dad992cd62928426c9ad83d |
|
12-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Add a utility function to LoopInfo to return the exit block when the loop has exactly one exit, and make use of it in LoopIndexSplit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
f3ab3a937203d690744357844948faaf96fb73f9 |
|
07-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Simplify some code by using blocks_begin(), blocks_end(), and the iterator typedefs instead of handling the std::vector directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
a36791da41cf4f635e50077b290676b873836bda |
|
23-Jan-2009 |
Gabor Greif <ggreif@gmail.com> |
Simplify the logic of getting hold of a PHI predecessor block. There is now a direct way from value-use-iterator to incoming block in PHINode's API. This way we avoid the iterator->index->iterator trip, and especially the costly getOperandNo() invocation. Additionally there is now an assertion that the iterator really refers to one of the PHI's Uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
2f46bb8178e30e3b845859a44b57c048db06ef84 |
|
14-Jan-2009 |
Dale Johannesen <dalej@apple.com> |
Fix the time regression I introduced in 464.h264ref with my earlier patch to this file. The issue there was that all uses of an IV inside a loop are actually references to Base[IV*2], and there was one use outside that was the same but LSR didn't see the base or the scaling because it didn't recurse into uses outside the loop; thus, it used base+IV*scale mode inside the loop instead of pulling base out of the loop. This was extra bad because register pressure later forced both base and IV into memory. Doing that recursion, at least enough to figure out addressing modes, is a good idea in general; the change in AddUsersIfInteresting does this. However, there were side effects.... It is also possible for recursing outside the loop to introduce another IV where there was only 1 before (if the refs inside are not scaled and the ref outside is). I don't think this is a common case, but it's in the testsuite. It is right to be very aggressive about getting rid of such introduced IVs (CheckForIVReuse and the handling of nonzero RewriteFactor in StrengthReduceStridedIVUsers). In the testcase in question the new IV produced this way has both a nonconstant stride and a nonzero base, neither of which was handled before. And when inserting new code that feeds into a PHI, it's right to put such code at the original location rather than in the PHI's immediate predecessor(s) when the original location is outside the loop (a case that couldn't happen before) (RewriteInstructionToUseNewBase); better to avoid making multiple copies of it in this case. Also, the mechanism for keeping SCEV's corresponding to GEP's no longer works, as the GEP might change after its SCEV is remembered, invalidating the SCEV, and we might get a bad SCEV value when looking up the GEP again for a later loop. This also couldn't happen before, as we weren't recursing into GEP's outside the loop. Also, when we build an expression that involves a (possibly non-affine) IV from a different loop as well as an IV from the one we're interested in (containsAddRecFromDifferentLoop), don't recurse into that. We can't do much with it and will get in trouble if we try to create new non-affine IVs or something. More testcases are coming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
d68a07650cdb2e18f18f362ba533459aa10e01b6 |
|
05-Jan-2009 |
Dan Gohman <gohman@apple.com> |
Tidy up #includes, deleting a bunch of unnecessary #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
a8c763b3071ae1a58ee8baeb282331245527e004 |
|
14-Aug-2008 |
Dan Gohman <gohman@apple.com> |
Use empty() instead of begin() == end(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
c418bf3dd593b5b2fe2f978930f6d0d6b17e344e |
|
11-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Use find instead of lower_bound. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
1002c0203450620594a85454c6a095ca94b87cb2 |
|
07-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
1d5562f72e3f7d9e17a2bf95afa54a98dac95894 |
|
14-May-2008 |
Dan Gohman <gohman@apple.com> |
Move RemoveFromVector out of the global namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
45b3197090afedf2d19eb0b73115207343cbb2ae |
|
14-May-2008 |
Dan Gohman <gohman@apple.com> |
Split the loop unroll mechanism logic out into a utility function. Patch by Matthijs Kooijman! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
84b7df43fb098268f6ce37a3e32bcc2f455ecf96 |
|
06-May-2008 |
Dan Gohman <gohman@apple.com> |
Remove uses of llvm/System/IncludeFile.h that are no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
be5918c079c208af24fa3501f883ecceb6e6ae02 |
|
05-May-2008 |
Devang Patel <dpatel@apple.com> |
Remove unused function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
34cd4a484e532cc463fd5a4bf59b88d13c5467c1 |
|
05-May-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix more -Wshorten-64-to-32 warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
280a6e607d8eb7401749a92db624a82de47da777 |
|
25-Apr-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989 r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
c758209153ca0f6da6737f25ada269c573fba456 |
|
19-Mar-2008 |
Devang Patel <dpatel@apple.com> |
PassInfo keep tracks whether a pass is an analysis pass or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
c7fe32e840758baa9ce4f93c321b508a69b98262 |
|
19-Mar-2008 |
Devang Patel <dpatel@apple.com> |
Do not use virtual function to identify an analysis pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
e856685710706e580a3ece2c59ced2cdf0719f55 |
|
18-Mar-2008 |
Dale Johannesen <dalej@apple.com> |
Get rid of compilation warnings. Per Devang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
1cee94f04111cfd7114979d6dfddce2669c9380d |
|
18-Mar-2008 |
Devang Patel <dpatel@apple.com> |
Identify Analysis pass. Do not run analysis pass again if analysis info is still available. This fixes PR1441. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
529de8a45702cd34968d79d13f95ed1e5d5fa250 |
|
09-Mar-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Update the block cloner which fixes bugpoint on code using unwind_to (phew!) and also update the cloning interface's major user, the loop optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
ae9f3a3b7c915f725aef5a7250e88eaeddda03c6 |
|
20-Feb-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
402689d11a3879163a3e67ea297937c2c26cc502 |
|
09-Feb-2008 |
Wojciech Matyjewicz <wmatyjewicz@fastmail.fm> |
Add a check if the initial value of the induction variable is 0 (the method comment says it should be). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
ba42d2b937160c970c8c6ea57573113c9265325f |
|
29-Jan-2008 |
Dan Gohman <gohman@apple.com> |
Add comments describing what the loop depth values mean. Also, make a minor simplification to the loop depth calculation code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
fadcd4e60be40bcab198dcb0eef6e4a51b4c0627 |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Move typedef of loop to top of the file where it is more obvious. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
131bd2ecf721749666111ec2dd1d32a20ae049b2 |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Fix 80 col violations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
b670a1737bae5c3ecc65042d3a1b10d774ecd252 |
|
04-Jan-2008 |
Wojciech Matyjewicz <wmatyjewicz@fastmail.fm> |
fix typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
7ed47a13356daed2a34cd2209a31f92552e3bdd8 |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Don't attribute in file headers anymore. See llvmdev for the discussion of this change. Boy are my fingers tired. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
528b00adc44ae1f8dfd78cf95853014c6ef341a1 |
|
01-Dec-2007 |
Owen Anderson <resistor@mac.com> |
Fixes for MachineLoopInfo, mostly from Evan. With these, it should be almost useable! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
e4ad9c70e4a1261c212b11623d99e2477ef02783 |
|
27-Nov-2007 |
Owen Anderson <resistor@mac.com> |
Add MachineLoopInfo. This is not yet tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
d735ee85dbab8e4f66f9ec157f19956e0d11ec7a |
|
27-Nov-2007 |
Owen Anderson <resistor@mac.com> |
Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. This involves a small interface change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
d91cbf352a5f25d602667445bcbb132705da286a |
|
25-Nov-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Remove a leak. Destroy LoopInfoBase object. releaseMemory() is actually called in its dtor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
44a95e06cc0bb3a2d617fe94235aee92b1951910 |
|
15-Nov-2007 |
Owen Anderson <resistor@mac.com> |
More templatization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
019b92a70c11319f5ab96c9f5e66e4e111a972f8 |
|
14-Nov-2007 |
Owen Anderson <resistor@mac.com> |
Start the process of making MachineLoopInfo possible by templating Loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
21c276d2fa99914d5ed958ac0aec7d78e3dd87cf |
|
01-Oct-2007 |
Dan Gohman <gohman@apple.com> |
Add empty() member functions to a few container-like classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
7c6c55db4df35c9e0bbff89ceec52b0504862d7d |
|
21-Aug-2007 |
Devang Patel <dpatel@apple.com> |
No need to hardcode SmallVector size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
b7211a2ce13a0365e0e1dd2f27adda2ee3d1288b |
|
21-Aug-2007 |
Devang Patel <dpatel@apple.com> |
Use SmallVector instead of std::vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
276222a5ae189ed5c6a2afb248d4c8f0335585b4 |
|
12-Aug-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Change casts from old style to new style. This helps document the details better, gives the compiler a chance to validate the cast and reduces warnings if the user turns on -Wold-style-cast option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
58e0ef1e90c3f6dbae213612b44e56f7d6d65ea7 |
|
19-Jul-2007 |
Devang Patel <dpatel@apple.com> |
Verify loop info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
53c279b1949f7fa626ccbc399ebbe2d7dc9599a4 |
|
08-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Use DominatorTree instead of ETForest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
ecd94c804a563f2a86572dcf1d2e81f397e19daa |
|
06-May-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Fix typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
1997473cf72957d0e70322e2fe6fe2ab141c58a6 |
|
03-May-2007 |
Devang Patel <dpatel@apple.com> |
Drop 'const' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
3e15bf33e024b9df9e89351a165acfdb1dde51ed |
|
02-May-2007 |
Devang Patel <dpatel@apple.com> |
Use 'static const char' instead of 'static const int'. Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
794fd75c67a2cdc128d67342c6d88a504d186896 |
|
01-May-2007 |
Devang Patel <dpatel@apple.com> |
Do not use typeinfo to identify pass in pass manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
5c7e326585f3a543388ba871c3425f7664cd9143 |
|
17-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
Added an automatic cast to "std::ostream*" etc. from OStream. We then can rework the hacks that had us passing OStream in. We pass in std::ostream* instead, check for null, and then dispatch to the correct print() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
e81561909d128c6e2d8033cb5465a49b2596b26a |
|
07-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are now cerr, cout, and NullStream resp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
c0ac317f93bef323437d791e4ef5a97f36d50515 |
|
28-Nov-2006 |
Bill Wendling <isanbard@gmail.com> |
Support for llvm streams. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
d41b30def3181bce4bf87e8bde664d15663165d0 |
|
05-Nov-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
Unbreak VC++ build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
7466ebf045fa5097ee0d7d2728eed7fd5945c8bc |
|
28-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
add a method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
4b8f36f10672bbdd747eabfb5708e4758c3d5337 |
|
30-Aug-2006 |
Devang Patel <dpatel@apple.com> |
Do not rely on std::sort and std::erase to get list of unique exit blocks. The output is dependent on addresses of basic block. Add and use Loop::getUniqueExitBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
c2cc15cf9d926b8de41dabba86005a55806127a0 |
|
11-Jun-2006 |
Owen Anderson <resistor@mac.com> |
Re-commit the safe parts of my 6/9 patch. Still working on fixing the unsafe parts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
b9b2b309d3195d9e2ed1e72da8566a470783e8d7 |
|
11-Jun-2006 |
Evan Cheng <evan.cheng@apple.com> |
Back out Owen's 6/9 changes. They broke MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
f25c19c6b57aec5670e87dc57840c6ac12252099 |
|
09-Jun-2006 |
Owen Anderson <resistor@mac.com> |
Make Loop able to verify that it is in LCSSA-form, and have the LCSSA pass assert on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
4f1bd9e9963239c119db70070db1d68286b3de7e |
|
08-Jun-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR780: 1. Fix the macros in IncludeFile.h to put everything in the llvm namespace 2. Replace the previous explicit mechanism in all the .h and .cpp files with the macros in IncludeFile.h This gets us a consistent mechanism throughout LLVM for ensuring linkage. Next step is to make sure its used in enough places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
192913e281a0e9b97275fa1b84da96b02397323e |
|
01-Jun-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Change from using a stub function to a stub variable for passing to the IncludeFile hack to ensure linkage of analysis passes. This works around some -pedantic warnings about assigning an object to a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
25abb1dc094a08a3ba5cb426698b4780cbe438bb |
|
14-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Change ET-Forest to automatically recalculate its DFSnum's if too many slow queries are made. Patch by Daniel Berlin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
2e761e29f86efcf0ae4fb99ab5ef67c2ce392787 |
|
11-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Switch loopinfo to using ETForest instead of DominatorSet to compute itself.Patch by Daniel Berlin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
331a1833e12b6229986f63f0a156062affbf3142 |
|
12-Sep-2005 |
Chris Lattner <sabre@nondot.org> |
new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
50f5490842d501e269a4c6085d0d132cae0d31f8 |
|
29-Jun-2005 |
Chris Lattner <sabre@nondot.org> |
Don't crash on a query where the block is not in any loop. Thanks to Sameer D. Sahasrabuddhe for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
7a5659176fb789227ee62752ae16b16a20c2376c |
|
15-May-2005 |
Chris Lattner <sabre@nondot.org> |
fix compiler warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
edd5d9ece15f73ec1a31423a4ae39774aa6c521c |
|
15-May-2005 |
Reid Spencer <rspencer@reidspencer.com> |
Some cleanups for compilation with GCC 4.0.0 to remove warnings: * Use C++ style casts, not C style casts * Abstract base classes should have virtual destructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
21d6ff546d0c9cd1a631fe7940a3988a2472198c |
|
01-May-2005 |
Tanya Lattner <tonic@nondot.org> |
Add accessor method, git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
9769ab22265b313171d201b5928688524a01bd87 |
|
21-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
51a4ad475b095aed49caff176b98c0754e421af4 |
|
06-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
new helper method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
ce9653ce449f1409815547e1bf60abcd1332d2c9 |
|
07-Dec-2004 |
Reid Spencer <rspencer@reidspencer.com> |
For PR387:\ Make only one print method to avoid overloaded virtual warnings when \ compiled with -Woverloaded-virtual git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
1fca5ff62bb2ecb5bfc8974f4dbfc56e9d3ca721 |
|
27-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Convert 'struct' to 'class' in various places to adhere to the coding standards and work better with VC++. Patch contributed by Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
551ccae044b0ff658fe629dd67edd5ffe75d10e8 |
|
02-Sep-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Changes For Bug 352 Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
06ac2bef15f8a41f2e3439899b5aa1d95f4bd1f5 |
|
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Eliminate a poorly conceived method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
072b163424491c85df6664a4e056aae5e07dc64d |
|
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
* Improve file header comment * Remove #include * Add some methods to update loop/loopinfo * Stop explicitly holding the loop depth in the Loop class. Instead, just dynamically calculate it. This makes it easier to update LoopInfo as a result of transformations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
4e77cc46ac688e7bee98747049f90e19e2902227 |
|
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Provide an interface that is more convenient for iterating over the blocks in a loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
88d3ef2c744db0289223a4477669f24d542e6d97 |
|
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add new method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
f1ab4b4eac5603d19c20f4a508f93a118a52bdd5 |
|
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Change the ExitBlocks list from being explicitly contained in the Loop structure to being dynamically computed on demand. This makes updating loop information MUCH easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
9afb24bf0847b9f2ff0bf3f7f7405dcbe42fa38b |
|
18-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add a new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
4e55b7d2c62de7efa0147e0579980de8b1df9123 |
|
18-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Allow clients to delete loops, add a new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
e725cb0d5a8e017b66768eaf186718b36ffea193 |
|
15-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add some helpful methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
46758a894f5d9ca7adc8ec03dd6adeb36b7eadb3 |
|
12-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add some methods that are useful for updating loop information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
fbdf4bf1799bf9ea566fc0fc0507752590a6d559 |
|
30-Jan-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Doxygenify comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
329c1c6c949d07e3fe9722ec633b4258217fd99d |
|
08-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Improve encapsulation in the Loop and LoopInfo classes by eliminating the getSubLoops/getTopLevelLoops methods, replacing them with iterator-based accessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
d0fde30ce850b78371fd1386338350591f9ff494 |
|
11-Nov-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Put all LLVM code into the llvm namespace, as per bug 109. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
6fbcc26f1460eaee4e0eb8b426fc1ff0c7af11be |
|
20-Oct-2003 |
John Criswell <criswell@uiuc.edu> |
Added LLVM copyright header (for lack of a better term). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
48486893f46d2e12e926682a3ecb908716bc66c4 |
|
30-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Standardize header file comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
7dd46b09c0f1b6b93f03a80953046d38697fba82 |
|
16-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Fix bug: LoopPreheaders/2003-08-15-PreheadersFail.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
f972cbd98c87a2b288943425c1bc92022a8de5c5 |
|
28-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Add dump method for loops git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
1db0a400370466e187ae06c96a1586c2c21409dd |
|
28-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Add graph traits specializations for loop nesting information... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
6bc428133645e0a4308c1420c1693685e5f0a6f8 |
|
27-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Add new Loop::hasExitBlock helper method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
f2e2925f95a271505f3ba103bac71b3b6d066c57 |
|
27-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Change behavior of changeExitBlock function to replace all instances of exit block git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
fe3ae1ed660925f06159ec89460d92148e049ffd |
|
27-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
* LoopInfo now keeps track of exit blocks from the loop * New LoopInfo::isLoopHeader method * Remove some #if 0 code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
6b290a54409f6bb6a0cc1c0446cd2b170a4b7add |
|
11-Oct-2002 |
Misha Brukman <brukman+llvm@gmail.com> |
Added helper functions in LoopInfo: isLoopExit and numBackEdges. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
de39b71455143f80602a27481c4de82a5cf25db0 |
|
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
- Fix bug in LoopInfo causing ParentLoop to be garbage git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
2b7bb7a986545b5ec877416278dc126a35ab6970 |
|
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
- Add new methods to LoopInfo: getLoopPreheader, addBasicBlockToLoop. These allow extra information to be easily gathered, and loopinfo to be updated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3935 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
9474dd68e8a050193ca4003940ac399e2b17cb6a |
|
25-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Checkin stub for Misha to implement git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
e0b6b78e095f7dea9589e8df5ec4521e346ad005 |
|
26-Aug-2002 |
Anand Shukla <ashukla@cs.uiuc.edu> |
Changed so it gets linked properly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
044f9087915168efb7ab4faf3a1a1ca6b1ca4a82 |
|
21-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
- Do not expose ::ID from any of the analyses anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
97f51a3024a72ef8500e95b90e6361e6783160fd |
|
27-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
* Standardize how analysis results/passes as printed with the print() virtual methods * Eliminate AnalysisID: Now it is just a typedef for const PassInfo* * Simplify how AnalysisID's are initialized * Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into the analyses themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
5d549083e2dc55cc1aa035f1069480d052717061 |
|
26-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
00444d0630b8baaedd47bff5981a24197a04a44c |
|
26-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
7e70829632f82de15db187845666aaca6e04b792 |
|
25-Jun-2002 |
Chris Lattner <sabre@nondot.org> |
MEGAPATCH checkin. For details, See: docs/2002-06-25-MegaPatchInfo.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
a51b767df42019eb155281f3a64a16593c14f7e9 |
|
04-Jun-2002 |
Chris Lattner <sabre@nondot.org> |
Allow const bb's to be checked for containment in a loop git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
96c466b06ab0c830b07329c1b16037f585ccbe40 |
|
29-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Add new optional getPassName() virtual function that a Pass can override to make debugging output a lot nicer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
8fc2f2072de83665ae20e06929e28317f449bcdf |
|
28-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Remove all contents of the cfg namespace to the global namespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
a298d27808ecb8ffb574d6e50f56601db2ec5fda |
|
28-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not const BasicBlocks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
f57b845547302d24ecb6a9e79d7bc386f761a6c9 |
|
27-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
* Rename MethodPass class to FunctionPass - Rename runOnMethod to runOnFunction * Transform getAnalysisUsageInfo into getAnalysisUsage - Method is now const - It now takes one AnalysisUsage object to fill in instead of 3 vectors to fill in - Pass's now specify which other passes they _preserve_ not which ones they modify (be conservative!) - A pass can specify that it preserves all analyses (because it never modifies the underlying program) * s/Method/Function/g in other random places as well git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
918c4ecb0c1c85adad760fb9d7faae088171d324 |
|
09-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Don't leak all of the Loop objects created... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
e7506a366e8bd56c97d10beb68e4db953aebaeca |
|
23-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Rename Method to Function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
facd752d3afaeca7dee46648f2a2ae209a94e5e9 |
|
31-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Convert analyses over to new Pass framework git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
697954c15da58bd8b186dbafdedd8b06db770201 |
|
20-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Changes to build successfully with GCC 3.02 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|
0bbe58f073b4b4a6f68b3e2ee6074fc314e8d19f |
|
26-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
* Implement dominator based loop identification * Implement cleaner induction variable identification git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/LoopInfo.h
|