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
Vikram S. Adve
189d626ad6
Remember the set of leaders. Also compute on demand and cache the equiv
...
class for each leader. Finally, rename Elem2ECLeaderMap to Elem2LeaderMap
(most of the changed lines are only due to the latter).
llvm-svn: 13651
2004-05-23 08:05:14 +00:00
Vikram S. Adve
16f29f349d
Add getCaller() method.
...
llvm-svn: 13650
2004-05-23 08:02:45 +00:00
Vikram S. Adve
159ed21b67
Inline both direct and indirect callees in the CBU phase because
...
a direct callee may have indirect callees and so may have changed.
llvm-svn: 13649
2004-05-23 08:00:34 +00:00
Vikram S. Adve
c5e27638dd
Complete rewrite of the code that merges DS graphs for equivalence classes
...
of functions called at a common call site. The rewrite inlines the
resulting graphs bottom-up on the SCCs of the CBU call graph. It also
simplifies the merging of equivalence classes by exploiting the fact that
functions in non-trivial SCCs are already merged.
llvm-svn: 13645
2004-05-23 07:54:02 +00:00
Vikram S. Adve
f44d32d9e2
Fix size/offset assertion to allow negative offsets and folded nodes.
...
llvm-svn: 13644
2004-05-23 07:34:53 +00:00