History log of /external/llvm/lib/Analysis/LoopPass.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Analysis/LoopPass.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Analysis/LoopPass.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Analysis/LoopPass.cpp
360fef5f4354be1c58089ed7610ba8d5f1f976f9 21-Jul-2013 Andrew Trick <atrick@apple.com> Comment: try to clarify loop iteration order.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
9e7e60952505da18c67b575b07237445cc673691 23-Mar-2012 Eric Christopher <echristo@apple.com> Take out the debug info probe stuff. It's making some changes to
the PassManager annoying and should be reimplemented as a decorator
on top of existing passes (as should the timing data).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
0e122d1c2422285c872f68fc0ae1f7e5d2739572 29-Aug-2011 Andrew Trick <atrick@apple.com> Reapply r138695. Fix PassManager stack depths.

Patch by Xiaoyi Guo!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
8592a0cda4cf4ae76c5a29230fb330d0e952bb62 27-Aug-2011 Andrew Trick <atrick@apple.com> Reverting r138695 to see if it fixes clang self host.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
b84619223051fd965cc64e70c8f6b70f7ae6ae85 27-Aug-2011 Andrew Trick <atrick@apple.com> Fix PassManager stack depths.

Patch by Xiaoyi Guo!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
882bcc662d389211cdfc7e2c108a60b7a03128d1 04-Aug-2011 Andrew Trick <atrick@apple.com> whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
6af531febe488adb655c7e3de96c7c6bd6536eac 10-Mar-2011 Devang Patel <dpatel@apple.com> Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is treating debugging information.
It generates output that lools like

8 times line number info lost by Scalar Replacement of Aggregates (SSAUp)
1 times line number info lost by Simplify well-known library calls
12 times variable info lost by Jump Threading



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
17aa68055beed6faa48ca3a995c5b6fdf5092fd4 04-Sep-2010 Chris Lattner <sabre@nondot.org> zap dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
8a757aeac436ecd27e28a39b10032fd6fda33780 19-Aug-2010 Dan Gohman <gohman@apple.com> Revert r111199; it breaks -debug-pass=Structure output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
65bffec2c2dc87a5974930ec17931721bc485f9a 17-Aug-2010 Dan Gohman <gohman@apple.com> Make dumpPassStructure be a PMDataManager abstraction, rather than
a Pass abstraction, since that's the level it's actually used at.
Rename Pass' dumpPassStructure to dumpPass.

This eliminates an awkward use of getAsPass() to convert a PMDataManager*
into a Pass* just to permit a dumpPassStructure call.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
bd4d66d56a4e761a206dac14ccff4d37139d9ad9 11-Aug-2010 Dan Gohman <gohman@apple.com> Make LoopPass::getContainedPass return a LoopPass* instead of a Pass*
and remove casts from all its callers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
5c8aa950fe3484b6e115647328c196f8be64f9ed 03-Apr-2010 David Greene <greened@obbligato.org> Ok, third time's the charm. No changes from last time except the CMake
source addition. Apparently the buildbots were wrong about failures.

---

Add some switches helpful for debugging:

-print-before=<Pass Name>

Dump IR before running pass <Pass Name>.

-print-before-all

Dump IR before running each pass.

-print-after-all

Dump IR after running each pass.

These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.

To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
cf5862d8ac9562e633e6ef7cb55e67c2b7ca9c0a 02-Apr-2010 Evan Cheng <evan.cheng@apple.com> Revert 100204. It broke a bunch of tests and apparently changed what passes are run during codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
434bd8551d71384648f2e155d76b5ddbc4d1b258 02-Apr-2010 David Greene <greened@obbligato.org> Let's try this again. Re-apply 100143 including an apparent missing
<string> include. For some reason the buildbot choked on this while my
builds did not. It's probably due to a difference in system headers.

---

Add some switches helpful for debugging:

-print-before=<Pass Name>

Dump IR before running pass <Pass Name>.

-print-before-all

Dump IR before running each pass.

-print-after-all

Dump IR after running each pass.

These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.

To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
1d8f83d0a00e912c55ec0974eba6122666cc6fa1 02-Apr-2010 Eric Christopher <echristo@apple.com> Revert r100143.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
8ef3acba00c9c42d450fa52c7d3faebce1e507dd 02-Apr-2010 David Greene <greened@obbligato.org> Add some switches helpful for debugging:

-print-before=<Pass Name>

Dump IR before running pass <Pass Name>.

-print-before-all

Dump IR before running each pass.

-print-after-all

Dump IR after running each pass.

These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.

To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
41d43ebac5d4511dc2ecda2ec5940ce1c12d30c9 31-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> s/getNameStr/getName/


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
a782e75d487006cafffdc256b3c623307fee4dcf 30-Mar-2010 Chris Lattner <sabre@nondot.org> reapply my timer rewrite with a change for PassManager to store
timers by pointer instead of by-value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
0d2725ad696afb60c86076469031783669809739 30-Mar-2010 Chris Lattner <sabre@nondot.org> revert r99862 which is causing FNT failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
9fa0eff30a0d4fcbc84ac3ada4c47620b5449043 30-Mar-2010 Chris Lattner <sabre@nondot.org> fairly major rewrite of various timing related stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
77c95ed74a4d5f122b3c9810209a0190dbf17504 22-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate a bunch more unneeded dynamic_cast's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
322b95cd5f94bb3ff21ce3e809ba36f1a292aea8 28-Sep-2009 Dan Gohman <gohman@apple.com> Fix this debug output to handle the case where the loop has been deleted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
6d594a9d76ed93cd03723283c1e7ea1b59075a3d 28-Sep-2009 Dan Gohman <gohman@apple.com> Include the name of the loop header in debug messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
9450b0e1a6154192ca597ad27f8eb6e6e807f7a4 28-Sep-2009 Dan Gohman <gohman@apple.com> Move the dominator verification code out of special code embedded within
the PassManager code into a regular verifyAnalysis method.

Also, reorganize loop verification. Make the LoopPass infrastructure
call verifyLoop as needed instead of having LoopInfo::verifyAnalysis
check every loop in the function after each looop pass. Add a new
command-line argument, -verify-loop-info, to enable the expensive
full checking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
f3f0c89f5f9c2ad99169084cbfedaf3ed0ee6a50 28-Sep-2009 Dan Gohman <gohman@apple.com> Move this assert to check the condition as soon as it is known.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
5c12adaa8b92800d835ddd5c97723c6eb5628b5b 28-Sep-2009 Dan Gohman <gohman@apple.com> Extend the StartPassTimer and StopPassTimer functions so that the
code that stops the timer doesn't have to search to find the timer
object before it stops the timer. This avoids a lock acquisition
and a few other things done with the timer running.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
1edaef62a4a0e6166ab30a54150bca2362ad1c5e 28-Sep-2009 Dan Gohman <gohman@apple.com> Fix an old copy+pasto.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
3069b3193de74bb8b76e5c0f612b4a97abf9dea6 28-Sep-2009 Dan Gohman <gohman@apple.com> Extract the code for inserting a loop into the loop queue into
a separate function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
9702901a1efb85792c35dc33831583e9e4045cf7 28-Sep-2009 Dan Gohman <gohman@apple.com> When a loop is deleted, immediately release all of the active
LoopPasses for that loop. This avoids trouble with the PassManager
trying to call verifyAnalysis on them, and frees up some memory
sooner rather than later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
630c84a685410c59f461ecd649497106a573b357 27-Sep-2009 Dan Gohman <gohman@apple.com> Delete a bogus comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
dd12de686cb0a3bcff879ae895fe461caa6f7842 03-Sep-2009 Dan Gohman <gohman@apple.com> Don't try to verify a LoopPass analysis if the loop has been deleted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
1970a89a49a76ef117c92e58a508e26ecc43ccdb 29-Jun-2009 Torok Edwin <edwintorok@gmail.com> Call doInitialization(), releaseMemory(), and doFinalization() for on-the-fly passes as well.
Also don't call finalizers for LoopPass if initialization was not called.
Add a unittest that tests that these methods are called, in the proper
order, and the correct number of times.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
575ec806e0d6e10eaf1bbe4163379d51565f7fe4 26-Mar-2009 Devang Patel <dpatel@apple.com> Before deleting a basic block, give other loop passes a chance cleanup analysis values, related to the instructions in the basic block.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
d6f16587ab292b20857933b3ba13d3d1c62a8d62 06-Mar-2009 Chris Lattner <sabre@nondot.org> Sprinkle some PrettyStackEntry magic into the passmanager. With this, we now
get nice and happy stack traces when we crash in an optimizer or codegen. For
example, an abort put in UnswitchLoops now looks like this:

Stack dump:
0. Program arguments: clang pr3399.c -S -O3
1. <eof> parser at end of file
2. per-module optimization passes
3. Running pass 'CallGraph Pass Manager' on module 'pr3399.c'.
4. Running pass 'Loop Pass Manager' on function '@foo'
5. Running pass 'Unswitch loops' on basic block '%for.inc'
Abort



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66260 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
60f8a63e2502d57e879bf52a4a48505b74fa9716 17-Feb-2009 Dan Gohman <gohman@apple.com> Add a method to ScalarEvolution for telling it when a loop has been
modified in a way that may effect the trip count calculation. Change
IndVars to use this method when it rewrites pointer or floating-point
induction variables instead of using a doInitialization method to
sneak these changes in before ScalarEvolution has a chance to see
the loop. This eliminates the need for LoopPass to depend on
ScalarEvolution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
189c6357a1a1d09b8b0c5cf6f1cd561a47ccec18 17-Feb-2009 Dan Gohman <gohman@apple.com> Move dumpPassStructure out of line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
ae73dc1448d25b02cabc7c64c86c64371453dda8 04-Sep-2008 Dan Gohman <gohman@apple.com> Tidy up several unbeseeming casts from pointer to intptr_t.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
0dabb7e8f3e371cf0d6a9747b5bd4b555cc32c95 08-Aug-2008 Chris Lattner <sabre@nondot.org> Don't call getAnalysisUsage unless -debug-pass is enabled. This speeds
up the passmgr by avoiding useless work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
e6acf36dca9864c6ead9113f0322f174469810cc 12-Jul-2008 Dan Gohman <gohman@apple.com> Fix spelling of "hierarchy" in comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
70c09c54b1b5dcb8b757acae69261e4d45fbf4c3 03-Jul-2008 Devang Patel <dpatel@apple.com> Keep track of inherited analysis (e.g. dominator tree).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
844a3d163bc644085b1d744797da43eb9bf7ee3b 01-Jul-2008 Devang Patel <dpatel@apple.com> Fix typos in comments.
Thanks for the feedback!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
5b57e720c875277131ed0d4f3b72a582979d1afe 01-Jul-2008 Devang Patel <dpatel@apple.com> Add dom info verifier.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
cb406c25973b4e88a6c10ad839ef1beeb3664715 03-Oct-2007 Dan Gohman <gohman@apple.com> Use empty() member functions when that's what's being tested for instead
of comparing begin() and end().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
0f2fb60a18d25bb6bb4803ed7a58d31db39fafab 19-Sep-2007 Devang Patel <dpatel@apple.com> ooops...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
96fea337d27357e9b62abbf3d2d5ce29f1c8e870 20-Aug-2007 Anton Korobeynikov <asl@math.spbu.ru> - Use correct header for SCEV inside LoopPass.cpp
- Move SCEVExpander::expand() out-of-line workarounding possible toolchain bug


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
c7e49c08c22658dd16a5cac1500b0b70047bedc4 31-Jul-2007 Devang Patel <dpatel@apple.com> Introduce Simple Analysis interface for loop passes.
Right now, this interface provides hooks for only to operations, 1) clone basic block 2) delete value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
20d824b7dfea987775586d9de56c7448cc2cc44d 19-Jul-2007 Duncan Sands <baldrick@free.fr> Replace mysterious code causing a g++-4.2 warning
with hopefully correct code that pleases g++-4.2.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
1a957d563fe894c797e0eba00bf069fbe7ecba77 30-Jun-2007 Devang Patel <dpatel@apple.com> Add loop info verification mechanism.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
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/lib/Analysis/LoopPass.cpp
5ee99979065d75605d150d7e567e4351024aae8f 07-Mar-2007 Devang Patel <dpatel@apple.com> Now IndVarSimplify is a LoopPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
1bc89361c2ba023f305bf00edd4b5d95b021cac6 07-Mar-2007 Devang Patel <dpatel@apple.com> Now LoopUnswitch is a LoopPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
622adea47feebbab6119e7863475b479880d70ba 06-Mar-2007 Devang Patel <dpatel@apple.com> Insert loop into LQ before visiting children.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
c37177eb72d13205d2ad07d32fc8a06a36e2ca9e 06-Mar-2007 Devang Patel <dpatel@apple.com> Use schedulePass() instead of assignPassManager() to add new LPPassManager.
This ensures that require analysis info is available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
a885c06bdf87a0003c23e15b3467fc7c1d4767d9 06-Mar-2007 Devang Patel <dpatel@apple.com> Add LPPassManager::insertLoop().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
7a9a0695f2a5af1ab5667e9ce34c84d4f20bff5f 06-Mar-2007 Devang Patel <dpatel@apple.com> LPPassManager::deleteLoopFromQueue() add meat. Cut-n-paste code from
LoopUnswitch pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
22033be445aea2a28e8d11d2e2453382a1515f12 06-Mar-2007 Devang Patel <dpatel@apple.com> LPPassManager. Implement preparePassManager() hook.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
a5057d02c05efc0ead8787c76a012382ef675b03 06-Mar-2007 Devang Patel <dpatel@apple.com> LPPassManager : Add initialization and finalizatino hooks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
30159729ad3f8dcd6615d5e8a049e5e3e93be423 06-Mar-2007 Devang Patel <dpatel@apple.com> Use std::deque to manage loop queue inside LPPassManager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
7f99761143cdf1ad23729708e3dcaa055b189406 05-Mar-2007 Devang Patel <dpatel@apple.com> Avoid constructing std::strings unless pass debugging is ON.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
5b9e8d6aab594cce24cc3641f8127fcdb3985c0c 23-Feb-2007 Devang Patel <dpatel@apple.com> Fix thinko.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
4b2646326ba6f14addf5498cbf6aefd273a4556e 23-Feb-2007 Devang Patel <dpatel@apple.com> Loop passes are set up to accept pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
bfd59055842311a0358f667177c736252d59a7c9 23-Feb-2007 Devang Patel <dpatel@apple.com> Teach LoopPass to assign itself one Loop Pass Manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
8ded5852fe0dd317d9903809b49060248003d365 23-Feb-2007 Devang Patel <dpatel@apple.com> Add facility that allows LoopPass to re-insert a loop into
Loop Pass Manager's queue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
5afdc7d78526622034932e6d07871c7b25d87361 23-Feb-2007 Devang Patel <dpatel@apple.com> Add LPPassManager interface that LoopPass can use to skip
rest of the passes in the queue for a loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
643a79b4b32610651fe728ff95c9fecc60eaa687 23-Feb-2007 Devang Patel <dpatel@apple.com> Populate and walk loop queue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
d0e6e33043aa8cca678face8dce205155e2a69b3 23-Feb-2007 Devang Patel <dpatel@apple.com> Add LoopQueue. This is used by loop pass manager to manage loop nest.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp
16a31c4ebf36d6520f18cebd8a6b248d18d10f97 22-Feb-2007 Devang Patel <dpatel@apple.com> Add Loop Pass Manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LoopPass.cpp