History log of /external/llvm/include/llvm/Transforms/IPO.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

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

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/Transforms/IPO.h
7e667c56cf7e27ff521ceb86518beab32bfb630d 31-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list".

There are two ways one could implement hiding of linkonce_odr symbols in LTO:
* LLVM tells the linker which symbols can be hidden if not used from native
files.
* The linker tells LLVM which symbols are not used from other object files,
but will be put in the dso symbol table if present.

GOLD's API is the second option. It was implemented almost 1:1 in llvm by
passing the list down to internalize.

LLVM already had partial support for the first option. It is also very similar
to how ld64 handles hiding these symbols when *not* doing LTO.

This patch then
* removes the APIs for the DSO list.
* marks LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN all linkonce_odr unnamed_addr
global values and other linkonce_odr whose address is not used.
* makes the gold plugin responsible for handling the API mismatch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
438900938c3ac9d7fac2dd5d2c85ca4b9b2e35f7 03-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Optimize linkonce_odr unnamed_addr functions during LTO.

Generalize the API so we can distinguish symbols that are needed just for a DSO
symbol table from those that are used from some native .o.

The symbols that are only wanted for the dso symbol table can be dropped if
llvm can prove every other dso has a copy (linkonce_odr) and the address is not
important (unnamed_addr).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
775079c227083be3fe22f6ae071d5b74a7ade745 04-Sep-2013 Rafael Espindola <rafael.espindola@gmail.com> Rename some variables to match the style guide.

I am about to patch this code, and this makes the diff far more readable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
0439f3e0cf67049877578aa9ae94f7a0a90e86e7 11-Dec-2012 Rafael Espindola <rafael.espindola@gmail.com> Use an ArrayRef instead of a std::vector&.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
e5551ed9cec1ae777c4e4b8852a1d7842c2e1c3d 26-Oct-2012 Rafael Espindola <rafael.espindola@gmail.com> Change the internalize pass to internalize all symbols when given an empty
list of externals. This makes sense since a shared library with no symbols
can still be useful if it has static constructors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
63a1eb62e4eef1cbdedce5c60c3e1243a071eba1 18-Oct-2012 Chandler Carruth <chandlerc@gmail.com> Introduce a BarrierNoop pass, a hack designed to allow *some* control
over the implicitly-formed-and-nesting CGSCC pass manager and function
pass managers, especially when using them on the opt commandline or
using extension points in the module builder. The '-barrier' opt flag
(or the pass itself) will create a no-op module pass in the pipeline,
resetting the pass manager stack, and allowing the creation of a new
pipeline of function passes or CGSCC passes to be created that is
independent from any previous pipelines.

For example, this can be used to test running two CGSCC passes in
independent CGSCC pass managers as opposed to in the same CGSCC pass
manager. It also allows us to introduce a further hack into the
PassManagerBuilder to separate the O0 pipeline extension passes from the
always-inliner's CGSCC pass manager, which they likely do not want to
participate in... At the very least none of the Sanitizer passes want
this behavior.

This fixes a bug with ASan at O0 currently, and I'll commit the ASan
test which covers this pass. I'm happy to add a test case that this pass
exists and works, but not sure how much time folks would like me to
spend adding test cases for the details of its behavior of partition
pass managers.... The whole thing is just vile, and mostly intended to
unblock ASan, so I'm hoping to rip this all out in a brave new pass
manager world.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
95f1ef4ac7f3bf7fd0c4636984fe1c5f8e4190a9 11-Sep-2012 Alex Rosenberg <alexr@leftfield.org> Add a pass that renames everything with metasyntatic names. This works well after using bugpoint to reduce the confusion presented by the original names, which no longer mean what they used to.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
fa086f1f00a8b75ab2e2208bd7a028e62f9854db 25-Feb-2012 Chad Rosier <mcrosier@apple.com> Add support for disabling llvm.lifetime intrinsics in the AlwaysInliner. These
are optimization hints, but at -O0 we're not optimizing. This becomes a problem
when the alwaysinline attribute is abused.
rdar://10921594



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
2626dba9c5515d2e534c117bb16ceb03dd4d0930 04-Aug-2011 Bill Wendling <isanbard@gmail.com> Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets.
This is some of my original LLVM code. *wipes tear*


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
8aa695dc6f2649e53716b74e781bcc5845a6eba8 26-Jul-2011 Jay Foad <jay.foad@gmail.com> Fix typo in comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
1afcace3a3a138b1b18e5c6270caa8dae2261ae2 09-Jul-2011 Chris Lattner <sabre@nondot.org> Land the long talked about "type system rewrite" patch. This
patch brings numerous advantages to LLVM. One way to look at it
is through diffstat:
109 files changed, 3005 insertions(+), 5906 deletions(-)

Removing almost 3K lines of code is a good thing. Other advantages
include:

1. Value::getType() is a simple load that can be CSE'd, not a mutating
union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
uniques them. This means that the compiler doesn't merge them structurally
which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead
"const Type *" everywhere.

Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.
"LLVM 3.0" is the right time to do this.

There are still some cleanups pending after this, this patch is large enough
as-is.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
b5f18f5df00e861b68a06d7d6da0664b3e0ba3d8 12-Apr-2011 Chris Lattner <sabre@nondot.org> remove the StructRetPromotion pass. It is unused, not maintained and
has some bugs. If this is interesting functionality, it should be
reimplemented in the argpromotion pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
0092b1142f5d35d204f35ec3cfe19d8de082400f 16-Jan-2011 Chris Lattner <sabre@nondot.org> remove the partial specialization pass. It is unmaintained and has bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
930f5efac0f76aa9e3772d9a36757f18b3573112 03-Nov-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Let the -inline-threshold command line argument take precedence over the
threshold given to createFunctionInliningPass().

Both opt -O3 and clang would silently ignore the -inline-threshold option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
b4e3cda1189fae8333fd3fa9051b47ed067ae1fd 26-Aug-2010 Dan Gohman <gohman@apple.com> Rewrite ExtractGV, removing a bunch of stuff that didn't fully work,
and was over-complicated, and replacing it with a simple implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
d720670393434effa832b686b4a482b736bd9c4d 31-Jul-2010 Rafael Espindola <rafael.espindola@gmail.com> The BlockExtractorPass() constructor was not reading the BlockFile and that was
exactly what bugpoint expected it to do.

There was also only one user of
BlockExtractorPass(const std::vector<BasicBlock*> &B), so just remove it and
make BlockExtractorPass read BlockFile.

This fixes bugpoint's block extraction.

Nick, please review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
26d14294de179ada3ba472d206bd25e9785f05a3 01-Jul-2010 Devang Patel <dpatel@apple.com> Debugging infomration is encoded in llvm IR using metadata. This is designed
such a way that debug info for symbols preserved even if symbols are
optimized away by the optimizer.

Add new special pass to remove debug info for such symbols.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
66284e063a1e46500acae48bdc0e4a00652021d1 24-Oct-2009 Victor Hernandez <vhernandez@apple.com> Auto-upgrade free instructions to calls to the builtin free function.
Update all analysis passes and transforms to treat free calls just like FreeInst.
Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
98b532cf33a3198391f2f411879059f6c7bf99a0 18-Oct-2009 Chris Lattner <sabre@nondot.org> remove the IndMemRemPass, which only made sense for when malloc/free were intrinsic
instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
d84db1133345234738b646c70b907bf8a0983ac9 28-Sep-2009 Dan Gohman <gohman@apple.com> Convert LoopSimplify and LoopExtractor from FunctionPass to LoopPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
ca399021d47d640551eb786620bcd108e1758485 14-Jun-2009 Owen Anderson <resistor@mac.com> Add an early implementation of a partial inlining pass. The idea behind this
is that, for functions whose bodies are entirely guarded by an if-statement, it
can be profitable to pull the test out of the callee and into the caller.

This code has had some cursory testing, but still has a number of known issues
on the LLVM test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
23e528be8069ead5f598e4043481fa2ef122a0e6 09-Mar-2009 Devang Patel <dpatel@apple.com> Add helper pass to remove llvm.dbg.declare intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
9e89ba31f16a960239a750a26a982b4c9dfe8949 31-Dec-2008 Duncan Sands <baldrick@free.fr> Rename AddReadAttrs to FunctionAttrs, and teach it how
to work out (in a very simplistic way) which function
arguments (pointer arguments only) are only dereferenced
and so do not escape. Mark such arguments 'nocapture'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
f17fc461d17f9fa85f8fbc140ded8f3c591791e2 18-Nov-2008 Devang Patel <dpatel@apple.com> Add new helper pass that strips all symbol names except debugging information.
This pass makes it easier to test wheter debugging info. influences optimization passes or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
94b29c3eacfad973ea32b7fdfaa5e067d55bbfa4 12-Nov-2008 Devang Patel <dpatel@apple.com> Undo previous check-in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
90d45b8a4a787739662dc1c781dc0e7c57c2ffa2 11-Nov-2008 Devang Patel <dpatel@apple.com> Add utility pass to remove dbg info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
579a0246616d76bc536de0e41edf069d091604be 02-Nov-2008 Nick Lewycky <nicholas@mxc.ca> Add a new MergeFunctions pass. It finds identical functions and merges them.

This triggers only 60 times in llvm-test (look at .llvm.bc, not .linked.rbc)
and so it probably wont be turned on by default. Also, may of those are likely
to go away when PR2973 is fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
9f07a290b92a8ff06dfb9f3c28d6aa082217d9a6 19-Sep-2008 Duncan Sands <baldrick@free.fr> Add a new pass AddReadAttrs which works out which functions
can get the readnone/readonly attributes, and gives them it.
The plan is to remove markmodref (which did the same thing
by querying GlobalsModRef) and delete the analogous
functionality from GlobalsModRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
cf996d4b5613616f9de3a816751e2a128dac7d8a 03-Sep-2008 Andrew Lenharth <andrewl@lenharth.org> Initial version of a Partial Specialization IPO pass. It triggers a couple hundred times on 176.gcc. I don't know the performance impact yet, the heuristic is quite simple still.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
3d566ddd05120d1ff85eb4f93283e0e85366fa82 03-Sep-2008 Devang Patel <dpatel@apple.com> Add missing decls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
65c9216a398c319d6817dbad3086346da77f3a5d 26-Jun-2008 Matthijs Kooijman <matthijs@stdin.nl> Add missing semicolumn in my last commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
b0ed11f4a0677f934c21c5a7180585bb1ab742a5 26-Jun-2008 Matthijs Kooijman <matthijs@stdin.nl> Improve comments wrt createInternalize.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
4e78908b9453edf7d0907d4811c469a630aff560 24-Jun-2008 Matthijs Kooijman <matthijs@stdin.nl> Rename a few variables to be more consistent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
ef3682a4fbfc3ff1a593adf95740ad8ab0d1d487 14-May-2008 Devang Patel <dpatel@apple.com> Simplify internalize pass. Add test case.
Patch by Matthijs Kooijman!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
fd1cbbe9cfeddab8ec99a9325c1e87311609c0a3 01-May-2008 Chris Lattner <sabre@nondot.org> Delete the IPO simplify-libcalls and completely reimplement it as
a FunctionPass. This makes it simpler, fixes dozens of bugs, adds
a couple of minor features, and shrinks is considerably: from
2214 to 1437 lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
bcd203cf860269987f32b14737b200b84fc2b63e 19-Apr-2008 Chris Lattner <sabre@nondot.org> Allow argpromote to promote struct arguments with a specified number
of elements. Patch by Matthijs Kooijman!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
7623716e613032cff6c3d6808a19f0091ba9f4e8 21-Mar-2008 Andrew Lenharth <andrewl@lenharth.org> FunctionExtractorPass has been superceded by GVExtractorPass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
d245a8ae470e2ee84d138379f793095646c590e5 07-Mar-2008 Andrew Lenharth <andrewl@lenharth.org> add a pass that can extract all kinds of global values, not just functions. Update llvm-extract to use it and optionally extract a global variable if you want it too

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
ca891ecf9152791f72f33a0dafff6b4a022642ee 01-Mar-2008 Devang Patel <dpatel@apple.com> Add pass to promote sret.
This pass transforms

%struct._Point = type { i32, i32, i32, i32, i32, i32 }
define internal void @foo(%struct._Point* sret %agg.result)

into

%struct._Point = type { i32, i32, i32, i32, i32, i32 }
define internal %struct._Point @foo()

This pass updates foo() clients appropriately to use
getresult instruction to extract return values.

This pass is not yet ready for prime time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
120d053e3ba810b44047fbcb719824bed5673ca9 12-Jan-2008 Chris Lattner <sabre@nondot.org> Allow clients to specify the inline threshold when creating
the inliner pass. Patch by Robert Zeh.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.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/Transforms/IPO.h
4e1be6d5ea90d0714171d0d19033508bc4fe7f30 05-Nov-2007 Gordon Henriksen <gordonhenriksen@mac.com> Deleting redundant copy of block extractor pass. See also PR1775.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
ef9b9a793949469cdaa4ab6d0173136229dcab7b 05-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR411:
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
b10308e440c80dd6ffb4b478f741ff7e5f30cb48 28-Jan-2007 Anton Korobeynikov <asl@math.spbu.ru> Propagate changes from my local tree. This patch includes:
1. New parameter attribute called 'inreg'. It has meaning "place this
parameter in registers, if possible". This is some generalization of
gcc's regparm(n) attribute. It's currently used only in X86-32 backend.
2. Completely rewritten CC handling/lowering code inside X86 backend.
Merged stdcall + c CCs and fastcall + fast CC.
3. Dropped CSRET CC. We cannot add struct return variant for each
target-specific CC (e.g. stdcall + csretcc and so on).
4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in
on first attribute has meaning 'This is hidden pointer to structure
return. Handle it gently'.
5. Fixed small bug in llvm-extract + add new feature to
FunctionExtraction pass, which relinks all internal-linkaged callees
from deleted function to external linkage. This will allow further
linking everything together.

NOTEs: 1. Documentation will be updated soon.
2. llvm-upgrade should be improved to translate csret => sret.
Before this, there will be some unexpected test fails.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
c71ca3cdd2d7a08b043ebb717cad0beadaf47450 26-Jan-2007 Devang Patel <dpatel@apple.com> Inherit CallGraphSCCPass directly from Pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
753d94a1c8fe02f64eb4f482d396712c68db1d84 20-Jul-2006 Devang Patel <dpatel@apple.com> Add new constructor to accept vector of exported names while creating
InternalizePass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
3433141a3e5cae22f79019f52b624d0f384018a7 10-Apr-2006 Andrew Lenharth <andrewl@lenharth.org> Add a simple pass to make sure that all (non-library) calls to malloc and free
are visible to analysis as intrinsics. That is, make sure someone doesn't pass
free around by address in some struct (as happens in say 176.gcc).

This doesn't get rid of any indirect calls, just ensure calls to free and malloc
are always direct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
f9c6105a784f2f0ef683de007b25decb61ab5502 18-Oct-2005 Chris Lattner <sabre@nondot.org> add an option to the internalize pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
bb3d5d246b10da27858837285fba012f0c14671f 25-Apr-2005 Reid Spencer <rspencer@reidspencer.com> Declare a function to create the SimplifyLibCalls pass.


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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
ecc1cef8bfd07575ba4026780adf7054c771e12e 10-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Apply feedback from Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
bf65268def058af3e1d35aba233d5f0fd5a80fce 08-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Add more missing createXxxPass functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
3c0517652645a283e9d1d2ee3aa7d63f6e9af90e 10-Dec-2004 Chris Lattner <sabre@nondot.org> New prototype


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
92f6c15d8f40aa81c65bda18149855a0b025a68e 02-Dec-2004 Chris Lattner <sabre@nondot.org> Move the strip pass from Scalar to IPO lib


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
0998afdc1eb0f5a3ace07a029ce18a94a8fc2f3c 18-Oct-2004 Reid Spencer <rspencer@reidspencer.com> Declare a function in the correct namespace.

Patch contributed by Morten Ofstad. Thanks Morten!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
93a00e4ceb810639ec8dfb7985fad76c1ffba8c1 07-Oct-2004 Chris Lattner <sabre@nondot.org> Rename pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
8e47e7292c0edadb964403b06717220e432f854a 20-Sep-2004 Chris Lattner <sabre@nondot.org> Do not prototype any of these passes as returning Pass*. Instead, be specific


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
45df557348d3c3e9ae3ebbb6304d739a88f46c54 13-Aug-2004 Chris Lattner <sabre@nondot.org> Add a pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
c7553074125556c1e9721208ca4353d5a5a5f7b9 28-Jun-2004 Chris Lattner <sabre@nondot.org> Remove two dead passes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
7d248397a738c31bbe6e22bfe93a17cc560efdf7 23-Apr-2004 Misha Brukman <brukman+llvm@gmail.com> Clarify the logic: the flag is renamed to `deleteFn' to signify it will delete
the function instead of isolating it. This also means the condition is reversed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
127a3e092bdbed4ed7e889e972132cf51980cfca 23-Apr-2004 Misha Brukman <brukman+llvm@gmail.com> Add a boolean flag to delete this function from module, leaving the rest behind.
Useful in manual debugging when bugpoint isn't quite up to snuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
7bc91c62f01e14e0cd1ee32755a10d2abb878933 14-Mar-2004 Chris Lattner <sabre@nondot.org> Rename createLoopExtractorPass to createSingleLoopExtractorPass
Doxygenify


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
4eddf37ee31e7b962ad275c591124d90c8955f42 14-Mar-2004 Chris Lattner <sabre@nondot.org> Move loop extractor to the IPO header


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
f0b607027254989f47ebb75a28d1a6f2cc6b0762 07-Mar-2004 Chris Lattner <sabre@nondot.org> Add prototype


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
fdf6a3c8ccec4761ffb56f49fa9cdb23ea7985d7 25-Feb-2004 Chris Lattner <sabre@nondot.org> Add prototype


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
0f7d2e8b8dd6ba590ed92643c4fffe6c394da581 16-Dec-2003 Brian Gaeke <gaeke@uiuc.edu> Fix typo in comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.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/Transforms/IPO.h
3323f2abbdfd2978f05d5260c63504c2325e76f0 05-Nov-2003 Chris Lattner <sabre@nondot.org> Split the DAE pass into DAE and DAH passes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
815904d373cd5b9843d7fec0eb3e08e2cab17236 23-Oct-2003 Chris Lattner <sabre@nondot.org> Include new prototype


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.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/Transforms/IPO.h
370910d2a0655056ccad108c2cd7490c7fe04650 15-Sep-2003 Chris Lattner <sabre@nondot.org> Add prototype for the lowersetjmp pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
2757af2d47ea633d4cdb7bd1b12850e975a49bdf 01-Sep-2003 Chris Lattner <sabre@nondot.org> Change the RaiseAllocations pass from being a BasicBlockPass to being a Pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
fa7f524162448d37feaa0e941a28c89ddca54e72 31-Aug-2003 Chris Lattner <sabre@nondot.org> Add accessor function for the PruneEH pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
9b2a14b6f1a7e1dc93f47778adb2d68f327f5ab9 25-Jun-2003 Chris Lattner <sabre@nondot.org> Add argument to DAE to allow operation on non-internal functions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
1989d34b3b6a1fe5a771d2297b2af07e3d8d0d71 16-Jun-2003 Chris Lattner <sabre@nondot.org> Add prototype for the new DAE pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
9a64084a8486c7835d88890b4df302791e12e8ac 03-Feb-2003 Chris Lattner <sabre@nondot.org> Remove pool alloc accessor


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
8f51da42e704e0d64699e4a1b32d070a30b35bb9 19-Nov-2002 Chris Lattner <sabre@nondot.org> Move inlining pass to IPO.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
5113eb0c520280b42917a5e1d1b14d22392010f7 19-Nov-2002 Chris Lattner <sabre@nondot.org> Move the function extractor pass from tools/extract into lib/Xform/IPO


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
7afd98d144342de13df1ec5ffc0efc1cf40e2815 26-Sep-2002 Chris Lattner <sabre@nondot.org> Converted SimpleStructMutation to take TargetData as a required pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
ab955c335908eb5b896fcc2788484b5c4a50ab4b 24-Jul-2002 Chris Lattner <sabre@nondot.org> Move many files into IPO.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
5c5db0eeb4e57b6d576e6a428bddf8a2ecf1ebf1 23-Jul-2002 Chris Lattner <sabre@nondot.org> * Rename to IPO.h
* Add ConstantMerge.h contents


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
03917ccb0c2975642b3d3eb8c07cc0ba551bad4b 23-Jul-2002 Chris Lattner <sabre@nondot.org> Prepare the file to become IPO.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
b59d8199e0a0a3d1c77cc36f3cfb1c6716a254a8 10-Apr-2002 Chris Lattner <sabre@nondot.org> Split the CleanupGCCOutput pass into two passes, and add real life actual
documentation on when they do.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
bd0ef77cde9c9e82f2b4ad33e4982c46274d6540 26-Feb-2002 Chris Lattner <sabre@nondot.org> Change over to use new style pass mechanism, now passes only expose small
creation functions in their public header file, unless they can help it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
967a04442d92f224911eb65b4c06102048f318c2 31-Jan-2002 Chris Lattner <sabre@nondot.org> Convert xforms over to use new pass structure


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
5048c3b853b8be541479e300705a88375569c8b1 22-Jan-2002 Chris Lattner <sabre@nondot.org> Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass in
the ChangeAllocations.h header file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
f4de63f65fa995e68e3cd268117ab065068be413 21-Jan-2002 Chris Lattner <sabre@nondot.org> Implement a more powerful, simpler, pass system. This pass system can figure
out how to run a collection of passes optimially given their behaviors and
charactaristics.

Convert code to use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
430aa9ec1c462886be420f000d62ddd93fc45250 15-Nov-2001 Chris Lattner <sabre@nondot.org> -cleangcc pass now remove type names that are never referenced and type names for pointers to primitive types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
407c25bd826364e3fcc67549d94044f84d90ad2f 03-Nov-2001 Chris Lattner <sabre@nondot.org> Expose method to merge identically named methods


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
bfe11108adef46a7e366d07c9d04afb88a1966a9 31-Oct-2001 Chris Lattner <sabre@nondot.org> Implement code to convert %malloc and %free FUNCTION CALLS into the instruction equivalent


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/IPO.h
2fa11445cdf8844531d8ff365ff743ca3fe480c7 31-Oct-2001 Chris Lattner <sabre@nondot.org> New GCC cleanup pass interface


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