Reid Spencer
bdfb668fee
Completely rewrote the class. SymbolTable now separates Type* from Value* in preparation\
...
for making Type not derive from Value. There are now separate interfaces \
for looking up, finding, and inserting Types and Values. There are also \
three separate iterator interfaces, one for type planes, one for the types \
(type type plane), and one for values within a type plane. See the \
documentation in the Header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13745 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:45:53 +00:00
Reid Spencer
3afbb1ab10
Convert dump() method to call Type::dump() instead of Value::dump().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13744 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:45:42 +00:00
Reid Spencer
03d186abe0
Fix a small typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13743 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:45:31 +00:00
Vikram S. Adve
e4e97ef64d
Recognize memalign and friends, and handle them specially.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13741 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:14:52 +00:00
Chris Lattner
3c6a0d4ae2
Implement InstCombine:shift.ll:test16, which turns (X >> C1) & C2 != C3
...
into (X & (C2 << C1)) != (C3 << C1), where the shift may be either left or
right and the compare may be any one.
This triggers 1546 times in 176.gcc alone, as it is a common pattern that
occurs for bitfield accesses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13740 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 06:32:08 +00:00
Chris Lattner
256b7a452b
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 06:30:49 +00:00
Chris Lattner
c971025b01
Implement some helpers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13738 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 05:32:43 +00:00
Chris Lattner
02140b025d
Add some helpers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13737 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 05:32:13 +00:00
Chris Lattner
a710ddc9c4
Implement instcombine/cast.ll:test16:
...
Canonicalize cast X to bool into a setne instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13736 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 04:29:21 +00:00
Chris Lattner
2e13cea896
Add a new test16 and fix some other tests that were not properly written
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13735 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 04:28:43 +00:00
Chris Lattner
58ac674df4
Make doc_code shrink-to-fit. This only works in mozilla, but it doesn't
...
hurt legibility on IE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13720 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 18:05:58 +00:00
Tanya Lattner
17fb34bf8c
Moved MachineBasicBlock deconstructor to cpp file and removed it from LeakDetector to fix memory leak bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13718 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 07:14:35 +00:00
Chris Lattner
b11a99bd39
Fix a bug in my previous checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13717 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 06:24:46 +00:00
Tanya Lattner
792699c46e
Added MachineFunction parent* to MachineBasicBlock. Customized ilist template
...
to set the parent when a MachineBasicBlock is added to a MachineFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13716 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 06:11:51 +00:00
Chris Lattner
2b90565e3d
Lots of minor typo fixes, some minor inaccuracies fixed, and some new material.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13715 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 05:35:17 +00:00
Chris Lattner
14cd539ce1
new feature
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13714 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 05:34:32 +00:00
Chris Lattner
2ca1fd1fd3
Fix a couple of busted li's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13713 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:55:32 +00:00
Chris Lattner
ea4ed22986
Add a todo to make it clear that the section is not done
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13712 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:54:31 +00:00
Chris Lattner
b965669d55
Personally, I think that documentation is as important as code. Increase
...
the visibility of dox changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13711 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:53:32 +00:00
Chris Lattner
80453c97f9
Fix a div problem that was causing some wierd indentation. Get more div'y
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13710 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:50:25 +00:00
Chris Lattner
39491a7e13
Add some notes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13709 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:45:52 +00:00
Chris Lattner
94ec51315f
Add a link to the GC doc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13708 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:43:49 +00:00
Chris Lattner
5bf3ce2b7c
Eliminate an explicit use of the LLVM basic block, using getParent instead,
...
which simplifies the code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13707 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 03:44:52 +00:00
Tanya Lattner
0c63e03e04
Changed clone to be const.
...
Changed copy constructor to set parent, prev, and next pointers to null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13706 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 03:14:18 +00:00
Alkis Evlogimenos
86f238230b
Eliminate warnings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13704 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 23:02:35 +00:00
Chris Lattner
2b83af553a
Testcases for andersen's alias analysis.
...
I think this is all of the stuff I had pending in my tree..
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13703 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:31:00 +00:00
Chris Lattner
f52988a92d
Spelling people's names right is kinda important
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13702 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:27:29 +00:00
Chris Lattner
8ad864ab14
Build the garbage collectors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13701 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:26:29 +00:00
Chris Lattner
e6fd7762c5
Initial checkin of GC implementation support files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13700 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:25:59 +00:00
Reid Spencer
0bd34a2b64
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13699 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:25:50 +00:00
Chris Lattner
77ac7baa6d
Check in an EARLY START on a simple copying collector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13698 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:25:45 +00:00
Chris Lattner
4cb1f3c10d
Add a simple testcase for garbage collection support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13697 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:24:50 +00:00
Chris Lattner
99c59e8e21
Add support for accurate garbage collection to the LLVM code generators
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13696 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:23:35 +00:00
Chris Lattner
df04097f87
Add some notes to myself, no functional changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13695 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:23:12 +00:00
Chris Lattner
bbdbf30238
minor wording change
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13694 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:22:55 +00:00
Chris Lattner
befa499d45
Fix cases where we missed inlining some more obvious candidates because the
...
caller was in an SCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13693 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:22:17 +00:00
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