Alkis Evlogimenos [Wed, 26 May 2004 21:41:09 +0000 (21:41 +0000)]
Refactor common initialization code in private init() functions.
This is a first step in supplying append to basic block constructors
for all instruction types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13793
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Wed, 26 May 2004 21:38:14 +0000 (21:38 +0000)]
Use one destination constructor for the unconditional branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13792
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 26 May 2004 17:42:51 +0000 (17:42 +0000)]
Fix spelling of doxygen directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13791
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 May 2004 17:20:52 +0000 (17:20 +0000)]
Fix PR344: the incorrect remove was being used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13790
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 May 2004 17:14:49 +0000 (17:14 +0000)]
Make the test use the %A type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13789
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 May 2004 17:08:25 +0000 (17:08 +0000)]
A quick and ugly hack to fix PR345. I used TypeTy specifically to make
Reid cringe :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13788
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 May 2004 16:52:55 +0000 (16:52 +0000)]
Fix a bug in reid's checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13787
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 26 May 2004 08:41:35 +0000 (08:41 +0000)]
Added a section on the SymbolTable class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13786
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 26 May 2004 07:37:11 +0000 (07:37 +0000)]
Part of bug 122:
This change removes the BuildBytecodeInfo flag from the SlotCalculator
class. This flag was needed to distinguish between the Bytecode/Writer
and the AsmWriter. Now that AsmWriter doesn't use SlotCalculator, we can
remove this flag and simplify some code. Also, some minor name changes
to CachedWriter.h needed to be committed (missed in previous commit).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13785
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 26 May 2004 07:18:52 +0000 (07:18 +0000)]
Part of bug 122. Removed dependency of AsmWriter on SlotCalculator by
incorporating a significantly simpler "SlotMachine" into this file. The
SlotMachine is tailored for use by only the AsmWriter whose requirements
for slot numbers are vastly different than from the Bytecode/Writer. Code
change passes all Feature and Regression tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13784
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 26 May 2004 06:27:36 +0000 (06:27 +0000)]
Adding scheduling class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13783
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 26 May 2004 06:27:18 +0000 (06:27 +0000)]
Updating my cvs versions. THis is still in progress and much will be changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13782
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 25 May 2004 20:43:47 +0000 (20:43 +0000)]
Add a (not very meaningful) default constructor for AllocInfo objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13773
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 25 May 2004 20:09:05 +0000 (20:09 +0000)]
Put SlotTable.h inclusion back at front of list to be coding standards
compliant. Thanks, Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13771
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 25 May 2004 20:01:25 +0000 (20:01 +0000)]
Change the install-includes target to completely ignore the llvm/Internal
directory. Headers located there are not public to LLVM but are shared
between LLVM modules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13769
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 25 May 2004 19:09:25 +0000 (19:09 +0000)]
Make the constructor explicit so we can't implicitly convert bool to
SlotTable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13766
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 25 May 2004 19:03:21 +0000 (19:03 +0000)]
Make some improvements suggested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13765
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 25 May 2004 18:44:51 +0000 (18:44 +0000)]
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
Alkis Evlogimenos [Tue, 25 May 2004 18:24:27 +0000 (18:24 +0000)]
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
Reid Spencer [Tue, 25 May 2004 18:14:38 +0000 (18:14 +0000)]
Document a couple functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13761
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 May 2004 17:44:58 +0000 (17:44 +0000)]
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
Reid Spencer [Tue, 25 May 2004 17:29:59 +0000 (17:29 +0000)]
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
Reid Spencer [Tue, 25 May 2004 17:29:21 +0000 (17:29 +0000)]
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
Reid Spencer [Tue, 25 May 2004 17:28:35 +0000 (17:28 +0000)]
Removed unused, useless header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13757
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 25 May 2004 15:47:57 +0000 (15:47 +0000)]
Added a bit on slot numbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13756
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 25 May 2004 15:20:47 +0000 (15:20 +0000)]
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
Reid Spencer [Tue, 25 May 2004 08:53:40 +0000 (08:53 +0000)]
Convert to SymbolTable's new iteration interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13754
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 25 May 2004 08:53:29 +0000 (08:53 +0000)]
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
Reid Spencer [Tue, 25 May 2004 08:52:42 +0000 (08:52 +0000)]
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
Reid Spencer [Tue, 25 May 2004 08:52:20 +0000 (08:52 +0000)]
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
Reid Spencer [Tue, 25 May 2004 08:51:36 +0000 (08:51 +0000)]
Remove unused header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13750
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 25 May 2004 08:51:25 +0000 (08:51 +0000)]
Make this pass simply invoke SymbolTable::strip().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13749
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 25 May 2004 08:50:52 +0000 (08:50 +0000)]
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
Reid Spencer [Tue, 25 May 2004 08:46:15 +0000 (08:46 +0000)]
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
Reid Spencer [Tue, 25 May 2004 08:46:04 +0000 (08:46 +0000)]
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
Reid Spencer [Tue, 25 May 2004 08:45:53 +0000 (08:45 +0000)]
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
Reid Spencer [Tue, 25 May 2004 08:45:42 +0000 (08:45 +0000)]
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
Reid Spencer [Tue, 25 May 2004 08:45:31 +0000 (08:45 +0000)]
Fix a small typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13743
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 25 May 2004 08:14:52 +0000 (08:14 +0000)]
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
Chris Lattner [Tue, 25 May 2004 06:32:08 +0000 (06:32 +0000)]
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
Chris Lattner [Tue, 25 May 2004 06:30:49 +0000 (06:30 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13739
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 May 2004 05:32:43 +0000 (05:32 +0000)]
Implement some helpers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13738
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 May 2004 05:32:13 +0000 (05:32 +0000)]
Add some helpers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13737
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 May 2004 04:29:21 +0000 (04:29 +0000)]
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
Chris Lattner [Tue, 25 May 2004 04:28:43 +0000 (04:28 +0000)]
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
Chris Lattner [Mon, 24 May 2004 18:05:58 +0000 (18:05 +0000)]
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
Tanya Lattner [Mon, 24 May 2004 07:14:35 +0000 (07:14 +0000)]
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
Chris Lattner [Mon, 24 May 2004 06:24:46 +0000 (06:24 +0000)]
Fix a bug in my previous checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13717
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Mon, 24 May 2004 06:11:51 +0000 (06:11 +0000)]
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
Chris Lattner [Mon, 24 May 2004 05:35:17 +0000 (05:35 +0000)]
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
Chris Lattner [Mon, 24 May 2004 05:34:32 +0000 (05:34 +0000)]
new feature
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13714
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 May 2004 04:55:32 +0000 (04:55 +0000)]
Fix a couple of busted li's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 May 2004 04:54:31 +0000 (04:54 +0000)]
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
Chris Lattner [Mon, 24 May 2004 04:53:32 +0000 (04:53 +0000)]
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
Chris Lattner [Mon, 24 May 2004 04:50:25 +0000 (04:50 +0000)]
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
Chris Lattner [Mon, 24 May 2004 04:45:52 +0000 (04:45 +0000)]
Add some notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13709
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 May 2004 04:43:49 +0000 (04:43 +0000)]
Add a link to the GC doc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13708
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 May 2004 03:44:52 +0000 (03:44 +0000)]
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
Tanya Lattner [Mon, 24 May 2004 03:14:18 +0000 (03:14 +0000)]
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
Alkis Evlogimenos [Sun, 23 May 2004 23:02:35 +0000 (23:02 +0000)]
Eliminate warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13704
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:31:00 +0000 (21:31 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:27:29 +0000 (21:27 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:26:29 +0000 (21:26 +0000)]
Build the garbage collectors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13701
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:25:59 +0000 (21:25 +0000)]
Initial checkin of GC implementation support files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13700
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 23 May 2004 21:25:50 +0000 (21:25 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:25:45 +0000 (21:25 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:24:50 +0000 (21:24 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:23:35 +0000 (21:23 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:23:12 +0000 (21:23 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:22:55 +0000 (21:22 +0000)]
minor wording change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13694
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:22:17 +0000 (21:22 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:21:35 +0000 (21:21 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:21:17 +0000 (21:21 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:20:19 +0000 (21:20 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:19:55 +0000 (21:19 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:19:22 +0000 (21:19 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:16:51 +0000 (21:16 +0000)]
Recognize and verify the new GC intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13687
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:16:33 +0000 (21:16 +0000)]
Add the new GC intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13686
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:16:13 +0000 (21:16 +0000)]
Add a new prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13685
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:15:48 +0000 (21:15 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:15:12 +0000 (21:15 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:14:27 +0000 (21:14 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:14:09 +0000 (21:14 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:13:51 +0000 (21:13 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:13:24 +0000 (21:13 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:12:38 +0000 (21:12 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:11:17 +0000 (21:11 +0000)]
Add interfaces to update value numbering results
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13677
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:10:58 +0000 (21:10 +0000)]
Rename a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13676
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:07:27 +0000 (21:07 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:06:58 +0000 (21:06 +0000)]
Lots of minor cleanups and clarifications
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13674
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:06:21 +0000 (21:06 +0000)]
Remove implemented stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13673
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:06:01 +0000 (21:06 +0000)]
Describe the new garbage collector intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13672
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:05:39 +0000 (21:05 +0000)]
Lots of minor fixes and formatting improvements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13671
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 May 2004 21:05:07 +0000 (21:05 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:04:01 +0000 (21:04 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:03:30 +0000 (21:03 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:02:20 +0000 (21:02 +0000)]
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
Chris Lattner [Sun, 23 May 2004 21:00:47 +0000 (21:00 +0000)]
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
Tanya Lattner [Sun, 23 May 2004 20:58:02 +0000 (20:58 +0000)]
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
Alkis Evlogimenos [Sun, 23 May 2004 20:54:39 +0000 (20:54 +0000)]
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