Chris Lattner
823aed16f9
make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.
...
llvm-svn: 94378
2010-01-24 20:43:08 +00:00
Chris Lattner
7ba0661f27
Stop building RTTI information for *most* llvm libraries. Notable
...
missing ones are libsupport, libsystem and libvmcore. libvmcore is
currently blocked on bugpoint, which uses EH. Once it stops using
EH, we can switch it off.
This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.
llvm-svn: 94164
2010-01-22 06:49:46 +00:00
Chris Lattner
c7a8eaf614
elimiante the dynamic_cast's from opt.
...
llvm-svn: 94160
2010-01-22 06:03:06 +00:00
Chris Lattner
5517958641
simplify code.
...
llvm-svn: 94159
2010-01-22 05:54:03 +00:00
Eli Friedman
eb0c52f194
Make opt -O3 act more like clang -O3 etc., by making the inlining thresholds
...
match.
llvm-svn: 93798
2010-01-18 22:38:31 +00:00
Dan Gohman
915ad96b40
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.
llvm-svn: 93685
2010-01-17 17:47:24 +00:00
David Greene
ed8a1def24
Enable debug buffering.
...
llvm-svn: 92667
2010-01-05 01:30:32 +00:00
Chris Lattner
4b2a6e200f
when opt crashes, print its command line arguments as a pretty stack trace.
...
Somehow opt was missed when this was added.
llvm-svn: 90912
2009-12-09 00:41:28 +00:00
Tobias Grosser
dd7f2e797f
Remove ShortNames from getNodeLabel in DOTGraphTraits
...
llvm-svn: 90134
2009-11-30 12:38:47 +00:00
Tobias Grosser
90d334032a
Instantiate DefaultDOTGraphTraits
...
llvm-svn: 90133
2009-11-30 12:38:13 +00:00
Kenneth Uildriks
90fedc6ef9
Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test
...
llvm-svn: 85900
2009-11-03 15:29:06 +00:00
Chris Lattner
cc81526176
nothing opt uses can throw, remove the try block and -fexceptions when
...
building opt.
llvm-svn: 84816
2009-10-22 00:46:41 +00:00
Chris Lattner
cfa1911788
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!
llvm-svn: 84814
2009-10-22 00:44:10 +00:00
Duncan Sands
6f2ffcef20
There seems to be no reason for opt's -S option to be hidden.
...
Make it visible.
llvm-svn: 84127
2009-10-14 20:01:39 +00:00
Dan Gohman
e592923603
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.
llvm-svn: 81568
2009-09-11 20:46:33 +00:00
Daniel Dunbar
6b3153bb53
opt: Add -S option to print output as LLVM assembly.
...
llvm-svn: 81082
2009-09-05 11:34:53 +00:00
Dan Gohman
0054b460ff
Use IRReader.h in opt, to support reading of LLVM Assembly files directly.
...
llvm-svn: 80922
2009-09-03 16:00:08 +00:00
Chris Lattner
305b115a87
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.
llvm-svn: 80527
2009-08-31 00:19:58 +00:00
Dan Gohman
61a8796ddb
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.
llvm-svn: 79990
2009-08-25 15:34:52 +00:00
Dan Gohman
2ebc96ae95
These flushes were only needed when the code was transitioning between
...
std::cout and outs().
llvm-svn: 79891
2009-08-24 04:13:48 +00:00
Chris Lattner
b9f25f9e19
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
llvm-svn: 79863
2009-08-23 21:36:09 +00:00
Chris Lattner
d04d9102ab
use raw_fd_ostream instead of fstream with graphwriter,
...
flush the right stream in opt.cpp.
llvm-svn: 79837
2009-08-23 07:31:22 +00:00
Chris Lattner
1362602eb2
Change Pass::print to take a raw ostream instead of std::ostream,
...
update all code that this affects.
llvm-svn: 79830
2009-08-23 06:03:38 +00:00
Chris Lattner
9e6f1f160a
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).
llvm-svn: 79807
2009-08-23 02:51:22 +00:00
Eric Christopher
c8f625b1eb
Make unit-at-a-time on by default to match the behavior of llvm-gcc.
...
llvm-svn: 79698
2009-08-21 23:30:30 +00:00
Eric Christopher
e64061f675
Kill trailing whitespace.
...
llvm-svn: 79696
2009-08-21 23:29:40 +00:00
Daniel Dunbar
5899dda08c
Switch some clients to Value::getName(), and other getName() user
...
simplification.
- NFC
llvm-svn: 76789
2009-07-22 21:33:09 +00:00
Bob Wilson
46f079e33f
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.
llvm-svn: 76220
2009-07-17 19:05:13 +00:00
Daniel Dunbar
41f9a3afdb
opt: Add -std-link-opts argument, matches llvm-ld's optimizations.
...
llvm-svn: 76199
2009-07-17 18:09:39 +00:00
Dan Gohman
ee05152cfa
Convert more tools code from cerr and cout to errs() and outs().
...
llvm-svn: 76070
2009-07-16 15:30:09 +00:00
Owen Anderson
19251ec836
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.
llvm-svn: 75846
2009-07-15 22:16:10 +00:00
Dan Gohman
607818a2c1
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.
llvm-svn: 75801
2009-07-15 17:29:42 +00:00
Dan Gohman
d8db376071
Use errs() instead of std::cerr.
...
llvm-svn: 75791
2009-07-15 16:35:29 +00:00
Owen Anderson
1cf085d558
Hold the LLVMContext by reference rather than by pointer.
...
llvm-svn: 74640
2009-07-01 21:22:36 +00:00
Owen Anderson
6773d388aa
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.
llvm-svn: 74614
2009-07-01 16:58:40 +00:00
Owen Anderson
b70adf2b92
Get rid of the global CFGOnly flag by threading a ShortNames parameters through the GraphViz rendering code.
...
Update other uses in the codebase for this change.
llvm-svn: 74084
2009-06-24 17:37:09 +00:00
Daniel Dunbar
94c7b791b1
Switch opt to using StandardPasses.h
...
- No functionality change, but please check if you don't believe me.
llvm-svn: 72789
2009-06-03 18:22:15 +00:00
Misha Brukman
7182686dbf
Fixed file header comment.
...
llvm-svn: 68250
2009-04-01 21:37:19 +00:00
Dan Gohman
38a9631d5f
Eliminate several more unnecessary intptr_t casts.
...
llvm-svn: 64888
2009-02-18 05:09:16 +00:00
Duncan Sands
44c8cd97a5
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'.
llvm-svn: 61525
2008-12-31 16:14:43 +00:00
Devang Patel
8c84d28250
Enable LoopIndexSplit pass.
...
llvm-svn: 60555
2008-12-04 21:40:31 +00:00
Devang Patel
3bc9e25df2
Disable -loop-index-split for now.
...
llvm-svn: 60087
2008-11-26 04:58:14 +00:00
Zhongxing Xu
50e6f82ce4
Adjust indent.
...
llvm-svn: 60081
2008-11-26 02:57:24 +00:00
Nuno Lopes
0460bb27e0
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
llvm-svn: 58730
2008-11-04 23:03:58 +00:00
Daniel Dunbar
81b5fa5620
Move Print*Pass to use raw_ostream.
...
llvm-svn: 57946
2008-10-22 03:25:22 +00:00
Daniel Dunbar
54d5b9ea2c
Privatize PrintModulePass and PrintFunctionPass and add
...
createPrintModulePass and createPrintFunctionPass.
- So clients who compile w/o RTTI can use them.
llvm-svn: 57933
2008-10-21 23:33:38 +00:00
Duncan Sands
9c40c28926
Rationalize the names of passes that print information:
...
-callgraph => print-callgraph
-callscc => print-callgraph-sccs
-cfgscc => print-cfg-sccs
-externalfnconstants => print-externalfnconstants
-print => print-function
-print-alias-sets (no change)
-print-callgraph => dot-callgraph
-print-cfg => dot-cfg
-print-cfg-only => dot-cfg-only
-print-dom-info (no change)
-printm => print-module
-printusedtypes => print-used-types
llvm-svn: 56487
2008-09-23 12:47:39 +00:00
Oscar Fuentes
a229b3c9a7
Initial support for the CMake build system.
...
llvm-svn: 56419
2008-09-22 01:08:49 +00:00
Duncan Sands
5408dfd3b8
Turn on the AddReadAttrs pass.
...
llvm-svn: 56345
2008-09-19 14:34:36 +00:00
Duncan Sands
938e8f60d6
Teach -callgraph to always print the callgraph (as the
...
description says it does), not just when -analyze is
used as well. This means printing to stderr, so adjust
some tests.
llvm-svn: 56337
2008-09-19 07:57:09 +00:00
Devang Patel
7293f0f344
Fix comments, help messages.
...
llvm-svn: 56282
2008-09-17 16:01:39 +00:00
Devang Patel
11b862aed5
Fix cut-n-pasto.
...
llvm-svn: 56265
2008-09-17 00:01:04 +00:00
Devang Patel
9966ccffb4
Add -O1, -O2 and -O3 that matches llvm-gcc's -O1, -O2 and -O3 respectively.
...
llvm-svn: 56255
2008-09-16 22:25:14 +00:00
Duncan Sands
18da83555f
End of the GlobalsModRef experiment.
...
llvm-svn: 56222
2008-09-15 18:42:38 +00:00
Duncan Sands
fa1472fd55
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.
llvm-svn: 56144
2008-09-12 08:23:37 +00:00
Devang Patel
d3a1b46aad
Backout 55429
...
llvm-svn: 55432
2008-08-27 20:51:49 +00:00
Devang Patel
fdef44d7c4
Add facility to create a target.
...
llvm-svn: 55429
2008-08-27 20:00:27 +00:00
Evan Cheng
4015ae1d2c
Goodbye tail duplication (for good this time).
...
llvm-svn: 53574
2008-07-14 22:29:15 +00:00
Duncan Sands
2e6f7b49bf
Fix comment.
...
llvm-svn: 53525
2008-07-13 20:14:38 +00:00
Chris Lattner
501c3b67fd
Fix PR2231 - opt -internalize -std-compile-opts should run internalize first
...
llvm-svn: 53523
2008-07-13 19:35:21 +00:00
Devang Patel
81ea3bb55c
Move dominator info printer into tool/opt/GraphPrinters.cpp
...
llvm-svn: 52907
2008-06-30 17:32:58 +00:00
Owen Anderson
fd24ce0a99
Re-enable the newly simplified ADCE. This fixes a regression on
...
Dhrystone introduced by its removal.
llvm-svn: 51669
2008-05-29 08:48:21 +00:00
Owen Anderson
698e72ec2c
Remove ADCE from the optimization pipeline.
...
llvm-svn: 51581
2008-05-27 04:27:27 +00:00
Evan Cheng
c5c7a290e9
Re-enable tail duplication pass (now with default threshold down to 1 instruction).
...
llvm-svn: 51184
2008-05-16 07:57:10 +00:00
Evan Cheng
13e693f331
Remove tail duplication pass.
...
llvm-svn: 51139
2008-05-15 07:43:15 +00:00
Devang Patel
38e59eb0c7
Recover nestedloop regression reported by nightly tester.
...
llvm-svn: 51110
2008-05-14 18:04:30 +00:00
Devang Patel
a37cf46c87
Do not run instruction combiner in middle of loop optimization passes.
...
llvm-svn: 51084
2008-05-14 00:26:11 +00:00
Owen Anderson
18709fef4a
Re-enable loop deletion by default.
...
llvm-svn: 50941
2008-05-10 07:10:24 +00:00
Owen Anderson
0d84582dc0
Disable loop deletion until the release branch.
...
llvm-svn: 50787
2008-05-06 23:56:34 +00:00
Owen Anderson
7db342b0a8
Enable dead loop elimination.
...
llvm-svn: 50682
2008-05-05 23:38:07 +00:00
Chris Lattner
e3b320bd4b
move libcalls to the same place llvm-gcc has it.
...
llvm-svn: 50593
2008-05-02 22:05:06 +00:00
Chris Lattner
b15e1f963d
enable jump threading pass by default. This causes no miscompilations
...
and can significantly shrinkify some code, particularly from C++ land.
llvm-svn: 50025
2008-04-21 04:22:09 +00:00
Duncan Sands
9ed1242efc
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.
llvm-svn: 49848
2008-04-17 12:03:38 +00:00
Evan Cheng
2025a490d0
Move memcpy / memset optimization pass after GVN.
...
llvm-svn: 49457
2008-04-10 01:33:05 +00:00
Owen Anderson
ef9a6fd5c2
Factor a bunch of functionality related to memcpy and memset transforms out of
...
GVN and into its own pass.
llvm-svn: 49419
2008-04-09 08:23:16 +00:00
Chris Lattner
345353d6b4
remove attributions from tools.
...
llvm-svn: 45421
2007-12-29 20:44:31 +00:00
Chris Lattner
8fa21acd25
remove attributions from tools/utils makefiles.
...
llvm-svn: 45414
2007-12-29 20:07:17 +00:00
Dan Gohman
2c6a821fd7
Move the space in overview output for commands out of each of the
...
commands and into the common code.
llvm-svn: 42752
2007-10-08 15:45:12 +00:00
Owen Anderson
4266bb73e8
Turn GVN on by default.
...
llvm-svn: 41787
2007-09-08 22:23:52 +00:00
Devang Patel
42e2abe0e8
Enable loop index split pass.
...
llvm-svn: 41714
2007-09-04 20:46:58 +00:00
Owen Anderson
10e52eddb3
Rename FastDSE to just DSE.
...
llvm-svn: 40668
2007-08-01 06:36:51 +00:00
Dan Gohman
070a3f94a2
Remove a FIXME comment that wasn't removed when the code it accompanied
...
was removed.
llvm-svn: 40591
2007-07-30 15:01:09 +00:00
Owen Anderson
a603a80607
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.
llvm-svn: 39986
2007-07-17 21:59:21 +00:00
Evan Cheng
bd9b21f1c5
Change sroa threshold back.
...
llvm-svn: 39980
2007-07-17 20:07:21 +00:00
Evan Cheng
20b76421ed
Temporarily set SROA threshold to 512.
...
llvm-svn: 39950
2007-07-17 01:52:05 +00:00
Gabor Greif
e16561cd5d
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913
2007-07-05 17:07:56 +00:00
Devang Patel
f5a15dd9da
Fix PR1539. Add LoopPassPrinter.
...
llvm-svn: 37909
2007-07-05 15:32:03 +00:00
Devang Patel
9a259a20b3
Fix PR 1526.
...
llvm-svn: 37780
2007-06-28 23:09:25 +00:00
Chris Lattner
9e9a34c6bf
use the new MemoryBuffer interfaces to simplify error reporting in clients.
...
llvm-svn: 36900
2007-05-06 23:45:49 +00:00
Chris Lattner
9b4a428978
make sure the ofstream for opt's output file is destroyed, so that the bits
...
actually land on disk.
llvm-svn: 36877
2007-05-06 19:17:23 +00:00
Chris Lattner
f5599efb00
switch tools to bitcode from bytecode
...
llvm-svn: 36872
2007-05-06 09:32:02 +00:00
Chris Lattner
c424ba7ebd
add support to llvm-prof for reading from a bitcode file
...
llvm-svn: 36836
2007-05-06 04:43:00 +00:00
Chris Lattner
0f49a6fe89
if -bitcode is specified, read and write a bitcode file instead of a bytecode file.
...
llvm-svn: 36830
2007-05-06 02:42:03 +00:00
Devang Patel
8c78a0bff0
Drop 'const'
...
llvm-svn: 36662
2007-05-03 01:11:54 +00:00
Devang Patel
e95c6ad802
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.
llvm-svn: 36652
2007-05-02 21:39:20 +00:00
Devang Patel
09f162ca6a
Do not use typeinfo to identify pass in pass manager.
...
llvm-svn: 36632
2007-05-01 21:15:47 +00:00
Chris Lattner
8cc95f24a7
remove cruft
...
llvm-svn: 36268
2007-04-20 04:45:58 +00:00
Devang Patel
ada3ca2234
Enable loop rotate pass.
...
llvm-svn: 35863
2007-04-10 15:43:36 +00:00
Devang Patel
901a27d892
Now LoopUnswitch is a LoopPass.
...
llvm-svn: 34992
2007-03-07 00:26:10 +00:00
Chris Lattner
a0e49f2ead
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.
llvm-svn: 34012
2007-02-07 21:41:02 +00:00
Reid Spencer
3aaaa0b2bd
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.
llvm-svn: 33918
2007-02-05 20:47:22 +00:00
Reid Spencer
8de97bba5a
For PR1072:
...
Removing -raise has neglible positive or negative side effects so we are
opting to remove it. See the PR for comparison details.
llvm-svn: 33844
2007-02-03 23:15:56 +00:00
Reid Spencer
22dbfb626f
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.
llvm-svn: 33786
2007-02-02 14:46:29 +00:00
Chris Lattner
d700d9dde4
shutdown at end of run
...
llvm-svn: 33697
2007-01-31 04:45:28 +00:00
Reid Spencer
5301e7c605
For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
...
confusion with external linkage types.
llvm-svn: 33663
2007-01-30 20:08:39 +00:00
Chris Lattner
19bb6b996b
default to emiting an uncompressed .bc file
...
llvm-svn: 33420
2007-01-21 06:34:18 +00:00
John Criswell
2bcf535e0f
Remove DSA.
...
llvm-svn: 32542
2006-12-13 16:54:24 +00:00
Bill Wendling
f3baad3ee1
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
...
now cerr, cout, and NullStream resp.
llvm-svn: 32298
2006-12-07 01:30:32 +00:00
Chris Lattner
76d4632d92
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.
llvm-svn: 32250
2006-12-06 01:18:01 +00:00
Chris Lattner
e549bac57b
This needs the callgraph data structure to stick around as long as the
...
printer does.
llvm-svn: 32236
2006-12-05 19:43:42 +00:00
Chris Lattner
571dd5778f
target constructors are never used
...
llvm-svn: 32099
2006-12-01 21:59:37 +00:00
Nick Lewycky
e5a8617778
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!
llvm-svn: 32055
2006-12-01 00:43:14 +00:00
Bill Wendling
afd54eb8b6
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.
llvm-svn: 31990
2006-11-29 00:19:40 +00:00
Bill Wendling
a531ac291c
Convert to using llvm streams instead of iostreams.
...
llvm-svn: 31989
2006-11-28 23:33:06 +00:00
Bill Wendling
605795ea8c
Need iostream to be included for the time being.
...
llvm-svn: 31820
2006-11-17 10:05:07 +00:00
Reid Spencer
de46e48420
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.
llvm-svn: 31380
2006-11-02 20:25:50 +00:00
Chris Lattner
28689ff2d0
Use LINK_COMPONENTS to specify *components* to link against instead of
...
using USED_LIBS to specify *libraries* to link against.
llvm-svn: 30090
2006-09-04 05:59:09 +00:00
Chris Lattner
29619a9a01
Add a --disable-compression option like llvm-link/llvm-as etc have
...
llvm-svn: 29941
2006-08-28 17:31:55 +00:00
Reid Spencer
e7141c8be6
For PR387:
...
Close out this long standing bug by removing the remaining overloaded
virtual functions in LLVM. The -Woverloaded-virtual option is now turned on.
llvm-svn: 29934
2006-08-28 01:02:49 +00:00
Chris Lattner
dc729ee32b
-analyze mode shouldn't output a .bc file.
...
llvm-svn: 29923
2006-08-27 22:40:26 +00:00
Chris Lattner
3c9b2420df
Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.
...
llvm-svn: 29921
2006-08-27 22:30:17 +00:00
Chris Lattner
8e5e13b4fe
Merge the 'analyze' mode code with the 'opt' mode code. Eliminate the
...
'autodetect .ll files' functionality.
llvm-svn: 29915
2006-08-27 22:07:01 +00:00
Reid Spencer
a322366501
For PR885:
...
Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one
so there is no dupliation.
llvm-svn: 29787
2006-08-21 05:34:03 +00:00
Nate Begeman
a12dc61def
Fix a build failure
...
llvm-svn: 29786
2006-08-21 04:57:01 +00:00
Reid Spencer
c295914b7a
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.
llvm-svn: 29785
2006-08-21 02:04:43 +00:00
Reid Spencer
713eedc1fb
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.
llvm-svn: 29763
2006-08-18 08:43:06 +00:00
Reid Spencer
378f7d5d20
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.
llvm-svn: 29762
2006-08-18 06:34:30 +00:00
Chris Lattner
05a8970245
Tools require EH for their top-level try blocks.
...
llvm-svn: 29035
2006-07-07 00:46:19 +00:00
Chris Lattner
16cf81306e
Don't pass target name into TargetData anymore, it is never used or needed.
...
llvm-svn: 28831
2006-06-16 18:23:49 +00:00
Reid Spencer
5113dc5cfe
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.
llvm-svn: 28719
2006-06-07 23:03:13 +00:00
Reid Spencer
a647c7ff42
Use archive libraries instead of object files for VMCore, BCReader,
...
BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate
these changes. This was done to speed up link times.
llvm-svn: 28610
2006-06-01 01:30:27 +00:00
Owen Anderson
8c2c1e90c4
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.
llvm-svn: 28238
2006-05-12 06:33:49 +00:00
Chris Lattner
02f92a88b6
reorder some libraries
...
llvm-svn: 26309
2006-02-22 00:59:06 +00:00
John Criswell
fe5f33b120
Move some constant folding code shared by Analysis and Transform passes
...
into the LLVMAnalysis library.
This allows LLVMTranform and LLVMTransformUtils to be archives and linked
with LLVMAnalysis.a, which provides any missing definitions.
llvm-svn: 24036
2005-10-27 15:54:34 +00:00
John Criswell
94b7bea733
1. Remove libraries no longer created from the list of libraries linked into the
...
SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
LLVMAnalysis.a. These two libraries have circular dependencies on each
other which creates problem when building the SparcV9 JIT. This change
fixes the dependency on all platforms problems with a minimum of fuss.
llvm-svn: 24023
2005-10-26 20:35:13 +00:00
Chris Lattner
788318cb69
Remove a now-unneeded library
...
llvm-svn: 23942
2005-10-24 02:31:05 +00:00
Chris Lattner
672471fbed
Use archive versions of these libraries, using the LinkAllPasses header.
...
llvm-svn: 23916
2005-10-24 00:12:20 +00:00
Reid Spencer
ce9612b23c
Two changes:
...
1. Get rid of TOOLLINKOPTS as it is a hold over from llvm-test and only
used to communicate additional libraries to the linker. The *standard*
way to do that is with the LIBS variable which this change supports.
2. Allow the TARGETS_TO_BUILD variable to be set from the configuration
substitution. This is the result of the --enable-target= parameter to
the configure script.
llvm-svn: 21449
2005-04-22 17:14:14 +00:00
Misha Brukman
650ba8eb56
Remove trailing whitespace
...
llvm-svn: 21428
2005-04-22 00:00:37 +00:00
Jeff Cohen
c8f1f4bc8e
Use binary mode for reading/writing bytecode files
...
llvm-svn: 19751
2005-01-22 17:36:17 +00:00
Jeff Cohen
72f8f4cc3d
Get the #ifdef right on LinkAllPasses.h.
...
llvm-svn: 19310
2005-01-06 07:01:08 +00:00
Jeff Cohen
13932fb27f
Fix minor mistakes
...
llvm-svn: 19309
2005-01-06 06:29:42 +00:00
Jeff Cohen
00d5508496
Add project opt to Visual Studio.
...
llvm-svn: 19307
2005-01-06 06:02:53 +00:00
Reid Spencer
1fbccbe786
Make opt honor the quiet option when printing the bytecode warning.
...
llvm-svn: 19294
2005-01-05 17:31:55 +00:00
Reid Spencer
c967184a50
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.
llvm-svn: 19238
2005-01-01 23:57:01 +00:00
Reid Spencer
996ec72d48
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.
llvm-svn: 19192
2004-12-30 05:36:08 +00:00
Reid Spencer
d3f2e95e6c
Add LLVMbzip2 library, now required.
...
llvm-svn: 18255
2004-11-25 20:22:06 +00:00
Reid Spencer
b2d0fa0823
Fix usage of changed function prototype
...
llvm-svn: 17798
2004-11-14 22:30:54 +00:00
Reid Spencer
57cbe39d1e
Change Library Names Not To Conflict With Others When Installed
...
llvm-svn: 17286
2004-10-27 23:18:45 +00:00
Reid Spencer
5fd95ce095
We're not doing automake any more
...
llvm-svn: 17168
2004-10-22 21:02:23 +00:00
Reid Spencer
c1c320c335
We won't use automake
...
llvm-svn: 17155
2004-10-22 03:35:04 +00:00
Reid Spencer
6a11a75f31
Initial automake generated Makefile template
...
llvm-svn: 17136
2004-10-18 23:55:41 +00:00
Misha Brukman
b889b2ad97
Fix hyphenation and quoting style for great justice
...
llvm-svn: 17024
2004-10-15 23:22:48 +00:00
Reid Spencer
ace94df71f
Update to reflect changes in Makefile rules.
...
llvm-svn: 16950
2004-10-13 11:46:52 +00:00
Reid Spencer
f6d9ceebc6
Initial version of automake Makefile.am file.
...
llvm-svn: 16894
2004-10-10 22:36:40 +00:00
Reid Spencer
7c16caa336
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/.
llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Reid Spencer
74c3dc6927
Add the LLVMsystem.a library as it is now used for operating system
...
independence of the tool.
llvm-svn: 16092
2004-08-29 19:29:38 +00:00
Reid Spencer
e3263ecaf0
The functions in Signal.h are now in the llvm::sys namespace - adjust
...
llvm-svn: 16091
2004-08-29 19:28:55 +00:00
Chris Lattner
a29ca1b7df
Prune unused #include
...
llvm-svn: 14753
2004-07-11 04:05:32 +00:00
Chris Lattner
ec2a1566cc
Add -load option
...
llvm-svn: 14740
2004-07-11 01:08:19 +00:00
Chris Lattner
e67d8400f6
Make sure to link all IPA's into opt, so that it has access to stuff like
...
anders-aa
llvm-svn: 14395
2004-06-25 05:19:17 +00:00
Chris Lattner
1553edc2da
Neuter the -q option. Stop printing the "program modified" message, ever
...
llvm-svn: 13844
2004-05-27 20:32:10 +00:00
Reid Spencer
c8878edc5a
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*
llvm-svn: 13832
2004-05-27 16:28:54 +00:00
Reid Spencer
7873671463
Removed the -q option and the default message written to stderr. The
...
output produces confusing results in TestRunner.sh
llvm-svn: 13828
2004-05-27 08:26:22 +00:00
Chris Lattner
278f5152d3
Header file moved
...
llvm-svn: 13813
2004-05-27 05:41:36 +00:00
Chris Lattner
46e18c7f87
Fix wonky header
...
Address PR305: LLVM tools will happily spew bytecode onto your terminal
llvm-svn: 12602
2004-04-02 05:06:57 +00:00
Chris Lattner
12439ffbac
Make sure to print a stack trace whenever an error signal is delivered to the
...
tool.
llvm-svn: 11632
2004-02-19 20:32:12 +00:00
Chris Lattner
98cd4bf06f
Make 'opt -o -' work correctly instead of creating a file named './-'
...
llvm-svn: 10359
2003-12-10 14:41:33 +00:00
Brian Gaeke
960707c335
Put all LLVM code into the llvm namespace, as per bug 109.
...
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
John Criswell
abe5cdcf21
Added LLVM copyright to Makefiles.
...
llvm-svn: 9314
2003-10-20 22:29:16 +00:00
John Criswell
567fe2f312
Removed extraneous comment line.
...
llvm-svn: 9308
2003-10-20 20:40:30 +00:00
John Criswell
09344dcf97
Added copyright header to all C++ source files.
...
llvm-svn: 9291
2003-10-20 17:47:21 +00:00
Misha Brukman
d67697411a
Fix grammar.
...
llvm-svn: 9026
2003-10-10 17:56:49 +00:00
Chris Lattner
361e9c8b97
Remove instloops library
...
llvm-svn: 7210
2003-07-21 19:07:27 +00:00
Anand Shukla
6d79113343
Added pass to instrument backedges for lightweight tracing
...
llvm-svn: 7202
2003-07-18 16:25:40 +00:00
Misha Brukman
ecfc0d2d3c
Converted tabs to spaces.
...
llvm-svn: 7139
2003-07-10 16:35:17 +00:00
Brian Gaeke
e38c7d9f2d
Use $(PLATFORMLIBDL) to selectively bring in -ldl only on those platforms where
...
it is needed.
llvm-svn: 6753
2003-06-17 20:09:18 +00:00
Chris Lattner
02a168310b
Kill using declarations
...
llvm-svn: 6292
2003-05-22 20:13:16 +00:00
Chris Lattner
d571e2aa91
Make sure to create a target data that matches the Module's target properties.
...
llvm-svn: 5904
2003-04-24 19:13:02 +00:00
Chris Lattner
aa038c856a
Remove support for "target data" pass ctors
...
llvm-svn: 5900
2003-04-24 18:36:41 +00:00
Chris Lattner
52c7138d22
Don't support codegen passes in opt
...
llvm-svn: 5797
2003-04-16 23:02:16 +00:00
Chris Lattner
51bdb6156b
Remove codegen libraries to speed up linking opt
...
llvm-svn: 5796
2003-04-16 22:55:55 +00:00
Chris Lattner
f46a02c88e
Give verbose error messages if bytecode file cannot be parsed
...
llvm-svn: 5789
2003-04-16 20:51:36 +00:00
Chris Lattner
30f40d94cc
Rename -no-* to -disable-*
...
llvm-svn: 5642
2003-02-26 20:00:41 +00:00
Chris Lattner
b8450599f3
Add new -no-verify option
...
llvm-svn: 5542
2003-02-12 18:45:08 +00:00
Chris Lattner
4dbe59b5ba
Add a new -no-output option, useful for -aa-eval tests.
...
llvm-svn: 5541
2003-02-12 18:43:33 +00:00
Misha Brukman
356163f48a
ipa.a only needs to be mentioned once, and spaces should be used instead of
...
tabs for readability.
llvm-svn: 4970
2002-12-12 05:29:32 +00:00
Vikram S. Adve
42b7335d7c
Repeat ipa.a. Since IPModRef is currently only used in analysis.o,
...
it was causing linking errors.
llvm-svn: 4959
2002-12-09 04:46:25 +00:00
Chris Lattner
6d192f5bb4
Remove extra target.a entry
...
llvm-svn: 4756
2002-11-19 16:59:41 +00:00
Chris Lattner
a416ad30df
No need to explicitly inclue ExportSymbols now
...
llvm-svn: 4543
2002-11-04 20:50:57 +00:00
Chris Lattner
a9d552b3a9
Rename Sparc.h TargetMachineImpls.h
...
llvm-svn: 4409
2002-10-29 20:48:09 +00:00
Chris Lattner
57a10398a5
Add codegen library
...
llvm-svn: 4305
2002-10-28 00:54:59 +00:00
Chris Lattner
e6e375e704
Temporary change to make datastructure stuff link in right
...
llvm-svn: 4005
2002-10-01 22:41:01 +00:00
Vikram S. Adve
3e1dc145bd
Renamed library preselect to preopts.
...
llvm-svn: 3841
2002-09-20 00:43:20 +00:00
Vikram S. Adve
3517f30fd9
KEEP_SYMBOLS by default.
...
llvm-svn: 3813
2002-09-18 11:55:44 +00:00
Chris Lattner
66037f55d3
Enable correct support for dynamic loading on Linux
...
llvm-svn: 3780
2002-09-17 20:40:24 +00:00
Vikram S. Adve
14a25a370b
Remove duplicate sparc entry.
...
llvm-svn: 3762
2002-09-16 18:28:27 +00:00
Vikram S. Adve
9a056ed4e0
Use .o files instead of .a files for several cases (that don't actually
...
need them) until other Makefiles can be updated to build archives.
llvm-svn: 3761
2002-09-16 18:13:12 +00:00
Vikram S. Adve
82491b79a1
Add support for optimization passes that use a TargetMachine object.
...
llvm-svn: 3752
2002-09-16 16:09:43 +00:00
Chris Lattner
447dd14bac
Link to analysis.o not analysis.a
...
llvm-svn: 3537
2002-08-30 20:25:41 +00:00
Chris Lattner
00a43e1e7c
Fixed linking problems that wanted me to link to analyze.o instead of analyze.a
...
so now we can link to analyze.a again.
llvm-svn: 3433
2002-08-21 23:47:46 +00:00
Chris Lattner
24749c4d4e
Link in all analyses so that we get pointer analysis support built in
...
llvm-svn: 3427
2002-08-21 22:17:28 +00:00
Chris Lattner
b05cd8a88d
Change command line option message on -q to make it more accurate
...
llvm-svn: 3177
2002-07-31 16:52:49 +00:00
Chris Lattner
6f43f6d136
Print the tool name when an error comes from so that I can tell which
...
tool of a pipeline is having issues.
llvm-svn: 3168
2002-07-30 21:43:25 +00:00
Chris Lattner
e79bf38f4a
Factor PassNamePArser out into llvm/Support/PassNameParser.h
...
llvm-svn: 3109
2002-07-26 21:09:32 +00:00
Chris Lattner
64a6727d02
*** empty log message ***
...
llvm-svn: 3087
2002-07-25 16:31:09 +00:00
Chris Lattner
5a48a248bd
Use the pass registration mechanism to populate command line options for
...
opt, not huge explicit gross tables.
llvm-svn: 3021
2002-07-23 18:12:22 +00:00
Chris Lattner
a896b08b5c
*** empty log message ***
...
llvm-svn: 3002
2002-07-23 17:52:38 +00:00
Chris Lattner
f5cad15a67
*** empty log message ***
...
llvm-svn: 2985
2002-07-22 02:10:13 +00:00
Anand Shukla
4e25609b87
Removed emitfuncs: now its part of instrument library
...
llvm-svn: 2929
2002-07-16 18:59:55 +00:00
Anand Shukla
1a26e82bd5
added emitfuncs pass, and disabled reassociate pass (needs fixing)
...
llvm-svn: 2885
2002-07-12 20:14:27 +00:00
Anand Shukla
e9f685d397
Added emitfuncs pass
...
llvm-svn: 2884
2002-07-12 20:12:59 +00:00
Chris Lattner
33422fedc2
*** empty log message ***
...
llvm-svn: 2813
2002-06-30 16:25:25 +00:00
Anand Shukla
dfe130c161
correcting makefile: incorrectly checked in wrong version earlier
...
llvm-svn: 2798
2002-06-25 21:44:44 +00:00
Anand Shukla
68c9977d7f
Changes for 64bit gcc
...
llvm-svn: 2797
2002-06-25 21:43:28 +00:00
Chris Lattner
113f4f4609
MEGAPATCH checkin.
...
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779
2002-06-25 16:13:24 +00:00
Chris Lattner
5972e5cc5c
Expose cfg simplification pass
...
llvm-svn: 2699
2002-05-21 20:05:16 +00:00
Chris Lattner
81525db280
expose LICM pass
...
llvm-svn: 2614
2002-05-10 22:44:37 +00:00
Chris Lattner
6205c268e0
Expose the lowerallocs pass
...
llvm-svn: 2602
2002-05-10 15:43:07 +00:00
Chris Lattner
35cc0d2027
Expose the pi node insertion pass.
...
llvm-svn: 2594
2002-05-10 05:41:49 +00:00
Chris Lattner
a2f3b65dec
Expose expression reassociation
...
llvm-svn: 2557
2002-05-08 22:18:34 +00:00
Chris Lattner
b4bf0c1422
Spell aggressive correctly
...
llvm-svn: 2551
2002-05-07 22:15:01 +00:00
Chris Lattner
89a20ef164
Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
...
llvm-svn: 2538
2002-05-07 20:03:27 +00:00
Chris Lattner
15435fd550
Move UnifyFunctionExitNodes to Utils library: final resting place this time
...
llvm-svn: 2531
2002-05-07 19:18:48 +00:00
Chris Lattner
7608a46cbe
Updates to move some header files out of include/llvm/Transforms into
...
the Scalar and Utils subdirectories
llvm-svn: 2523
2002-05-07 18:36:35 +00:00
Chris Lattner
56c3f22249
Straighten out makefiles after moving code to new Transform Utils library
...
llvm-svn: 2520
2002-05-07 18:18:26 +00:00
Chris Lattner
b81da4b616
Expose the internalize pass.
...
llvm-svn: 2365
2002-04-28 05:49:53 +00:00
Chris Lattner
9f3b15b8fe
Expose new GCSE pass
...
llvm-svn: 2339
2002-04-28 00:48:17 +00:00
Chris Lattner
f998685cd9
s/Method/Function
...
llvm-svn: 2336
2002-04-27 07:27:19 +00:00
Chris Lattner
c8e665431b
* 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
llvm-svn: 2333
2002-04-27 06:56:12 +00:00
Chris Lattner
c065ad850c
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.
llvm-svn: 2303
2002-04-18 19:55:25 +00:00
Chris Lattner
fda0035ec9
* Add the printm pass to allow dumping the entire module after a transformation.
...
* s/Method/Function/
llvm-svn: 2234
2002-04-13 18:32:47 +00:00
Chris Lattner
b86b11a02e
Expose funcresolve pass through opt
...
llvm-svn: 2231
2002-04-12 18:21:13 +00:00
Chris Lattner
6e39131e01
s/PrintMethodPass/PrintFunctionPass
...
llvm-svn: 2182
2002-04-08 22:05:01 +00:00
Chris Lattner
cd739a66cf
Remove asmwriter library from link line, because the useful contents of it
...
have been incorporated into the vmcore library.
llvm-svn: 2153
2002-04-07 22:35:30 +00:00
Chris Lattner
97ca0eacb1
Makefile change for IPO's that use the Datastructure analysis stuff
...
llvm-svn: 2015
2002-03-28 18:10:31 +00:00
Chris Lattner
b9530575ef
Add hook for pool allocation pass
...
llvm-svn: 2013
2002-03-28 18:08:07 +00:00
Chris Lattner
92c3670048
Checking for Cameron
...
llvm-svn: 2011
2002-03-28 17:56:28 +00:00
Vikram S. Adve
025fdf98b6
Rename pass to DecomposeMultiDimRefs.
...
llvm-svn: 1960
2002-03-24 03:19:54 +00:00
Chris Lattner
6ba1a5f7d9
Expose dead instruction elimination pass
...
llvm-svn: 1877
2002-03-14 22:36:15 +00:00
Chris Lattner
46519418b0
Pull interprocedural analyses out of Analysis library into their own lib
...
llvm-svn: 1827
2002-03-06 18:44:29 +00:00
Chris Lattner
04805fa29c
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.
llvm-svn: 1816
2002-02-26 21:46:54 +00:00
Chris Lattner
d209550828
Move ProfilePaths class into ProfilePaths library, only expose a creation function
...
llvm-svn: 1812
2002-02-26 20:04:59 +00:00
Anand Shukla
d7291473cf
Includes -paths option to trace paths in the program
...
llvm-svn: 1811
2002-02-26 19:57:59 +00:00
Anand Shukla
4882708cc9
Link in the PathProfiles library
...
llvm-svn: 1800
2002-02-26 18:29:20 +00:00
Chris Lattner
f608d7f4f4
* Expose the verifier pass as one that can be ran
...
* Force the verifier to run before bytecode is written
llvm-svn: 1783
2002-02-20 17:56:53 +00:00
Chris Lattner
e5e23525ec
Enable register promotion pass
...
llvm-svn: 1740
2002-02-12 17:17:33 +00:00
Chris Lattner
4db2f2cbce
Add mergereturn pass
...
llvm-svn: 1629
2002-02-01 04:54:11 +00:00
Chris Lattner
ecd3fae58d
Resolve dependencies
...
llvm-svn: 1614
2002-01-31 15:43:11 +00:00
Chris Lattner
c90d6ba9a2
Convert to use new Pass framework...
...
llvm-svn: 1610
2002-01-31 00:47:12 +00:00
Chris Lattner
0e11e54d20
In an amazing fit of stupidity, I flipped the conditional and didn't test
...
it right. Sheesh :)
llvm-svn: 1550
2002-01-22 21:07:24 +00:00
Chris Lattner
3787ee6be6
Rename LowerAllocations.h to ChangeAllocations.h since it now contains the
...
RaiseAllocations pass as well.
llvm-svn: 1525
2002-01-22 01:04:08 +00:00
Chris Lattner
4f0f09757d
Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass in
...
the ChangeAllocations.h header file.
llvm-svn: 1522
2002-01-22 00:13:51 +00:00
Chris Lattner
ee965abc36
Move stuff out of the Optimizations directories into the appropriate Transforms
...
directories. Eliminate the opt namespace.
llvm-svn: 1520
2002-01-21 23:17:48 +00:00
Chris Lattner
4a75c2b248
Eliminate opt library
...
llvm-svn: 1516
2002-01-21 23:13:46 +00:00
Chris Lattner
c940c536ab
Rename SwapStructureContents -> IPO/SimpleStructMutation
...
Move MutateStructTypes.(cpp|h) -> IPO/MutateStructTypes.(cpp|h)
llvm-svn: 1510
2002-01-21 07:52:35 +00:00
Chris Lattner
0686e435d1
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.
llvm-svn: 1507
2002-01-21 07:31:50 +00:00
Chris Lattner
7f74a56e24
Changes to build successfully with GCC 3.02
...
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
4f106568d4
Add instruction combining pass
...
Rename -mergecons to -constmerge
llvm-svn: 1478
2001-12-14 16:50:35 +00:00
Chris Lattner
28fef95650
Remove unnecesary namespace impot
...
llvm-svn: 1419
2001-12-05 06:35:30 +00:00
Chris Lattner
27ace6461f
Use new induction variable simplification code with -indvars option
...
llvm-svn: 1410
2001-12-04 04:32:04 +00:00
Chris Lattner
5de2204fe8
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400
2001-11-27 00:03:19 +00:00
Chris Lattner
ba5220d4c4
* Add hooks to globaldce
...
* Fix ugly hacks by implementing IPOs correctly
* Use an auto_ptr to manage the module lifecycle
llvm-svn: 1395
2001-11-26 19:22:39 +00:00
Chris Lattner
b9d5c0ebdd
Link to ipo library
...
llvm-svn: 1394
2001-11-26 19:21:02 +00:00
Chris Lattner
bf3bfebb7b
Change swapstructs itf
...
Add nasty hack to be removed later
llvm-svn: 1356
2001-11-26 18:18:53 +00:00
Chris Lattner
fc92c5fa1a
Add hooks to call the new swap structcontents pass
...
llvm-svn: 1243
2001-11-10 07:16:10 +00:00
Chris Lattner
dcad3cc848
add Yet Another Instance of a Static Library
...
llvm-svn: 1242
2001-11-10 07:15:53 +00:00
Chris Lattner
e326957333
Move the Raise xform from opt to transforms
...
llvm-svn: 1072
2001-11-01 02:41:09 +00:00
Chris Lattner
7a2d677332
Add hook for GCC cleanup pass
...
llvm-svn: 1060
2001-10-31 04:29:44 +00:00
Chris Lattner
3923967f1e
Fix to reference the right header
...
llvm-svn: 915
2001-10-19 15:39:14 +00:00
Chris Lattner
75c9f9f958
Expose more xforms to the opt utility
...
llvm-svn: 900
2001-10-18 20:06:45 +00:00
Chris Lattner
ed8947fb11
Use the standard header not the old one
...
llvm-svn: 886
2001-10-18 06:13:08 +00:00
Chris Lattner
6fc7ff4db8
Add support to insert trace code as an "optimization"
...
llvm-svn: 884
2001-10-18 06:05:15 +00:00
Chris Lattner
5b6026a13a
* Passes return true if they change something, not if they fail
...
* Convert opt to use Pass's and convert optimizations to pass structure
llvm-svn: 870
2001-10-18 01:31:43 +00:00
Chris Lattner
9373bd69b7
Make use of the new TOOLNAME/USEDLIBS options provided in Makefile.common
...
llvm-svn: 501
2001-09-07 22:59:25 +00:00
Chris Lattner
c3f679f2fe
Remove support for const pool merging, which is obsolete now.
...
llvm-svn: 471
2001-09-07 16:59:35 +00:00
Chris Lattner
3dfcf026f0
Change option name slightly
...
llvm-svn: 287
2001-07-23 23:02:51 +00:00
Chris Lattner
d5c3133364
Use the new Alias command line option
...
llvm-svn: 284
2001-07-23 20:22:30 +00:00
Chris Lattner
ab0cc40796
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
llvm-svn: 283
2001-07-23 19:27:24 +00:00
Chris Lattner
e2472bbf6c
Moved inline/llvm/Tools/* to include/llvm/Support/*
...
llvm-svn: 279
2001-07-23 17:46:59 +00:00
Chris Lattner
0af2464a78
Large scale changes to implement new command line argument facility
...
llvm-svn: 272
2001-07-23 02:35:57 +00:00
Chris Lattner
05132dacd0
Add support to call LevelRaise
...
llvm-svn: 217
2001-07-20 19:16:47 +00:00
Vikram S. Adve
868a2aeccc
Reordered link line for correct static linking.
...
llvm-svn: 198
2001-07-15 21:13:29 +00:00
Chris Lattner
57f61a32b0
Include ADCE pass, rename include/Opt directory to llvm/Optimizations
...
Optimizations now in opt namespace.
Rename SCCP pass to DoSCCP
llvm-svn: 118
2001-06-30 06:38:31 +00:00
Chris Lattner
bef00adb40
Add command line arguments for Constant Pool Merging & Sparse Conditional Constant Prop
...
llvm-svn: 94
2001-06-27 23:37:58 +00:00
Chris Lattner
ac6d4fd1b1
Add stub for induction variable code
...
llvm-svn: 38
2001-06-20 19:27:34 +00:00
Chris Lattner
03d5267ba1
Removed silly test code
...
llvm-svn: 31
2001-06-13 19:55:50 +00:00
Chris Lattner
4ddc451fb3
Added a stupid testcase for iterators.
...
llvm-svn: 17
2001-06-08 00:35:25 +00:00
Chris Lattner
2f7c963559
Initial revision
...
llvm-svn: 2
2001-06-06 20:29:01 +00:00