History log of /external/llvm/tools/opt/opt.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2c3e0051c31c3f5b2328b447eadf1cf9c4427442 06-May-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r235153

Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7
(cherry picked from commit 0c7f116bb6950ef819323d855415b2f2b0aad987)
/external/llvm/tools/opt/opt.cpp
4c5e43da7792f75567b693105cc53e3f1992ad98 08-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master llvm for rebase to r233350

Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/tools/opt/opt.cpp
ebe69fe11e48d322045d5949c83283927a0d790b 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r230699.

Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/tools/opt/opt.cpp
37ed9c199ca639565f6ce88105f9e39e898d82d0 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r222494.

Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/tools/opt/opt.cpp
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 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/tools/opt/opt.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

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

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/tools/opt/opt.cpp
b84d18f57604b86ce2cae5a2447a5f879153bc0f 07-Dec-2013 Bill Wendling <isanbard@gmail.com> Merging r196294:
------------------------------------------------------------------------
r196294 | arnolds | 2013-12-03 08:33:06 -0800 (Tue, 03 Dec 2013) | 7 lines

opt: Mirror vectorization presets of clang

clang enables vectorization at optimization levels > 1 and size level < 2. opt
should behave similarily.

Loop vectorization and SLP vectorization can be disabled with the flags
-disable-(loop/slp)-vectorization.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
b8e48a636e7ee6c13140382eb93d9695a65b0624 10-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: In DIBuilder, the context field of subprogram is updated to use
DIScopeRef.

A paired commit at clang is required due to changes to DIBuilder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0568ba6e3af7ae7eb3ad7871ad0581c926150c8d 09-Oct-2013 Greg Bedwell <greg_bedwell@sn.scee.net> Test commit. Remove whitespace from otherwise empty lines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
4acd20a20be9f7d91ed35c1c6a501cec1605e854 18-Sep-2013 Craig Topper <craig.topper@gmail.com> Lift alignment restrictions for load/store folding on VINSERTF128/VEXTRACTF128. Fixes PR17268.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
2c9905a1f3bcf22cc2f93332cc8411d11798ba07 09-Sep-2013 Manman Ren <manman.ren@gmail.com> Debug Info: Use DIScopeRef for DIType::getContext.

In DIBuilder, the context field of a TAG_member is updated to use the
scope reference. Verifier is updated accordingly.

DebugInfoFinder now needs to generate a type identifier map to have
access to the actual scope. Same applies for BreakpointPrinter.

processModule of DebugInfoFinder is called during initialization phase
of the verifier to make sure the type identifier map is constructed early
enough.

We are now able to unique a simple class as demonstrated by the added
testing case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
435798e96a64738b55a01055dde1bc9a88a15191 28-Aug-2013 Hal Finkel <hfinkel@anl.gov> Disable unrolling in the loop vectorizer when disabled in the pass manager

When unrolling is disabled in the pass manager, the loop vectorizer should also
not unroll loops. This will allow the -fno-unroll-loops option in Clang to
behave as expected (even for vectorizable loops). The loop vectorizer's
-force-vector-unroll option will (continue to) override the pass-manager
setting (including -force-vector-unroll=0 to force use of the internal
auto-selection logic).

In order to test this, I added a flag to opt (-disable-loop-unrolling) to force
disable unrolling through opt (the analog of -fno-unroll-loops in Clang). Also,
this fixes a small bug in opt where the loop vectorizer was enabled only after
the pass manager populated the queue of passes (the global_alias.ll test needed
a slight update to the RUN line as a result of this fix).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
b6171c529670e5c240aaf9c08f5f1b6dba9d16fc 13-Aug-2013 Arnold Schwaighofer <aschwaighofer@apple.com> Remove logic that decides whether to vectorize or not depending on O-levels

I have moved this logic into clang and opt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
61fc8d670f1e991804c2ab753e567981e60962cb 01-Aug-2013 Bill Wendling <isanbard@gmail.com> Use function attributes to indicate that we don't want to realign the stack.

Function attributes are the future! So just query whether we want to realign the
stack directly from the function instead of through a random target options
structure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
57e6b2d1f3de0bf459e96f7038e692d624f7e580 27-Jul-2013 Tom Stellard <thomas.stellard@amd.com> SimplifyCFG: Use parallel-and and parallel-or mode to consolidate branch conditions

Merge consecutive if-regions if they contain identical statements.
Both transformations reduce number of branches. The transformation
is guarded by a target-hook, and is currently enabled only for +R600,
but the correctness has been tested on X86 target using a variety of
CPU benchmarks.

Patch by: Mei Ye

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f245ae5a4a78d5a02b3b9e2dae819077a56d81e7 25-Jul-2013 Bill Wendling <isanbard@gmail.com> Replace the "NoFramePointerElimNonLeaf" target option with a function attribute.

There's no need to specify a flag to omit frame pointer elimination on non-leaf
nodes...(Honestly, I can't parse that option out.) Use the function attribute
stuff instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0dcba2fadb990ba2298ba43d76372c754b240cee 22-Jul-2013 Bill Wendling <isanbard@gmail.com> Recommit r186217 with testcase fix:

Use the function attributes to pass along the stack protector buffer size.

Now that we have robust function attributes, don't use a command line option to
specify the stack protecto buffer size.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
c1b49b56d4132efa2e06deb8f23508d0de4c8800 16-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a wrapper for open.

This centralizes the handling of O_BINARY and opens the way for hiding more
differences (like how open behaves with directories).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
12c74dc2c2ee306f60fb39a9b2a43000e23addcc 13-Jul-2013 Chandler Carruth <chandlerc@gmail.com> Revert commit r186217 -- this is breaking bots:

http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/4328

Original commit log:
Use the function attributes to pass along the stack protector buffer
size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
8a50013cc23810aa3e1ac8da66764fbb2d96147e 13-Jul-2013 Bill Wendling <isanbard@gmail.com> Use the function attributes to pass along the stack protector buffer size.

Now that we have robust function attributes, don't use a command line option to
specify the stack protecto buffer size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
cbafae6d33031a72ba8219c28cb0e852511f79a3 28-Jun-2013 Manman Ren <mren@apple.com> Debug Info: clean up usage of Verify.

No functionality change.
It should suffice to check the type of a debug info metadata, instead of
calling Verify. For cases where we know the type of a DI metadata, use
assert.

Also update testing cases to make them conform to the format of DI classes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
8479989ebe30f8fb9e14fbd5622fe0fd51988ff6 27-Jun-2013 Eric Christopher <echristo@gmail.com> Revert "Debug Info: clean up usage of Verify." as it's breaking bots.

This reverts commit r185020

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
02e75021d80bb068d0178f1e4fdd0a4fb36b9811 26-Jun-2013 Manman Ren <mren@apple.com> Debug Info: clean up usage of Verify.

No functionality change.
It should suffice to check the type of a debug info metadata, instead of
calling Verify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
be87bce32bc9af9bc5918a6e08806b61e3088165 20-Jun-2013 Meador Inge <meadori@codesourcery.com> Remove the simplify-libcalls pass (finally)

This commit completely removes what is left of the simplify-libcalls
pass. All of the functionality has now been migrated to the instcombine
and functionattrs passes. The following C API functions are now NOPs:

1. LLVMAddSimplifyLibCallsPass
2. LLVMPassManagerBuilderSetDisableSimplifyLibCalls

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
13ace6664fad8b4d0277d16690674f4e1f176642 08-May-2013 Daniel Malea <daniel.malea@intel.com> Add DebugIR pass -- emits IR file and replace source lines with IR lines in MD
- requires existing debug information to be present
- fixes up file name and line number information in metadata
- emits a "<orig_filename>-debug.ll" succinct IR file (without !dbg metadata
or debug intrinsics) that can be read by a debugger
- initialize pass in opt tool to enable the "-debug-ir" flag
- lit tests to follow



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
60d20a81fcf91818db6b52520dd2ce520ad57a42 15-Apr-2013 Eric Christopher <echristo@gmail.com> Revert "Recommit r179497 after fixing uninitialized variable." until
I can fix the testcases here:

http://lab.llvm.org:8011/builders/clang-native-arm-cortex-a9/builds/6952

This reverts commit r179512 due to testcases specifying triples
that they didn't actually mean and causing failures on other platforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
fdf9624f3c20a24345a543979e1cb5c94a9d6715 15-Apr-2013 Eric Christopher <echristo@gmail.com> Recommit r179497 after fixing uninitialized variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f1216abf7ec0d37152a0aaaad5a238beca65ecb6 15-Apr-2013 Eric Christopher <echristo@gmail.com> Revert "Remove some unused triple and data layout."

This reverts commit r179497 and the accompanying commit as it broke random platforms that aren't osx.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
10f8d2bb5bec3630ab4c56429e942fc422d94ddb 15-Apr-2013 Eric Christopher <echristo@gmail.com> If we've specified a triple on the command line then go ahead
and use that as the default triple for the module and target
data layout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
200241e4de11981523b3d14f3acab6129efed701 12-Apr-2013 Andy Gibbs <andyg1001@hotmail.co.uk> Replace uses of the deprecated std::auto_ptr with OwningPtr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
7fc162f893d67ffd96fdb19e2eb9a03b4621f0c0 26-Mar-2013 Chandler Carruth <chandlerc@gmail.com> Split out the IRReader header and the utility functions it provides into
its own library. These functions are bridging between the bitcode reader
and the ll parser which are in different libraries. Previously we didn't
have any good library to do this, and instead played fast and loose with
a "header only" set of interfaces in the Support library. This really
doesn't work well as evidenced by the recent attempt to add timing logic
to the these routines.

As part of this, make them normal functions rather than weird inline
functions, and sink the implementation into the library. Also clean up
the header to be nice and minimal.

This requires updating lots of build system dependencies to specify that
the IRReader library is needed, and several source files to not
implicitly rely upon the header file to transitively include all manner
of other headers.

If you are using IRReader.h, this commit will break you (the header
moved) and you'll need to also update your library usage to include
'irreader'. I will commit the corresponding change to Clang momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
24c4898973a074713201fb9351d302b9f7733e92 28-Jan-2013 Michael Gottesman <mgottesman@apple.com> Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
90230c84668269fbd53d163e398cd16486d5d414 19-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Sort all of the includes. Several files got checked in with mis-sorted
includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
446991dc348a1b6c12666d52449d2ca7a2e39a1a 10-Jan-2013 Jakub Staszak <kubastaszak@gmail.com> Fix #includes after my last commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3251e81d793a293b78f4914be6093b405c24fc2a 07-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move CallGraphSCCPass.h into the Analysis tree; that's where the
implementation lives already.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
aeef83c6afa1e18d1cf9d359cc678ca0ad556175 07-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Switch TargetTransformInfo from an immutable analysis pass that requires
a TargetMachine to construct (and thus isn't always available), to an
analysis group that supports layered implementations much like
AliasAnalysis does. This is a pretty massive change, with a few parts
that I was unable to easily separate (sorry), so I'll walk through it.

The first step of this conversion was to make TargetTransformInfo an
analysis group, and to sink the nonce implementations in
ScalarTargetTransformInfo and VectorTargetTranformInfo into
a NoTargetTransformInfo pass. This allows other passes to add a hard
requirement on TTI, and assume they will always get at least on
implementation.

The TargetTransformInfo analysis group leverages the delegation chaining
trick that AliasAnalysis uses, where the base class for the analysis
group delegates to the previous analysis *pass*, allowing all but tho
NoFoo analysis passes to only implement the parts of the interfaces they
support. It also introduces a new trick where each pass in the group
retains a pointer to the top-most pass that has been initialized. This
allows passes to implement one API in terms of another API and benefit
when some other pass above them in the stack has more precise results
for the second API.

The second step of this conversion is to create a pass that implements
the TargetTransformInfo analysis using the target-independent
abstractions in the code generator. This replaces the
ScalarTargetTransformImpl and VectorTargetTransformImpl classes in
lib/Target with a single pass in lib/CodeGen called
BasicTargetTransformInfo. This class actually provides most of the TTI
functionality, basing it upon the TargetLowering abstraction and other
information in the target independent code generator.

The third step of the conversion adds support to all TargetMachines to
register custom analysis passes. This allows building those passes with
access to TargetLowering or other target-specific classes, and it also
allows each target to customize the set of analysis passes desired in
the pass manager. The baseline LLVMTargetMachine implements this
interface to add the BasicTTI pass to the pass manager, and all of the
tools that want to support target-aware TTI passes call this routine on
whatever target machine they end up with to add the appropriate passes.

The fourth step of the conversion created target-specific TTI analysis
passes for the X86 and ARM backends. These passes contain the custom
logic that was previously in their extensions of the
ScalarTargetTransformInfo and VectorTargetTransformInfo interfaces.
I separated them into their own file, as now all of the interface bits
are private and they just expose a function to create the pass itself.
Then I extended these target machines to set up a custom set of analysis
passes, first adding BasicTTI as a fallback, and then adding their
customized TTI implementations.

The fourth step required logic that was shared between the target
independent layer and the specific targets to move to a different
interface, as they no longer derive from each other. As a consequence,
a helper functions were added to TargetLowering representing the common
logic needed both in the target implementation and the codegen
implementation of the TTI pass. While technically this is the only
change that could have been committed separately, it would have been
a nightmare to extract.

The final step of the conversion was just to delete all the old
boilerplate. This got rid of the ScalarTargetTransformInfo and
VectorTargetTransformInfo classes, all of the support in all of the
targets for producing instances of them, and all of the support in the
tools for manually constructing a pass based around them.

Now that TTI is a relatively normal analysis group, two things become
straightforward. First, we can sink it into lib/Analysis which is a more
natural layer for it to live. Second, clients of this interface can
depend on it *always* being available which will simplify their code and
behavior. These (and other) simplifications will follow in subsequent
commits, this one is clearly big enough.

Finally, I'm very aware that much of the comments and documentation
needs to be updated. As soon as I had this working, and plausibly well
commented, I wanted to get it committed and in front of the build bots.
I'll be doing a few passes over documentation later if it sticks.

Commits to update DragonEgg and Clang will be made presently.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
7bdf6b00e04c177f22133b5d4be10cb246cb1e76 05-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Convert the TargetTransformInfo from an immutable pass with dynamic
interfaces which could be extracted from it, and must be provided on
construction, to a chained analysis group.

The end goal here is that TTI works much like AA -- there is a baseline
"no-op" and target independent pass which is in the group, and each
target can expose a target-specific pass in the group. These passes will
naturally chain allowing each target-specific pass to delegate to the
generic pass as needed.

In particular, this will allow a much simpler interface for passes that
would like to use TTI -- they can have a hard dependency on TTI and it
will just be satisfied by the stub implementation when that is all that
is available.

This patch is a WIP however. In particular, the "stub" pass is actually
the one and only pass, and everything there is implemented by delegating
to the target-provided interfaces. As a consequence the tools still have
to explicitly construct the pass. Switching targets to provide custom
passes and sinking the stub behavior into the NoTTI pass is the next
step.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
7f00f87767036e74445aad0164eea13cf2642610 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Sort a few more #include lines in tools/... unittests/... and utils/...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
b338d897f9063ed6f02ed52527722c61ef827d5a 01-Jan-2013 Nadav Rotem <nrotem@apple.com> Make opt grab the triple from the module and use it to initialize the target machine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f2a68db4264690b0ccb197e54af3414054b42e51 11-Dec-2012 NAKAMURA Takumi <geek4civic@gmail.com> llvm/tools: Add #include "llvm/TargetTransformInfo.h"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f010c464a11444733ec67e31aace8bcebeaf2588 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for tools/...

Again, tools are trickier to pick the main module header for than
library source files. I've started to follow the pattern of using
LLVMContext.h when it is included as a stub for program source files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
6eda0813459547fe8094dd5d31f7dd2214b5ca7a 29-Nov-2012 Pedro Artigas <partigas@apple.com> One more step towards making doInitialization and doFinalization useful for
start up and clean up module passes, now that ASAN and TSAN are fixed the
tests pass



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
9780d352b9108d49097970f6686fd61aba58d7fc 27-Nov-2012 Owen Anderson <resistor@mac.com> Revert r168635 "Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model".
It appears to have broken at least one buildbot.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0d30d30d58253de6b8836a11effcfc38d7566841 27-Nov-2012 Owen Anderson <resistor@mac.com> Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model

Patch by Pedro Artigas, with feedback from by Chandler Carruth.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
40b6fdb81e12b40dd41c9f9f07befb60ec7291c3 15-Nov-2012 Owen Anderson <resistor@mac.com> Add doInitialization and doFinalization methods to ModulePass's, to allow them to be re-initialized and reused on multiple Module's.

Patch by Pedro Artigas.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
199063ea37d8cc651a20ab00eef4326cd9331371 24-Oct-2012 Nadav Rotem <nrotem@apple.com> Opt does not need to initialize the Asm printer/parser

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0873bea3ed2d740208131f7f1706b0628c0aae09 24-Oct-2012 Nadav Rotem <nrotem@apple.com> Opt needs to initialize the different targets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
cbd9a19b5d6ff93efa82c467508ede78b8af3bac 19-Oct-2012 Nadav Rotem <nrotem@apple.com> Reapply the TargerTransformInfo changes, minus the changes to LSR and Lowerinvoke.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3b9a911efcf280950f878a050728450423875639 18-Oct-2012 Bob Wilson <bob.wilson@apple.com> Temporarily revert the TargetTransform changes.

The TargetTransform changes are breaking LTO bootstraps of clang. I am
working with Nadav to figure out the problem, but I am reverting it for now
to get our buildbots working.

This reverts svn commits: 165665 165669 165670 165786 165787 165997
and I have also reverted clang svn 165741

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
e3d0e86919730784faaddcb5d9b0257c39b0804b 11-Oct-2012 Nadav Rotem <nrotem@apple.com> Add a new interface to allow IR-level passes to access codegen-specific information.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
791cfc211a9801002bfda6b3eb4de7e041f04f53 08-Oct-2012 Micah Villmow <villmow@gmail.com> Move TargetData to DataLayout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
7b3d77e8ced150e7a77b25315355499340a91682 01-Sep-2012 Logan Chien <tzuhsiang.chien@gmail.com> Code cleanup: tools/opt/opt.cpp

Remove unused local variable.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0bcbd1df7a204e1e512f1a27066d725309de1b13 28-Jun-2012 Bill Wendling <isanbard@gmail.com> Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and
include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.

The reasoning is because the DebugInfo module is simply an interface to the
debug info MDNodes and has nothing to do with analysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
8bc3434e68028263c42dd26bde3c16450cb146f4 16-May-2012 Chandler Carruth <chandlerc@gmail.com> Teach the 'opt' tool about '-Os' and '-Oz', corresponding to the Clang
options, to enable easier testing of the innards of LLVM that are
enabled by such optimization strategies.

Note that this doesn't provide the (much needed) function attribute
support for -Oz (as opposed to -Os), but still seems like a positive
step to better test the logic that Clang currently relies on.

Patch by Patrik Hägglund.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
e652b521f97ed0c60cb5ad533dfcf477863ac0b1 18-Apr-2012 Joe Groff <arcata@gmail.com> allow opt to take a -mtriple option

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
de5e5ec3045a73a06b1054417f9ac6c02929e9ce 01-Feb-2012 Hal Finkel <hfinkel@anl.gov> Add a basic-block autovectorization pass.

This is the initial checkin of the basic-block autovectorization pass along with some supporting vectorization infrastructure.
Special thanks to everyone who helped review this code over the last several months (especially Tobias Grosser).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
a3e585d4c2e7829ae854bc0049d904db6a989f4b 07-Dec-2011 Duncan Sands <baldrick@free.fr> When doing "opt -O2" verify the bitcode like is done for
"opt -std-compile-opts".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
a7b0cb759433c715065440ee2a963a04db7f2b0b 15-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Remove all remaining uses of Value::getNameStr().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d8b7aa26134d2abee777f745c32005e63dea2455 16-Oct-2011 Chris Lattner <sabre@nondot.org> Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance
the X86 asmparser to produce ranges in the one case that was annoying me, for example:

test.s:10:15: error: invalid operand for instruction
movl 0(%rax), 0(%edx)
^~~~~~~

It should be straight-forward to enhance filecheck, tblgen, and/or the .ll parser to use
ranges where appropriate if someone is interested.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
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/tools/opt/opt.cpp
3d453ac1317f910b0589d87c061f056be29e36cd 02-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> move PassManagerBuilder.h to IPO. This is a non intuitive place to put it,
but it solves a layering violation since things in Support are not supposed to
use things in Transforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
42d41fda0873c27b81e18662f5746783a974301d 07-Jun-2011 Eli Friedman <eli.friedman@gmail.com> We only do always-inlining at -O1; make opt reflect that.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3e8984a0c43b04d8a8fe88a9c187e9e338d169b4 22-May-2011 Chris Lattner <sabre@nondot.org> initialize and finalize function passes, pointed out by Cameron.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
52b28896c8dfaa36f4b577b99fa57c5c412a5853 22-May-2011 Chris Lattner <sabre@nondot.org> switch opt to using PassManagerBuilder.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
ce96902d88d473697f05c0465952dae374be564e 05-Apr-2011 Andrew Trick <atrick@apple.com> Added *hidden* flags -print-options and -print-all-options so
developers can see if their driver changed any cl::Option's. The
current implementation isn't perfect but handles most kinds of
options. This is nice to have when decomposing the stages of
compilation and moving between different drivers. It's also a good
sanity check when comparing results produced by different command line
invocations that are expected to produce the comparable results.

Note: This is not an attempt to prolong the life of cl::Option. On the
contrary, it's a placeholder for a feature that must exist when
cl::Option is replaced by a more appropriate framework. A new
framework needs: a central option registry, dynamic name lookup,
non-global containers of option values (e.g. per-module,
per-function), *and* the ability to print options values and their defaults at
any point during compilation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
a41af7aeef953870da1cfeb59f7f3a34789dc8a5 05-Apr-2011 Andrew Trick <atrick@apple.com> whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
1be9980d065059e289fca739cbdcff74383dccbe 04-Apr-2011 Devang Patel <dpatel@apple.com> Update BreakpointPrinter to emit original function names only.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
188a7e00e784f78d6b5b250a64ac5c374f0fd3f0 18-Feb-2011 Chris Lattner <sabre@nondot.org> add a way to disable all builtins, wire it up to opt's -disable-simplifylibcalls flag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
2a66acafaf8d5ceedfef56c00526f6253ac176be 18-Feb-2011 Chris Lattner <sabre@nondot.org> Have opt set up a specific TargetLibraryInfo for modules
with a triple.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
90d238ce8aa68c4ecb9a8d038ba09f263acf4305 18-Feb-2011 Peter Collingbourne <peter@pcc.me.uk> Make -disable-simplify-libcalls work with -std-compile-opts

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
97f6d5b24136ac19d5f83c1ee9541b05f0eccebd 31-Jan-2011 Devang Patel <dpatel@apple.com> While printing "interesting" breakpoint locations for debug info quality test harness, focus only on entry block's terminator for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
5839614d977a18a3eef4e03b8aae6d2e12ecb2c7 20-Jan-2011 Tobias Grosser <grosser@fim.uni-passau.de> RegionPassPrinter should contain the name of the pass printed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
29012319cd1a6dee716c3149ead614a8271f7338 10-Dec-2010 Devang Patel <dpatel@apple.com> Print breakpoints for call instructions. This is used by optimized debug info test harness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f5f2300d2489ba1110b919abd18714ad707ec9a8 07-Dec-2010 Devang Patel <dpatel@apple.com> Add a simple breakpoint location printer. This will be used by upcoming "debug info in optimized code" quality test harness to set breakpoints at "interesting" locations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
7593f34d67f1f88bd09960dd92041d89de85a873 02-Dec-2010 Tobias Grosser <grosser@fim.uni-passau.de> Move check of command line options after command line parsing.

The check to not allow -analyze and -disable-output at the same time was done
before parsing the command line flags. Therefore it never triggered, and in case
both options where used opt segfaulted. Fix this by moving this check a after
command line parsing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.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/tools/opt/opt.cpp
e6c6cec82bee4f419645577bffbc1f56d4c90f34 03-Nov-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Tweak the opt -O2 / opt -O3 inliner thresholds to be the same as llvm-gcc and
clang are using.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.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/tools/opt/opt.cpp
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/tools/opt/opt.cpp
e4f1a9b8a272ff7452759019ee7774e9dbdf1568 07-Oct-2010 Dan Gohman <gohman@apple.com> Move tool_output_file into its own file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
e9dcd033e4aa4c276d45b48ddae6728a4725addd 08-Sep-2010 Tobias Grosser <grosser@fim.uni-passau.de> Execute all Pass Printers even if -quiet is set.

Follow the same logic in the LoopPass, ModulePass and CallGraphSCCPass printers,
as it was already used in the BasicBlockPass and FunctionPass printers. This is
more consistent.

The other option would have been to completely disable dumping the analysis
information. However, as this information is the only information printed if the
-analysis flag is set, calling opt would not do anything at all.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
4207d6f7856f50b79a43dd3cb4c60fae322fd142 08-Sep-2010 Tobias Grosser <grosser@fim.uni-passau.de> Include original pass name in the PassPrinter's name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d4c454317a38d65957edebe62bfc69fc8d9885e8 01-Sep-2010 Dan Gohman <gohman@apple.com> Make tool_output_file's raw_ostream instance a member variable instead
of a base class.

This makes it possible to unregister the file from FilesToRemove when
the file is done. Also, this eliminates the need for
formatted_tool_output_file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d5826a33a5a7c298a8934541d11cda042028be3b 20-Aug-2010 Dan Gohman <gohman@apple.com> Use the new tool_output_file in several tools. This fixes a variety
of problems with output files being left behind or output streams
being left unclosed. Fix llvm-mc to respect the -o option in all
modes, rather than hardcoding outs() in some cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
4931b312c06d89b14d54fdd6c3cdd374d76af7b8 18-Aug-2010 Dan Gohman <gohman@apple.com> Allow the -analyze option to follow the -o option, which defaults to
standard output, instead of just hardcoding outs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
86cbc1bb11c1de74afcd96a421f74429faca4c2f 18-Aug-2010 Dan Gohman <gohman@apple.com> Don't translate "-" to outs() manually; raw_ostream does that automatically.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.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/tools/opt/opt.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/tools/opt/opt.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/tools/opt/opt.cpp
3472766f9eb7d66f234c390ce1b3a8b76f0ee9ce 12-Jul-2010 Duncan Sands <baldrick@free.fr> Convert some tab stops into spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d928fb670fb3b0818fc23738e9c2418980bb141e 27-May-2010 Dan Gohman <gohman@apple.com> Don't special-case stdout in llvm::WriteBitcodeToFile; just consider
it to be the caller's responsibility to provide a stream in binary
mode. This fixes a layering violation and avoids an outs() call.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
7f924a3116e41d234a5693cd5f8bd1a855ce606a 27-May-2010 Dan Gohman <gohman@apple.com> Don't create an output stream when output is disabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
26a707493903729aab49e02a082a0e481003b760 27-May-2010 Dan Gohman <gohman@apple.com> Avoid calling outs() and fouts() when the stream isn't really needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
9cc1c18b7bab97fe93f38ee51d8d91d073936c35 14-May-2010 Dan Gohman <gohman@apple.com> Use regular PassManager instead of FunctionPassManager in opt, since it
isn't doing lazy streaming. This also fixes a missing doFinalization call.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
2decb22222cac46bb1d9163e7b89d7e5be8ef65f 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/tools/opt/opt.cpp
51ecc389a9b6ae82ff799a62cde882629fad53b0 24-Mar-2010 Dan Gohman <gohman@apple.com> Trim #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
bd85e8e3adc1637d0e301c78953a8bfa208bdcd7 22-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Avoid leaking the FunctionPassManager from opt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3460f221cd9d3329aefb3f10a0f9d0800d8db70a 18-Feb-2010 Benjamin Kramer <benny.kra@googlemail.com> Avoid a dangling pointer dereference, PassManager::add can delete the Pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.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/tools/opt/opt.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/tools/opt/opt.cpp
6f6e87db19e2976b3e581587db0f44fdfc4be0ad 22-Jan-2010 Chris Lattner <sabre@nondot.org> simplify code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
74733a7e46553e37295de9014c5d8a4bd59a0355 18-Jan-2010 Eli Friedman <eli.friedman@gmail.com> Make opt -O3 act more like clang -O3 etc., by making the inlining thresholds
match.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
b56bf581a3bd8feb3eb454b30ab171bc5131e17c 17-Jan-2010 Dan Gohman <gohman@apple.com> Don't create a (empty) output file, and don't warn about bitcode output
to a console, when --analyze is used.

Similarly, avoid creating an empty output file when --disable-output is used.

Print a warning when the -o option appears with either --analyze or
--disable-output, to indicate that the option is being ignored.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
08fc0d30267340ef46751615cf6978336a25d0f8 05-Jan-2010 David Greene <greened@obbligato.org> Enable debug buffering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
c0d91b75f0fc78cd19603ca6cd756aa392d7b293 09-Dec-2009 Chris Lattner <sabre@nondot.org> when opt crashes, print its command line arguments as a pretty stack trace.
Somehow opt was missed when this was added.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
b908f8ad6a38d989c7f769e329d778e563c398f4 03-Nov-2009 Kenneth Uildriks <kennethuil@gmail.com> Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
61db1a1b6a02b868f63bccefc17a31a21ac3a871 22-Oct-2009 Chris Lattner <sabre@nondot.org> nothing opt uses can throw, remove the try block and -fexceptions when
building opt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d331cb3fdea8b450f9c2d981e6b59ee6f9cdbd91 22-Oct-2009 Chris Lattner <sabre@nondot.org> Add some command line options for twiddling the default data layout
used by opt when a module doesn't specify one. Patch from Kenneth Uildriks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
81b0b64298fb06f225a9544440bb7b230ccf3c35 14-Oct-2009 Duncan Sands <baldrick@free.fr> There seems to be no reason for opt's -S option to be hidden.
Make it visible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
ec080467f5b322441055de1f6cd4f08edc23d7df 11-Sep-2009 Dan Gohman <gohman@apple.com> Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't
working. To support this, add an is_displayed() function to raw_ostream,
and generalize Process::StandardOutIsDisplayed and friends in order to
support it.

Also, call RemoveFileOnSignal before creating a file instead of after, so
that the file isn't left behind if the program is interrupted between when
the file is created and RemoveFileOnSignal is called.

While here, add a -S to llvm-extract and port it to IRReader so that it
supports assembly input.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
8c042c2337948e5a6051f34a2d6263fe19737e14 05-Sep-2009 Daniel Dunbar <daniel@zuster.org> opt: Add -S option to print output as LLVM assembly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
99ed416787e73b7965d9c183f23f9d78f996187f 03-Sep-2009 Dan Gohman <gohman@apple.com> Use IRReader.h in opt, to support reading of LLVM Assembly files directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
5095e3d1d1caef8d573534d369e37277c623064c 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/tools/opt/opt.cpp
baa26395ccf17fc988bb9cf62d6659ca8415ece9 25-Aug-2009 Dan Gohman <gohman@apple.com> Make LLVM command-line tools overwrite their output files without -f.
This is conventional command-line tool behavior. -f now just means
"enable binary output on terminals".

Add a -f option to llvm-extract and llvm-link, for consistency.

Remove F_Force from raw_fd_ostream and enable overwriting and
truncating by default. Introduce an F_Excl flag to permit users to
enable a failure when the file already exists. This flag is
currently unused.

Update Makefiles and documentation accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
127dd968e0bc13075bee7925435b9fce25309d1f 24-Aug-2009 Dan Gohman <gohman@apple.com> These flushes were only needed when the code was transitioning between
std::cout and outs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
b683ea4712836e22b98d24bf8e40e599224d024e 23-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate the ostream version of CheckBitcodeOutputToConsole,
change the raw_ostream one to take the raw_ostream byref instead
of byptr. Prune #includes, eliminate a use of Streams.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
2e35bec78a3279ceb330bec3d401ba6e8da8480c 23-Aug-2009 Chris Lattner <sabre@nondot.org> use raw_fd_ostream instead of fstream with graphwriter,
flush the right stream in opt.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
45cfe545ec8177262dabc70580ce05feaa1c3880 23-Aug-2009 Chris Lattner <sabre@nondot.org> Change Pass::print to take a raw ostream instead of std::ostream,
update all code that this affects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
17e9edc4a7bbeadf756494cf39fcacc9eff72202 23-Aug-2009 Chris Lattner <sabre@nondot.org> Change raw_fd_ostream to take flags as an optional bitmask
instead of as two bools. Use this to add a F_Append flag
which has the obvious behavior.

Other unrelated changes conflated into this patch:

1. REmove EH stuff from llvm-dis and llvm-as, the try blocks
are dead.
2. Simplify the filename inference code in llvm-as/llvm-dis,
because raw_fd_ostream does the right thing with '-'.
3. Switch machine verifier to use raw_ostream instead of ostream
(Which is the thing that needed append in the first place).




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
c4769ba20432c19eff68d7802c9a836ada2424e6 22-Aug-2009 Eric Christopher <echristo@apple.com> Make unit-at-a-time on by default to match the behavior of llvm-gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
a887ae4608c97f75feae6c89af33ecc2eadbc210 22-Aug-2009 Eric Christopher <echristo@apple.com> Kill trailing whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d8aa9fc06274604eae2b5156045a71857a8f18c4 17-Jul-2009 Bob Wilson <bob.wilson@apple.com> Fix a crash in SROA. The FunctionPass::doInitialization method was never
being called so that Context was never initialized. I'm not sure if this
is the right fix but at least it keeps opt from crashing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
adc82888b5be1d43caa94e9247f19927ef70f621 17-Jul-2009 Daniel Dunbar <daniel@zuster.org> opt: Add -std-link-opts argument, matches llvm-ld's optimizations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
ac95cc79ac0b899d566cc29c0f646f39c2fa35c0 16-Jul-2009 Dan Gohman <gohman@apple.com> Convert more tools code from cerr and cout to errs() and outs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0d7c695c74ae6d5f68cc07378c17491915e607d3 16-Jul-2009 Owen Anderson <resistor@mac.com> To simplify the upcoming context-on-type change, switch all command line tools to using the default global context for now.

This will let us to hardwire stuff to the global context in the short term while the API is sorted out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
a1bdcedc3879510a874d24c450e07feb170d9cd6 15-Jul-2009 Dan Gohman <gohman@apple.com> Add a Force option to raw_fd_ostream to specify whether opening
an existing file is considered an error. Convert several tools
to use raw_fd_ostream instead of std::ostream, and to use this
new option instead of doing a manual check.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
31895e73591d3c9ceae731a1274c8f56194b9616 01-Jul-2009 Owen Anderson <resistor@mac.com> Hold the LLVMContext by reference rather than by pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
8b477ed579794ba6d76915d56b3f448a7dd20120 01-Jul-2009 Owen Anderson <resistor@mac.com> Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.

Patches for Clang and LLVM-GCC to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
ca8131ebac116e8a8ba1ba08317af4298ba102b7 03-Jun-2009 Daniel Dunbar <daniel@zuster.org> Switch opt to using StandardPasses.h
- No functionality change, but please check if you don't believe me.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
865f006bb45a609e1cb6acb653af3fe5442ee4dc 18-Feb-2009 Dan Gohman <gohman@apple.com> Eliminate several more unnecessary intptr_t casts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
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/tools/opt/opt.cpp
4d6e2331c329fe6d2b80f61b0c49f55f73e4f8e5 04-Dec-2008 Devang Patel <dpatel@apple.com> Enable LoopIndexSplit pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
6f9f3e1a188df61e8b1022a9c1cef6999db25014 26-Nov-2008 Devang Patel <dpatel@apple.com> Disable -loop-index-split for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3253f4c9795edcef2406ae9fb502ffc993ba04f8 26-Nov-2008 Zhongxing Xu <xuzhongxing@gmail.com> Adjust indent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.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/tools/opt/opt.cpp
3b0da26e202cbbeb22508231f4278bda8e995391 22-Oct-2008 Daniel Dunbar <daniel@zuster.org> Move Print*Pass to use raw_ostream.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f4db3a51c7d806f7dcef5d9625e7cdf7f122dca9 22-Oct-2008 Daniel Dunbar <daniel@zuster.org> Privatize PrintModulePass and PrintFunctionPass and add
createPrintModulePass and createPrintFunctionPass.
- So clients who compile w/o RTTI can use them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
210fada2c6bb31198722000e52059e41f6641c3b 19-Sep-2008 Duncan Sands <baldrick@free.fr> Turn on the AddReadAttrs pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
442b1aa94b4544555aceb9a5d5f2a72f2a9132c6 17-Sep-2008 Devang Patel <dpatel@apple.com> Fix comments, help messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d9424edf94158e3189e94d6925e034e46004ebd7 17-Sep-2008 Devang Patel <dpatel@apple.com> Fix cut-n-pasto.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
2d7551ced2ddfe4b8e7adf9eb7f12e32537abaef 17-Sep-2008 Devang Patel <dpatel@apple.com> Add -O1, -O2 and -O3 that matches llvm-gcc's -O1, -O2 and -O3 respectively.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
38197fed5b18a103aa9ea1a6d4214d5cd77fea01 15-Sep-2008 Duncan Sands <baldrick@free.fr> End of the GlobalsModRef experiment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0e3b7b2f91427807c3f544e96818072cc804e1d3 12-Sep-2008 Duncan Sands <baldrick@free.fr> Give GlobalsModRef a whirl in the nightly testers.
I placed it just before GVN because that it is the
pass most likely to benefit from it. Some quick
and dirty testing confirms that this is a decent
place for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
ff5d06d797f2423877aea61304e0089353964131 27-Aug-2008 Devang Patel <dpatel@apple.com> Backout 55429


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
9d2968c824c2753dd7d70b8cd40362716738a50a 27-Aug-2008 Devang Patel <dpatel@apple.com> Add facility to create a target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
5f2f218825f8041a8997cf4c5887e0b3da9c6b42 15-Jul-2008 Evan Cheng <evan.cheng@apple.com> Goodbye tail duplication (for good this time).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
56eb1330953edc1769f3add1d5cccfac3c26de25 13-Jul-2008 Duncan Sands <baldrick@free.fr> Fix comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3dda08ad5d52a510ba2239cc4b73757db303a095 13-Jul-2008 Chris Lattner <sabre@nondot.org> Fix PR2231 - opt -internalize -std-compile-opts should run internalize first


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
c5b271072ec3bbc9dc1978f1af60aeb1d8b7328b 29-May-2008 Owen Anderson <resistor@mac.com> Re-enable the newly simplified ADCE. This fixes a regression on
Dhrystone introduced by its removal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
9e2abd384045772e5b523b4efdca41acaa24fc3b 27-May-2008 Owen Anderson <resistor@mac.com> Remove ADCE from the optimization pipeline.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51581 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
df0457241d0dfe9b08c584a6d6b9abab47282895 16-May-2008 Evan Cheng <evan.cheng@apple.com> Re-enable tail duplication pass (now with default threshold down to 1 instruction).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
38503d404683830588af8ce1e67aefa1eb584f12 15-May-2008 Evan Cheng <evan.cheng@apple.com> Remove tail duplication pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
8ffe2e2156121f8a3edaacea1cf91fc2128f49a9 14-May-2008 Devang Patel <dpatel@apple.com> Recover nestedloop regression reported by nightly tester.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
81a1d08cb77fb71c9a0f5c8547c50339bac53845 14-May-2008 Devang Patel <dpatel@apple.com> Do not run instruction combiner in middle of loop optimization passes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
4982babf4a2ae663ab841bd7f456078a306ad450 10-May-2008 Owen Anderson <resistor@mac.com> Re-enable loop deletion by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
77a895e59912717fd00e9e83b131c47f29d90986 07-May-2008 Owen Anderson <resistor@mac.com> Disable loop deletion until the release branch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3f3d95c75a9426ad459462662c312850adf9c095 06-May-2008 Owen Anderson <resistor@mac.com> Enable dead loop elimination.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
866b9e1520279303bc24b2fb4f709dc62ad7c96d 03-May-2008 Chris Lattner <sabre@nondot.org> move libcalls to the same place llvm-gcc has it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
2510c3b70f5315533ea31f286b50bd978352e85e 21-Apr-2008 Chris Lattner <sabre@nondot.org> enable jump threading pass by default. This causes no miscompilations
and can significantly shrinkify some code, particularly from C++ land.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
fa191e4cd47f0c518c9a148701df6d4aea6dc97c 17-Apr-2008 Duncan Sands <baldrick@free.fr> Run SimplifyLibCalls near the beginning, not at
the end. It is now run at the same moment as in
llvm-gcc. Also, run StripDeadPrototypes at the
end, just before running DeadTypeElimination.
This may be useful when doing LTO. Note that
llvm-gcc runs StripDeadPrototypes but not
DeadTypeElimination.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
5d4ed3ba1146adbee09362db94375ea7b900fb56 10-Apr-2008 Evan Cheng <evan.cheng@apple.com> Move memcpy / memset optimization pass after GVN.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
a723d1e48f4a261512c28845c53eda569fa5218c 09-Apr-2008 Owen Anderson <resistor@mac.com> Factor a bunch of functionality related to memcpy and memset transforms out of
GVN and into its own pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
21c62da287237d39d0d95004881ea4baae3be6da 29-Dec-2007 Chris Lattner <sabre@nondot.org> remove attributions from tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
82a13c9c4811e40d0ff858c508cb54d672ee926e 08-Oct-2007 Dan Gohman <gohman@apple.com> Move the space in overview output for commands out of each of the
commands and into the common code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d06eb2c8791d9430fbae376dda43114fc6bfed5f 09-Sep-2007 Owen Anderson <resistor@mac.com> Turn GVN on by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
305743df72c646e276a74d9046a75624754f48b7 04-Sep-2007 Devang Patel <dpatel@apple.com> Enable loop index split pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f6a05f949f39d94d846dff9bf5093a838c6ebc4b 01-Aug-2007 Owen Anderson <resistor@mac.com> Rename FastDSE to just DSE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d47cab81b61f7f767248193d5f6cd6ea1918c60f 30-Jul-2007 Dan Gohman <gohman@apple.com> Remove a FIXME comment that wasn't removed when the code it accompanied
was removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
b63c7b695f14bc23b8491a609f99d8cfe1996aef 17-Jul-2007 Owen Anderson <resistor@mac.com> Turn on FastDSE by default.

Note: FastDSE now equals or exceeds the results of old DSE on all of SPEC2000 and SPEC2006. Unless major problems
show up in the testers, it will likely completely replace old DSE in the near future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
74b1e1424c0e4dd8f893d1cabd0854278bfcb25f 17-Jul-2007 Evan Cheng <evan.cheng@apple.com> Change sroa threshold back.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
a8b9a7b92468af001e517d68be22fe41ef4d15e1 17-Jul-2007 Evan Cheng <evan.cheng@apple.com> Temporarily set SROA threshold to 512.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.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/tools/opt/opt.cpp
56fb16454066f9a901ffb7573f44c9008b0f3117 05-Jul-2007 Devang Patel <dpatel@apple.com> Fix PR1539. Add LoopPassPrinter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
28552da9c3c8bc9865b9cff4fe64dad9da7a57a3 29-Jun-2007 Devang Patel <dpatel@apple.com> Fix PR 1526.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
065344dfd5a7b3502098810b981eb0077e5d81f3 07-May-2007 Chris Lattner <sabre@nondot.org> use the new MemoryBuffer interfaces to simplify error reporting in clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d44ae90fc8974e01ac672af2816516639ff106ef 06-May-2007 Chris Lattner <sabre@nondot.org> make sure the ofstream for opt's output file is destroyed, so that the bits
actually land on disk.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
744879ea01779a48f898a801c847677b0bfa824a 06-May-2007 Chris Lattner <sabre@nondot.org> switch tools to bitcode from bytecode


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
592488a4ef92ce8e454dc029808ed1b6612b7312 06-May-2007 Chris Lattner <sabre@nondot.org> add support to llvm-prof for reading from a bitcode file


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
b330e38f4ab1096403ade60028456cae9d0c67f3 06-May-2007 Chris Lattner <sabre@nondot.org> if -bitcode is specified, read and write a bitcode file instead of a bytecode file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.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/tools/opt/opt.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/tools/opt/opt.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/tools/opt/opt.cpp
9c81664f6e7f95244d930381e5017ed7e6579cd0 20-Apr-2007 Chris Lattner <sabre@nondot.org> remove cruft


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0aa37f472a920d8d8e8b6340db29f69641770749 10-Apr-2007 Devang Patel <dpatel@apple.com> Enable loop rotate pass.


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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f2e292ce58ca07d9bbe3cad75f8baa35bd85964a 07-Feb-2007 Chris Lattner <sabre@nondot.org> push bytecode decompressor out through APIs. Now the bytecode reader
api's look like this:

ModuleProvider *getBytecodeModuleProvider(
const std::string &Filename, ///< Name of file to be read
BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer,
std::string* ErrMsg = 0, ///< Optional error message holder
BytecodeHandler* H = 0 ///< Optional handler for reader events
);

This is ugly, but allows a client to say:

getBytecodeModuleProvider("foo", 0);

If they do this, there is no dependency on the compression libraries, saving
codesize.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
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/tools/opt/opt.cpp
7ba98a90008727e2fa0dfc1787cad71e1b6021eb 04-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR1072:
Removing -raise has neglible positive or negative side effects so we are
opting to remove it. See the PR for comparison details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
74ed997d527d35d27690feb5c648489c638947c9 02-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR1152:
Step 1: Copy gccas functionality to opt. This endows opt with a new
-std-compile-opts option to get the set of optimization passes that
gccas used. It also adds -disable-inlining and -disable-opt which
both apply only if -std-compile-opts is given. The -strip-debug option
was also removed. It just makes sure that "-strip" gets done early and
is mostly there for compatibility with gccas. Finally, a new
-verify-each option will cause the verify pass to be run after each pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
033152455558d643f382b64e9d443ceb8d8702ff 31-Jan-2007 Chris Lattner <sabre@nondot.org> shutdown at end of run


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
17be6791b8b22b36850340a44a6f05de5c3cbf85 21-Jan-2007 Chris Lattner <sabre@nondot.org> default to emiting an uncompressed .bc file


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.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/tools/opt/opt.cpp
c30598bc3ad792eb8cc75b188eb872a28c62ab71 06-Dec-2006 Chris Lattner <sabre@nondot.org> make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.

With this change, I can now move -stats to print when llvm_shutdown is called.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
cd950a5308916f75e0faa6747151338750791fd7 01-Dec-2006 Chris Lattner <sabre@nondot.org> target constructors are never used


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
5cbc63e91add9c23dbb8224023403bf93ccbd845 01-Dec-2006 Nick Lewycky <nicholas@mxc.ca> Fix opt -o option. Don't pass a pointer to an auto variable which is going
away before it's needed, and don't try to delete that pointer!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
68fe61d6a165ea6090008e281330895a21607daf 29-Nov-2006 Bill Wendling <isanbard@gmail.com> Replacing std::iostreams with llvm iostreams. Some of these changes involve
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
a5b31ca85686062408bca0f0a8aa43f9fe58e644 29-Nov-2006 Bill Wendling <isanbard@gmail.com> Convert to using llvm streams instead of iostreams.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3ed469ccd7b028a030b550d84b7336d146f5d8fa 02-Nov-2006 Reid Spencer <rspencer@reidspencer.com> For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
5e9b177cb576e9222f2d0519c3958101656ec86b 28-Aug-2006 Chris Lattner <sabre@nondot.org> Add a --disable-compression option like llvm-link/llvm-as etc have


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3b2493e2a19ef7186023a3b3ccb66356a297de67 28-Aug-2006 Chris Lattner <sabre@nondot.org> -analyze mode shouldn't output a .bc file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
7f500f7f2a156cd7e5be1543e1f1e9e51f39396b 28-Aug-2006 Chris Lattner <sabre@nondot.org> Merge the 'analyze' mode code with the 'opt' mode code. Eliminate the
'autodetect .ll files' functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
62c5105adc4f51c6dd07be3471ea2462c8e00c82 21-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR885:
Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one
so there is no dupliation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
da6169b9961e09dd8ff20b403a825dd0229dfd85 21-Aug-2006 Nate Begeman <natebegeman@mac.com> Fix a build failure


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
023fcf977660e686e04f5bef0e2a7321db47df7e 21-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Make sys::Program::ExecuteAndWait not throw exceptions and update any
affected code. It now return -9999 to signal that the program couldn't be
executed. Only one case (in bugpoint) actually examines the result code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
61c83e023fe618ca7b4fdc846039933e61a00ec9 18-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Rid the Assembly Parser of exceptions. This is a really gross hack but it
will do until the Assembly Parser is re-written as a recursive descent.
The basic premise is that wherever the old "ThrowException" function was
called (new name: GenerateError) we set a flag (TriggerError). Every
production checks that flag and calls YYERROR if it is set. Additionally,
each call to ThrowException in the grammar is replaced with GEN_ERROR
which calls GenerateError and then YYERROR immediately. This prevents
the remaining production from continuing after an error condition.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
fd90dd5d5513f9e7130bab0da334ad2ad8ef4e02 18-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR872:
Shrinkify LLVM's footprint by removing the analyze tool and moving its
functionality into the opt tool. THis eliminates one of the largest tools
from LLVM and doesn't make opt much bigger because it already included
most of the analysis passes. To get the old analyze functionality pass
the -analyze option to opt. Note that the integeration here is dead
simple. The "main" of analyze was just copied to opt and invoked if the
-analyze option was given. There may be opportunities for further
integration such as removing the distinction between transform passes
and analysis passes.

To use the analysis functionality, if you previously did this:
analyze $FNAME -domset -disable-verify
you would now do this:
opt -analyze $FNAME -domset -disable-verify
Pretty simple.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
831b1210390b3a00f68de9a79be0f4e13d6287b0 16-Jun-2006 Chris Lattner <sabre@nondot.org> Don't pass target name into TargetData anymore, it is never used or needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
af303d53e6013417d189621c75179df6c7cbdcde 08-Jun-2006 Reid Spencer <rspencer@reidspencer.com> For PR780:
1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o
2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage
3. Make each of the tools with --load options include LinkAllVMCore.h
This should be the last set of changes for this bug and 800.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
07000c6f01d8f57170f2d4c77a86d934bdc5c696 12-May-2006 Owen Anderson <resistor@mac.com> Refactor a bunch of includes so that TargetMachine.h doesn't have to include
TargetData.h. This should make recompiles a bit faster with my current
TargetData tinkering.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3da94aec4d429b2ba0f65fa040c33650cade196b 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
5fb6ed4ae608c6f7ef589f1069b5dd5c7bdbd60b 22-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Use binary mode for reading/writing bytecode files


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
e67bc1384aa36841695789f38d2a09942ecf12b6 06-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Get the #ifdef right on LinkAllPasses.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
00f3db6a4c45c425a570c8496b6f9880b2003a14 06-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Fix minor mistakes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
4b807e0381be558f3c9173c971ecf640cb9a9176 06-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Add project opt to Visual Studio.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
564a571f620ab32d572cfd9aa06b2c50cfd849d4 05-Jan-2005 Reid Spencer <rspencer@reidspencer.com> Make opt honor the quiet option when printing the bytecode warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
5737913c46ca7dc1b1f7ebfcf2c1c99e2e235696 02-Jan-2005 Reid Spencer <rspencer@reidspencer.com> Move the code for printing out a warning about bytecode output to a console
into lib/Support so it can be used with other tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
1ef8bdaedbd98bee35a573b8bc87149f2182cb5e 30-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR351:
* Place a try/catch block around the entire tool to Make sure std::string
exceptions are caught and printed before exiting the tool.
* Make sure we catch unhandled exceptions at the top level so that we don't
abort with a useless message but indicate than an unhandled exception was
generated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
227b6d00dd1faee07c921c7e2256e0fca737d2e5 14-Nov-2004 Reid Spencer <rspencer@reidspencer.com> Fix usage of changed function prototype


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
81dd3d4536f62d41c185695f52dc1c7ef14140f9 16-Oct-2004 Misha Brukman <brukman+llvm@gmail.com> Fix hyphenation and quoting style for great justice


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
551ccae044b0ff658fe629dd67edd5ffe75d10e8 02-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
9de7b334ec6f80a15f093f11b339f5741c964b34 29-Aug-2004 Reid Spencer <rspencer@reidspencer.com> The functions in Signal.h are now in the llvm::sys namespace - adjust


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
988a1a0c664daf3dd85a3bfdbe6e867371f2f3ee 11-Jul-2004 Chris Lattner <sabre@nondot.org> Prune unused #include


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
4a1de8b25044a6bd8ca2d113d1a6eb907d222e4c 11-Jul-2004 Chris Lattner <sabre@nondot.org> Add -load option


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3153e4fc80badcd3f7f87d20df86027d20964469 27-May-2004 Chris Lattner <sabre@nondot.org> Neuter the -q option. Stop printing the "program modified" message, ever


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
ec7eb45926dc40a80534bad729be825bf129a126 27-May-2004 Reid Spencer <rspencer@reidspencer.com> Re-introduce the -q option and make opt always return 0, even if the
optimization pasess fail. This is necessary to avoid breaking feature
tests in the tests suite that depend on this behavior. *sigh*


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
087059453037a79cdd306e4e734bf4c7c5946ffc 27-May-2004 Reid Spencer <rspencer@reidspencer.com> Removed the -q option and the default message written to stderr. The
output produces confusing results in TestRunner.sh


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
bed85ff010b95923646ed4e187a5d432cedf67da 27-May-2004 Chris Lattner <sabre@nondot.org> Header file moved


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
76351aa57e99ab9a947b899e0677933f3a385b4d 02-Apr-2004 Chris Lattner <sabre@nondot.org> Fix wonky header
Address PR305: LLVM tools will happily spew bytecode onto your terminal


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f73b4ca7f9c5e4a19c3fba9fa0280768b4c64891 19-Feb-2004 Chris Lattner <sabre@nondot.org> Make sure to print a stack trace whenever an error signal is delivered to the
tool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
b592fc2b8dc5701999704c14e228a98233d20a03 10-Dec-2003 Chris Lattner <sabre@nondot.org> Make 'opt -o -' work correctly instead of creating a file named './-'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
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/tools/opt/opt.cpp
1ee1e64293dc1727c0119530ae4bc72006879954 20-Oct-2003 John Criswell <criswell@uiuc.edu> Removed extraneous comment line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
7c0e022c5c4be4b11e199a53f73bbdd84e34aa80 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added copyright header to all C++ source files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
452fea997232437902385e88366482b01957eeef 10-Oct-2003 Misha Brukman <brukman+llvm@gmail.com> Fix grammar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
6c8103f7ddb734d128739a463bcd0667d73c62aa 22-May-2003 Chris Lattner <sabre@nondot.org> Kill using declarations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
9c3b55ea9f5fe17c5713757e97aa62e0fb356dcf 24-Apr-2003 Chris Lattner <sabre@nondot.org> Make sure to create a target data that matches the Module's target properties.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
c986392c30043c056608b06ddf2f10fdd35a8d5e 24-Apr-2003 Chris Lattner <sabre@nondot.org> Remove support for "target data" pass ctors


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0af1e8e3a41285772d2a8d0f26c139cf5332dde3 17-Apr-2003 Chris Lattner <sabre@nondot.org> Don't support codegen passes in opt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
56620da5b486225dfbb0db02d5cbc5c976d0dc02 16-Apr-2003 Chris Lattner <sabre@nondot.org> Give verbose error messages if bytecode file cannot be parsed


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
ddd5b417c6eb7ee480976ec479e7c9e6a466f176 26-Feb-2003 Chris Lattner <sabre@nondot.org> Rename -no-* to -disable-*


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f3bafc10438a70d5a65d65b7bc42d7798b7fe14b 12-Feb-2003 Chris Lattner <sabre@nondot.org> Add new -no-verify option


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d70b68ebd01baf2c5308ee7bc0881bb3fb999c56 12-Feb-2003 Chris Lattner <sabre@nondot.org> Add a new -no-output option, useful for -aa-eval tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
6560b6b101635203068b0b32f544c2b3b577b59b 29-Oct-2002 Chris Lattner <sabre@nondot.org> Rename Sparc.h TargetMachineImpls.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
18fdfc4eed5466e0a7e16cac594804c82aa4442b 16-Sep-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Add support for optimization passes that use a TargetMachine object.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f9e173e85ab1e4062cc723cab6db0b86ed2578b8 31-Jul-2002 Chris Lattner <sabre@nondot.org> Change command line option message on -q to make it more accurate


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d4c7f2766bcf2cf87e562ea4e71cb4b54d81b74e 30-Jul-2002 Chris Lattner <sabre@nondot.org> Print the tool name when an error comes from so that I can tell which
tool of a pipeline is having issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
2053a2a2720ea93550b230da6ceac371014c20c2 26-Jul-2002 Chris Lattner <sabre@nondot.org> Factor PassNamePArser out into llvm/Support/PassNameParser.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
c7a0985995631025fbe9a4fe9fc435c3ba7387e4 25-Jul-2002 Chris Lattner <sabre@nondot.org> *** empty log message ***


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
c0ce68bf4a497dac2e5b22d54de68e6ad495815f 23-Jul-2002 Chris Lattner <sabre@nondot.org> Use the pass registration mechanism to populate command line options for
opt, not huge explicit gross tables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
5ff62e90d0bc321206023897edc1e2691cb0fbb6 22-Jul-2002 Chris Lattner <sabre@nondot.org> *** empty log message ***


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
45db2c77b5ca63c75d88a203f8fc7a15e2c8e271 12-Jul-2002 Anand Shukla <ashukla@cs.uiuc.edu> added emitfuncs pass, and disabled reassociate pass (needs fixing)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
3e009942ed6d5b075377ea8eb34c2daa8d8c5f77 30-Jun-2002 Chris Lattner <sabre@nondot.org> *** empty log message ***


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
63aaa11506f1edcd6e6073b1dbdbe02d678c8cfa 25-Jun-2002 Anand Shukla <ashukla@cs.uiuc.edu> Changes for 64bit gcc


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
7e70829632f82de15db187845666aaca6e04b792 25-Jun-2002 Chris Lattner <sabre@nondot.org> MEGAPATCH checkin.

For details, See: docs/2002-06-25-MegaPatchInfo.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
814908b33c75560559c8f33c631220a9d21c2260 21-May-2002 Chris Lattner <sabre@nondot.org> Expose cfg simplification pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
6cb9743eb86daa5ab9e1209167134cc4ae9c9044 11-May-2002 Chris Lattner <sabre@nondot.org> expose LICM pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
e04f4b60c6458ce63aac2b7b7ac81da267846426 10-May-2002 Chris Lattner <sabre@nondot.org> Expose the lowerallocs pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
2c0f3d23ae80da102b45b6efd09a3eaa88d0002e 10-May-2002 Chris Lattner <sabre@nondot.org> Expose the pi node insertion pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
8947fbcb68ddf45e42f5fc6d5763defb7426deee 09-May-2002 Chris Lattner <sabre@nondot.org> Expose expression reassociation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
73e6298c9a645b60306e67dbd24ebc408c1b9d5d 08-May-2002 Chris Lattner <sabre@nondot.org> Spell aggressive correctly


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
65f1b895bb1c196409747c60373b2fbfbf5fe6b4 07-May-2002 Chris Lattner <sabre@nondot.org> Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
fc514f40a63126bbda9404c717890f8dd6cbbcad 07-May-2002 Chris Lattner <sabre@nondot.org> Move UnifyFunctionExitNodes to Utils library: final resting place this time


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
c8cc4cb03bd90f89be7fe1649542a2d5ae689632 07-May-2002 Chris Lattner <sabre@nondot.org> Updates to move some header files out of include/llvm/Transforms into
the Scalar and Utils subdirectories


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
c6d52e07e5ecdb7f7f23b59b05d7607f5827c205 28-Apr-2002 Chris Lattner <sabre@nondot.org> Expose the internalize pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
e5fb83ebb84b9562c227c100c064e36d2192d9dc 28-Apr-2002 Chris Lattner <sabre@nondot.org> Expose new GCSE pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
483e14ee0412a98db1fb0121528d8d621ae3dfdb 27-Apr-2002 Chris Lattner <sabre@nondot.org> s/Method/Function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
f57b845547302d24ecb6a9e79d7bc386f761a6c9 27-Apr-2002 Chris Lattner <sabre@nondot.org> * Rename MethodPass class to FunctionPass
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
- Method is now const
- It now takes one AnalysisUsage object to fill in instead of 3 vectors
to fill in
- Pass's now specify which other passes they _preserve_ not which ones
they modify (be conservative!)
- A pass can specify that it preserves all analyses (because it never
modifies the underlying program)
* s/Method/Function/g in other random places as well


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
76d12299b5333d71bfc079614031f97c97aa5148 18-Apr-2002 Chris Lattner <sabre@nondot.org> Make sure that there is no case where a signal can occur leaving a partially
written output file. This is important because crashing testcases often write
part of a file out, and the testing harness decides the file is up-to-date next
time the test is run.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
30af36808263fc256ead4fc50b639420b016a58d 13-Apr-2002 Chris Lattner <sabre@nondot.org> * Add the printm pass to allow dumping the entire module after a transformation.
* s/Method/Function/


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
9d6e7eb74fce8dccaeb3f42c6392de727baff310 12-Apr-2002 Chris Lattner <sabre@nondot.org> Expose funcresolve pass through opt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
02d6ef89768ff96bbfe0afdcc1fdfdc380e8de2f 09-Apr-2002 Chris Lattner <sabre@nondot.org> s/PrintMethodPass/PrintFunctionPass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2182 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
328207c3ff5c27d94e275a794ac797173172d6d3 28-Mar-2002 Chris Lattner <sabre@nondot.org> Add hook for pool allocation pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
fe59454fa2f4b62a07c8a49f561d8368107f4c2e 28-Mar-2002 Chris Lattner <sabre@nondot.org> Checking for Cameron


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d32e70a09f04abd2b9e3de864871f3218589b856 24-Mar-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Rename pass to DecomposeMultiDimRefs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
2b72c360bb644ac5f3ffbc2063cbfd167a464d2a 14-Mar-2002 Chris Lattner <sabre@nondot.org> Expose dead instruction elimination pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
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/tools/opt/opt.cpp
eded4916d6679a8c42e5f16d022afe0252c2df8e 26-Feb-2002 Chris Lattner <sabre@nondot.org> Move ProfilePaths class into ProfilePaths library, only expose a creation function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
dc9a1f5ce813d7d397726106bb796520c47d20e6 26-Feb-2002 Anand Shukla <ashukla@cs.uiuc.edu> Includes -paths option to trace paths in the program


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
22d26d7c7d7c9666d0da0e51250586da5a0744da 20-Feb-2002 Chris Lattner <sabre@nondot.org> * Expose the verifier pass as one that can be ran
* Force the verifier to run before bytecode is written


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
eeeaf52ab6918ce309ad5e14f1e226e5c1d2c9a9 12-Feb-2002 Chris Lattner <sabre@nondot.org> Enable register promotion pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0be4101d12bd134a3e707a47a2f3441ef06a26ae 01-Feb-2002 Chris Lattner <sabre@nondot.org> Add mergereturn pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
fb1b3f119df25de495fcd53e675d6c9991f5664e 31-Jan-2002 Chris Lattner <sabre@nondot.org> Convert to use new Pass framework...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
888912dbe01c715aa5a0ddec19da6ef12f382ebf 22-Jan-2002 Chris Lattner <sabre@nondot.org> In an amazing fit of stupidity, I flipped the conditional and didn't test
it right. Sheesh :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
d7db863c1d03593bb633f67e76c6e9f8f0f40662 22-Jan-2002 Chris Lattner <sabre@nondot.org> Rename LowerAllocations.h to ChangeAllocations.h since it now contains the
RaiseAllocations pass as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
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/tools/opt/opt.cpp
59b6b8e0b3e51dd899da25bd25b0793cc8229eea 22-Jan-2002 Chris Lattner <sabre@nondot.org> Move stuff out of the Optimizations directories into the appropriate Transforms
directories. Eliminate the opt namespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
04c85dcad8f67d2bb2e0e5d051d130f90e473d86 21-Jan-2002 Chris Lattner <sabre@nondot.org> Rename SwapStructureContents -> IPO/SimpleStructMutation
Move MutateStructTypes.(cpp|h) -> IPO/MutateStructTypes.(cpp|h)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
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/tools/opt/opt.cpp
697954c15da58bd8b186dbafdedd8b06db770201 20-Jan-2002 Chris Lattner <sabre@nondot.org> Changes to build successfully with GCC 3.02


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
528e8b58a52c6f5b6a2a694059679c04a49111c9 14-Dec-2001 Chris Lattner <sabre@nondot.org> Add instruction combining pass
Rename -mergecons to -constmerge


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
e04a967e7e9eb1add857fdc307a3db66caa1a639 05-Dec-2001 Chris Lattner <sabre@nondot.org> Remove unnecesary namespace impot


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
fe196cf98be05d5fe0ace90e5de8195f9d556f6d 04-Dec-2001 Chris Lattner <sabre@nondot.org> Use new induction variable simplification code with -indvars option


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
cee8f9ae67104576b2028125b56e9ba4856a1d66 27-Nov-2001 Chris Lattner <sabre@nondot.org> Create a new #include "Support/..." directory structure to move things
from "llvm/Support/..." that are not llvm dependant.

Move files and fix #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
63202328d3dac33322f564889cd44126912102e6 26-Nov-2001 Chris Lattner <sabre@nondot.org> * Add hooks to globaldce
* Fix ugly hacks by implementing IPOs correctly
* Use an auto_ptr to manage the module lifecycle


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
ee6826b5e3f92d2c6cc9d1d7c53bf27ca2bc4e29 26-Nov-2001 Chris Lattner <sabre@nondot.org> Change swapstructs itf
Add nasty hack to be removed later


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
854acb996e63787623dd5a7e8c470ccf3624e77c 10-Nov-2001 Chris Lattner <sabre@nondot.org> Add hooks to call the new swap structcontents pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
068f487ee59a703a6e52ed5b96e222cbf632374a 01-Nov-2001 Chris Lattner <sabre@nondot.org> Move the Raise xform from opt to transforms


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
e166fe19103bf82c2e464b478c1735acd2bbcc59 31-Oct-2001 Chris Lattner <sabre@nondot.org> Add hook for GCC cleanup pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
ffa6f9ca062d410ff25c8d11907f182d022f274d 19-Oct-2001 Chris Lattner <sabre@nondot.org> Fix to reference the right header


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
9effd69ca2fe4d20b8a0dcbf4f9d5d4a402c536d 18-Oct-2001 Chris Lattner <sabre@nondot.org> Expose more xforms to the opt utility


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
73e11d77aaa09d5b126aef0b600c31ebd1206c3d 18-Oct-2001 Chris Lattner <sabre@nondot.org> Use the standard header not the old one


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
0eafc31684d6c512c6a56868031b8c1cc4ab4ed6 18-Oct-2001 Chris Lattner <sabre@nondot.org> Add support to insert trace code as an "optimization"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
6db0f4795cbd9b58add13c2b2f0c7124112ab9b7 18-Oct-2001 Chris Lattner <sabre@nondot.org> * Passes return true if they change something, not if they fail
* Convert opt to use Pass's and convert optimizations to pass structure


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
6dcf92a1508e769417d4ff4cf1f3fb1ce387dc3f 07-Sep-2001 Chris Lattner <sabre@nondot.org> Remove support for const pool merging, which is obsolete now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
afb0cbb9f828f2cdbeaf687fe3faef9c29cca593 24-Jul-2001 Chris Lattner <sabre@nondot.org> Change option name slightly


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
a8e1fd30ed00fe36dce42d2e4a09dbf83f778152 23-Jul-2001 Chris Lattner <sabre@nondot.org> Use the new Alias command line option


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
1e78f36127fb0e405d2cf893e2ce3381300a667b 23-Jul-2001 Chris Lattner <sabre@nondot.org> CommandLine library cleanup. No longer use getValue/setValue, instead, just treat the commandline
args as the objects they represent and the "right thing" will happen


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
57dbb3ad63b6a0e77798edb156ef43daa3bfc67e 23-Jul-2001 Chris Lattner <sabre@nondot.org> Moved inline/llvm/Tools/* to include/llvm/Support/*


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
8f367bd3c0f56b7b318c46cee04f77735f617777 23-Jul-2001 Chris Lattner <sabre@nondot.org> Large scale changes to implement new command line argument facility


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
955f899bcd335d85835ee5e3ad88ce9c42a3c228 20-Jul-2001 Chris Lattner <sabre@nondot.org> Add support to call LevelRaise


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
95781b6ca95ec63364853037fe974f0d827c4d5e 30-Jun-2001 Chris Lattner <sabre@nondot.org> Include ADCE pass, rename include/Opt directory to llvm/Optimizations
Optimizations now in opt namespace.
Rename SCCP pass to DoSCCP


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
241b064267c993c1e241caebf719d885773b938f 28-Jun-2001 Chris Lattner <sabre@nondot.org> Add command line arguments for Constant Pool Merging & Sparse Conditional Constant Prop


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
b12063919fb597372d165dc49dbc381ffe04f78f 20-Jun-2001 Chris Lattner <sabre@nondot.org> Add stub for induction variable code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
526f97e7a3fab200b7afb64b84866a7d009a6a73 13-Jun-2001 Chris Lattner <sabre@nondot.org> Removed silly test code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
84608e43b25a99862f424487c97b1f9842a7d6e5 08-Jun-2001 Chris Lattner <sabre@nondot.org> Added a stupid testcase for iterators.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp
009505452b713ed2e3a8e99c5545a6e721c65495 06-Jun-2001 Chris Lattner <sabre@nondot.org> Initial revision


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/opt/opt.cpp