History log of /external/llvm/include/llvm/CallGraphSCCPass.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
461cd934f5921438b9b72afc89c5097250b49ae4 07-Aug-2010 Dan Gohman <gohman@apple.com> Remove assignPassManager's default arguments. It's really
confusing to have different arguments for the same virtual
function at different levels of the class hierarchy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
7569322765651f19eea0609fb082e6b267d5d2b5 06-Aug-2010 Owen Anderson <resistor@mac.com> Reapply r110396, with fixes to appease the Linux buildbot gods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
619acdc63ab0a47d125dca0591285c8ac4c9ed20 06-Aug-2010 Owen Anderson <resistor@mac.com> Revert r110396 to fix buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
0e63653ab0d25d579ad99948db606d8723d271dd 06-Aug-2010 Owen Anderson <resistor@mac.com> Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
ID member as the sole unique type identifier. Clean up APIs related to this change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
f6cedaca9247a43ac4bb229e7a48b475b8513c1f 17-Apr-2010 Chris Lattner <sabre@nondot.org> move ReplaceNode out of line, rename scc_iterator::fini -> isAtEnd().

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
c9976c7a4b78b8116cda74bf89a593d478aaab37 17-Apr-2010 Chris Lattner <sabre@nondot.org> introduce a new CallGraphSCC class, and pass it around
to CallGraphSCCPass's instead of passing around a
std::vector<CallGraphNode*>. No functionality change,
but now we have a much tidier interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
68a217169a546c904bb1dc8ac3f1afb36a29020c 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/include/llvm/CallGraphSCCPass.h
ddc54c42305891b695fb7a03f066e5111acd7478 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/include/llvm/CallGraphSCCPass.h
e998d48e15811a6bd9b2c5874ed746e11b924702 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/include/llvm/CallGraphSCCPass.h
83852fdbe1e1f296033b7449ab29ee3bfc4828a5 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/include/llvm/CallGraphSCCPass.h
86a7e009b9c72cfdeb186ab7f138b855950a9f29 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/include/llvm/CallGraphSCCPass.h
f624190abb1609638a5026a782f185ed58e794e9 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/include/llvm/CallGraphSCCPass.h
3dab7152eedc0d822a9499102303eba526026021 31-Aug-2009 Chris Lattner <sabre@nondot.org> Fix some nasty callgraph dangling pointer problems in
argpromotion and structretpromote. Basically, when replacing
a function, they used the 'changeFunction' api which changes
the entry in the function map (and steals/reuses the callgraph
node).

This has some interesting effects: first, the problem is that it doesn't
update the "callee" edges in any callees of the function in the call graph.
Second, this covers for a major problem in all the CGSCC pass stuff, which
is that it is completely broken when functions are deleted if they *don't*
reuse a CGN. (there is a cute little fixme about this though :).

This patch changes the protocol that CGSCC passes must obey: now the CGSCC
pass manager copies the SCC and preincrements its iterator to avoid passes
invalidating it. This allows CGSCC passes to mutate the current SCC. However
multiple passes may be run on that SCC, so if passes do this, they are now
required to *update* the SCC to be current when they return.

Other less interesting parts of this patch are that it makes passes update
the CG more directly, eliminates changeFunction, and requires clients of
replaceCallSite to specify the new callee CGN if they are changing it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
175b6540352920afd47979cecb8c2667a3f7fdd3 22-Jul-2009 Owen Anderson <resistor@mac.com> Get rid of the Pass+Context magic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
e1f1f82a2c1506c57f77df09c0a86de6e59ff952 16-Jul-2009 Owen Anderson <resistor@mac.com> Move the ConstantInt uniquing table into LLVMContextImpl. This exposed a number of issues in
our current context-passing stuff, which is also fixed here


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
26f8c27c34b44f7d87de74d1de2128c1a02855bf 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/include/llvm/CallGraphSCCPass.h
3aab76e3790476cc00f04706e7c6d71fcf2e92a1 19-Mar-2008 Devang Patel <dpatel@apple.com> PassInfo keep tracks whether a pass is an analysis pass or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
8d7db68354b10998a9ec3072f4eeee05c9c0c67e 19-Mar-2008 Devang Patel <dpatel@apple.com> Do not use virtual function to identify an analysis pass.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
84e66db653835cee524fc51185ed614f1d6ac628 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change. Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h
f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc 18-Jul-2007 Dan Gohman <djg@cray.com> It's not necessary to do rounding for alloca operations when the requested
alignment is equal to the stack alignment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/CallGraphSCCPass.h