Commit Graph

8346 Commits

Author SHA1 Message Date
Chris Lattner df60fe04ab Update file header for renamed file
llvm-svn: 8673
2003-09-22 23:42:00 +00:00
Misha Brukman d3e4bf17a5 Added doxygen comments for the streaming module provider.
llvm-svn: 8672
2003-09-22 23:40:38 +00:00
Misha Brukman 6e9a3517f2 * Cleaned up code:
- no more passing around a string pointer to set errors
  - no more returning booleans and checking for errors, we use C++ exceptions
* Broke functionality into 2 new classes, one reads from file, one from a stream
* Implemented lazy function streaming - the parser can read in a function at-a-time

llvm-svn: 8671
2003-09-22 23:38:23 +00:00
Misha Brukman 98b719219b Added functions to perform streaming function loading, doxygenified comments.
llvm-svn: 8670
2003-09-22 23:36:33 +00:00
Misha Brukman 9b316ecdc0 Converted tabs to spaces.
llvm-svn: 8669
2003-09-22 23:35:54 +00:00
Misha Brukman 2face45941 Materialize the module before releasing it.
llvm-svn: 8668
2003-09-22 23:35:23 +00:00
Chris Lattner 50ac360a34 Fix bugs in the last change
llvm-svn: 8667
2003-09-22 23:30:59 +00:00
Chris Lattner d6002b8e15 Fix bug: Inline/2003-09-22-PHINodesInNormalInvokeDest.ll
llvm-svn: 8666
2003-09-22 22:35:39 +00:00
Chris Lattner 8f36a47acc new testcase, reduced by bugpoint
llvm-svn: 8665
2003-09-22 22:22:41 +00:00
Chris Lattner 0178d262e6 Fix bug: Inline/2003-09-22-PHINodesInExceptionDest.ll
... by making sure to update PHI nodes to take into consideration the
extra edges we get if we inline a call instruction through an invoke.

llvm-svn: 8664
2003-09-22 21:59:27 +00:00
Chris Lattner 17b9ee45f9 new testcase which crashes the inliner, thanks Bugpoint!
llvm-svn: 8663
2003-09-22 21:58:46 +00:00
Misha Brukman e051f86a3d Credits now go into the top-level CREDITS.TXT
llvm-svn: 8662
2003-09-22 21:57:56 +00:00
Misha Brukman 4ce9dae5b1 Credits are now in top-level CREDITS.TXT
llvm-svn: 8661
2003-09-22 21:57:15 +00:00
Misha Brukman 9672a0bf22 Keep all the contributors in one place, instead of all over the code base.
llvm-svn: 8660
2003-09-22 21:56:08 +00:00
Chris Lattner 2caaaba3e9 Squelch warning
llvm-svn: 8659
2003-09-22 20:33:34 +00:00
Chris Lattner 6954f20e22 Squelch warning
llvm-svn: 8658
2003-09-22 20:27:10 +00:00
Chris Lattner 65d93e208b Minor cleanups:
* Local header file goes at top
 * Remove unneeded #includes
 * Wrap code at 80 columns
 * Declare variables where they are used
 * 'register' is not needed
 * Use 'unsigned' instead of 'int' variables where possible

llvm-svn: 8657
2003-09-22 20:21:34 +00:00
Chris Lattner adb9a912fc new testcase that crashes the C++ frontend, found by John
llvm-svn: 8655
2003-09-22 18:27:20 +00:00
Vikram S. Adve 49cf091005 Fix assertion so it doesn't not trip incorrectly.
llvm-svn: 8650
2003-09-21 07:55:27 +00:00
Brian Gaeke e383a14960 Use C++ math header instead of C version.
llvm-svn: 8648
2003-09-21 03:57:37 +00:00
Brian Gaeke 32cd554853 Erase now-unused prototypes.
llvm-svn: 8647
2003-09-21 02:51:00 +00:00
Brian Gaeke 20c888fa9f Rearrange #includes ... since there are fewer now I guess it's a win.
(I also zapped printMachineCode() and printLabel() at the previous checkin,
but forgot to mention it.)

llvm-svn: 8646
2003-09-21 02:50:21 +00:00
Brian Gaeke 3a0a5fc1b3 Standardize the names of include guards.
llvm-svn: 8645
2003-09-21 02:31:37 +00:00
Brian Gaeke 58dabb4406 Standardize the names of include guards.
Remove more excess whitespace.

llvm-svn: 8644
2003-09-21 02:31:25 +00:00
Brian Gaeke 73d10dc47b Standardize the names of include guards.
Fix typos in file header comment.

llvm-svn: 8643
2003-09-21 02:31:15 +00:00
Brian Gaeke 43593b8cd0 I tried to standardize the formatting and tidy up the huge amount of
excess whitespace a little. Also improved some comments.

llvm-svn: 8642
2003-09-21 02:24:09 +00:00
Brian Gaeke e1061018bf Convert PhyRegAlloc into a proper pass.
PhyRegAlloc.cpp:
 Don't include TargetMachine.h or TargetRegInfo.h, because these are provided
  by PhyRegAlloc.h.
 Merge class RegisterAllocator into class PhyRegAlloc.
 Simplify & move ctor, dtor to PhyRegAlloc.h.
 Make some of PhyRegAlloc's reference members into pointer members,
  so they can be more easily messed with.
 MarkAllocatedRegs() becomes a member method, with fewer args.

PhyRegAlloc.h:
 Include Pass.h, TargetMachine.h and TargetRegInfo.h. Don't declare
  TargetRegInfo forward.
 Give AddedInstrns the obvious clear() method.
 Make some of PhyRegAlloc's reference members into pointer members,
  so they can be more easily messed with.
 Add prototype for markAllocatedRegs().
 Remove unused inline void constructLiveRanges().

llvm-svn: 8641
2003-09-21 01:23:46 +00:00
Chris Lattner 4be7671186 Add prototype
llvm-svn: 8640
2003-09-21 00:28:18 +00:00
Chris Lattner 3c095c79fa Functions reachable from the arguments of unresolvable call nodes should
not have their arguments marked complete

llvm-svn: 8639
2003-09-20 23:58:33 +00:00
Chris Lattner 413b7bde7c The Globals graph must become complete at the end of the BU phase!
llvm-svn: 8638
2003-09-20 23:27:05 +00:00
Chris Lattner 880b9aa10a Do not mark incoming arguments to functions complete if the function is pointed to by a global in the globals graph
llvm-svn: 8637
2003-09-20 22:24:04 +00:00
Chris Lattner 8c1a835806 Make sure to add global variable initializers to the Globals graph!
llvm-svn: 8636
2003-09-20 21:48:16 +00:00
Chris Lattner 71f747ea3d Don't consider incomplete nodes to be typesafe!
llvm-svn: 8635
2003-09-20 21:48:01 +00:00
Chris Lattner cc81b798e4 Remove trivially dead nodes was not removing nodes that were dead due to forwarding!
llvm-svn: 8634
2003-09-20 21:34:07 +00:00
Chris Lattner c8dfbbbf25 Global variables with APPENDING linkage are very important to keep around!
llvm-svn: 8632
2003-09-20 19:00:50 +00:00
Chris Lattner 689b681558 Add special case handling for calloc and realloc
llvm-svn: 8630
2003-09-20 16:50:46 +00:00
Chris Lattner 04d9cb6770 Switch from using CallInst's to represent call sites to using the LLVM
CallSite class.  Now we can represent function calls by invoke instructions
too!

llvm-svn: 8629
2003-09-20 16:34:13 +00:00
Chris Lattner 36b877ae7f Make this work better for constants that aren't necessarily in ANY graph, such as null pointers
llvm-svn: 8628
2003-09-20 16:12:57 +00:00
Chris Lattner 22533bc900 update dox
llvm-svn: 8626
2003-09-20 14:43:16 +00:00
Chris Lattner 5dac64f629 Rename Function::getEntryNode -> getEntryBlock
llvm-svn: 8625
2003-09-20 14:39:18 +00:00
Chris Lattner 21f750fabb Rename getEntryNode -> getEntryBlock()
llvm-svn: 8624
2003-09-20 14:36:49 +00:00
Chris Lattner 4413e4362c Minor cleanups, no functional changes
Rename Function::getEntryNode -> getEntryBlock

llvm-svn: 8623
2003-09-20 14:36:23 +00:00
Chris Lattner da5b9376a2 Cleanup header file
llvm-svn: 8622
2003-09-20 14:35:38 +00:00
Chris Lattner 25963c85e3 Now that the TCE pass passes all of the tests, add it to GCCAS
llvm-svn: 8621
2003-09-20 05:26:22 +00:00
Chris Lattner b6ac976247 Fix a really obvious huge gaping bug, add a comment
llvm-svn: 8620
2003-09-20 05:24:00 +00:00
Chris Lattner 0016085602 Expose the TCE pass
llvm-svn: 8619
2003-09-20 05:14:13 +00:00
Chris Lattner 2e9014cb1b New transformation: tail recursion elimination
llvm-svn: 8618
2003-09-20 05:03:31 +00:00
Chris Lattner 50af7516b0 New testcase
llvm-svn: 8617
2003-09-20 05:02:54 +00:00
Chris Lattner 7e5ca14433 Fix header, fix broken friend decl
llvm-svn: 8616
2003-09-20 03:34:44 +00:00
Chris Lattner 092af3f36e Fix bug: BasicAA/2003-09-19-LocalArgument.ll
llvm-svn: 8615
2003-09-20 03:08:47 +00:00