Commit Graph

7803 Commits

Author SHA1 Message Date
Chris Lattner
bcc6dec741 IGNode got moved to lib/CodeGen/RegAlloc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8294 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 20:00:08 +00:00
Chris Lattner
fdba393cc0 This file just needs LiveRange.h not IGNode.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8293 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 19:58:02 +00:00
Chris Lattner
87d50f0566 No longer include IGNode.h in the Sparc global header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8292 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 19:56:48 +00:00
Chris Lattner
758fefc0f0 Final cleanup: remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8291 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 18:01:36 +00:00
Chris Lattner
273328e8e0 Not only is this a lot smaller, it actually works if there is already a
function with the right name in the module.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8290 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 16:53:46 +00:00
Chris Lattner
a0201eaca8 Dead files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8289 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 16:49:57 +00:00
Chris Lattner
09a670587a If "These should be used only by the auto-parallelization pass", we might as
well put them INTO the auto-par pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8288 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 16:49:38 +00:00
Chris Lattner
60a3518cf9 Moved all of the cilkifier stuff into lib/Transforms/IPO, as it really is not
support stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8287 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 16:45:30 +00:00
Chris Lattner
b50b8b1acc This file is just a subset of Cilkifier.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8286 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 16:42:43 +00:00
Chris Lattner
aa9214524d Minor cleanups
Do not #include Parallelize.h, it's just a subset of Cilkifier.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8285 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 16:42:16 +00:00
Chris Lattner
01112bd08a Other minor cleanups while I'm in the area
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8284 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 16:38:43 +00:00
Chris Lattner
c87c80dce0 Fix spell-o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8283 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 16:35:30 +00:00
Chris Lattner
8c8418ddb4 Remove gross old hacky code that was in there for backwards compatibility
1 year is plenty of migration time!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8282 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 16:31:28 +00:00
Chris Lattner
2dbfa03fd8 Change the RaiseAllocations pass to be a Pass instead of a BasicBlock pass.
This makes it more efficient: it doesn't have to scan the whole program, so
it performs work proportional to the number of malloc/free calls in the
program, not the size of the program.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8280 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 03:14:56 +00:00
Chris Lattner
2757af2d47 Change the RaiseAllocations pass from being a BasicBlockPass to being a Pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8279 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 03:14:00 +00:00
Chris Lattner
36f18aefe8 Remove the -stopAfterNPasses option, which has been long obsoleted by bugpoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8278 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 21:47:24 +00:00
Chris Lattner
cf37c23a47 * move the dead-type-eliminate passes to the end, where they are more useful
* add prune-eh and inlining passes
* other minor pass reorganizations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8277 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 21:45:55 +00:00
Chris Lattner
3186d275f7 Fix bug: TailDuplicate/2003-08-31-UnreachableBlocks.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8276 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 21:17:44 +00:00
Chris Lattner
84991f332e New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8275 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 21:05:39 +00:00
Chris Lattner
5714c97400 Replace M with F when refering to functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8274 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 20:36:52 +00:00
Chris Lattner
55b2eb3ef8 Rename TarjanSCCIterator -> scc_iterator
* Increases consistency with other iterators (e.g. df_iterator, po_iterator...)
  * It's shorter
  * We don't name classes by the implementation, we name it for the interface!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8273 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 20:01:57 +00:00
Chris Lattner
ff8fc07890 ELIMINATE the SCC class completely. One less thing deriving from std::vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8272 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:55:31 +00:00
Chris Lattner
729d73d425 Don't explicitly use the SCC class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8271 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:55:06 +00:00
Chris Lattner
56ef49f5c6 Remove dead var
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8270 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:54:57 +00:00
Chris Lattner
9f2a06e76d The SCC::HasLoop method is now in the main iterator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8269 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:51:38 +00:00
Chris Lattner
94d1092c6a Move the HasLoop method from the SCC class to the iterator class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:51:22 +00:00
Chris Lattner
fe8d8806f7 Remove explicit passing of SCC's around as objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8267 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:46:48 +00:00
Chris Lattner
0c6a271d91 This should use Support/iterator, not <iterator>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8266 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:46:22 +00:00
Chris Lattner
1da3398600 Cleanups, move the getAnalysisUsage method to the .cpp file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8265 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:41:17 +00:00
Chris Lattner
95008bca9e Move the getAnalysisUsage method from the header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8264 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:40:57 +00:00
Chris Lattner
a04e51f4c0 Fix an FLAT OUT WRONG comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8263 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:37:29 +00:00
Chris Lattner
6c5fd8e055 The tarjan iterator now returns a reference to the current SCC, not a possibly null pointer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8262 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:35:16 +00:00
Chris Lattner
b55cae23cb * Cleanups
* operator* now returns a reference to the current SCC, instead of a possibly
  null pointer


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8261 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:34:27 +00:00
Chris Lattner
0c0023b754 Minor cleanups
Iterate from tarj_begin -> tarj_end, not from tarj_begin -> NULL


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8260 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:29:52 +00:00
Chris Lattner
8d0a23ab42 Indent classes correctly in the namespace
move bodies out-of-line
Add getAnalysisUsage method for SFGSCC


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8259 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:27:11 +00:00
Chris Lattner
23ebd75aff * Cleanups
* Iterate from tarj_begin -> tarj_end, not from tarj_begin -> NULL


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8258 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:23:41 +00:00
Chris Lattner
237ef567f6 Heavily refactor code:
* Separate the policy decisions into a derived class [InlineSimple]
  * Move the inlining mechanics into a base class [Inliner]
  * Change the inliner to be an SCCPass, making it more structured and
    eventually pipelinable with other SCC passes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8257 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:10:30 +00:00
Chris Lattner
fa7f524162 Add accessor function for the PruneEH pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8254 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 16:30:25 +00:00
Chris Lattner
f6fb96f559 Add accessor function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8253 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 16:30:07 +00:00
Chris Lattner
483cb5126f New testcase for annoying structure layout stuff!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8252 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 06:53:05 +00:00
Chris Lattner
c6c804b0d2 Minor simplification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8251 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 02:50:07 +00:00
Chris Lattner
3e64b2e1a4 Initial checkin of the -prune-eh pass, a very simple exception handling removal pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8250 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 02:47:32 +00:00
Chris Lattner
0c21021799 new tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8249 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 02:38:46 +00:00
Chris Lattner
2b771055d7 Add tests for the pruneeh pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 02:36:10 +00:00
Chris Lattner
4a81067a84 Initial checkin of the CallGraphSCCPass class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8247 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 01:54:59 +00:00
Chris Lattner
22ab2a16e5 Remove usage of unsigned long: unsigned should be enough!
Remove explicit use of a stack<>, use a vector instead


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8246 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 01:48:21 +00:00
Chris Lattner
ca82e6c3d1 This file uses cerr without including <iostream>. Since it's just for debugging, comment it out
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8245 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 01:45:00 +00:00
Chris Lattner
5636eec5fb s/Meth/F
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8244 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 01:38:00 +00:00
Chris Lattner
a15854c9fe ScalarRepl does not modify the CFG. Say so!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8243 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 00:45:13 +00:00
Chris Lattner
7d8a86aa59 Use new interface, simplifies code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8242 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 00:22:27 +00:00