aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* SchedGraph doesn't need to be friends with SchedGraphNodeCommon anymore.Brian Gaeke2004-02-091-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11240 91177308-0d34-0410-b5e6-96231b3b80d8
* Move InstrSchedule's iterator begin/end methods inline.Brian Gaeke2004-02-092-56/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11239 91177308-0d34-0410-b5e6-96231b3b80d8
* Make SchedGraph::dump() use SchedGraphNodeCommon's const_iteratorBrian Gaeke2004-02-092-50/+28
| | | | | | | | | | instead of randomly groping about inside its outEdges array. Make SchedGraph::addDummyEdges() use getNumOutEdges() instead of outEdges.size(). Get rid of ifdefed-out code in SchedGraph::buildGraph(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11238 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the hashing scheme in an attempt to speed up the "slow" case inChris Lattner2004-02-091-50/+68
| | | | | | | | | type resolution. Unfortunately it doesn't help. Also delete some dead debugging code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11237 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug in installation process: MKDIR must respect DESTDIR.Brian Gaeke2004-02-092-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11236 91177308-0d34-0410-b5e6-96231b3b80d8
* This debugging hook is no longer needed.Chris Lattner2004-02-091-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11233 91177308-0d34-0410-b5e6-96231b3b80d8
* Code cleanup in preparation for later changes. Now that ContainedTy's areChris Lattner2004-02-091-107/+75
| | | | | | | | consistent across the various type classes, we can factor out a LOT more almost-identical code. Also, add a couple of temporary statistics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11232 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that all of the derived types have disciplined interfaces, we can eliminateChris Lattner2004-02-093-181/+76
| | | | | | | | all of the ad-hoc storage of contained types. This allows getContainedType to not be virtual, and allows us to entirely delete the TypeIterator class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11230 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't depend on auto data conversionChris Lattner2004-02-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11229 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to the changed StructType interface. In particular, ↵Chris Lattner2004-02-0916-73/+61
| | | | | | getElementTypes() is gone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11228 91177308-0d34-0410-b5e6-96231b3b80d8
* Increase encapsulation of the StructType class, eliminating the ↵Chris Lattner2004-02-091-9/+15
| | | | | | getElementTypes() member git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11227 91177308-0d34-0410-b5e6-96231b3b80d8
* Method is goneChris Lattner2004-02-091-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11226 91177308-0d34-0410-b5e6-96231b3b80d8
* Start using the new and improve interface to FunctionType argumentsChris Lattner2004-02-0913-117/+98
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11224 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve encapsulation in the FunctionType class, by adding ↵Chris Lattner2004-02-091-4/+6
| | | | | | | | | param_(iterator/begin/end) members, and eliminating the getParamTypes() method, and the associated typedef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11223 91177308-0d34-0410-b5e6-96231b3b80d8
* This #include is not needed, it should have been removed with the last patchChris Lattner2004-02-091-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11222 91177308-0d34-0410-b5e6-96231b3b80d8
* Instead of searching the entire type graph for a type to determine if itChris Lattner2004-02-091-8/+29
| | | | | | | | | | | | contains the type we are looking for, just search the immediately used types. We can only do this because we keep the "current" type in the nesting level as we decrement upreferences. This change speeds up the testcase in PR224 from 50.4s to 22.08s, not too shabby. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11221 91177308-0d34-0410-b5e6-96231b3b80d8
* Upreferences are always OpaqueTypes, meaning that it is impossible for a ↵Chris Lattner2004-02-091-0/+1
| | | | | | | | | | non-abstract type from containing one. This speeds up the asmparser on the testcase in PR224 from 61->50s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11220 91177308-0d34-0410-b5e6-96231b3b80d8
* Another nice speedup for the register allocator. This time, we replaceChris Lattner2004-02-091-37/+55
| | | | | | | | | the Virt2PhysRegMap std::map with an std::vector. This speeds up the register allocator another (almost) 40%, from .72->.45s in a release build of LLC on 253.perlbmk. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11219 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new (hidden) option that is useful for profiling.Chris Lattner2004-02-091-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11218 91177308-0d34-0410-b5e6-96231b3b80d8
* Ugh, perform an optimization that GCC should be able to do itself. ThisChris Lattner2004-02-091-6/+7
| | | | | | | speeds up livevar from .48/.32s -> .45/.31s in LLC on perlbmk git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11217 91177308-0d34-0410-b5e6-96231b3b80d8
* Only do stuff for the REAL number of physical registers we have, not 1024.Chris Lattner2004-02-091-10/+8
| | | | | | | | This speeds up live variables a lot, from .60/.39s -> .47/.26s in LLC, for the first/second pass respectively. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11216 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the PhysRegsUsed map into a dense array. Seeing that this is a mappingChris Lattner2004-02-091-34/+35
| | | | | | | | | | | | | | from physical registers, and they are always dense, it makes sense to not have a ton of RBtree overhead. This change speeds up regalloclocal about ~30% on 253.perlbmk, from .35s -> .27s in the JIT (in LLC, it goes from .74 -> .55). Now live variable analysis is the slowest codegen pass. Of course it doesn't help that we have to run it twice, because regalloclocal doesn't update it, but even if it did it would be the slowest pass (now it's just the 2x slowest pass :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11215 91177308-0d34-0410-b5e6-96231b3b80d8
* Two problems with these lines of code:Chris Lattner2004-02-091-2/+0
| | | | | | | | | | | | 1. The "work" was not in the assert, so it was punishing the optimized release 2. getNamedFunction is _very_ expensive in large programs. It is not designed to be used like this, and was taking 7% of the execution time of the code generator on perlbmk. Since the assert "can never fail", I'm just killing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11214 91177308-0d34-0410-b5e6-96231b3b80d8
* The ConstantExpr::getCast call can cause a CPR to be generated. If so,Chris Lattner2004-02-091-0/+4
| | | | | | | strip it off. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11213 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR215: [bcwriter] Problem compactifying ConstantPointerRefsChris Lattner2004-02-092-0/+4
| | | | | | | Have I ever mentioned how much I _hate_ constantpointerrefs? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11212 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammar-o.Misha Brukman2004-02-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11210 91177308-0d34-0410-b5e6-96231b3b80d8
* All of spec, including 253.perlbmk should now work. There is still the 254.gapChris Lattner2004-02-081-28/+4
| | | | | | | regression, but that will definitely be fixed by 1.2 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11209 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve compatibility with programs that already have a prototype for 'write',Chris Lattner2004-02-081-12/+43
| | | | | | | even if it is wierd in some way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11207 91177308-0d34-0410-b5e6-96231b3b80d8
* vi failed me again. :)Chris Lattner2004-02-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11206 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the invoke 'except' destination to the 'unwind' destinationChris Lattner2004-02-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11205 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the 'exception' destination to the 'unwind' destination. We will alwaysChris Lattner2004-02-082-3/+3
| | | | | | | allow 'except' instead of 'unwind' here though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11203 91177308-0d34-0410-b5e6-96231b3b80d8
* rename the "exceptional" destination of an invoke instruction to the ↵Chris Lattner2004-02-0812-20/+19
| | | | | | 'unwind' dest git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11202 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new bug, add note about llvm-dbChris Lattner2004-02-081-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11201 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR225: [pruneeh] -pruneeh pass removes invoke instructions it shouldn'tChris Lattner2004-02-081-10/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11200 91177308-0d34-0410-b5e6-96231b3b80d8
* splitBasicBlock "does the right thing" now, no reason to reposition it.Chris Lattner2004-02-081-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11199 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fixedChris Lattner2004-02-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11198 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement proper invoke/unwind lowering.Chris Lattner2004-02-081-21/+262
| | | | | | | This fixed PR16 "[lowerinvoke] The -lowerinvoke pass does not insert calls to setjmp/longjmp" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11195 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcase, code generators should support invoke/unwindChris Lattner2004-02-081-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11192 91177308-0d34-0410-b5e6-96231b3b80d8
* Print out all globals as they are emitted, not just those emitted fromChris Lattner2004-02-081-3/+2
| | | | | | | emitGlobals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11191 91177308-0d34-0410-b5e6-96231b3b80d8
* There is no reason to #define fdChris Lattner2004-02-081-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11190 91177308-0d34-0410-b5e6-96231b3b80d8
* add pr105Brian Gaeke2004-02-081-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11189 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix unterminated-quote typo in echo commandBrian Gaeke2004-02-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11188 91177308-0d34-0410-b5e6-96231b3b80d8
* Document automake as a build dependency because we use aclocalBrian Gaeke2004-02-081-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11187 91177308-0d34-0410-b5e6-96231b3b80d8
* Move rules for regenerating autoconf files into this shell script.Brian Gaeke2004-02-081-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11186 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove rules for autoconf'ing files from top-level MakefileBrian Gaeke2004-02-081-7/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11185 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a call to 'write' right before the call to abort() in the unwind path.Chris Lattner2004-02-081-3/+27
| | | | | | | | This causes the JIT, or LLC'd program to print out a nice message, explaining WHY the program aborted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11184 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation of selectiondag.Brian Gaeke2004-02-081-1/+1
| | | | | | | I don't know why its indentation has been bugging me, but it has. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11180 91177308-0d34-0410-b5e6-96231b3b80d8
* Add one that I missedChris Lattner2004-02-081-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11179 91177308-0d34-0410-b5e6-96231b3b80d8
* Instead of callign removeTriviallyDeadNodes on the global graph every timeChris Lattner2004-02-084-8/+13
| | | | | | | | | | removeDeadNodes is called, only call it at the end of the pass being run. This saves 1.3 seconds running DSA on 177.mesa (5.3->4.0s), which is pretty big. This is only possible because of the automatic garbage collection done on forwarding nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11178 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove another unneeded call.Chris Lattner2004-02-081-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11177 91177308-0d34-0410-b5e6-96231b3b80d8