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
2c9f6ab06d
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
0f25988689
Initial support for the CMake build system.
...
llvm-svn: 56419
2008-09-22 01:08:49 +00:00
Duncan Sands
317cef874d
Turn on the AddReadAttrs pass.
...
llvm-svn: 56345
2008-09-19 14:34:36 +00:00
Duncan Sands
aaa27f4261
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
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
Devang Patel
5b8e75e2fe
Move dominator info printer into tool/opt/GraphPrinters.cpp
...
llvm-svn: 52907
2008-06-30 17:32:58 +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
Chris Lattner
11718ad357
remove attributions from tools/utils makefiles.
...
llvm-svn: 45414
2007-12-29 20:07:17 +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
Gabor Greif
5f705671e4
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
aba2f3de85
Fix PR1539. Add LoopPassPrinter.
...
llvm-svn: 37909
2007-07-05 15:32:03 +00:00
Devang Patel
9eeed9a5bd
Fix PR 1526.
...
llvm-svn: 37780
2007-06-28 23:09:25 +00:00
Chris Lattner
e24a5def42
use the new MemoryBuffer interfaces to simplify error reporting in clients.
...
llvm-svn: 36900
2007-05-06 23:45:49 +00:00