Commit Graph

287 Commits

Author SHA1 Message Date
865f006bb4 Eliminate several more unnecessary intptr_t casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64888 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-18 05:09:16 +00:00
9e89ba31f1 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
2008-12-31 16:14:43 +00:00
4d6e2331c3 Enable LoopIndexSplit pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60555 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-04 21:40:31 +00:00
6f9f3e1a18 Disable -loop-index-split for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60087 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-26 04:58:14 +00:00
3253f4c979 Adjust indent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60081 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-26 02:57:24 +00:00
641397f2ef 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
2008-11-04 23:03:58 +00:00
3b0da26e20 Move Print*Pass to use raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57946 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 03:25:22 +00:00
f4db3a51c7 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
2008-10-21 23:33:38 +00:00
210fada2c6 Turn on the AddReadAttrs pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56345 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-19 14:34:36 +00:00
442b1aa94b Fix comments, help messages.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56282 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17 16:01:39 +00:00
d9424edf94 Fix cut-n-pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17 00:01:04 +00:00
2d7551ced2 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
2008-09-16 22:25:14 +00:00
38197fed5b End of the GlobalsModRef experiment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56222 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-15 18:42:38 +00:00
0e3b7b2f91 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
2008-09-12 08:23:37 +00:00
ff5d06d797 Backout 55429
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55432 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 20:51:49 +00:00
9d2968c824 Add facility to create a target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55429 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 20:00:27 +00:00
5f2f218825 Goodbye tail duplication (for good this time).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53574 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 22:29:15 +00:00
56eb133095 Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53525 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-13 20:14:38 +00:00
3dda08ad5d 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
2008-07-13 19:35:21 +00:00
c5b271072e 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
2008-05-29 08:48:21 +00:00
9e2abd3840 Remove ADCE from the optimization pipeline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51581 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 04:27:27 +00:00
df0457241d 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
2008-05-16 07:57:10 +00:00
38503d4046 Remove tail duplication pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51139 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15 07:43:15 +00:00
8ffe2e2156 Recover nestedloop regression reported by nightly tester.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 18:04:30 +00:00
81a1d08cb7 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
2008-05-14 00:26:11 +00:00
4982babf4a Re-enable loop deletion by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50941 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-10 07:10:24 +00:00
77a895e599 Disable loop deletion until the release branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50787 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 23:56:34 +00:00
3f3d95c75a Enable dead loop elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50682 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05 23:38:07 +00:00
866b9e1520 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
2008-05-02 22:05:06 +00:00
2510c3b70f 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
2008-04-21 04:22:09 +00:00
fa191e4cd4 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
2008-04-17 12:03:38 +00:00
5d4ed3ba11 Move memcpy / memset optimization pass after GVN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49457 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-10 01:33:05 +00:00
a723d1e48f 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
2008-04-09 08:23:16 +00:00
21c62da287 remove attributions from tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45421 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:44:31 +00:00
82a13c9c48 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
2007-10-08 15:45:12 +00:00
d06eb2c879 Turn GVN on by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41787 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-08 22:23:52 +00:00
305743df72 Enable loop index split pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41714 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-04 20:46:58 +00:00
f6a05f949f Rename FastDSE to just DSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40668 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 06:36:51 +00:00
d47cab81b6 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
2007-07-30 15:01:09 +00:00
b63c7b695f 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
2007-07-17 21:59:21 +00:00
74b1e1424c Change sroa threshold back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39980 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 20:07:21 +00:00
a8b9a7b924 Temporarily set SROA threshold to 512.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39950 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 01:52:05 +00:00
a99be51bf5 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
2007-07-05 17:07:56 +00:00
56fb164540 Fix PR1539. Add LoopPassPrinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37909 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 15:32:03 +00:00
28552da9c3 Fix PR 1526.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37780 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-28 23:09:25 +00:00
065344dfd5 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
2007-05-06 23:45:49 +00:00
d44ae90fc8 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
2007-05-06 19:17:23 +00:00
744879ea01 switch tools to bitcode from bytecode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36872 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:32:02 +00:00
592488a4ef 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
2007-05-06 04:43:00 +00:00
b330e38f4a 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
2007-05-06 02:42:03 +00:00