Chris Lattner
74c68ffd5f
Simplify the interface and remove an unneeded #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13692 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:21:35 +00:00
Chris Lattner
9e7cc2f0d4
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13691 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:21:17 +00:00
Chris Lattner
2741c97104
Adjust to the changes in the AliasSetTracker interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13690 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:20:19 +00:00
Chris Lattner
057f78ab4e
Add support for replacement of formal arguments with simpler expressions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13689 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:19:55 +00:00
Chris Lattner
08005dfdc9
Implement the -lowergc pass which is used by code generators (like the CBE)
...
that do not have builtin support for garbage collection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13688 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:19:22 +00:00
Chris Lattner
e899705c27
Recognize and verify the new GC intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13687 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:16:51 +00:00
Chris Lattner
942ae1a07d
Add the new GC intrinsics
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13686 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:16:33 +00:00
Chris Lattner
bab838e76d
Add a new prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13685 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:16:13 +00:00
Chris Lattner
5a24d70d99
Changes to work with the changes to the AliasAnalysis interface. The -no-aa
...
class is now in the BasicAliasAnalysis.cpp file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13684 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:15:48 +00:00
Chris Lattner
b52f440860
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13683 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:15:12 +00:00
Chris Lattner
484e3027b2
Updates to work with the new auto-forwarding AA interface changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13682 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:14:27 +00:00
Chris Lattner
2412a05b80
Fix a really nasty bug with the -disable-ds-field-sensitivity option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13681 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:14:09 +00:00
Chris Lattner
1bf3408f96
Update to match the autochaining interface that the AA interface uses
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13680 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:13:51 +00:00
Chris Lattner
0f312d6998
Implement the interfaces to update value numbering information. Add an
...
assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13679 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:13:24 +00:00
Chris Lattner
ab8c565768
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13678 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:12:38 +00:00
Chris Lattner
bc78225518
Add interfaces to update value numbering results
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13677 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:11:17 +00:00
Chris Lattner
c43e0ae350
Rename a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13676 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:10:58 +00:00
Chris Lattner
7911ce2578
Make use of the new doc_author class. "Seperate content from presentation" they said.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13675 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:07:27 +00:00
Chris Lattner
69bf8a9b80
Lots of minor cleanups and clarifications
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13674 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:06:58 +00:00
Chris Lattner
97d49ef58f
Remove implemented stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13673 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:06:21 +00:00
Chris Lattner
d7923910c5
Describe the new garbage collector intrinsics
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13672 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:06:01 +00:00
Chris Lattner
4129b2a00b
Lots of minor fixes and formatting improvements
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13671 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:05:39 +00:00
Chris Lattner
999cf0984e
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. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13670 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:05:07 +00:00
Chris Lattner
ccc806525c
Substantially expand and update the alias analysis documentation, including
...
adding blurbs about all of the implementations we have
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13669 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:04:01 +00:00
Chris Lattner
88c595fb87
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. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13668 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:03:30 +00:00
Chris Lattner
0d8c2db1c9
Add a new document describing the LLVM accurate garbage collection support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13667 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:02:20 +00:00
Chris Lattner
e995a2abb3
Add a simple implementation of Andersen's interprocedural pointer analysis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13666 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:00:47 +00:00
Tanya Lattner
b5159ed0cb
Fixed up my changes to add support for cloning Machine Instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13665 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 20:58:02 +00:00
Alkis Evlogimenos
14d2638e38
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13664 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 20:54:39 +00:00
Chris Lattner
aab56d4b90
Fix a couple misplaced div tags
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13663 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 20:42:08 +00:00
Chris Lattner
9f57b18d28
Revert back to the previous version, as it doesn't work with mozilla, and people REALLY CAN just click the link. :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13662 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 20:29:35 +00:00
Tanya Lattner
466b534a57
Adding support to clone MachineInstr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13661 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 19:35:12 +00:00
Reid Spencer
8e0262f0ed
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13660 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 17:23:13 +00:00
Reid Spencer
6f1d699225
Make the file HTML 4.01 (Strict) clean.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13659 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 17:12:45 +00:00
Reid Spencer
b39021b8ba
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13658 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 17:05:09 +00:00
Alkis Evlogimenos
3ca836a171
Put back the inlined bug list. Use the OBJECT tag to make it HTML-4.01
...
(Strict)-compliant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13655 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 11:10:55 +00:00
Vikram S. Adve
6ffd14dd54
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13651 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 08:05:14 +00:00
Vikram S. Adve
b5b0b45e58
Add getCaller() method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13650 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 08:02:45 +00:00
Vikram S. Adve
052682f1c3
Inline both direct and indirect callees in the CBU phase because
...
a direct callee may have indirect callees and so may have changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13649 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 08:00:34 +00:00
Vikram S. Adve
c5204fb6f8
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13645 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 07:54:02 +00:00
Vikram S. Adve
44860ccaf2
Fix size/offset assertion to allow negative offsets and folded nodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13644 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 07:34:53 +00:00
Brian Gaeke
79333da2bb
Fix a typo in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13643 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 05:10:06 +00:00
Brian Gaeke
91ad59d75e
Fix a typo in the head-of-file comment.
...
Rewrite the comments about the different versions of BuildMI, to
better emphasize their differences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13642 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 05:04:00 +00:00
Reid Spencer
939290f808
Some additional data added to the bytecode specification.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13626 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-22 05:56:41 +00:00
Reid Spencer
500266187c
Added an initial template/overview for documentation of the LLVM Bytecode
...
file format. This format is being extracted from the source code and the
small recesses of Chris' brain.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13625 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-22 02:28:36 +00:00
Reid Spencer
f90ce9ecf8
Removed the 64-bit fix from the "to do" list since the bug is fixed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13624 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-22 01:04:19 +00:00
Misha Brukman
694b3ff967
Pass the Makefile flags to recursive makes in {PARALLEL,OPTIONAL}_DIRS targets.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13623 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 23:21:11 +00:00
Chris Lattner
d49b120414
It's not clear to me whether the old version was correct C++ code, but in
...
any case it's not portable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13621 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 18:38:16 +00:00
Chris Lattner
3b963590ef
Starting an identifier with an _ is not legal C/C++ code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13620 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 18:37:13 +00:00
Chris Lattner
e5ad10a016
Bug fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13619 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 16:48:20 +00:00