Commit Graph

11993 Commits

Author SHA1 Message Date
Chris Lattner 18dad6ed52 Eliminate an explicit use of the LLVM basic block, using getParent instead,
which simplifies the code

llvm-svn: 13707
2004-05-24 03:44:52 +00:00
Tanya Lattner bcee21b491 Changed clone to be const.
Changed copy constructor to set parent, prev, and next pointers to null.

llvm-svn: 13706
2004-05-24 03:14:18 +00:00
Alkis Evlogimenos 4da5264253 Eliminate warnings
llvm-svn: 13704
2004-05-23 23:02:35 +00:00
Chris Lattner c4e2053767 Testcases for andersen's alias analysis.
I think this is all of the stuff I had pending in my tree..

llvm-svn: 13703
2004-05-23 21:31:00 +00:00
Chris Lattner 99173879ad Spelling people's names right is kinda important
llvm-svn: 13702
2004-05-23 21:27:29 +00:00
Chris Lattner 48ae330f2e Build the garbage collectors
llvm-svn: 13701
2004-05-23 21:26:29 +00:00
Chris Lattner 9656fe9cdc Initial checkin of GC implementation support files
llvm-svn: 13700
2004-05-23 21:25:59 +00:00
Reid Spencer e1a5727733 Create a new style for tables that have no width (.doc_table_nw) so the
table doesn't stretch across the whole page. Change for BytecodeFormat.html

llvm-svn: 13699
2004-05-23 21:25:50 +00:00
Chris Lattner 843cef8f3b Check in an EARLY START on a simple copying collector
llvm-svn: 13698
2004-05-23 21:25:45 +00:00
Chris Lattner acd339ea4f Add a simple testcase for garbage collection support
llvm-svn: 13697
2004-05-23 21:24:50 +00:00
Chris Lattner 6e4edd65ab Add support for accurate garbage collection to the LLVM code generators
llvm-svn: 13696
2004-05-23 21:23:35 +00:00
Chris Lattner 3ef067ff33 Add some notes to myself, no functional changes
llvm-svn: 13695
2004-05-23 21:23:12 +00:00
Chris Lattner 66911019e7 minor wording change
llvm-svn: 13694
2004-05-23 21:22:55 +00:00
Chris Lattner 6754b827c6 Fix cases where we missed inlining some more obvious candidates because the
caller was in an SCC.

llvm-svn: 13693
2004-05-23 21:22:17 +00:00
Chris Lattner 8d7ff5e3dd Simplify the interface and remove an unneeded #include
llvm-svn: 13692
2004-05-23 21:21:35 +00:00
Chris Lattner 254f8f8ad5 Fairly substantial changes to update the alias analysis we are querying as
we make the transformation.  This allows us to use interprocedural alias
analyses successfully.

llvm-svn: 13691
2004-05-23 21:21:17 +00:00
Chris Lattner 289ba2ac4d Adjust to the changes in the AliasSetTracker interface
llvm-svn: 13690
2004-05-23 21:20:19 +00:00
Chris Lattner e67dbc2ae2 Add support for replacement of formal arguments with simpler expressions.
llvm-svn: 13689
2004-05-23 21:19:55 +00:00
Chris Lattner 099c8cfe90 Implement the -lowergc pass which is used by code generators (like the CBE)
that do not have builtin support for garbage collection.

llvm-svn: 13688
2004-05-23 21:19:22 +00:00
Chris Lattner 9c251eb0ad Recognize and verify the new GC intrinsics.
llvm-svn: 13687
2004-05-23 21:16:51 +00:00
Chris Lattner abc125169b Add the new GC intrinsics
llvm-svn: 13686
2004-05-23 21:16:33 +00:00
Chris Lattner e6113c06b1 Add a new prototype
llvm-svn: 13685
2004-05-23 21:16:13 +00:00
Chris Lattner 62c37008a4 Changes to work with the changes to the AliasAnalysis interface. The -no-aa
class is now in the BasicAliasAnalysis.cpp file

llvm-svn: 13684
2004-05-23 21:15:48 +00:00
Chris Lattner 59c8ed8843 Move the -no-aa AA implementation into this file since both of these
alias analysis implementations are special: they do not autoforward to a
chained implementation of alias analysis

llvm-svn: 13683
2004-05-23 21:15:12 +00:00
Chris Lattner e345f6b5ab Updates to work with the new auto-forwarding AA interface changes
llvm-svn: 13682
2004-05-23 21:14:27 +00:00
Chris Lattner e657eb17cc Fix a really nasty bug with the -disable-ds-field-sensitivity option
llvm-svn: 13681
2004-05-23 21:14:09 +00:00
Chris Lattner befe4c510e Update to match the autochaining interface that the AA interface uses
llvm-svn: 13680
2004-05-23 21:13:51 +00:00
Chris Lattner 32502b8d4a Implement the interfaces to update value numbering information. Add an
assert.

llvm-svn: 13679
2004-05-23 21:13:24 +00:00
Chris Lattner 8f2b467feb Several *major* changes to the AA interfaces:
1. Provide interfaces so that clients can update alias analyses to reflect
   the changes made by the transformations.
2. Change how alias analysis implementations work overall.  In particular,
   now clients will automatically forward to chained AA implementations: they
   don't have to remember to do it themselves.

llvm-svn: 13678
2004-05-23 21:12:38 +00:00
Chris Lattner 98da971901 Add interfaces to update value numbering results
llvm-svn: 13677
2004-05-23 21:11:17 +00:00
Chris Lattner 746e1e1808 Rename a method
llvm-svn: 13676
2004-05-23 21:10:58 +00:00
Chris Lattner 020e1fc733 Make use of the new doc_author class. "Seperate content from presentation" they said.
llvm-svn: 13675
2004-05-23 21:07:27 +00:00
Chris Lattner 4dd45ffdb6 Lots of minor cleanups and clarifications
llvm-svn: 13674
2004-05-23 21:06:58 +00:00
Chris Lattner ed0ec7afbb Remove implemented stuff
llvm-svn: 13673
2004-05-23 21:06:21 +00:00
Chris Lattner 757528b0b6 Describe the new garbage collector intrinsics
llvm-svn: 13672
2004-05-23 21:06:01 +00:00
Chris Lattner 411eba181a Lots of minor fixes and formatting improvements
llvm-svn: 13671
2004-05-23 21:05:39 +00:00
Chris Lattner 1dab192f22 Update the coding standards, removign the bit about avoiding exceptions and
rtti (they shouldn't be used in the main compiler, but that's because
optimizations aren't allowed to fail!)

Remove the big section about iterators, because people who do not know what
they are doing shouldn't be writing them.  :)

llvm-svn: 13670
2004-05-23 21:05:07 +00:00
Chris Lattner 2a19d83689 Substantially expand and update the alias analysis documentation, including
adding blurbs about all of the implementations we have

llvm-svn: 13669
2004-05-23 21:04:01 +00:00
Chris Lattner e25f4fffff Various changes to make the docs look nicer. Add a new doc_author class.
The one thing that someone (misha?) should look at is fixing doc_code so that it sizes to fit the code instead of going to the right margin all of the way.  Fixing it at a particular number of pixels was just wrong. :)

llvm-svn: 13668
2004-05-23 21:03:30 +00:00
Chris Lattner f689d57f0f Add a new document describing the LLVM accurate garbage collection support.
llvm-svn: 13667
2004-05-23 21:02:20 +00:00
Chris Lattner 5758134505 Add a simple implementation of Andersen's interprocedural pointer analysis
llvm-svn: 13666
2004-05-23 21:00:47 +00:00
Tanya Lattner 9953d86e63 Fixed up my changes to add support for cloning Machine Instructions.
llvm-svn: 13665
2004-05-23 20:58:02 +00:00
Alkis Evlogimenos ee4dcae9ba Remove virtual destructor from InstVisitor. This class should never be
used through a base pointer/reference so inproper destruction should
never be an issue. Removing this last virtual function also saves 4
bytes off each InstVisitor instance.

llvm-svn: 13664
2004-05-23 20:54:39 +00:00
Chris Lattner 23257069b6 Fix a couple misplaced div tags
llvm-svn: 13663
2004-05-23 20:42:08 +00:00
Chris Lattner f45d23b85c Revert back to the previous version, as it doesn't work with mozilla, and people REALLY CAN just click the link. :)
llvm-svn: 13662
2004-05-23 20:29:35 +00:00
Tanya Lattner e6a4a7dbcf Adding support to clone MachineInstr
llvm-svn: 13661
2004-05-23 19:35:12 +00:00
Reid Spencer 3e58f5880a Added a "Miscellaneous Improvements" section to cover things like the
Bytecode File Format documentation, getting all documents in HTML 4.01
(Strict) compliance, and any other minor improvement that shoud be noted.

llvm-svn: 13660
2004-05-23 17:23:13 +00:00
Reid Spencer ac9cc8c82d Make the file HTML 4.01 (Strict) clean.
llvm-svn: 13659
2004-05-23 17:12:45 +00:00
Reid Spencer eca340ba12 Additional content describing variable bit rate encoding, correcting the
definition of the signature block and module block, and adding definitions
of the global type pool and symbol table. More still to come.

llvm-svn: 13658
2004-05-23 17:05:09 +00:00
Alkis Evlogimenos 22acc1268d Put back the inlined bug list. Use the OBJECT tag to make it HTML-4.01
(Strict)-compliant.

llvm-svn: 13655
2004-05-23 11:10:55 +00:00