Commit Graph

12336 Commits

Author SHA1 Message Date
Reid Spencer
293a55f9f0 Adding the initial implementation of the SlotTable class. This class is
the Abstract Data Type that holds slot number values and associates them
with Type* and Value*. The SlotTable is simply the holder of the slot
numbers and provides a controlled interface for building the table. It does
not enforce any particular idiom or functionality for manipulating the slot
numbers.

This is part of bug_122. The SlotCalculator and SlotMachine classes will
follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13764 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 18:44:51 +00:00
Alkis Evlogimenos
2662aa0f00 Remove this file as well as it is no longer needed nor it compiles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13762 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 18:24:27 +00:00
Reid Spencer
fa452c0550 Document a couple functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13761 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 18:14:38 +00:00
Chris Lattner
8dabb50287 Make use of the doc_author and doc_code styles. <tt>'ify llvm names. Minor
other edits


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13760 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 17:44:58 +00:00
Reid Spencer
94f2df295d Changed to use SymbolTable's new iteration interfaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13759 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 17:29:59 +00:00
Reid Spencer
b152f9ff78 Changed to use SymbolTable's new lookup interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13758 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 17:29:21 +00:00
Reid Spencer
e0b295afd6 Removed unused, useless header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13757 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 17:28:35 +00:00
Reid Spencer
7aa940de94 Added a bit on slot numbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13756 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 15:47:57 +00:00
Reid Spencer
875510805f 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13755 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 15:20:47 +00:00
Reid Spencer
9231ac8b6f Convert to SymbolTable's new iteration interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:53:40 +00:00
Reid Spencer
af90b0d8b8 Convert to SymbolTable's new iteration interface. Remove tabs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13753 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:53:29 +00:00
Reid Spencer
b870c5f7c5 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@13752 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:52:42 +00:00
Reid Spencer
567bc2cc1e Convert to SymbolTable's new lookup and iteration interfaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:52:20 +00:00
Reid Spencer
c8a1fcdb48 Remove unused header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13750 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:51:36 +00:00
Reid Spencer
3f0635e012 Make this pass simply invoke SymbolTable::strip().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13749 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:51:25 +00:00
Reid Spencer
119b342b20 Remove use of Type::TypeTy from an assert. It will go away soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13748 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:50:52 +00:00
Reid Spencer
0098bdfb97 Get rid of a wart: useless getFILE function is now a cast macro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13747 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:46:15 +00:00
Reid Spencer
ec55b08fd0 Give Type its own dump() method in preparation for Type != Value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13746 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:46:04 +00:00
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