History log of /external/llvm/lib/VMCore/PassManager.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
59324297650c12a8dccf1a7ad650a9e895fdc17e 06-Sep-2012 Roman Divacky <rdivacky@freebsd.org> Stop casting away const qualifier needlessly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1ef3b6c90df35b2e02cc4f7cba46cb4302de55b6 18-Jul-2012 Victor Oliveira <Victor.Oliveira@amd.com> Adding some debug information to PassManager



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c6db6b6f26907f00a4b1665030616f90dbb8f546 14-May-2012 Bill Wendling <isanbard@gmail.com> Use ArrayRef instead of an explicit vector type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
50bee42b54cd9aec5f49566307df2b0cf23afcf6 05-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
11e43291540db9d885b736cbd652558faab80955 01-Feb-2012 Andrew Trick <atrick@apple.com> Add pass printer passes in the right place.

The pass pointer should never be referenced after sending it to
schedulePass(), which may delete the pass. To fix this bug I had to
clean up the design leading to more goodness.

You may notice now that any non-analysis pass is printed. So things like loop-simplify and lcssa show up, while target lib, target data, alias analysis do not show up. Normally, analysis don't mutate the IR, but you can now check this by using both -print-after and -print-before. The effects of analysis will now show up in between the two.

The llc path is still in bad shape. But I'll be improving it in my next checkin. Meanwhile, print-machineinstrs still works the same way. With print-before/after, many llc passes that were not printed before now are, some of these should be converted to analysis. A few very important passes, isel and scheduler, are not properly initialized, so not printed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
2d24e2a396a1d211baaeedf32148a3b657240170 20-Dec-2011 David Blaikie <dblaikie@gmail.com> Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
962bad70f4277841cf6278306caa93ebce304b48 16-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> Let printf do the formatting instead aligning strings ourselves.

While at it, merge some format strings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c67d184a2bd24ee827479db5556fbaaac0bc9507 13-Sep-2011 Devang Patel <dpatel@apple.com> Add a check to make sure schedulePass() has not deleted stale RequiredPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
3dedf7e2c835fbd6137b10e5a47a3fc0947ac24d 29-Aug-2011 Benjamin Kramer <benny.kra@googlemail.com> Dump with dbgs() instead of printf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
4a3d0a56eb497ad83c0adfe9ac27c569767b14e8 29-Aug-2011 Benjamin Kramer <benny.kra@googlemail.com> Make GCC happy by adding parens.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.cpp
7df4f963ea29284f6b2748c78ff658dc4ab36351 09-Aug-2011 Bill Wendling <isanbard@gmail.com> Indicate that there are changes if runOfFunction returns saying that there are.
Patch by Jingyue!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c5d93bb5c847006fa2a4319de605e1fe5c00839e 03-Jun-2011 Andrew Trick <atrick@apple.com> Basic PassManager diagnostics.

Added asserts whenever attempting to use a potentially
uninitialized pass. This helps people trying to develop a new pass and
people trying to understand the bug reports filed by the former people.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
7ae0fbc2d072f87217d5302fcf0d91d2f3aa981f 03-Jun-2011 Andrew Trick <atrick@apple.com> whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
7a2bdde0a0eebcd2125055e0eacaca040f0b766c 15-Apr-2011 Chris Lattner <sabre@nondot.org> Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
f607abdf7bd57d4c2fa0d47108b5ffa1a02cf699 09-Mar-2011 Eric Christopher <echristo@apple.com> Make these options hidden to reduce the amount of text -help puts on the
command line, they'll still be seen with -help-hidden.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e906921480beacea2dea2d5ce8156bc246ee12a7 20-Jan-2011 Tobias Grosser <grosser@fim.uni-passau.de> Implement requiredTransitive

The PassManager did not implement the transitivity of requiredTransitive. This
was unnoticed since 2006.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
67a84f1ee682ef8aadde635117ea6a1d16f8f6df 11-Nov-2010 Dan Gohman <gohman@apple.com> Include ImmutablePass passes in -debug-pass=Arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
65513605353c7e3ee8be6fc92892f257ad399d92 20-Oct-2010 Tobias Grosser <grosser@fim.uni-passau.de> Add RegionPass support.

A RegionPass is executed like a LoopPass but on the regions detected by the
RegionInfo pass instead of the loops detected by the LoopInfo pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
9b0e47efc607f6dcfca34e033d56e4655a7bb893 12-Oct-2010 Dan Gohman <gohman@apple.com> More SmallVectorImpls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
8de206c10142c91b19eb5dcacfb0da97747dfb01 12-Oct-2010 Dan Gohman <gohman@apple.com> Shrink a SmallVector with a known maximum size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
568a63db96ea59b988c916a7777db7e3e39352b1 12-Oct-2010 Dan Gohman <gohman@apple.com> Constify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
ebb1834e86d8da5fe7c63986bf8f350574a40a6c 12-Oct-2010 Dan Gohman <gohman@apple.com> Use SmallVectorImpl in a bunch of places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
7c34730fb96808d7116d83b8831164042a98a4b1 12-Oct-2010 Dan Gohman <gohman@apple.com> Fix the pass manager's search order for immutable passes, and make it
stop searching when it has found a match.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
3620ff9a8b85e6d1b8ef42d8ec356fc3afb49519 17-Aug-2010 Dan Gohman <gohman@apple.com> The plural of analysis is analyses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
b85b31b300295d3716832513a64165e3c637338a 16-Aug-2010 Dan Gohman <gohman@apple.com> Remove redundant inline keywords.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
7578ea887de6a7cb22c324b629101683a0afb3c5 16-Aug-2010 Dan Gohman <gohman@apple.com> Eliminate the TopLevelManagerType enum; instead, just make
PMTopLevelManager's constructor take a PMDataManager *, which already
provides the needed abstraction support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
ca2835411f87addaf55772de58ab23ffdb23ff1c 13-Aug-2010 Dan Gohman <gohman@apple.com> Trim #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
95df619a4074315dfba4f66cee9a5f16529c088d 13-Aug-2010 Dan Gohman <gohman@apple.com> Tidy up whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
9e2f6284bc81e8a8b0bbe22c8e8c8c0b0b52ef74 13-Aug-2010 Dan Gohman <gohman@apple.com> Use .empty() instead of .size().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
4afefdec65f198fad803fa8f9f994663488dd608 07-Aug-2010 Dan Gohman <gohman@apple.com> More #include cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
12376a8df60e1ebd6e6e194cb5ecb0279a2d74a8 07-Aug-2010 Dan Gohman <gohman@apple.com> Oops, check in this file too.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
11112e0d7b1fb2741ed65a5085037918d1425916 07-Aug-2010 Dan Gohman <gohman@apple.com> Tidy some #includes and forward-declarations, and move the C binding code
out of PassManager.cpp and into Core.cpp with the rest of the C binding code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.cpp
2dcacabc713945f71bd5342d55bfad3f79ffc360 20-Jul-2010 Owen Anderson <resistor@mac.com> Pull out r108755. After offline discussion with Chris, we're going to go a different direction with this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
8be3291f5942e3ae4a5d66c480e7aabe2f771031 20-Jul-2010 Owen Anderson <resistor@mac.com> Speculatively revert r108813, in an attempt to get the self-host buildbots working again. I don't see why this patch
would cause them to fail the way they are, but none of the other intervening patches seem likely either.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
9e081004dad1c3cae7de82ad412c3f19a1a48d48 20-Jul-2010 Owen Anderson <resistor@mac.com> Reapply r108794, a fix for the failing test from last time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e8a469cdb400249ec263c79d1021f953f42f2760 20-Jul-2010 Daniel Dunbar <daniel@zuster.org> Revert r108794, "Separate PassInfo into two classes: a constructor-free
superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
8ba15cb7099d9eadcb345328228d77ffa5afa42d 20-Jul-2010 Owen Anderson <resistor@mac.com> Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
7ee5d354938b231b1d01a76f686ee4dcbfa27600 19-Jul-2010 Owen Anderson <resistor@mac.com> Change the implemented interfaces list on PassInfo from a std::vector to a manually implemented
linked list. This is a little slower and involves more malloc'ing, but these lists are
typically short, and it allows PassInfo to be entirely constant initializable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e407c1d1583cfc788fa7d00fee5f612c3f224983 21-Jun-2010 Dan Gohman <gohman@apple.com> Move several non-performance-critical member functinos out of line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
d42718080f1f140726220563d741261fd7f661c5 11-May-2010 Dan Gohman <gohman@apple.com> Revert r103493, materializing functions in the regular PassManager.
It works in simple cases, but it isn't a general solution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
124b55ddedb46d087c261f8ef84d2382a399315b 11-May-2010 Dan Gohman <gohman@apple.com> Teach the regular pass manager how to materialize functions as needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e89f1c4ee74349fbe08a2c1f8060a7d3b049b5ab 10-May-2010 David Greene <greened@obbligato.org> Fix PR6875:

This includes a patch by Roman Divacky to fix the initial crash.

Move the actual addition of passes from *PassManager::add to
*PassManager::addImpl. That way, when adding printer passes we won't
recurse infinitely.

Finally, check to make sure that we are actually adding a FunctionPass
to a FunctionPassManager before doing a print before or after it.
Immutable passes are strange in this way because they aren't
FunctionPasses yet they can be and are added to the FunctionPassManager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1bd7335a17010bd4d8f86736cf73cac9f3fb80a5 08-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Use twines to simplify calls to report_fatal_error. For code size and readability.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
75361b69f3f327842b9dad69fa7f28ae3b688412 08-Apr-2010 Chris Lattner <sabre@nondot.org> rename llvm::llvm_report_error -> llvm::report_fatal_error



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f88c856a471dd838607293f66b533374d7637fd1 08-Apr-2010 Chris Lattner <sabre@nondot.org> minor tidying up


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.cpp
df7df075b723e926e51555bf5aff6e231279a479 03-Mar-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add Module functions in place of module providers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
16b77211cf38b040680ddaf2937499f5e2ca87fd 01-Mar-2010 Dan Gohman <gohman@apple.com> Don't print "Modified" for passes which haven't modified anything.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c638088d6f2739f2766801542e81d300e4f59f8f 15-Feb-2010 Nick Lewycky <nicholas@mxc.ca> Don't try to materialize a function that isn't materializable anyways. This
fixes a crash using FPM on a Function that isn't owned by a Module.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f0356fe140af1a30587b9a86bcfb1b2c51b8ce20 27-Jan-2010 Jeffrey Yasskin <jyasskin@google.com> Kill ModuleProvider and ghost linkage by inverting the relationship between
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.

Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods. The bindings to
other languages still use the ModuleProvider concept. It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.

Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
476e9bd1146624fa17243ae55fdb156f905ba3d4 22-Jan-2010 Chris Lattner <sabre@nondot.org> elimiante the dynamic_cast's from opt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
3660ecabbb85b31308f38938ce3f56f0a330a84b 22-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate a bunch of dynamic_cast's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
5e664b8f7c5ba877058a3a1cdfcce8e6b7388a6a 22-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate a bunch of dynamic_cast's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
d686c8e73f74e37ab5f647b65a12051ee6cbad16 09-Jan-2010 Chris Lattner <sabre@nondot.org> "In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for."

Patch by James Y Knight!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
170c48af5a7d760631cf897944a9833a74ac22dd 05-Jan-2010 David Greene <greened@obbligato.org> Change errs() to dbgs().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
47eb1eab1ffbbdb9adf3d55439cb2380441258e1 25-Dec-2009 Bill Wendling <isanbard@gmail.com> Avoid assigning to Changed when it won't be used after the return.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
69cee6151df07c6fc8c1e4647a87e3ff78752e88 08-Dec-2009 Benjamin Kramer <benny.kra@googlemail.com> Remove useless calls to c_str().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1f6ae8172594385bfa369e0551887589a00c4572 04-Dec-2009 Andreas Neustifter <astifter-llvm@gmx.at> Added debug output for inherited passes that are invalidated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
9f9ca73d7e9ac9d14b73fe617eee97b2bc3d5754 23-Nov-2009 Dan Gohman <gohman@apple.com> Move FunctionPassManagerImpl's dumpArguments and dumpPasses calls
out of its run function and into its doInitialization method, so
that it does the dump once instead of once per function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
2928c83b010f7cfdb0f819199d806f6942a7d995 06-Nov-2009 Daniel Dunbar <daniel@zuster.org> Pass StringRef by value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
6726b6d75a8b679068a58cb954ba97cf9d1690ba 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca> Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.cpp
27a8fb8a546ec5d39b057bfe2ee5c36a8e454f09 28-Sep-2009 Dan Gohman <gohman@apple.com> Extract the code for releasing a pass into a separate function, and
tidy it up a little.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
9554c613282c28fbe94bc8b0a5ba736f046643b8 15-Sep-2009 Chris Lattner <sabre@nondot.org> make -debug-pass=Executions show information about what call graph nodes
are in the SCC for each execution of a CGSCC pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
745c9be986bce1fb99fdbad6b9ae1307586c04a2 15-Sep-2009 Chris Lattner <sabre@nondot.org> add some missing quotes in debug output


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
cfa6ec92e61a1ab040c2b79db5de3a39df732ff6 23-Aug-2009 Benjamin Kramer <benny.kra@googlemail.com> Kill off more cerr/cout uses and prune includes a bit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
7db949df789383acce98ef072f08794fdd5bd04e 07-Aug-2009 Dan Gohman <gohman@apple.com> Fix a bunch of namespace pollution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
93b67e40de356569493c285b86b138a3f11b5035 26-Jul-2009 Daniel Dunbar <daniel@zuster.org> Eliminate some uses of DOUT, cerr, and getNameStart().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c23197a26f34f559ea9797de51e187087c039c42 14-Jul-2009 Torok Edwin <edwintorok@gmail.com> llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c25e7581b9b8088910da31702d4ca21c4734c6d7 11-Jul-2009 Torok Edwin <edwintorok@gmail.com> assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
ab7c09b6b6f4516a631fd6788918c237c83939af 08-Jul-2009 Torok Edwin <edwintorok@gmail.com> Start converting to new error handling API.
cerr+abort -> llvm_report_error
assert(0)+abort -> LLVM_UNREACHABLE (assert(0)+llvm_unreachable-> abort() included)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
a9d1f2c559ef4b2549e29288fe6944e68913ba0f 07-Jul-2009 Owen Anderson <resistor@mac.com> Have scoped mutexes take referenes instead of pointers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
82c32c42724f92b899287b4f34029eb1170c43f9 02-Jul-2009 Dan Gohman <gohman@apple.com> Use find instead of operator[] to test whether an element is in a std::map.
This fixes a bug that caused -debug-pass=Details to abort.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
6c839926babc7e3404974a4a5b39c6896d7fbf35 29-Jun-2009 Torok Edwin <edwintorok@gmail.com> Set wasRun to false here on Dan's suggestion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74455 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
3c8031df6d555ab6dc6b629273fd8244b801e4d6 18-Jun-2009 Owen Anderson <resistor@mac.com> Add a SmartScopedLock, and use it to simplify code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e3cd5ca7e79f4359e8a101c211fc9c117eb62347 18-Jun-2009 Owen Anderson <resistor@mac.com> Move Threading.[h|cpp] from Support to System.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f005a6466af1557da10f9857cf210f946bfa2b85 17-Jun-2009 Owen Anderson <resistor@mac.com> Guard mutation of the timing info global.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
d6752d1666fc040c368caba23372c116c1ed75c1 22-May-2009 Duncan Sands <baldrick@free.fr> Always verify dominfo if expensive checking is enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
9dfa1671fc5ba478530ba88877dd508dac20bac4 02-Apr-2009 Devang Patel <dpatel@apple.com> Clean up pass manager cache after each run.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
ac57b128c4846bdbd82a43b0f5f04a879aa94b08 10-Mar-2009 Dan Gohman <gohman@apple.com> Use WriteAsOperand instead of manually decorating the name for this
debug output. This improves the printing of anonymous values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
f957436254f1d20f2229e183390a4172cd4b6400 06-Mar-2009 Chris Lattner <sabre@nondot.org> various cosmetic cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e70a6835c447e8dd2ea368485088783e7995ea8f 13-Feb-2009 Duncan Sands <baldrick@free.fr> Reapply r64301. These uses of "inline" can cause strange
link-time failures when building with optimization. Just
get rid of them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
905c7e9a0459ffdffbee3e6fffe0dbf5e5c9583c 11-Feb-2009 Bill Wendling <isanbard@gmail.com> Revert r64300 and r64301. These were causing the following errors respectively:

During llvm-gcc bootstrap:

Undefined symbols:
"llvm::FPPassManager::doFinalization(llvm::Module&)", referenced from:
(anonymous namespace)::CGPassManager::doFinalization(llvm::CallGraph&, llvm::Module&)
in libLLVMipa.a(CallGraphSCCPass.o)
"llvm::FPPassManager::doInitialization(llvm::Module&)", referenced from:
(anonymous namespace)::CGPassManager::doInitialization(llvm::CallGraph&, llvm::Module&)
in libLLVMipa.a(CallGraphSCCPass.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/obj-llvm/Release/bin/opt] Error 1

During an LLVM release build:

/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-register-desc -o /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenRegisterInfo.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
llvm[3]: Building X86.td instruction names with tblgen
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-instr-enums -o /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenInstrNames.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
llvm[3]: Building X86.td instruction information with tblgen
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-instr-desc -o /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenInstrInfo.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
llvm[3]: Building X86.td assembly writer with tblgen
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-asm-writer -o /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenAsmWriter.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
llvm[3]: Compiling InstructionCombining.cpp for Release build
if /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~dst/Developer/usr/bin/llvm-g++-4.2 -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Transforms/Scalar -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 -fno-exceptions -Woverloaded-virtual -pedantic -Wall -W -Wwrite-strings -Wno-long-long -Wunused -Wno-unused-parameter -fstrict-aliasing -Wstrict-aliasing -c -MMD -MP -MF "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d.tmp" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.lo" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.o" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d" /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Transforms/Scalar/InstructionCombining.cpp -o /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.o ; \
then /bin/mv -f "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d.tmp" "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Trans



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b91a2a17d3872805018034181182cd1def199cd2 11-Feb-2009 Duncan Sands <baldrick@free.fr> These uses of "inline" can cause strange link-time
failures when building with optimization. Just get
rid of them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1465d61bdd36cfd6021036a527895f0dd358e97d 28-Jan-2009 Duncan Sands <baldrick@free.fr> Rename getAnalysisToUpdate to getAnalysisIfAvailable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e187726208f839691afca88bce8b2d6fe4d5bcbb 06-Nov-2008 Dan Gohman <gohman@apple.com> Fix a use of an invalid iterator when -debug-pass=Details is used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
641397f2ef0a155159e1085bf594c1535485e3a3 05-Nov-2008 Nuno Lopes <nunoplopes@sapo.pt> fix memory leak in pass manager when adding an analysis pass that already existed. as pass manager takes ownership of the added passes, it has to delete the pass if it isnt added to the pass list
tweak the opt tool so that it doesnt access a Pass after the ownership was taken by the pass manager

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
4520dd2b7b20af07d5a3e4d06d964a532044eb10 08-Oct-2008 Duncan Sands <baldrick@free.fr> Add <cstdio> include where needed by gcc-4.4.
Patch by Samuel Tardieu.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
617fddf51c2aa6822281f0b52e700ffb1f15ed8d 06-Oct-2008 Devang Patel <dpatel@apple.com> Remove interfaces implemented by dead pass from the list of available passes.
Patch By Matthijs Kooijman.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
bd6dc7a086142fec46b28b8c1f4e75a0d9500f6d 09-Sep-2008 Devang Patel <dpatel@apple.com> Add assertion check.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
0938f7424261cb99abaac4e5325487886e213dfb 09-Sep-2008 Devang Patel <dpatel@apple.com> Simplify.
Fix outdated comment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
488dc6732d1504d72936e07951fe7ec39d376c2c 15-Aug-2008 Devang Patel <dpatel@apple.com> The pass manager is not able to schedule -loop-deletion -loop-index-split.

The loop-deletion pass does not preserve dom frontier, which is required by
loop-index-split. When the PM checks dom frontier for loop-index-split, it has
already verified that lcssa is availalble. However, new dom frontier forces new
loop pass manager, which does not have lcssa yet.

The PM should recheck availability of required analysis passes in such cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
78766ff67cb9222a2dd5e2cda2e1488b5288a79d 12-Aug-2008 Devang Patel <dpatel@apple.com> Use SmallVector instead of std::vector


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
721e59cfb29024ffad7204f05ad75b678ae7df63 12-Aug-2008 Devang Patel <dpatel@apple.com> Use DenseMap to keep track of last users.
Use inversed map for faster queries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
3b8a90686adb3d0adaa4389e7b7900570a235e03 11-Aug-2008 Devang Patel <dpatel@apple.com> Keep track of analysis usage information for passes. Avoid invoking
getAnalysisUsage() repeatedly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
fc65d38085e92fa3901104c762a725788f5c9de5 08-Aug-2008 Chris Lattner <sabre@nondot.org> Speed up the passmgr by avoiding heap thrashing on vectors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e2c5ecd46a3a2c2cd11de8c5dadd5d52a2801420 07-Aug-2008 Chris Lattner <sabre@nondot.org> Don't verify passes when assertions are disabled.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
0af822508823b7f1602a2f32a5f75de170d649aa 09-Jul-2008 Dan Gohman <gohman@apple.com> Consistently put quotes around pass names in debugging output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f35cfe11efc7246189cec105725d696e787706f8 01-Jul-2008 Devang Patel <dpatel@apple.com> Disable dom info verifier by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.cpp
8fb6a94b6986ce0de0827da865ef8027e78c7eb7 06-Jun-2008 Devang Patel <dpatel@apple.com> Print debug message only if there are dead passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
7c9b65207e5bae26bcb4bcd62b50d7f72cb010bb 04-Jun-2008 Evan Cheng <evan.cheng@apple.com> More pass manager debugging outputs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c0c33f5e2cebd347ab5c3afb0c112211b36605dc 03-Jun-2008 Devang Patel <dpatel@apple.com> "Unable to schedule <A> required by <B>" is more helpful then
"Unable to handle Pass that requires lower level Analysis pass"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e62f7507841e487d0b8135424ccb5fd59dcbeedd 03-Jun-2008 Devang Patel <dpatel@apple.com> Add debugging aid.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
844731a7f1909f55935e3514c9e713a62d67662e 13-May-2008 Dan Gohman <gohman@apple.com> Clean up the use of static and anonymous namespaces. This turned up
several things that were neither in an anonymous namespace nor static
but not intended to be global.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
bed7e6849823042c442e7e88dba5d41f68982815 20-Mar-2008 Devang Patel <dpatel@apple.com> Keep track of analysis information inherited from Module pass manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b9c432fe77d4b3bc5e7f09aa79ac703362296b52 19-Mar-2008 Devang Patel <dpatel@apple.com> #if 1 .. #endif markers do not add any value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
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/lib/VMCore/PassManager.cpp
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/lib/VMCore/PassManager.cpp
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/lib/VMCore/PassManager.cpp
d78c0f5a7255e4347cbd82f7435c51401096652c 16-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for PassManagers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
59ef015c65cecee948d1cf13812c5d0b47cb792a 13-Mar-2008 Dan Gohman <gohman@apple.com> Eliminate a few unnecessary uses of dynamic_cast.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
9769cee9f74947429f2b05ed7d41d206690e350d 13-Mar-2008 Dan Gohman <gohman@apple.com> Fix a typo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
5fe6e33ef81fc33d74f2569e85fb2128ef2e2024 13-Mar-2008 Dan Gohman <gohman@apple.com> Don't redundantly clear std::vector members in destructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
0961ec1afe336a0a4f523455c25f5d5edc8d3ee1 13-Mar-2008 Dan Gohman <gohman@apple.com> Change PMTopLevelManager's PassManagers vector element type from
Pass* to PMDataManager*. PMDataManager is more specific than Pass,
so this more accurately describes the objects that are being stored.

This eliminates the need for several dynamic_casts to PMDataManager*.
It does introduce one dynamic_cast though, in dumpPasses(). Give
this one a comment describing why a dynamic_cast is being used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c2f12ab5e5258a949c0cfff074bf57fe0c08d4e5 13-Mar-2008 Dan Gohman <gohman@apple.com> Change PMStack::push to accept a PMDataManager* instead of
a Pass*. PMDataManager* is what it actually holds, so this
makes it clearer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
580b89992fae365fd41832f4342888eb4dbc9eb4 11-Mar-2008 Dan Gohman <gohman@apple.com> Give PassManager and FunctionPassManager a common base class, with
add(Pass *) as a pure virtual member function. This will allow all
the various addPassesTo* functions in LLVM to avoid hard-coding what
type of PassManager is used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b4b28231f792a232a7d143eed7790424846dceca 11-Mar-2008 Dan Gohman <gohman@apple.com> Fix typos in comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
26c22cfbcd432dfc83c64331077a7ec034e92f51 28-Feb-2008 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1cf47cb21728c84342b15d9695b8a2433b3315a2 02-Feb-2008 Devang Patel <dpatel@apple.com> Add comment explaining what is lower level analysis pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
97cf759b822818414f9604c74d3bcfe75a91520b 29-Jan-2008 Dan Gohman <gohman@apple.com> Fix 80-col violations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
cdf2b3b2f88d6f961b664e3f67a8ee37b46b0d27 08-Oct-2007 Dan Gohman <gohman@apple.com> Add explicit keywords.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
2bb7d0647e5b3f79ad9b6e7efd0dd99f24a0ca69 03-Oct-2007 Dan Gohman <gohman@apple.com> Fix a using namespace llvm; in a header file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
6b4af744b844ba5cf319614b6a27d213548706ee 10-Aug-2007 Devang Patel <dpatel@apple.com> Do not overuse std::string. Pass around char * directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
fc23bc799d18a1316579234faaf6262cedc95bc0 10-Aug-2007 Chris Lattner <sabre@nondot.org> minor simplifications.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
417efc897b5cf984209aae66d5faa849fe2c5104 10-Aug-2007 Chris Lattner <sabre@nondot.org> avoid copying strings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
209ee187c92db27e7b38bef26a14f3b257bc2744 30-Jul-2007 Dan Gohman <gohman@apple.com> Fix pastos in comments for doFinalization functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
19fe8f907e4addad1a33b7590b3f05893c39b3a6 27-Jul-2007 Devang Patel <dpatel@apple.com> Add facility to dump pass manager structure
to make it easier to understand failure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
edbef3806777af3dfaba340801e609492e47f732 20-Jul-2007 Devang Patel <dpatel@apple.com> Use SmallVector instead of std::vector.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
9750b5d5779e6efec10a93633dd1d36c5f61dbc3 19-Jul-2007 Devang Patel <dpatel@apple.com> Set up ground work to verify preserved analysis info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b42295df4da77a34519d0c49840a8b997d3f0b7c 09-Jul-2007 Devang Patel <dpatel@apple.com> Fix memory leak.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
a99be51bf5cdac1438069d4b01766c47704961c8 05-Jul-2007 Gabor Greif <ggreif@gmail.com> Here is the bulk of the sanitizing.
Almost all occurrences of "bytecode" in the sources have been eliminated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
7d97bf14293d2c741287689f2a547bf3e6fc7dd0 18-Jun-2007 Devang Patel <dpatel@apple.com> Fix quotes in debug messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b3b87708eb72ebcfc2e13e42437550b9f1c82edd 23-May-2007 Devang Patel <dpatel@apple.com> If user wants to run instcombine twice, do not block it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.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/VMCore/PassManager.cpp
dfa1ec3bc24930cbc42283ee8337c0711580fe1f 26-Apr-2007 Devang Patel <dpatel@apple.com> Use toplevel function pass manager as OnTheFly manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
6b1df0e863963929634d769f39cbce68f030f051 16-Apr-2007 Devang Patel <dpatel@apple.com> Proivde getAnalysis<FPAnalysis>(Func) support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f4bd76a035f7d85a576c75c7680ed6baddc74674 16-Apr-2007 Devang Patel <dpatel@apple.com> Do not assert during analysis implementation initialization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
693941bb6ed0389f998fe516eba6af738e951f79 16-Apr-2007 Devang Patel <dpatel@apple.com> Print and delete on the fly pass managers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
0ed8df38c26a910bd7adbe105172b434898646f3 16-Apr-2007 Devang Patel <dpatel@apple.com> Update module pass manager to support module passes that require
function passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
569a6fd9d59d67bc79f63f69ef14f91b0fda6c4a 16-Apr-2007 Devang Patel <dpatel@apple.com> Give each pass manager chance to manage lower level analysis pass, which is
pass required by one of pass managed by the manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
bed2946a96ecb15b0b636fa74cb26ce61b1c648e 16-Apr-2007 Anton Korobeynikov <asl@math.spbu.ru> Removed tabs everywhere except autogenerated & external files. Add make
target for tabs checking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
d46825c6a1fa903ad8d9ec2d1890535e3afdd8d4 08-Mar-2007 Devang Patel <dpatel@apple.com> Speed Up Pass Manager.
- Check Immutableness before searching PreservedSet.
- Avoid unnecessary traversal while setting Last User.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
7b65dd91c156590c03847152a202bf7aa9b0c556 06-Mar-2007 Devang Patel <dpatel@apple.com> Keep track of higher level analysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
fe613905b371ef7160968cdaabf6074cfa10f4a0 06-Mar-2007 Devang Patel <dpatel@apple.com> Keep track of inherited analysis. For example, if a loop pass does not
preserve dominator info then it should update parent FPPassManager's
available analysis info to reflect this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
22a1cf9d3a5c829d260bcf44ffe6b34ecf16076c 06-Mar-2007 Devang Patel <dpatel@apple.com> Add preparePassManager() hook. This allows each pass to check whether
current active pass manager is appropriate or not.

A loop pass may consider current LPPassManager in appropraite if loop
pass is not preserving analysis information that is used by other
passes managed by current LPPassManager. In such situation, loop pass
can pop current LPPassManager from the PMStack using this hook
and use new LPPassManager for itself.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
cf5fb2b614a7fea4565e405c81a3ae8037d78f7b 05-Mar-2007 Devang Patel <dpatel@apple.com> Current pass manager, not the parent pass manager, assumes the role of
last user when one of the managed pass uses info provided by parent pass
manager.

This was exposed by LPPassManager work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.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/VMCore/PassManager.cpp
55d5ac7b5bd2c89da52398cb4347552e94f2d06d 05-Mar-2007 Devang Patel <dpatel@apple.com> Account for time consumed by releaseMemory() properly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
ca5183d445954a9b2a570d6bbba1bc2b00ad6442 05-Mar-2007 Jeff Cohen <jeffc@jolt-lang.org> Unbreak VC++ build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
84da80d10b472332d079c58d21aa48b82e636274 27-Feb-2007 Devang Patel <dpatel@apple.com> Make getPassManagerType() const.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
63925c831ae17a6f894744dbc153dbc9ed4c1902 18-Feb-2007 Chris Lattner <sabre@nondot.org> temporarily revert Devang's most recent patch, which caused a large
compile-time regression in LLC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
62b20023eb809b0f63de991ee49a824176c0a864 17-Feb-2007 Devang Patel <dpatel@apple.com> Use inverted map to speedup collectLastUses().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f5e28d9dfe8991ed73b9c7fd7ec9126fcd01435f 07-Feb-2007 Devang Patel <dpatel@apple.com> Do not drop transferred last uses on the floor.
Use handleLastUserOverflow().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
90f1ad7bf4d98a47b5919dc1e9fd66dc1c1905b4 05-Feb-2007 Devang Patel <dpatel@apple.com> Fix PR1158

Do not insert Analysis pass, if it is already available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e27ae7e44ea024ad4b73939820563373cca28228 01-Feb-2007 Devang Patel <dpatel@apple.com> cvs commit


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
5cbf985dcbc89fba3208e7baf8b6f488b06d3ec9 30-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
confusion with external linkage types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c874eb54ecf57f493c49934a327e0e4e49f0ff10 30-Jan-2007 Devang Patel <dpatel@apple.com> - Undo previous check-in (i.e. Do not export TimingInfo class through
PassManagers.h).

- Add StopPassTimer() and StartPassTimer() to expose TimingInfo to
CallGraphPassManager

- Use these two APIs in CalLgraphPassManager to measure timings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b05ef6a8eb4e06a4c3addb74d7d30eb2150049ea 29-Jan-2007 Devang Patel <dpatel@apple.com> Move TimingInfo into PassManagers.h so that other libs can use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
44b0d29802ea87d68648dec798fd564eb3cbaa32 17-Jan-2007 Devang Patel <dpatel@apple.com> Update ModulePass::assignPassManager() to take into account Preferred
Pass Manager Type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
26426949f33e5a77fbd2fa330f7df5626e8b177d 17-Jan-2007 Devang Patel <dpatel@apple.com> s/PassDebugging_New/PassDebugging/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
be1ffc6b8d3db7b1a9d512a1d53afd075d8e58c9 17-Jan-2007 Devang Patel <dpatel@apple.com> Update assignPassManager() signature to allow selection of preferred
pass manager type. This allows new FPPassManager to select Call Graph
Pass Manager (if available) as its parent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
8df87095fc33af80e12fb883a6ccf8463518b8e2 16-Jan-2007 Devang Patel <dpatel@apple.com> Pass manager may require certain analysis. In such cases, initially
pass manager is last user.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
9d133e150faac44b8d8d1b53516cbad4d9bbf84a 16-Jan-2007 Devang Patel <dpatel@apple.com> Undo last check-in.
Remove setupPassManager() and its use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
531f01f878915fc51ccf5e1194a2dc8d73c207cd 16-Jan-2007 Devang Patel <dpatel@apple.com> Setup pass manager before scheduling required analysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
8f3f3d103a8b92bd0514ab5998865205e17ef550 16-Jan-2007 Devang Patel <dpatel@apple.com> Code refactoring.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
66eeb49d8fcfdfa4946c41fd92b8165c0086689d 16-Jan-2007 Devang Patel <dpatel@apple.com> Remove extra white spaces. Fix comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
3f5ecd7eb5526f75b4c36012b5b5194c69187a56 15-Jan-2007 Devang Patel <dpatel@apple.com> Do not record last users of Pass Manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e24e0e1244dc273016e541948086a89ffce1f7e4 12-Jan-2007 Devang Patel <dpatel@apple.com> s/addPassToManager/add/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
ab7752c1496c2913793305ba4b989a551c5617e1 12-Jan-2007 Devang Patel <dpatel@apple.com> Move PMTopLevelManager, PMDataManager and FPPassManger classes into
new PassManagers.h header.

This opens door for implementing CGPassManager in IPA library.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
a0dd987916b6e8dd445c35bdd456c55e7cd6fa3b 12-Jan-2007 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
36bcb82c3f7acd7cc3a79f51102c5995db2fb723 11-Jan-2007 Devang Patel <dpatel@apple.com> Start using PMStack. Now each pass is responsibe for assinging
a pass manager for itself.

There is some opportunity to remove some dead code from PassManager.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
6b9420e94392040fbe6b2af5e49adbcbc6b32615 11-Jan-2007 Devang Patel <dpatel@apple.com> Use getPassManagerType() instead of dynamic_cast.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
25919cb7802f2682b159a040ba07c5bd12b54efa 11-Jan-2007 Devang Patel <dpatel@apple.com> Add PassManagerType enum.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
97149737f27457b0411e49af3e4539688e29848f 11-Jan-2007 Devang Patel <dpatel@apple.com> Robustify assingPassManager() for Module, Function and Basic Block
Passes.

Robustify PMStack.push()

Add dump() routine to print PMStack.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
09e6e4303f1aac10fea6860e7736c234fcbf56cc 08-Jan-2007 Devang Patel <dpatel@apple.com> Add PMStack, a Pass Manager stack.
Eventually, Top level pass managers will use this to keep track of
active pass managers. Eass pass will also learn how to find appropriate
manager from these managers stack.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
cde53d3c1e9d6a2add5de847b44818fbb1d69c20 05-Jan-2007 Devang Patel <dpatel@apple.com> 1) Remove old AnalysisResolver.
2) Rename AnalysisResolver_New as AnalysisResolver


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
cccd80dfa316019047f053c55f1b94f63b17c043 05-Jan-2007 Devang Patel <dpatel@apple.com> Remove old pass manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1336a6bf06e64a096217628d2cc9644e48a5d7d6 21-Dec-2006 Devang Patel <dpatel@apple.com> At the beginning of run, initialize analyis info availability for _ALL_
pass managers. Otherwise, stale available analysis info, from the managers not
yet run, may cause pass manager to take wrong turn.

This fixes CBE test failures reported by nightly tester.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
a68941b2d461a9c8827caf69af1050526b5dd167 19-Dec-2006 Devang Patel <dpatel@apple.com> Now, there is additional layer, referred in the comment,
in place to handle this correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
5f4ddf517f29cfc91c327c33f6d3c0f157bc5bb5 19-Dec-2006 Devang Patel <dpatel@apple.com> s/BasicBlockPassManager/BBPassManager/g
s/ModulePassManager/MPPassManager/g
s/FunctionPassManagerImpl_New/FunctionPassManagerImpl/g
s/PassManagerImpl_New/PassManagerImpl/g

Introduce FPPassManager to manage function passes and
BBPassManagers.

Now FunctionPassManagerImpl is an implementation class
used by externally visible FunctionPassManager to manage
FPPassManagers.

Module pass manager (MPPassManager) now manages FPPassManagers
and ModulePasses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1554c8545651350569f08dc7370189da1a7e5814 16-Dec-2006 Devang Patel <dpatel@apple.com> Add getNumContainedPasses() and getContainedPass() inteface and use
it instead of passVectorBegin/End().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1a8038636c2998e37f2130b0ab89a3686d9c1f48 15-Dec-2006 Devang Patel <dpatel@apple.com> Cosmetic changes, based on Chris's review.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
a52035a062edf9bfbf95c92c615219b647042c17 15-Dec-2006 Devang Patel <dpatel@apple.com> Mark dump* routines const routines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c2ff962bf97761a54c94d2dadb555060403d49c6 15-Dec-2006 Devang Patel <dpatel@apple.com> Move PMTopLevelManager and TImingInfo into anon namespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
ef89c5594aaa5b97f303ba0de99940b79f2c0e0e 15-Dec-2006 Devang Patel <dpatel@apple.com> s/ForcedLastUses/TransferLastUses/g

Register pass has the its last user, otherwise sometimes no one will claim
LastUse.

Handle transferred last uses from child pass manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
a84b3025ca7d437d2eab22d7c3002c8d89c31858 14-Dec-2006 Chris Lattner <sabre@nondot.org> random minor typographical changes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
8e58a1b17bb57e6ffa187a0ec758f9a1bed7685b 14-Dec-2006 Devang Patel <dpatel@apple.com> Add -time-passes support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
017b5d969b12119a88463fe2451f20ca9214c4ff 14-Dec-2006 Devang Patel <dpatel@apple.com> Add debug-pass=Details support to print Required and Preserved Set info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
693a74e4ee34e2058dab7121c17c98ec59258a8a 14-Dec-2006 Devang Patel <dpatel@apple.com> Add " Made Modification " messages in debug-pass=Executions output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
4eeea774ce1b24fa55c06aac31e02016d5dd77d6 14-Dec-2006 Devang Patel <dpatel@apple.com> Add debug-pass=Executions support in new pass manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c32cf54101ecaf336d161fecd58667870149169c 13-Dec-2006 Devang Patel <dpatel@apple.com> Add -pass-debug=Arguments support in new manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
6e9e5e026af9e26cdec634c79017199f4e718599 13-Dec-2006 Chris Lattner <sabre@nondot.org> fit in 80 cols


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e8ff1ce7343c697ff90d940c8c5fa8fccc09220d 13-Dec-2006 Devang Patel <dpatel@apple.com> Using PDL as a prefix for PassDebugLevel enums is not a good idea.
Fix it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
45dc02d6f97447785ee7ffe08c36a34bc8921b0b 13-Dec-2006 Devang Patel <dpatel@apple.com> Move enum PassDebugLevel from PassManagerT.h to Pass.h.
Use PDL as the prefix for these enums.
Define and use PassDebugging_New in new PassManager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
3162691f69f85f740bc28f3ddca39b166d35187c 13-Dec-2006 Devang Patel <dpatel@apple.com> Add #ifdef switch toggle between old and new pass manager. However,
continue to use old pass manager at the moment. To use new manager
remove #define USE_OLD_PASSMANAGER 1 from Pass.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
2db3a3bed789de582bd34558dc2c0d21a79f5a30 13-Dec-2006 Devang Patel <dpatel@apple.com> FunctionPassManager does not support runOnModule().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
37a6f7966c39f69a92419d37949a94a758c29e90 13-Dec-2006 Devang Patel <dpatel@apple.com> Implement PassManager_New destructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
d4ea4ef541354f9b27b3526399dd3970a2a5064e 13-Dec-2006 Devang Patel <dpatel@apple.com> Remove unused constructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
ebc0922eeb5b728d33a68d4bea8128413f62e369 13-Dec-2006 Devang Patel <dpatel@apple.com> Add routines to dump pass manager queue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b920bd85adba95553568cef6a7078ee2509ab804 13-Dec-2006 Devang Patel <dpatel@apple.com> FunctionPassManager()

Set AnalysisResolver_New and add FPM to PassManagers list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1fbe2c9964d57b2a58235541175f069ae491a95e 13-Dec-2006 Devang Patel <dpatel@apple.com> Do not runOnFunction on external functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
41545fd66316776e670deac302672c3d9acef2a2 13-Dec-2006 Devang Patel <dpatel@apple.com> Initialize AnalysisImpls for each pass before executing the pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
27aaab2bd3c220d8466b34f6b959f74e1caac69b 13-Dec-2006 Devang Patel <dpatel@apple.com> collectRequiredAnalysisPasses().

Include RequiredTrainsitiveSet also.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
54e247d2d0c07544b3e638e80b816f352ec152c1 13-Dec-2006 Devang Patel <dpatel@apple.com> removeNotPreservedAnalysis().

Do not remove ImmutablePass from the list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
395ed739849a0507a2faae0829287c039c3589f8 12-Dec-2006 Devang Patel <dpatel@apple.com> Initialize activeManager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1e1008a52e0382bfc8d51b72d5a15eb832ddcbb9 12-Dec-2006 Devang Patel <dpatel@apple.com> Remove unused constructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
a5f9d556b7994329a417d06b1c9ac1c3bab24251 12-Dec-2006 Devang Patel <dpatel@apple.com> Maintain ImmutablePasses list at top level only. Do not make them
directly available to individual managers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
d0fa16c33615bb6f21685c4e4e3d948ac6780160 12-Dec-2006 Devang Patel <dpatel@apple.com> findAnalysisPass().

First search all available passes before searching ImmutablePasses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
7e601a70fcaf0a3090368425bbb339aab038d3e3 12-Dec-2006 Devang Patel <dpatel@apple.com> Fix thinko.
While searching for a analysis in a pass manager, do not search it into
pass manager's manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1b8d015066dca364a1b11b6dbe5b80248b111cd5 12-Dec-2006 Devang Patel <dpatel@apple.com> o s/OtherPassManagers/IndirectPassManagers
o Make IndirectPassManagers vector of PMDataManager *
o Move PMTopLevelManager implementation below all class declarations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
689c683bccbb28b4d18a3dbe1b1c28ee6b90b17a 12-Dec-2006 Devang Patel <dpatel@apple.com> Initialize AnalysisImpls for ImmutablePass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
dff33ef8e863241193463fd0129657c5ebce4d58 12-Dec-2006 Devang Patel <dpatel@apple.com> Set top level manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
298feadd7a547d50eb943c9ea15f6345a024bc9a 09-Dec-2006 Devang Patel <dpatel@apple.com> Analysis resolver now manages AnalysisImpls for the given patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
5b640e7edc606059717fb9c2ebcd85302c97fc21 09-Dec-2006 Devang Patel <dpatel@apple.com> Top level pass manager keeps track of other managers, so this can be
removed now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
cd520b187a222bf99d4238590e6517e87666e39f 09-Dec-2006 Devang Patel <dpatel@apple.com> Use analysis resolver to find the info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c9a6293af7b433146d8f7ecf8fa494b530af9376 09-Dec-2006 Devang Patel <dpatel@apple.com> Do not drop ImmutablePasses on the floor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
145e83dc12a3f962b999f348474ebb07a36a7b81 09-Dec-2006 Devang Patel <dpatel@apple.com> Set AnalysisResolver for the passes when they are inserted into
pass manager queuer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f3dc6d9f95d4ba7756105154df4a8075bbbcf931 09-Dec-2006 Devang Patel <dpatel@apple.com> Add AnalysisResolver_New. It is a replacement for existing
AnalysisResolver.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
591b1b7526ed9c099de23cc995853a250c20502f 09-Dec-2006 Devang Patel <dpatel@apple.com> Keep track of other pass managers, that are not directly managed by
top level manager. Use this info to findAnalysisPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c475692c5ee2f9c0c6988b7ec28768ef6690bfb0 08-Dec-2006 Devang Patel <dpatel@apple.com> Implement top level FunctionPassManager::run(Function &F)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
a083e94f7971ddafb817b1bcd86992d9fc4d8f9e 08-Dec-2006 Devang Patel <dpatel@apple.com> Do not keep yet another list of pass managers in PassManagerImpl_New.
Use one provided by toplevel manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e61b7478e53cea3183d4aee3799a4f0977b850a0 08-Dec-2006 Devang Patel <dpatel@apple.com> Remove unused schedulePass() parameter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
3279d4c781d74d2106589edc041e2e1571870f08 08-Dec-2006 Devang Patel <dpatel@apple.com> Remove unused getAnalysisPass and getAnalysisPassFromManager


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
69867b511c732a7fac7301977bd6e880e46439f1 08-Dec-2006 Devang Patel <dpatel@apple.com> Implement PMTopLevel::findAnalysisPass() and
PMDataManager::findAnalysisPass()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
4d9a186b10dacf1d702ef32c2638e9016d8f483b 08-Dec-2006 Devang Patel <dpatel@apple.com> During runOnModule() do initialization and finalization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
97856ceeab2297e09c46c2390f7b3d818df6f1f7 08-Dec-2006 Devang Patel <dpatel@apple.com> Reuse code. Directly use runOnFunction().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
cc132cd9feef765fe70284183c0f997b4faa5483 08-Dec-2006 Devang Patel <dpatel@apple.com> Implement FunctionPassManager_New::FunctionPassManager_New(ModuleProvider *P)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
3b14fbe300b96c353a9abfadf481b64324f17375 08-Dec-2006 Devang Patel <dpatel@apple.com> BasicBlockPassManager_New::runOnFunction()
Do initialization and finalization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
964e45e60769ccdb4ee0230a179f84f37f6c371a 08-Dec-2006 Devang Patel <dpatel@apple.com> doInitialization and doFinalization for BasicBlockPassManager_New


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f9a60ae75d6fdc74160085323c14e92e7d3517d3 08-Dec-2006 Devang Patel <dpatel@apple.com> Reimplement removeDeadPasses().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e16634065021e36ae31f074f623a636924d6b8d1 08-Dec-2006 Devang Patel <dpatel@apple.com> set Last User.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f72d29c540bf32b9c0e8914484cbbdeac70ee12a 08-Dec-2006 Devang Patel <dpatel@apple.com> Maintain level(or depth) of pass manager in pass manager food chain.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c17bbb6da7e17c06c1f0ae7baa2f151db0e966d9 08-Dec-2006 Devang Patel <dpatel@apple.com> New method, PMDataManager::collectRequiredAnalysisPasses()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
badc4fae531cc0fdaa8e58f481c3b1d23ea7dd56 07-Dec-2006 Devang Patel <dpatel@apple.com> When new pass manager is created, initialize available analysis info
of existing manager at the same level. Otherwise, such info may be
considered as available, which not true.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
6e49d8b4bf7b5911dc953551672161b8f9a7418f 07-Dec-2006 Devang Patel <dpatel@apple.com> PMDataManager does not maintain LastUser info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
0ac961d9c1c511204abfb02f5c25c92da6b75eb6 07-Dec-2006 Devang Patel <dpatel@apple.com> Make current pass info available _after_ removing info that is not
preserved.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b917e38c84fa9c7c434762a0e587af63eec939e5 07-Dec-2006 Devang Patel <dpatel@apple.com> Add TODOs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
502f19e0f8ba47b5916a7e9d445f4ee071cdf132 07-Dec-2006 Devang Patel <dpatel@apple.com> Fix thinko.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
877bfbb9ef75e7fe333d93abecaf0579780ccf54 07-Dec-2006 Devang Patel <dpatel@apple.com> Top level manages schedule the pass immediately at the time of insertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
eb0d613ef6755f93610e08534a203c41ec14b56a 07-Dec-2006 Devang Patel <dpatel@apple.com> Now FunctionPassManagerImpl_New and PassManagerImpl_New derives from
PMTopLevelManager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1209f416cf2f2ec0f335d91a7c115e3b0a37d603 07-Dec-2006 Devang Patel <dpatel@apple.com> Reimplement schedulePass interface. Move it into PMTopLevelManager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
1b17033bc741814777988b56f5e958355ceb0096 07-Dec-2006 Devang Patel <dpatel@apple.com> While initializing AvailableAnalysis info, make ImmutablePasses available
immediately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
3e44559d0137f2c3e3bf7a0c1e0004e0a5c81137 07-Dec-2006 Devang Patel <dpatel@apple.com> Add ImmutablePass into the list of info managed by top level pass
manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
04b4e0595ffffab232a73a78d742e08efb6ebcfb 07-Dec-2006 Devang Patel <dpatel@apple.com> If pass reserves all analysis info then each info is not separately
included in PreservedSet. So check getPreservesAll() first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
66d72e140bf7bdfe03383bfb4d3fe53a420d147b 07-Dec-2006 Devang Patel <dpatel@apple.com> Pass Managers themselves do not invalidate any analysis info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
dc48f203cdc5a0b8f79d28bab6219161061fd73b 07-Dec-2006 Devang Patel <dpatel@apple.com> Add a handle to the top level pass manager in PMDataManager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
06e86561a5261a59f5c391d5cc5cb4aa38dca83c 07-Dec-2006 Devang Patel <dpatel@apple.com> Cosmetic markers to divide code in separate chunks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f32b4dd13e421b3ad4696f984cb2043ce64e19cb 07-Dec-2006 Devang Patel <dpatel@apple.com> s/noteDownAvailableAnalysis/recordAvailableAnalysis

While recording available analysis, include interfaces implemented.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
3f5d2b58b84cb12a9520dd33921ca556d539eb4d 07-Dec-2006 Devang Patel <dpatel@apple.com> Add PMTopLevelManager. It is not used yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
4045af1175509c81d6a4708df233f0b1abe888fc 07-Dec-2006 Devang Patel <dpatel@apple.com> RequiredAnalysis support is buggy and not used at the moment so remove
the code. Add TODO note.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
cbfd29d0da5810949ba66701b91c1b954122077a 07-Dec-2006 Devang Patel <dpatel@apple.com> s/clearAnalysis/initializeAnalysisInfo/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
419f0e95d698109541ad730cb45ba4caca78f458 07-Dec-2006 Devang Patel <dpatel@apple.com> s/CommonPassManagerImpl/PMDataManager/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e77242c3d5843a5a6484794254623c8552dc6a4f 07-Dec-2006 Devang Patel <dpatel@apple.com> Add overview of pass manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
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/lib/VMCore/PassManager.cpp
8f487662869d10c866b9ebdccb8f6a7509d3ab56 28-Nov-2006 Bill Wendling <isanbard@gmail.com> Changed to using LLVM streams.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
214ca23aef8bd408c4ee4ce28ba93d57d2416587 15-Nov-2006 Devang Patel <dpatel@apple.com> Add run(Function &F) support in FunctionPassManager_New


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
861967815396df9f8b01327197fd2715d2c7555c 15-Nov-2006 Devang Patel <dpatel@apple.com> Tidy up marking of last analysis user pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
3799f97d539f6c288d169063e1b335917fafcffb 15-Nov-2006 Devang Patel <dpatel@apple.com> Add doInitialization and doFinalization support in FunctionManager_New.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
abb81054d1ac57014774b092ce3094c47effbddb 15-Nov-2006 Devang Patel <dpatel@apple.com> Do not derive CommonPassManagerImpl from Pass.
Now BasicBlockPassManager_New is a FunctionPass,
FunctionPassManager_New is a ModulePass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
2f42ed6b0b5161296cdd7e573b49fe631599fc97 14-Nov-2006 Devang Patel <dpatel@apple.com> Copy initializeAnalysisImpl() implementation from PassManagerT.
Update LastUser to recursively walk required transitive set.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
df1a10ece6a75f230d98c6fb001349eede90387a 14-Nov-2006 Devang Patel <dpatel@apple.com> Implement removeDeadPasses().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
03153c70de080e4c184ad29f0d78e456019b9a4c 14-Nov-2006 Devang Patel <dpatel@apple.com> Keep track of Last user of analysis phase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b899eed1bc0a64f96fa7aff8d7c6f999cf85bdfe 14-Nov-2006 Devang Patel <dpatel@apple.com> Use std::map to map AnalysisID and Pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c1d6e1fc9c3a47529f417026df652f466ce67851 14-Nov-2006 Devang Patel <dpatel@apple.com> Manage analysis passes during run.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
5770c7cd52d6a3dfd9a5815cc9153d94afc6dd31 14-Nov-2006 Devang Patel <dpatel@apple.com> Update comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
2718bfbaa6a1ecb37bb34483b09010cbb3563f83 13-Nov-2006 Devang Patel <dpatel@apple.com> Update PassManagerImpl_New::analysisCurrentlyAvailable to check all
managed passmanagers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
be6d515f481756ff549f355e32be1ac398e141d5 13-Nov-2006 Devang Patel <dpatel@apple.com> Check currently available anlysis in active managers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f8af6f0ec15d117cfe47bf32dd4e46ab52d42254 11-Nov-2006 Devang Patel <dpatel@apple.com> Implement schedulePasses().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
fcb2d940a0f0c471069a65c57c48b847d1b6762e 11-Nov-2006 Devang Patel <dpatel@apple.com> Implement PassManagerImpl_New::add().
Just add pass into the pass manager queue without processing analysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
893a5a681585cdf3b5bfff7128ea522e8a47750a 11-Nov-2006 Devang Patel <dpatel@apple.com> While adding pass into the manager, process Analysis only if it is
required to do so.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
f13dc1b9e81113472c536f812b09790bd9a67e79 11-Nov-2006 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
e253385b108cd946b1ac150302f246d3b218be77 11-Nov-2006 Devang Patel <dpatel@apple.com> Code refactoring. Move common code into CommonPassManagerImpl :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
85d344b0c68048527f1ac46ba22bbc950870d3c5 11-Nov-2006 Devang Patel <dpatel@apple.com> Move CommonPassManagerImpl from PassManager.h to PassManager.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
14d6581a7374bdb4a66ef6c30250efdc324f6dde 11-Nov-2006 Devang Patel <dpatel@apple.com> Remove analysis that is not preserved by the pass from AvailableAnalysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b8526162551a3fbcf787e01d82ef44b69f879e01 11-Nov-2006 Devang Patel <dpatel@apple.com> Keep track if analysis made available by the pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
a363a0bdefd2e798a83acd8998591b5b07c4256e 11-Nov-2006 Devang Patel <dpatel@apple.com> Keep track of analysis required by the passes. Force use of new pass
manager if a pass does not preserve analysis that is used by other
passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
37a84c7d8bda439082b883e33be6ab88b4cce236 10-Nov-2006 Devang Patel <dpatel@apple.com> s/PassManagerAnalysisHelper/CommonPassManagerImpl

Inherit CommonPassManagerImpl from Pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c63592b19ecd54a1318a19d87b5c0bd85f172a4f 08-Nov-2006 Devang Patel <dpatel@apple.com> Split FunctionPassManager_New into FunctionPassManager_New and FunctionPassManagerImpl_New.
FunctionPassManagerImpl_New implements the pass manager.
FunctionPassManager_New is the public interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
5a39b2e8067450839a1a041a26e2f9d8dd07f40a 08-Nov-2006 Devang Patel <dpatel@apple.com> Split PassManager_New into PassManager_New and PassManagerImpl_New.
PassManagerImpl_New implements the pass manager.
PassManager_New is the public interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
c67c938de2097f26dba71d9436e4707dd8a5012d 08-Nov-2006 Devang Patel <dpatel@apple.com> Move BasicBlockPassManager_New, FunctionPassManager_New and
ModulePassManager_New class declarations from PassManager.h
to PassManager.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
2c5d1851bbcb20adb79664ec16ab1f97b9142086 08-Nov-2006 Devang Patel <dpatel@apple.com> Beautify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
53596b6ba5d3199621e5a6e0cdbfcde3ee710397 07-Nov-2006 Devang Patel <dpatel@apple.com> Update new pass managers to use PassManagerAnalysisHelper API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
889739c4d188d28c167644bced9df0f3131317d7 07-Nov-2006 Devang Patel <dpatel@apple.com> Introduce PassManagerAnalysisHelper.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
b30803bc17a5be655b7c4ef356e75ae5524b0931 07-Nov-2006 Devang Patel <dpatel@apple.com> Add PassManager_New.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
92c45eebf77de5d6ee84a3f18f560b83cb68e720 07-Nov-2006 Devang Patel <dpatel@apple.com> Add ModulePassManager_New.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
448d27cd795dc273249f123444509403f4fa4fac 07-Nov-2006 Devang Patel <dpatel@apple.com> Add FunctionPassManager_New.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp
55fd43f90913676682487f89f27c756adb827f66 07-Nov-2006 Devang Patel <dpatel@apple.com> Add BasicBlockPassManager_New.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/PassManager.cpp