oota-llvm.git
21 years agoadd llvm-nm entry.
Brian Gaeke [Thu, 16 Oct 2003 18:04:40 +0000 (18:04 +0000)]
add llvm-nm entry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9163 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd command guide (It's like a man page translated into html, but without the
Brian Gaeke [Thu, 16 Oct 2003 18:03:24 +0000 (18:03 +0000)]
Add command guide (It's like a man page translated into html, but without the
translation...) for the new llvm-nm tool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9162 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoWelcome llvm-nm to the family
Chris Lattner [Thu, 16 Oct 2003 17:46:21 +0000 (17:46 +0000)]
Welcome llvm-nm to the family

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9161 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoCompletely rewrite support for the Value::use_* list. Now, all operations on
Chris Lattner [Thu, 16 Oct 2003 16:53:07 +0000 (16:53 +0000)]
Completely rewrite support for the Value::use_* list.  Now, all operations on
this list (except use_size()) are constant time.  Before the killUse method
(used whenever something stopped using a value) was linear time, and thus
very very slow for large programs.

This speeds GCCAS up _substantially_ on large programs: almost 2x for 176.gcc:

176.gcc:     77.07s -> 37.38s
177.mesa:     7.59s ->  5.57s
252.eon:     21.02s -> 19.52s (*)
253.perlbmk: 11.40s -> 13.05s
254.gap:      7.25s -> 7.42s

252.eon would speed up a whole lot more, but optimization time is being
dominated by the inlining pass, which needs to be fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9160 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoCompletely rewrite support for the Value::use_* list. Now, all operations on
Chris Lattner [Thu, 16 Oct 2003 16:53:04 +0000 (16:53 +0000)]
Completely rewrite support for the Value::use_* list.  Now, all operations on
this list (except use_size()) are constant time.  Before the killUse method
(used whenever something stopped using a value) was linear time, and thus
very very slow for large programs.

This speeds GCCAS up _substantially_ on large programs: almost 2x for 176.gcc:

176.gcc:     77.07s -> 37.38s
177.mesa:     7.59s ->  5.57s
252.eon:     21.02s -> 19.52s (*)
253.perlbmk: 11.40s -> 13.05s
254.gap:      7.25s -> 7.42s

252.eon would speed up a whole lot more, but optimization time is being
dominated by the inlining pass, which needs to be fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9159 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoUnfortunately, it looks like level raise is still needed :(
Chris Lattner [Thu, 16 Oct 2003 16:50:34 +0000 (16:50 +0000)]
Unfortunately, it looks like level raise is still needed :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9158 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoThis code does not require random access use_lists
Chris Lattner [Thu, 16 Oct 2003 16:49:12 +0000 (16:49 +0000)]
This code does not require random access use_lists

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9156 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoEliminate using declaration
Chris Lattner [Thu, 16 Oct 2003 16:48:53 +0000 (16:48 +0000)]
Eliminate using declaration
Rewrite code to work with use_lists what are either random access or bidirectional

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9155 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdded an entry for `llvm-nm'.
Misha Brukman [Thu, 16 Oct 2003 16:12:04 +0000 (16:12 +0000)]
Added an entry for `llvm-nm'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9154 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoOkay, this is a little hack that "scratches an itch" of mine.
Brian Gaeke [Thu, 16 Oct 2003 04:43:15 +0000 (04:43 +0000)]
Okay, this is a little hack that "scratches an itch" of mine.
I dislike having to examine the output of "dis" to see what symbols
are in a bytecode file. So, here is a first cut at a "nm" utility for llvm.
Flame away.... :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9153 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdded autoconf support for the sample project.
John Criswell [Thu, 16 Oct 2003 01:49:07 +0000 (01:49 +0000)]
Added autoconf support for the sample project.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9152 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdded autoconf support for the sample project.
John Criswell [Thu, 16 Oct 2003 01:49:00 +0000 (01:49 +0000)]
Added autoconf support for the sample project.
Fixed the header comment in Makefile.rules
Changed all references to the echo program in Makefile.rules to the value
found by autoconf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9151 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdding autoconf support to the sample project.
John Criswell [Thu, 16 Oct 2003 01:45:35 +0000 (01:45 +0000)]
Adding autoconf support to the sample project.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9150 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdding autoconf support for the sample project.
John Criswell [Thu, 16 Oct 2003 01:45:10 +0000 (01:45 +0000)]
Adding autoconf support for the sample project.
This should make setting up a new project much easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9149 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdding autoconf support for the sample project.
John Criswell [Thu, 16 Oct 2003 01:44:20 +0000 (01:44 +0000)]
Adding autoconf support for the sample project.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9148 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoVector is my friend, do you like vector?
Chris Lattner [Wed, 15 Oct 2003 22:10:10 +0000 (22:10 +0000)]
Vector is my friend, do you like vector?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9147 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agolalala
Chris Lattner [Wed, 15 Oct 2003 22:09:57 +0000 (22:09 +0000)]
lalala

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9146 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoWe'll need this soon as well
Chris Lattner [Wed, 15 Oct 2003 22:09:46 +0000 (22:09 +0000)]
We'll need this soon as well

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9145 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago#include vector which we will need here soon
Chris Lattner [Wed, 15 Oct 2003 22:09:32 +0000 (22:09 +0000)]
#include vector which we will need here soon

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9144 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoThis file uses assert and doesn't include anything which already #includes <cassert>
Chris Lattner [Wed, 15 Oct 2003 21:55:37 +0000 (21:55 +0000)]
This file uses assert and doesn't include anything which already #includes <cassert>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9142 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoGive this file a proper header
Chris Lattner [Wed, 15 Oct 2003 21:49:57 +0000 (21:49 +0000)]
Give this file a proper header

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9141 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoThe levelraise pass is a broken old piece of crufty code that should be
Chris Lattner [Wed, 15 Oct 2003 21:48:38 +0000 (21:48 +0000)]
The levelraise pass is a broken old piece of crufty code that should be
left on the side of the road without a second thought.

It is preventing forward progress, so for now, we will disable it by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9140 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFix up error message.
Brian Gaeke [Wed, 15 Oct 2003 20:46:58 +0000 (20:46 +0000)]
Fix up error message.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9139 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFlush output after writing out the list of function names.
Brian Gaeke [Wed, 15 Oct 2003 20:42:48 +0000 (20:42 +0000)]
Flush output after writing out the list of function names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9138 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoUpdated some of the information for the new autoconf changes.
John Criswell [Wed, 15 Oct 2003 16:52:57 +0000 (16:52 +0000)]
Updated some of the information for the new autoconf changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9136 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoDecrease usage of use_size()
Chris Lattner [Wed, 15 Oct 2003 16:48:29 +0000 (16:48 +0000)]
Decrease usage of use_size()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9135 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRemove usage of use_size()
Chris Lattner [Wed, 15 Oct 2003 16:43:24 +0000 (16:43 +0000)]
Remove usage of use_size()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9134 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoCleanup
Chris Lattner [Wed, 15 Oct 2003 16:42:21 +0000 (16:42 +0000)]
Cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9133 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd new hasOneUse() method. Remove explicit inline qualifiers
Chris Lattner [Wed, 15 Oct 2003 16:39:04 +0000 (16:39 +0000)]
Add new hasOneUse() method.  Remove explicit inline qualifiers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9132 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoadd support forloading additional .so files on the command line
Chris Lattner [Tue, 14 Oct 2003 22:24:31 +0000 (22:24 +0000)]
add support forloading additional .so files on the command line

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9131 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoChange the execute methods to take the shared object filename by const reference.
Chris Lattner [Tue, 14 Oct 2003 21:59:36 +0000 (21:59 +0000)]
Change the execute methods to take the shared object filename by const reference.
Other adjustments to work with the new ToolRunner interfaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9130 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoGeneralize abstract interpreter interface to allow linking in an arbitrary number...
Chris Lattner [Tue, 14 Oct 2003 21:52:52 +0000 (21:52 +0000)]
Generalize abstract interpreter interface to allow linking in an arbitrary number of shared objects

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9129 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoOrder #includes as per the style guide.
Misha Brukman [Tue, 14 Oct 2003 21:42:11 +0000 (21:42 +0000)]
Order #includes as per the style guide.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9128 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoEnabling incremental bytecode loading in the JIT:
Misha Brukman [Tue, 14 Oct 2003 21:39:53 +0000 (21:39 +0000)]
Enabling incremental bytecode loading in the JIT:
* Use the incremental bytecode reader interface to speed up execution

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9127 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoEnabling incremental bytecode loading in the JIT:
Misha Brukman [Tue, 14 Oct 2003 21:38:42 +0000 (21:38 +0000)]
Enabling incremental bytecode loading in the JIT:
* FunctionPassManager ctor now takes in a ModuleProvider
* run() materializes function before running passes on it

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9126 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoEnabling incremental bytecode loading in the JIT:
Misha Brukman [Tue, 14 Oct 2003 21:37:41 +0000 (21:37 +0000)]
Enabling incremental bytecode loading in the JIT:
* The VM is now constructed with a ModuleProvider

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9125 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoEnabling incremental bytecode loading in the JIT:
Misha Brukman [Tue, 14 Oct 2003 21:36:31 +0000 (21:36 +0000)]
Enabling incremental bytecode loading in the JIT:
* ExecutionEngine and VM can be constructed using a ModuleProvider.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9124 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoEnabling incremental bytecode loading in the JIT:
Misha Brukman [Tue, 14 Oct 2003 21:35:52 +0000 (21:35 +0000)]
Enabling incremental bytecode loading in the JIT:
* ExecutionEngine can be constructed from a ModuleProvider
* Alphabetized order of forward-declared classes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9123 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoEnabling incremental bytecode loading in the JIT:
Misha Brukman [Tue, 14 Oct 2003 21:34:56 +0000 (21:34 +0000)]
Enabling incremental bytecode loading in the JIT:
* Add ModuleProvider as a parameter to FunctionPassManager

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9122 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoSubstantial cleanups:
Chris Lattner [Tue, 14 Oct 2003 21:34:11 +0000 (21:34 +0000)]
Substantial cleanups:
 * Add header comment
 * Remove extraneous #includes
 * Move the FileType enum into the GCC class
 * The GCC class is not virtual.
 * Move all of the "constructor" functions into the classes themselves
 * Stop using cl::list as arguments, use std::vector instead (which cl::list
   derives from)
 * Improve comments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9121 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoThe return value of compileSharedObject was never used. Return the shared
Chris Lattner [Tue, 14 Oct 2003 21:09:11 +0000 (21:09 +0000)]
The return value of compileSharedObject was never used.  Return the shared
object's name instead

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9120 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoActually return an error if something bad happens, don't just exit.
Chris Lattner [Tue, 14 Oct 2003 21:07:25 +0000 (21:07 +0000)]
Actually return an error if something bad happens, don't just exit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9119 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agominor cleanups
Chris Lattner [Tue, 14 Oct 2003 21:01:51 +0000 (21:01 +0000)]
minor cleanups

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9118 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoThe -mode option is no longer
Chris Lattner [Tue, 14 Oct 2003 20:58:07 +0000 (20:58 +0000)]
The -mode option is no longer

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9117 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFix minor formatting bug
Chris Lattner [Tue, 14 Oct 2003 20:55:56 +0000 (20:55 +0000)]
Fix minor formatting bug

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9116 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoEliminate the bugpoint -mode option, by making bugpoint automatically infer the root...
Chris Lattner [Tue, 14 Oct 2003 20:52:55 +0000 (20:52 +0000)]
Eliminate the bugpoint -mode option, by making bugpoint automatically infer the root of all of your problems

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9115 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoOutput a contorted sequence of instructions to make sure that we don't access
Chris Lattner [Tue, 14 Oct 2003 19:09:05 +0000 (19:09 +0000)]
Output a contorted sequence of instructions to make sure that we don't access
off the bottom of the stack.  This fixes PR#41

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9114 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoDisable the leaf function optimization, which is apparently not legal on
Chris Lattner [Tue, 14 Oct 2003 18:52:41 +0000 (18:52 +0000)]
Disable the leaf function optimization, which is apparently not legal on
X86/linux.  :(  The problem is that a signal delivered while the function
is executing could clobber the functions stack.  This is a partial fix
for PR41.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9113 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFix bug in script
Chris Lattner [Tue, 14 Oct 2003 01:22:08 +0000 (01:22 +0000)]
Fix bug in script

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9110 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoDo not move variable sized allocations to the top of the caller, which might
Chris Lattner [Tue, 14 Oct 2003 01:11:07 +0000 (01:11 +0000)]
Do not move variable sized allocations to the top of the caller, which might
break dominance relationships, and is otherwise bad.  This fixes bug:
Inline/2003-10-13-AllocaDominanceProblem.ll.  This also fixes miscompilation
of 3 176.gcc source files (reload1.c, global.c, flow.c)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9109 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoNew testcase which the inliner breaks
Chris Lattner [Tue, 14 Oct 2003 01:04:12 +0000 (01:04 +0000)]
New testcase which the inliner breaks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9108 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdded a link to the main page for LLVM.
John Criswell [Mon, 13 Oct 2003 21:09:04 +0000 (21:09 +0000)]
Added a link to the main page for LLVM.
Made the "Submitting a Bug" reference point to the web site, as we want people
using the latest and greatest bug reporting.
Fixed the indentation by assuming that tabs are 8 characters or less.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9107 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoUnbreak code generator debug mode
Chris Lattner [Mon, 13 Oct 2003 21:04:26 +0000 (21:04 +0000)]
Unbreak code generator debug mode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9106 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdding additional license information to these files.
John Criswell [Mon, 13 Oct 2003 20:34:27 +0000 (20:34 +0000)]
Adding additional license information to these files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9102 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoDo not allow fallthroughs in switch statements. This fixes PR37,
Chris Lattner [Mon, 13 Oct 2003 20:32:04 +0000 (20:32 +0000)]
Do not allow fallthroughs in switch statements.  This fixes PR37,
253.perlbmk, and test/Programs/SingleSource/UnitTests/2003-10-13-SwitchTest.c!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9101 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoLLVM CVS repository has moved.
Misha Brukman [Mon, 13 Oct 2003 20:28:48 +0000 (20:28 +0000)]
LLVM CVS repository has moved.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9099 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRemove WordsEmitted statistic; there's already a non-backend-specific
Brian Gaeke [Mon, 13 Oct 2003 19:51:20 +0000 (19:51 +0000)]
Remove WordsEmitted statistic; there's already a non-backend-specific
jello statistic for this (just divide #-bytes-of-code-emitted by 4).

Rewrite head-of-file comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9098 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoLLI no longer has -abort-on-exception
Chris Lattner [Mon, 13 Oct 2003 18:26:49 +0000 (18:26 +0000)]
LLI no longer has -abort-on-exception

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9097 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRemoved items that are done or irrelevant.
John Criswell [Mon, 13 Oct 2003 18:26:44 +0000 (18:26 +0000)]
Removed items that are done or irrelevant.
Added a few new items.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9096 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoUse the autoconf macro John wrote
Chris Lattner [Mon, 13 Oct 2003 17:13:53 +0000 (17:13 +0000)]
Use the autoconf macro John wrote

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9095 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoWhoops, we inserted into the wrong set. What's up with the dead set anyway?
Chris Lattner [Mon, 13 Oct 2003 16:49:21 +0000 (16:49 +0000)]
Whoops, we inserted into the wrong set.  What's up with the dead set anyway?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9094 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoUse external df iterators to avoid revisiting blocks in functions with
Chris Lattner [Mon, 13 Oct 2003 16:44:50 +0000 (16:44 +0000)]
Use external df iterators to avoid revisiting blocks in functions with
multiple setjmp calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9093 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd missing default argument
Chris Lattner [Mon, 13 Oct 2003 16:44:30 +0000 (16:44 +0000)]
Add missing default argument

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9092 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMake use of "external" depth-first iterators to avoid revisiting nodes
Chris Lattner [Mon, 13 Oct 2003 16:36:06 +0000 (16:36 +0000)]
Make use of "external" depth-first iterators to avoid revisiting nodes
multiple times.  This reduces the time to construct post-dominance sets a LOT.
For example, optimizing perlbmk goes from taking 12.9894s to 1.4074s.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9091 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoadd support for "external" depth first iterators, which store the 'visited' set
Chris Lattner [Mon, 13 Oct 2003 16:34:26 +0000 (16:34 +0000)]
add support for "external" depth first iterators, which store the 'visited' set
outside of the iterator itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9090 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdded a macro and code that checks for the %a format string in sprintf().
John Criswell [Mon, 13 Oct 2003 16:22:01 +0000 (16:22 +0000)]
Added a macro and code that checks for the %a format string in sprintf().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9089 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFixed the name of a hyperlink.
John Criswell [Mon, 13 Oct 2003 16:19:30 +0000 (16:19 +0000)]
Fixed the name of a hyperlink.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9088 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRemoved information on common build problems. That is now documented in
John Criswell [Mon, 13 Oct 2003 16:16:25 +0000 (16:16 +0000)]
Removed information on common build problems.  That is now documented in
the FAQ (FAQ.html).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9087 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFequently Asked Questions about LLVM. Mainly focuses on build problems, but
John Criswell [Mon, 13 Oct 2003 16:13:06 +0000 (16:13 +0000)]
Fequently Asked Questions about LLVM.  Mainly focuses on build problems, but
anything FAQ'ish should go here if it's not heavily documented elsewhere (like
the README.txt file or the Getting Started Guide).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9086 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMaster README file that points to all other documentation.
John Criswell [Mon, 13 Oct 2003 15:59:28 +0000 (15:59 +0000)]
Master README file that points to all other documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9085 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoExtricate the "reverse" support from the depth-first iterator. This is really
Chris Lattner [Mon, 13 Oct 2003 15:45:33 +0000 (15:45 +0000)]
Extricate the "reverse" support from the depth-first iterator.  This is really
a crappy form of post-order traversal which really does not belong here.  While
we are at it, improve documentation and use a vector instead of a stack.

This improves the post dominator analysis pass by ~5%, and probably also helps
other passes as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9084 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd operator= for type iterators to make them assignable
Chris Lattner [Mon, 13 Oct 2003 15:34:17 +0000 (15:34 +0000)]
Add operator= for type iterators to make them assignable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9083 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRemove explicit inline qualifiers when the implicit ones work just as well
Chris Lattner [Mon, 13 Oct 2003 15:30:59 +0000 (15:30 +0000)]
Remove explicit inline qualifiers when the implicit ones work just as well

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9082 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoStop using "reverse depth first" order
Chris Lattner [Mon, 13 Oct 2003 15:21:58 +0000 (15:21 +0000)]
Stop using "reverse depth first" order

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9081 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoOops, forgot to commit this before: standardize header comments
Chris Lattner [Mon, 13 Oct 2003 14:58:11 +0000 (14:58 +0000)]
Oops, forgot to commit this before: standardize header comments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9080 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMinor cleanups
Chris Lattner [Mon, 13 Oct 2003 14:57:53 +0000 (14:57 +0000)]
Minor cleanups

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9079 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoSpeed up TypesEqual by specializing it for all of the derived types, avoiding
Chris Lattner [Mon, 13 Oct 2003 14:55:56 +0000 (14:55 +0000)]
Speed up TypesEqual by specializing it for all of the derived types, avoiding
a lot of virtual method dispatch overhead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9078 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAvoid calling getTypeSlot more
Chris Lattner [Mon, 13 Oct 2003 14:34:59 +0000 (14:34 +0000)]
Avoid calling getTypeSlot more

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9077 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAvoid creating lots of pointless opaque types, with short lifetimes
Chris Lattner [Mon, 13 Oct 2003 14:03:36 +0000 (14:03 +0000)]
Avoid creating lots of pointless opaque types, with short lifetimes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9076 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoThis is a header file, hear me roar
Chris Lattner [Mon, 13 Oct 2003 05:34:24 +0000 (05:34 +0000)]
This is a header file, hear me roar

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9075 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Remove extraneous #includes
Chris Lattner [Mon, 13 Oct 2003 05:33:01 +0000 (05:33 +0000)]
* Remove extraneous #includes
* Fix a nasty initializer ordering bug.  Any only-CFG passes which registered
  themselves before the CFGOnlyAnalysis vector initialized got forgotten and
  thus got invalidated and recomputed.

In particular, in my compiled version of gccas, the Loop information pass was
being recomputed unnecessarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9074 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoWrap code at 80 columns
Chris Lattner [Mon, 13 Oct 2003 05:04:27 +0000 (05:04 +0000)]
Wrap code at 80 columns

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9073 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoThis is a header file, thus it needs a -*-C++-*-
Chris Lattner [Mon, 13 Oct 2003 04:22:07 +0000 (04:22 +0000)]
This is a header file, thus it needs a -*-C++-*-

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9072 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRegularize header file comments
Chris Lattner [Mon, 13 Oct 2003 03:32:08 +0000 (03:32 +0000)]
Regularize header file comments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9071 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agomake the indvar obviously non-canonical
Chris Lattner [Mon, 13 Oct 2003 03:31:42 +0000 (03:31 +0000)]
make the indvar obviously non-canonical

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9070 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRegularize header file comment, eliminate using's
Chris Lattner [Mon, 13 Oct 2003 03:30:47 +0000 (03:30 +0000)]
Regularize header file comment, eliminate using's

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9069 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd new op_erase method
Chris Lattner [Mon, 13 Oct 2003 03:29:26 +0000 (03:29 +0000)]
Add new op_erase method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9068 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMinor cleanups
Chris Lattner [Mon, 13 Oct 2003 01:02:33 +0000 (01:02 +0000)]
Minor cleanups

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9067 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoCheckin an improvement contributed by Bill:
Chris Lattner [Mon, 13 Oct 2003 00:57:16 +0000 (00:57 +0000)]
Checkin an improvement contributed by Bill:

Only transform call sites in a setjmp'ing function which are reachable from
the setjmp.  If the call dominates the setjmp (for example), the called
function cannot longjmp to the setjmp.

This dramatically reduces the number of invoke instructions created in some
large testcases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9066 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd support to the loop canonicalization pass to make it transform loops to
Chris Lattner [Mon, 13 Oct 2003 00:37:13 +0000 (00:37 +0000)]
Add support to the loop canonicalization pass to make it transform loops to
have a SINGLE backedge.  This is useful to, for example, the -indvars pass.

This implements testcase LoopSimplify/single-backedge.ll and closes PR#34

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9065 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agonew testcase
Chris Lattner [Sun, 12 Oct 2003 22:26:42 +0000 (22:26 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9064 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMake getNumBackEdges more efficient
Chris Lattner [Sun, 12 Oct 2003 22:14:27 +0000 (22:14 +0000)]
Make getNumBackEdges more efficient

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9063 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFiles moved to the LoopSimplify directory
Chris Lattner [Sun, 12 Oct 2003 21:57:11 +0000 (21:57 +0000)]
Files moved to the LoopSimplify directory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9062 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRename loop preheaders pass to loop simplify
Chris Lattner [Sun, 12 Oct 2003 21:52:28 +0000 (21:52 +0000)]
Rename loop preheaders pass to loop simplify

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9061 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRename -preheaders pass. Spelling fix
Chris Lattner [Sun, 12 Oct 2003 21:51:55 +0000 (21:51 +0000)]
Rename -preheaders pass.  Spelling fix

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9060 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFile is renamed to LoopSimplify.cpp
Chris Lattner [Sun, 12 Oct 2003 21:44:18 +0000 (21:44 +0000)]
File is renamed to LoopSimplify.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9059 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFirst step in renaming the preheaders pass to loopsimplify
Chris Lattner [Sun, 12 Oct 2003 21:43:28 +0000 (21:43 +0000)]
First step in renaming the preheaders pass to loopsimplify

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9058 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoThe -preheaders pass is now known as -loopsimplify
Chris Lattner [Sun, 12 Oct 2003 21:42:35 +0000 (21:42 +0000)]
The -preheaders pass is now known as -loopsimplify

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9057 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoThe preheader insertion pass only depends on the CFG. Mark it as such, which
Chris Lattner [Sun, 12 Oct 2003 19:33:10 +0000 (19:33 +0000)]
The preheader insertion pass only depends on the CFG.  Mark it as such, which
allows GCCAS to only run it once.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9056 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRename method
Chris Lattner [Sun, 12 Oct 2003 18:52:12 +0000 (18:52 +0000)]
Rename method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9055 91177308-0d34-0410-b5e6-96231b3b80d8