Commit Graph

12042 Commits

Author SHA1 Message Date
Reid Spencer 0aff01a239 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).

llvm-svn: 13785
2004-05-26 07:37:11 +00:00
Reid Spencer 16f2f7fba0 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.

llvm-svn: 13784
2004-05-26 07:18:52 +00:00
Tanya Lattner 642685a400 Adding scheduling class.
llvm-svn: 13783
2004-05-26 06:27:36 +00:00
Tanya Lattner a066df6bd7 Updating my cvs versions. THis is still in progress and much will be changed.
llvm-svn: 13782
2004-05-26 06:27:18 +00:00
Brian Gaeke 230deea60f Add a (not very meaningful) default constructor for AllocInfo objects.
llvm-svn: 13773
2004-05-25 20:43:47 +00:00
Reid Spencer abac0ef0b7 Put SlotTable.h inclusion back at front of list to be coding standards
compliant. Thanks, Chris.

llvm-svn: 13771
2004-05-25 20:09:05 +00:00
Reid Spencer d936d812bc 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.

llvm-svn: 13769
2004-05-25 20:01:25 +00:00
Reid Spencer 6244bc7831 Make the constructor explicit so we can't implicitly convert bool to
SlotTable.

llvm-svn: 13766
2004-05-25 19:09:25 +00:00
Reid Spencer 37dd30c00a Make some improvements suggested by Chris.
llvm-svn: 13765
2004-05-25 19:03:21 +00:00
Reid Spencer 4feb245a31 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.

llvm-svn: 13764
2004-05-25 18:44:51 +00:00
Alkis Evlogimenos 40f9a8730a Remove this file as well as it is no longer needed nor it compiles
llvm-svn: 13762
2004-05-25 18:24:27 +00:00
Reid Spencer 5264183123 Document a couple functions.
llvm-svn: 13761
2004-05-25 18:14:38 +00:00
Chris Lattner e7d5ec2b68 Make use of the doc_author and doc_code styles. <tt>'ify llvm names. Minor
other edits

llvm-svn: 13760
2004-05-25 17:44:58 +00:00
Reid Spencer 660ea5fadb Changed to use SymbolTable's new iteration interfaces.
llvm-svn: 13759
2004-05-25 17:29:59 +00:00
Reid Spencer ea41b4fb83 Changed to use SymbolTable's new lookup interface.
llvm-svn: 13758
2004-05-25 17:29:21 +00:00
Reid Spencer 15e969a45e Removed unused, useless header file.
llvm-svn: 13757
2004-05-25 17:28:35 +00:00
Reid Spencer 49ad21ce7b Added a bit on slot numbers.
llvm-svn: 13756
2004-05-25 15:47:57 +00:00
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