Commit Graph

12072 Commits

Author SHA1 Message Date
Chris Lattner
9772629794 Continue the implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13818 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:51:31 +00:00
Chris Lattner
a2f45b2802 A few more microsteps
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13817 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:51:13 +00:00
Chris Lattner
56fff59841 gc_init now gets an argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13816 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:51:00 +00:00
Chris Lattner
6623cffb6a Uhh, that doesn't exist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13815 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:44:22 +00:00
Chris Lattner
5e77935852 Beta-test moving a header from include/Support into the llvm hierarchy:
it seems to work :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13814 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:42:33 +00:00
Chris Lattner
bed85ff010 Header file moved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:41:36 +00:00
Chris Lattner
6f9e6074a9 Header moved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13812 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:37:32 +00:00
Chris Lattner
a5648f2ea2 Signals.h header moved. Eventually this should move into a lib/System library,
but not right now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13811 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:31:24 +00:00
Chris Lattner
3166440855 Moved header from include/Support/ to include/llvm/System
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13810 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:30:18 +00:00
Chris Lattner
d895ffe122 Changes to make libSupport build on systems that don't have the wait syscall.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13806 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 01:20:55 +00:00
Alkis Evlogimenos
9a5dc4f7e5 Add section on the newly added Instruction and subclasses constructor
variant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13802 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 00:57:51 +00:00
John Criswell
f3ecf3a40c Only give warnings if the user doesn't have mmap(). This is pretty much
a hack that allows users to fight through a build if they don't have mmap().
When I get into the office, I'll make something better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13801 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 00:57:50 +00:00
Alkis Evlogimenos
75dbe8eafa Add constructors that take a BasicBlock to append to, to the rest of
the llvm::Instruction hierarchy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13800 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 00:15:23 +00:00
Chris Lattner
dcf3a6b124 Fix a test that was "broken" by new optimizations. The transformation we
are doing is certainly correct, its just that we didn't have the capability
to do it when the testcase was written (no select instr)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13799 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 23:51:29 +00:00
Alkis Evlogimenos
fe3a093bc6 Do not pass a null pointer if this instruction is not prepended or
appended anywhere.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13798 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 22:50:28 +00:00
Alkis Evlogimenos
f6e8cb4954 Inline trivial constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13797 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 22:07:18 +00:00
Reid Spencer
b03de0c780 Several clean ups suggested by Chris: remove tabs, make SlotMachine do lazy
initialization so we don't scan large Modules/Functions needlessly, tighten
up restrictions on what can be put in SlotMachine (no Constants that aren't
GlobalValues).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13796 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 21:56:09 +00:00
Reid Spencer
75719bf239 Provide the correct patch for bug 345. The solution is to add a setTypeName
function to llvmAsmParser.y and then use it in the one place in the grammar
that needs it. Also had to make Type::setName public because setTypeName
needs it in order to retain compatibility with setValueName.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13795 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 21:48:31 +00:00
Reid Spencer
9b41dcfa60 Tighten up checking on SymbolTable interface to make it illegal to pass a
Type* where a Value* is expected.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13794 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 21:46:18 +00:00
Alkis Evlogimenos
e5828f1fa7 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
2004-05-26 21:41:09 +00:00
Alkis Evlogimenos
99c58f4910 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
2004-05-26 21:38:14 +00:00
Misha Brukman
6f3512865e Fix spelling of doxygen directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13791 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 17:42:51 +00:00
Chris Lattner
85acba6d58 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
2004-05-26 17:20:52 +00:00
Chris Lattner
c293cfa204 Make the test use the %A type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13789 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 17:14:49 +00:00
Chris Lattner
42fbc7e809 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
2004-05-26 17:08:25 +00:00
Chris Lattner
94c43590ef Fix a bug in reid's checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13787 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 16:52:55 +00:00
Reid Spencer
096603ada5 Added a section on the SymbolTable class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13786 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 08:41:35 +00:00
Reid Spencer
798ff64328 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
2004-05-26 07:37:11 +00:00
Reid Spencer
0d1b77e282 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
2004-05-26 07:18:52 +00:00
Tanya Lattner
ebac64534c Adding scheduling class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13783 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 06:27:36 +00:00
Tanya Lattner
4cffb588f5 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
2004-05-26 06:27:18 +00:00
Brian Gaeke
1812268126 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
2004-05-25 20:43:47 +00:00
Reid Spencer
6b1f58b6a4 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
2004-05-25 20:09:05 +00:00
Reid Spencer
4f840ed7e0 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
2004-05-25 20:01:25 +00:00
Reid Spencer
a85b8cf110 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
2004-05-25 19:09:25 +00:00
Reid Spencer
3751bd607b Make some improvements suggested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13765 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 19:03:21 +00:00
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