Commit Graph

12028 Commits

Author SHA1 Message Date
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