Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Combine analyze and opt tools #1244

Closed
llvmbot opened this issue Aug 7, 2006 · 4 comments
Closed

Combine analyze and opt tools #1244

llvmbot opened this issue Aug 7, 2006 · 4 comments
Labels
bugzilla Issues migrated from bugzilla build-problem code-cleanup llvm-tools All llvm tools that do not have corresponding tag

Comments

@llvmbot
Copy link
Collaborator

llvmbot commented Aug 7, 2006

Bugzilla Link 872
Resolution FIXED
Resolved on Mar 06, 2010 14:05
Version 1.0
OS All
Reporter LLVM Bugzilla Contributor

Extended Description

The "opt" tool already links in most of the analysis passes which makes the
analysis tool somewhat redundant and chewing up significant disk space. We
should combine the features of "analyze" into "opt", possibly by adding to opt a
new option, "--analyze" which would invoke the printing behaviors of the
exisiting analyze tool.

Making this change will reduce LLVM's footprint significantly since analyze is
one of the largest tools in LLVM.

@llvmbot
Copy link
Collaborator Author

llvmbot commented Aug 18, 2006

Mine.

@llvmbot
Copy link
Collaborator Author

llvmbot commented Aug 18, 2006

This change has been made. 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.

The main patches involved (excluding all the updates to the Regression tests):
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060814/036847.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060814/036850.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060814/036851.html

@llvmbot
Copy link
Collaborator Author

llvmbot commented Aug 18, 2006

Exercises for the future:

(1) Allow opt to invoke both the analysis and optimization behaviors at the same
time. Currently this isn't possible.

(2) Remove the distinction between Analysis and Transform passes.

@llvmbot
Copy link
Collaborator Author

llvmbot commented Aug 18, 2006

FYI,

The disk savings (DEBUG build):

Tool Before After
analyze 39,739,826 0
opt 69,575,694 72,737,404

Net Savings: 36,578,116

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 3, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla build-problem code-cleanup llvm-tools All llvm tools that do not have corresponding tag
Projects
None yet
Development

No branches or pull requests

1 participant