Bob Wilson
7c323a8936
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
d4143bc1d8
opt: Add -std-link-opts argument, matches llvm-ld's optimizations.
...
llvm-svn: 76199
2009-07-17 18:09:39 +00:00
Dan Gohman
6abbc537f4
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
5c64fb5a80
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
9ced780576
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
Owen Anderson
cf112e59c3
Hold the LLVMContext by reference rather than by pointer.
...
llvm-svn: 74640
2009-07-01 21:22:36 +00:00
Owen Anderson
81b8dabb53
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
Daniel Dunbar
fe1e04f85a
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
Dan Gohman
0e73582689
Eliminate several more unnecessary intptr_t casts.
...
llvm-svn: 64888
2009-02-18 05:09:16 +00:00
Duncan Sands
36db5853cb
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
508dc0b548
Enable LoopIndexSplit pass.
...
llvm-svn: 60555
2008-12-04 21:40:31 +00:00
Devang Patel
c17a1f06f3
Disable -loop-index-split for now.
...
llvm-svn: 60087
2008-11-26 04:58:14 +00:00
Zhongxing Xu
985967aa25
Adjust indent.
...
llvm-svn: 60081
2008-11-26 02:57:24 +00:00
Nuno Lopes
a5d766c285
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
d1169ccaf2
Move Print*Pass to use raw_ostream.
...
llvm-svn: 57946
2008-10-22 03:25:22 +00:00
Daniel Dunbar
919ce3c16a
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
317cef874d
Turn on the AddReadAttrs pass.
...
llvm-svn: 56345
2008-09-19 14:34:36 +00:00
Devang Patel
f08b10b15d
Fix comments, help messages.
...
llvm-svn: 56282
2008-09-17 16:01:39 +00:00
Devang Patel
65b85f3049
Fix cut-n-pasto.
...
llvm-svn: 56265
2008-09-17 00:01:04 +00:00
Devang Patel
e2702c8994
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
1f456b0b4a
End of the GlobalsModRef experiment.
...
llvm-svn: 56222
2008-09-15 18:42:38 +00:00
Duncan Sands
05a3e3ea40
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
c4040a69b7
Backout 55429
...
llvm-svn: 55432
2008-08-27 20:51:49 +00:00
Devang Patel
369cc38542
Add facility to create a target.
...
llvm-svn: 55429
2008-08-27 20:00:27 +00:00
Evan Cheng
91029f36ff
Goodbye tail duplication (for good this time).
...
llvm-svn: 53574
2008-07-14 22:29:15 +00:00
Duncan Sands
2513505573
Fix comment.
...
llvm-svn: 53525
2008-07-13 20:14:38 +00:00
Chris Lattner
540afcff82
Fix PR2231 - opt -internalize -std-compile-opts should run internalize first
...
llvm-svn: 53523
2008-07-13 19:35:21 +00:00
Owen Anderson
15538467ae
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
9a9030f206
Remove ADCE from the optimization pipeline.
...
llvm-svn: 51581
2008-05-27 04:27:27 +00:00
Evan Cheng
2ad66b343d
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
0a854f3b63
Remove tail duplication pass.
...
llvm-svn: 51139
2008-05-15 07:43:15 +00:00
Devang Patel
61c4c1d7a1
Recover nestedloop regression reported by nightly tester.
...
llvm-svn: 51110
2008-05-14 18:04:30 +00:00
Devang Patel
06f96f31ce
Do not run instruction combiner in middle of loop optimization passes.
...
llvm-svn: 51084
2008-05-14 00:26:11 +00:00
Owen Anderson
e34787f5c0
Re-enable loop deletion by default.
...
llvm-svn: 50941
2008-05-10 07:10:24 +00:00
Owen Anderson
3743bcf042
Disable loop deletion until the release branch.
...
llvm-svn: 50787
2008-05-06 23:56:34 +00:00
Owen Anderson
6f1d91a6c5
Enable dead loop elimination.
...
llvm-svn: 50682
2008-05-05 23:38:07 +00:00
Chris Lattner
7b9b1fe01a
move libcalls to the same place llvm-gcc has it.
...
llvm-svn: 50593
2008-05-02 22:05:06 +00:00
Chris Lattner
c9547a13e5
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
55efcf86e9
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
c0aac87374
Move memcpy / memset optimization pass after GVN.
...
llvm-svn: 49457
2008-04-10 01:33:05 +00:00
Owen Anderson
ca7e0e21f3
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
309aeb140b
remove attributions from tools.
...
llvm-svn: 45421
2007-12-29 20:44:31 +00:00
Dan Gohman
2e8245a376
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
b1388b7afb
Turn GVN on by default.
...
llvm-svn: 41787
2007-09-08 22:23:52 +00:00
Devang Patel
db7970eac9
Enable loop index split pass.
...
llvm-svn: 41714
2007-09-04 20:46:58 +00:00
Owen Anderson
58e64df595
Rename FastDSE to just DSE.
...
llvm-svn: 40668
2007-08-01 06:36:51 +00:00
Dan Gohman
db1974dd16
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
3a6871f519
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
b01b386dd4
Change sroa threshold back.
...
llvm-svn: 39980
2007-07-17 20:07:21 +00:00
Evan Cheng
49c8647315
Temporarily set SROA threshold to 512.
...
llvm-svn: 39950
2007-07-17 01:52:05 +00:00