Reid Spencer
877b9a2f31
Made it illegal to pass a Type* through one of the Value* interfaces. The
...
SymbolTable will now assert if this is done. This didn't find any incorrect
usage of SymbolTable but will prevent future mistakes until Type != Value.
llvm-svn: 13755
2004-05-25 15:20:47 +00:00
Reid Spencer
e7e9671cad
Convert to SymbolTable's new iteration interface.
...
llvm-svn: 13754
2004-05-25 08:53:40 +00:00
Reid Spencer
47cf71a61e
Convert to SymbolTable's new iteration interface. Remove tabs.
...
llvm-svn: 13753
2004-05-25 08:53:29 +00:00
Reid Spencer
3f6a692a21
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.
llvm-svn: 13752
2004-05-25 08:52:42 +00:00
Reid Spencer
abb6f008ca
Convert to SymbolTable's new lookup and iteration interfaces.
...
llvm-svn: 13751
2004-05-25 08:52:20 +00:00
Reid Spencer
297d7fe7e6
Remove unused header file.
...
llvm-svn: 13750
2004-05-25 08:51:36 +00:00
Reid Spencer
1cc31f264f
Make this pass simply invoke SymbolTable::strip().
...
llvm-svn: 13749
2004-05-25 08:51:25 +00:00
Reid Spencer
14428ac740
Remove use of Type::TypeTy from an assert. It will go away soon.
...
llvm-svn: 13748
2004-05-25 08:50:52 +00:00
Reid Spencer
7b8a3b550a
Get rid of a wart: useless getFILE function is now a cast macro.
...
llvm-svn: 13747
2004-05-25 08:46:15 +00:00
Reid Spencer
50e3db3a64
Give Type its own dump() method in preparation for Type != Value.
...
llvm-svn: 13746
2004-05-25 08:46:04 +00:00
Reid Spencer
1eb1ef009e
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.
llvm-svn: 13745
2004-05-25 08:45:53 +00:00
Reid Spencer
303a74d2b7
Convert dump() method to call Type::dump() instead of Value::dump().
...
llvm-svn: 13744
2004-05-25 08:45:42 +00:00
Reid Spencer
bbea18c182
Fix a small typo.
...
llvm-svn: 13743
2004-05-25 08:45:31 +00:00
Vikram S. Adve
f6c4ee0744
Recognize memalign and friends, and handle them specially.
...
llvm-svn: 13741
2004-05-25 08:14:52 +00:00
Chris Lattner
e1e10e1883
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.
llvm-svn: 13740
2004-05-25 06:32:08 +00:00
Chris Lattner
6a02158bc5
New testcase
...
llvm-svn: 13739
2004-05-25 06:30:49 +00:00
Chris Lattner
db8bdba593
Implement some helpers
...
llvm-svn: 13738
2004-05-25 05:32:43 +00:00
Chris Lattner
bbdd577a00
Add some helpers
...
llvm-svn: 13737
2004-05-25 05:32:13 +00:00
Chris Lattner
03841659a4
Implement instcombine/cast.ll:test16:
...
Canonicalize cast X to bool into a setne instruction
llvm-svn: 13736
2004-05-25 04:29:21 +00:00
Chris Lattner
608c18f20c
Add a new test16 and fix some other tests that were not properly written
...
llvm-svn: 13735
2004-05-25 04:28:43 +00:00
Chris Lattner
64556f042a
Make doc_code shrink-to-fit. This only works in mozilla, but it doesn't
...
hurt legibility on IE
llvm-svn: 13720
2004-05-24 18:05:58 +00:00
Tanya Lattner
91fa3a9908
Moved MachineBasicBlock deconstructor to cpp file and removed it from LeakDetector to fix memory leak bug.
...
llvm-svn: 13718
2004-05-24 07:14:35 +00:00
Chris Lattner
6f02714a10
Fix a bug in my previous checkin
...
llvm-svn: 13717
2004-05-24 06:24:46 +00:00
Tanya Lattner
a578cb7a65
Added MachineFunction parent* to MachineBasicBlock. Customized ilist template
...
to set the parent when a MachineBasicBlock is added to a MachineFunction.
llvm-svn: 13716
2004-05-24 06:11:51 +00:00
Chris Lattner
a0390ec7f9
Lots of minor typo fixes, some minor inaccuracies fixed, and some new material.
...
llvm-svn: 13715
2004-05-24 05:35:17 +00:00
Chris Lattner
57e7a4cd56
new feature
...
llvm-svn: 13714
2004-05-24 05:34:32 +00:00
Chris Lattner
b97a9b2e7e
Fix a couple of busted li's
...
llvm-svn: 13713
2004-05-24 04:55:32 +00:00
Chris Lattner
1224615f62
Add a todo to make it clear that the section is not done
...
llvm-svn: 13712
2004-05-24 04:54:31 +00:00
Chris Lattner
f10ccbfab8
Personally, I think that documentation is as important as code. Increase
...
the visibility of dox changes
llvm-svn: 13711
2004-05-24 04:53:32 +00:00
Chris Lattner
21a9040464
Fix a div problem that was causing some wierd indentation. Get more div'y
...
llvm-svn: 13710
2004-05-24 04:50:25 +00:00
Chris Lattner
eda4f47d87
Add some notes
...
llvm-svn: 13709
2004-05-24 04:45:52 +00:00
Chris Lattner
e0de86c36c
Add a link to the GC doc
...
llvm-svn: 13708
2004-05-24 04:43:49 +00:00
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