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

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

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

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/PassSupport.h
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/PassSupport.h
674be02d525d4e24bc6943ed9274958c580bcfbc 10-Jan-2013 Jakub Staszak <kubastaszak@gmail.com> Fix include guards so they exactly match file names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
d01e3f0c0b9e138c7bba57833519ed635b872da6 17-Dec-2012 Duncan Sands <baldrick@free.fr> Fix comment typo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
255f89faee13dc491cb64fbeae3c763e7e2ea4e6 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for the include/... tree with the script.

AKA: Recompile *ALL* the source code!

This one went much better. No manual edits here. I spot-checked for
silliness and grep-checked for really broken edits and everything seemed
good. It all still compiles. Yell if you see something that looks goofy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
9f9ce61972871efcf794bdc6125835c2c32cd863 17-Sep-2012 Craig Topper <craig.topper@gmail.com> Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
7bf7fecd8d76aa7e6bbc336f80c6906cf3498b16 08-Dec-2011 Nick Lewycky <nicholas@mxc.ca> Add Tsan annotations to the pass system.

Perhaps once(&func) should be hoisted into lib/Support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
da07192f8e1127c1d7044ca4657cd5f2de92e564 11-May-2011 Nick Lewycky <nicholas@mxc.ca> Revert r131155 for now. It makes VMCore depend on Analysis and Transforms
headers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
0fa92e55c3b9a7c7cadd9dde0193fbbecdde977c 10-May-2011 David Chisnall <csdavec@swan.ac.uk> Add support for plugins add passes to the default set of passes. The standard set of passes used by front ends can now be modified by LLVM plugins, without needing to modify any front ends.

Still to do:

- Allow replacing / removing passes (infrastructure there, just needs an infrastructure exposed)
- Defining sets of passes to be added or removed as a group
- Extending the support to allow user-defined groups of optimisations
- Allow plugins to be specified for loading automatically (e.g. from plugins.conf or some similar mechanism)

Reviewed by Nick Lewycky.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
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/include/llvm/PassSupport.h
75f6df283f726c289b240fe8c5f2f42cdfff5d5f 21-Oct-2010 Owen Anderson <resistor@mac.com> Attempt to fix valgrind complaining about (benign) leaks in pass registration by having PassRegistry
delete PassInfo objects that were created using new-style initialization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
879b65b396e9dff5f0192f85932473123b0d799e 19-Oct-2010 Owen Anderson <resistor@mac.com> Remove extraneous slash.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
62d4ced64c43bf6c01b41bded4f5ea847afd9d3f 19-Oct-2010 Owen Anderson <resistor@mac.com> Factor out the call-once implementation into its own macro.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
081c34b725980f995be9080eaec24cd3dfaaf065 19-Oct-2010 Owen Anderson <resistor@mac.com> Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.

Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.

I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
c934a67ef66c6ab25f05271ff7227ed75e7c8320 14-Oct-2010 Owen Anderson <resistor@mac.com> Try again at implementing thread-safe lazy pass initialization, without depending on static local initialization
being threadsafe AND ensuring that initialization is complete by the time the initializeFooPass method returns.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
20a70c8472c5509a4f51654826bec8a0b5a817c4 14-Oct-2010 Owen Anderson <resistor@mac.com> Revert r116489. It included some changes I didn't intend to commit, and broke the buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
05b4af7078f846aea6bc1e51fea1f38aa2a41803 14-Oct-2010 Owen Anderson <resistor@mac.com> Apparently MSVC doesn't support thread-safe static local initialization. Roll our own solution instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
139788fe6f606075507f7cbb66cdbac57d8fabcd 13-Oct-2010 Owen Anderson <resistor@mac.com> Conversely, Analysis-implementations do NOT need to initialize the AnalysisGroup. It will only matter when
someone tries to require that AG, in which case it is the requester's responsibility to initialize it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
325e2643559fcec8b0396dfa16e415cc86a22a09 13-Oct-2010 Owen Anderson <resistor@mac.com> Analysis groups need to initialize their default implementations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
972beb5431abfc936bced71ca442d4b274e80d1b 13-Oct-2010 Owen Anderson <resistor@mac.com> Take advantage of C++'s thread-safe static local initialization to simplify thread-safe pass initialization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
2ab36d350293c77fc8941ce1023e4899df7e3a82 12-Oct-2010 Owen Anderson <resistor@mac.com> Begin adding static dependence information to passes, which will allow us to
perform initialization without static constructors AND without explicit initialization
by the client. For the moment, passes are required to initialize both their
(potential) dependencies and any passes they preserve. I hope to be able to relax
the latter requirement in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
ce665bd2e2b581ab0858d1afe359192bac96b868 08-Oct-2010 Owen Anderson <resistor@mac.com> Now with fewer extraneous semicolons!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
71802344fcb224a89e4e636c1ec47f3730969be7 07-Oct-2010 Owen Anderson <resistor@mac.com> Move the pass initialization helper functions into the llvm namespace, and add
a header declaring them all. This is also where we will declare per-library pass-set
initializer functions down the road.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
e9ef41a47d2ee637b6aed5d018c4d90019d987ac 06-Oct-2010 Owen Anderson <resistor@mac.com> Hide analysis group registration behind a macro, just like pass registration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
5f0d700278b98f00a7f1cd792e10acbb76447be1 06-Oct-2010 Owen Anderson <resistor@mac.com> Pass initialization functions should take a PassRegistry as a parameter
rather than being fixed to the global registry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
e2a268fd03fd07f1e5d6121d2a29da42447cea35 06-Oct-2010 Owen Anderson <resistor@mac.com> Another step towards getting rid of static ctors for pass registration: have INITIALIZE_PASS AND INITIALIZE_AG_PASS
expand to an initializeMyPass() function (in additional to the extant static ctors). Eventually, these will be called
from a big InitializeAllPasses() function, and the PassInfo's they create (which would be leaked if this code were used
at the moment) will be handed off to a PassRegistry for ownership.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
6bcd3a02653c45b87094577517547b7eb9f76395 07-Sep-2010 Owen Anderson <resistor@mac.com> Clean up some of the PassRegistry implementation, and pImpl-ize it to reduce #include clutter
and exposing internal details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
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/include/llvm/PassSupport.h
565aafc997ee08803e2a6f7544f183b9e796ba94 07-Aug-2010 Rafael Espindola <rafael.espindola@gmail.com> Some cleanup. Use a class (OptionInfo) instead of a pair of a pair and remove
some default values that are not used.

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


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


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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
d8cc7be0262092882d848a1c7d8a4cb6752cce6f 22-Jul-2010 Owen Anderson <resistor@mac.com> Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
bdd57371bc8af531259bdc2820abcec5d23cd19c 21-Jul-2010 Owen Anderson <resistor@mac.com> Add the INITIALIZE_PASS macro.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
539673579ec79b75a95ef9daefc6a8b2fc8552f5 21-Jul-2010 Owen Anderson <resistor@mac.com> Move the handling of PassRegistrationListener's to PassRegistry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
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/include/llvm/PassSupport.h
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/include/llvm/PassSupport.h
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/include/llvm/PassSupport.h
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/include/llvm/PassSupport.h
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/include/llvm/PassSupport.h
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/include/llvm/PassSupport.h
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/include/llvm/PassSupport.h
61186cd3a350b7dacac25552e658e7890062b917 20-Jan-2010 Chris Lattner <sabre@nondot.org> add a helper method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
ca24a695e7727da5df40a819d1144c32c8fb0110 17-Oct-2009 Daniel Dunbar <daniel@zuster.org> Add required #includes for freestanding .h files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
c34ee42595de3ff38163a8f9350be567fbd8af25 30-Aug-2009 Dan Gohman <gohman@apple.com> Remove some unused fields.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
5b78a7cabe7792bddf1f98d9b1cd63b5b2245f80 02-Mar-2009 Gabor Greif <ggreif@gmail.com> remove a deprecated interface that was pretty useless

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
e6d68200eef781111ef7a322f9d67af336abc71c 02-Mar-2009 Gabor Greif <ggreif@gmail.com> fix typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
4f37660fa1c1c8daf967613d9dda186b73ba62a3 24-Jun-2008 Dan Gohman <gohman@apple.com> Correct a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
13d57320bd212483463d4f8992d5787b29eda5df 19-May-2008 Bill Wendling <isanbard@gmail.com> Remove warnings about unused parameters and shadowed variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
79fc2020ce2373b43c1a8d63f9de5ca496be84bc 14-May-2008 Dan Gohman <gohman@apple.com> Make PassInfo noncopyable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
6ddba2b933645d308428201e942abe1274fa5085 13-May-2008 Dan Gohman <gohman@apple.com> Change class' public PassInfo variables to by initialized with the
address of the PassInfo directly instead of calling getPassInfo.
This eliminates a bunch of dynamic initializations of static data.

Also, fold RegisterPassBase into PassInfo, make a bunch of its
data members const, and rearrange some code to initialize data
members in constructors instead of using setter member functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
84b7df43fb098268f6ce37a3e32bcc2f455ecf96 06-May-2008 Dan Gohman <gohman@apple.com> Remove uses of llvm/System/IncludeFile.h that are no longer needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
c758209153ca0f6da6737f25ada269c573fba456 19-Mar-2008 Devang Patel <dpatel@apple.com> PassInfo keep tracks whether a pass is an analysis pass or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
1327f69d98a2cb527b275ffc93080cf31ddf6dc5 29-Jan-2008 Dan Gohman <gohman@apple.com> Add explicit keywords.


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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
44b38f2e2c8adadc5a861036c4ab5bf289a3fb63 18-Oct-2007 Chris Lattner <sabre@nondot.org> update comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
276222a5ae189ed5c6a2afb248d4c8f0335585b4 12-Aug-2007 Reid Spencer <rspencer@reidspencer.com> Change casts from old style to new style. This helps document the details
better, gives the compiler a chance to validate the cast and reduces warnings
if the user turns on -Wold-style-cast option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
eae540a037d17d218767f21b6d3b45f395df4619 02-May-2007 Devang Patel <dpatel@apple.com> Re-install patch to enable use of PassID.
I am preparing another patch to address the failure that prompted
Chris to revert this patch earlier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
80d692be2e0ddadccb070d6dcde5b5c8c8ab8eec 02-May-2007 Chris Lattner <sabre@nondot.org> revert enough of devang's recent patches to get the tree basically working again


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
794fd75c67a2cdc128d67342c6d88a504d186896 01-May-2007 Devang Patel <dpatel@apple.com> Do not use typeinfo to identify pass in pass manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
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/include/llvm/PassSupport.h
423c2260f95883f7c84ac962e58ac66c3a11efac 23-Mar-2007 Dan Gohman <gohman@apple.com> Add the 'explicit' keyword to several constructors that accept one
argument that don't appear intended as implicit-conversion operators.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
ee740834ab56671de0a6ce44263d94ed72b69851 02-Dec-2006 Chris Lattner <sabre@nondot.org> Switch analysis groups to be unregistered when llvm_shutdown is called.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
baf2ecda5fc2b94b0f40bd8780ebaf71410ca2e5 02-Dec-2006 Chris Lattner <sabre@nondot.org> Start moving pass registration over to using the ManagedStatic mechanism.
This fixes issues where passes get unregistered before llvm_shutdown is
called, and is generally cleaner and simpler. Analysis groups up next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
cb90249ecb66ac88a20439daec6576e4726b1a60 01-Dec-2006 Chris Lattner <sabre@nondot.org> pass cfgonly up the ctor instead of calling an explicit method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
947c7689fc0435c7bb69b62f61ff40e266e87f0c 01-Dec-2006 Chris Lattner <sabre@nondot.org> move 'cfgonly' pass tracking into PassInfo, instead of handling it with
yet-another global data structure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
5365489f6ce9d8c8d6c7227b1768bd372a37c158 01-Dec-2006 Chris Lattner <sabre@nondot.org> remove 'target constructor' support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
102e2d3c82e3671cdabbfed9012792cd1bb3493a 01-Dec-2006 Chris Lattner <sabre@nondot.org> Remove dead methods


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
a5370172b64bed5daf8e2869d7bf7cb52f80d6b7 28-Aug-2006 Chris Lattner <sabre@nondot.org> simplify AnalysisGroup registration, eliminating one typeid call.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
7f8897f22e88271cfa114998a4d6088e7c8e8e11 28-Aug-2006 Chris Lattner <sabre@nondot.org> eliminate RegisterOpt. It does the same thing as RegisterPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
5d8925c7c506a54ebdfb0bc93437ec9f602eaaa0 28-Aug-2006 Chris Lattner <sabre@nondot.org> Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
2dd3d423aae84649c434b2a58ba4ed7e918580d8 28-Aug-2006 Chris Lattner <sabre@nondot.org> We no longer care whether something is an opt vs analysis pass, only whether
something is a pass vs an analysis group now. Simplify interfaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
13ec702c430b91ee49b9e6d9581cd95412f216c8 01-Aug-2006 Jim Laskey <jlaskey@mac.com> Introducing plugable register allocators and instruction schedulers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
33a0a6ddf5427e05b1d9477075c6f6bf60aa7e62 27-Jul-2006 Jim Laskey <jlaskey@mac.com> Working toward registration of register allocators.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
7107c3badfe78ec89dcab6c02cf1b1bcaccc42a8 26-Jul-2006 Reid Spencer <rspencer@reidspencer.com> For PR780:
1. Move IncludeFile.h to System library
2. Move IncludeFile.cpp to System library
3. #1 and #2 required to prevent cyclic library dependencies for libSystem
4. Convert all existing uses of Support/IncludeFile.h to System/IncludeFile.h
5. Add IncludeFile support to various lib/System classes.
6. Add new lib/System classes to LinkAllVMCore.h
All this in an attempt to pull in lib/System to what's required for VMCore


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
6df60a9effe4d20a48cfd9d105c0ab3c5dc3e690 07-Jun-2006 Reid Spencer <rspencer@reidspencer.com> For PR780:
Break the "IncludeFile" mechanism into its own header file and adjust other
files accordingly. Use this facility for the IntrinsicInst problem which
was the subject of PR800.
More to follow on this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
1ac2d518067f8341fb59c1c5ba1f5787fd78abe2 23-Jan-2006 Chris Lattner <sabre@nondot.org> Speedup and simplify pass registration by the observation that there is
exactly one PassInfo object per RegisterPass object and that their lifetimes
are the same. As such, there is no reason for the RegisterPass object to
dynamically allocate the PassInfo object at compiler startup time: just inline
the object by-value. This should reduce codesize, heap size, and startup time. Yaay.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
9769ab22265b313171d201b5928688524a01bd87 21-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
43714d11ea98b637967472640bf13532de076e48 04-Jun-2004 Chris Lattner <sabre@nondot.org> Fix more warnings


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
d924d6b35d3893b46ea64a6a076d44c5c739853b 03-Jun-2004 Chris Lattner <sabre@nondot.org> Adjust argument to match destination data type


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
8b70b78ba489b090d9866e6a4084ab1e8613b527 16-Nov-2003 Chris Lattner <sabre@nondot.org> Fixes for PR114: Thanks to Reid Spencer!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> Put all LLVM code into the llvm namespace, as per bug 109.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
12a3f843ffaa34d22ddf4857c9047da4f693afec 07-Nov-2003 Misha Brukman <brukman+llvm@gmail.com> Added ability to register FunctionPasses as optimizations, with
TargetMachine-accepting constructors (thanks to Chris).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
6fbcc26f1460eaee4e0eb8b426fc1ff0c7af11be 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM copyright header (for lack of a better term).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
7f9bb6e92c90ce69ca9af5bcb3beef85540c3a7e 12-Oct-2003 Chris Lattner <sabre@nondot.org> Rename method to indicate what it does


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
3889a2cb05c36f30050941679d5fd55d45e6a3ed 22-Jun-2003 Chris Lattner <sabre@nondot.org> Remove a ton of extraneous #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
be583b914d8156b99d3da264d5adca37fee8dbc9 11-Jun-2003 John Criswell <criswell@uiuc.edu> Included assert.h so that the code compiles under newer versions of GCC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
baf64b1e1c1537502f84bdd74893cb72fce6a0bb 24-Apr-2003 Chris Lattner <sabre@nondot.org> Remove support for "targetdata pass ctors"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
f288ff77747579b82b56fb875673a6383ba4ca2e 25-Feb-2003 Chris Lattner <sabre@nondot.org> Add new helper template function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
a081baac7726cfa49cc0879230feba258053600c 16-Sep-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Add support for passes that use a TargetMachine object.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
ada23c05f5ebc94ea4630283e993270f19809ae9 30-Aug-2002 Chris Lattner <sabre@nondot.org> - PassInfo class keeps track of AnalysisGroups implemented by the Pass.
- Doxygenize comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
c37fca1492a26e0eb4eb1e77833a1489fa73ff62 22-Aug-2002 Chris Lattner <sabre@nondot.org> Add a class that is useful for hacking around linking problem due to
pass implementations not being linked in when they are used if the
implementation is in a .a file.

- Fighting with linking problem due to removing the ::ID elements. Now the
implementation .cpp files for analyses are not being included into gccas
and friends because it is linking to the .a file and there is no explicit
symbol reference to bring in the .o file. The new IncludeFile hack is the
result.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
0756c11dea6f247fb7667190512e6c0a6e39b868 22-Aug-2002 Chris Lattner <sabre@nondot.org> - Implement the new AnalysisGroup feature, neccesary for Value#ing and pointer analysis


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
6b5fe1962b7da7e8d3d4800396065f2f26d6112d 30-Jul-2002 Chris Lattner <sabre@nondot.org> * Implement stuff so that code can declare that they only depend on the CFG of
a function, not on anything else. This speeds up GCCAS a lot.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
5d1cf5b4ebff14861745e1216ea9095ea8e6bf71 30-Jul-2002 Chris Lattner <sabre@nondot.org> Add rough support for LLC passes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
a59cbb2043c08f3cfb8fb379f0d336e21e070be8 27-Jul-2002 Chris Lattner <sabre@nondot.org> * Standardize how analysis results/passes as printed with the print() virtual
methods
* Eliminate AnalysisID: Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
the analyses themselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
631149287eaf7aac4caee7666ad86ca0428c274c 26-Jul-2002 Chris Lattner <sabre@nondot.org> * Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/PassSupport.h
4c76fc048bb9a3c5f760a50ea114f0605b9561d9 23-Jul-2002 Chris Lattner <sabre@nondot.org> Break part of Pass.h out into PassAnalysisSupport.h
Add PassSupport.h which contains code for Pass registration


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