Commit Graph

4067 Commits

Author SHA1 Message Date
Chris Lattner
c3019e3d22 Fix bug: TailDuplicate/2003-08-31-UnreachableBlocks.ll
llvm-svn: 8276
2003-08-31 21:17:44 +00:00
Chris Lattner
0620f3d2fa Replace M with F when refering to functions
llvm-svn: 8274
2003-08-31 20:36:52 +00:00
Chris Lattner
f72da72785 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!

llvm-svn: 8273
2003-08-31 20:01:57 +00:00
Chris Lattner
b16810e6ee Don't explicitly use the SCC class
llvm-svn: 8271
2003-08-31 19:55:06 +00:00
Chris Lattner
1b262a5395 Remove dead var
llvm-svn: 8270
2003-08-31 19:54:57 +00:00
Chris Lattner
acd5eb1663 The SCC::HasLoop method is now in the main iterator
llvm-svn: 8269
2003-08-31 19:51:38 +00:00
Chris Lattner
05498bc768 Remove explicit passing of SCC's around as objects.
llvm-svn: 8267
2003-08-31 19:46:48 +00:00
Chris Lattner
8314d710a6 Move the getAnalysisUsage method from the header file
llvm-svn: 8264
2003-08-31 19:40:57 +00:00
Chris Lattner
87aba3e3d5 The tarjan iterator now returns a reference to the current SCC, not a possibly null pointer!
llvm-svn: 8262
2003-08-31 19:35:16 +00:00
Chris Lattner
9e2279bd9d Minor cleanups
Iterate from tarj_begin -> tarj_end, not from tarj_begin -> NULL

llvm-svn: 8260
2003-08-31 19:29:52 +00:00
Chris Lattner
e4682822fb Indent classes correctly in the namespace
move bodies out-of-line
Add getAnalysisUsage method for SFGSCC

llvm-svn: 8259
2003-08-31 19:27:11 +00:00
Chris Lattner
f8dfcdadf3 * Cleanups
* Iterate from tarj_begin -> tarj_end, not from tarj_begin -> NULL

llvm-svn: 8258
2003-08-31 19:23:41 +00:00
Chris Lattner
a37b6a09d3 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

llvm-svn: 8257
2003-08-31 19:10:30 +00:00
Chris Lattner
212039c1c8 Add accessor function
llvm-svn: 8253
2003-08-31 16:30:07 +00:00
Chris Lattner
d024e5ea75 Initial checkin of the -prune-eh pass, a very simple exception handling removal pass
llvm-svn: 8250
2003-08-31 02:47:32 +00:00
Chris Lattner
0fd60ef271 Initial checkin of the CallGraphSCCPass class
llvm-svn: 8247
2003-08-31 01:54:59 +00:00
Chris Lattner
09777aa277 ScalarRepl does not modify the CFG. Say so!
llvm-svn: 8243
2003-08-31 00:45:13 +00:00
Chris Lattner
663f967b7b Use new interface, simplifies code
llvm-svn: 8242
2003-08-31 00:22:27 +00:00
Chris Lattner
8378e59323 Use the new interface, simplifies code
NOTE that these two files are _BUGGY_ and need to be fixed, just not by me  :)

llvm-svn: 8241
2003-08-31 00:21:59 +00:00
Chris Lattner
fa80983a82 Use the new interface, simplifies code
Delete a bunch of commented out code

llvm-svn: 8240
2003-08-31 00:21:05 +00:00
Chris Lattner
ad1253a44f Use the new interface, simplifies code
llvm-svn: 8239
2003-08-31 00:20:36 +00:00
Chris Lattner
d7b6cc98db Implement new method
llvm-svn: 8238
2003-08-31 00:19:28 +00:00
Chris Lattner
6f0cabcb53 There is no reason for this to be a pass!
llvm-svn: 8214
2003-08-29 14:43:17 +00:00
Chris Lattner
b60bfd904c Fix bug: Linker/2003-08-28-TypeResolvesGlobal3.ll
Use new replaceAllUsesWith stuff in a way that works even though types have not yet been propagated

llvm-svn: 8210
2003-08-29 05:37:22 +00:00
Chris Lattner
286e92a9ef Implement "unsafe" replaceAllUsesWWith stuff for use during type resolution.
llvm-svn: 8209
2003-08-29 05:36:46 +00:00
Chris Lattner
055944e9d3 Fix bug: Linker/2003-08-28-TypeResolvesGlobal2.ll
llvm-svn: 8206
2003-08-29 05:11:34 +00:00
Chris Lattner
a2a7b891e5 Refactor code to make it useful outside of Constants.cpp
llvm-svn: 8205
2003-08-29 05:09:37 +00:00
Chris Lattner
f104b6e6ad Fix bug: Linker/2003-08-28-TypeResolvesGlobal.ll
llvm-svn: 8202
2003-08-29 04:49:54 +00:00
Misha Brukman
6202e8a9ea * Use alloca() to force GCC not to eliminate frame pointer
* Break apart saving and restoring registers into separate functions
* Instead of saving single and double FP registers, just save the double
  registers -- aliasing helps preserve the single FP registers as well.
* Request just as much memory for a stub as we actually use

llvm-svn: 8200
2003-08-29 04:22:54 +00:00
John Criswell
588d65ae68 Fixed two double free bugs that caused llc to segfault or run forever.
llvm-svn: 8191
2003-08-28 21:43:17 +00:00
Chris Lattner
062cc9d341 Add support for the llvm.unwind intrinsic, which we codegen to just do an abort
until we implement unwinding.
Add support for the invoke instruction, which codegens just like a call with
a branch after it.

The end effect of this change is that programs using the invoke instruction,
but never unwinding, will work fine.  Programs that unwind will abort until
we get unwind support.

llvm-svn: 8187
2003-08-28 21:23:43 +00:00
Chris Lattner
763a88d6bd Fix really nasty bugs in the CWriter, handling invoke instructions. Tracking
these down was NOT phun.

llvm-svn: 8181
2003-08-28 19:56:10 +00:00
Tanya Lattner
7fc76b7377 Removing README
llvm-svn: 8180
2003-08-28 17:17:59 +00:00
Tanya Lattner
f7a56c2596 Putting my revised version of ModuloScheduling in cvs. This is not complete...
llvm-svn: 8179
2003-08-28 17:12:14 +00:00
Chris Lattner
a295c0d706 Fix bug where we considered function types equivalent even if they had differing numbers of arguments
llvm-svn: 8178
2003-08-28 16:42:50 +00:00
Tanya Lattner
7ce05c067d Moved index into BB to common graph class because its needed by ModuloSchedGraph.
llvm-svn: 8174
2003-08-28 15:30:40 +00:00
Tanya Lattner
2c6c16288a Added/removed header file
llvm-svn: 8160
2003-08-27 15:12:24 +00:00
Tanya Lattner
78d4730ae6 *** empty log message ***
llvm-svn: 8153
2003-08-27 02:42:58 +00:00
Chris Lattner
491ea39105 Fix bug: SCCP/2003-08-26-InvokeHandling.ll
llvm-svn: 8152
2003-08-27 01:08:35 +00:00
Tanya Lattner
f172cf418d First version of SchedGraph common class and refactoring of SchedGraph.
llvm-svn: 8148
2003-08-25 22:42:20 +00:00
Chris Lattner
e7a3a51c77 As it turns out, things will be simpler than I first expected. We no longer
need any exception handling intrinsics beyond llvm.unwind. (yaay)

llvm-svn: 8145
2003-08-25 22:35:01 +00:00
Chris Lattner
399ad7c300 Remove special casing
llvm-svn: 8144
2003-08-25 22:34:15 +00:00
Chris Lattner
27cccb2db0 Mangle ALL letters that we do not allow, not just a few.
llvm-svn: 8140
2003-08-24 21:08:38 +00:00
Chris Lattner
c444f0ceea Simplify code
llvm-svn: 8139
2003-08-24 21:00:22 +00:00
Chris Lattner
94184ddd7b Consult the target data, not the module, about how large the current pointer
size is.  This ensures that if the module has no specified pointer size that
things will work correctly.

llvm-svn: 8136
2003-08-24 19:55:26 +00:00
Chris Lattner
24b58d4b81 Targets now configure themselves based on the source module, not on the
ad-hoc "Config" flags

llvm-svn: 8134
2003-08-24 19:50:53 +00:00
Chris Lattner
f31d84d7c5 Targets should configure themselves based on a Module, not some wierd flags
llvm-svn: 8132
2003-08-24 19:49:48 +00:00
Chris Lattner
bca7655aa9 Fix bug: Linker/2003-08-23-GlobalVarLinking.ll
llvm-svn: 8130
2003-08-24 19:30:20 +00:00
Chris Lattner
64c658e617 Implement: Linker/2003-08-24-InheritPtrSize.ll
llvm-svn: 8129
2003-08-24 19:26:42 +00:00
Chris Lattner
d627d84e23 Implement: Jello/test-constantexpr.ll
llvm-svn: 8127
2003-08-24 19:19:47 +00:00