Commit Graph

12822 Commits

Author SHA1 Message Date
Chris Lattner 8aa561992c Structures allow only uint
arrays allow int/uint/long/ulong

llvm-svn: 14629
2004-07-05 17:55:28 +00:00
Reid Spencer 4e0352d8c7 - Reorganized the document contents
- Provided a "General Layout" section that currently covers just the block
  structure of the bytecode file.
- Wrote the section on the Global Type Pool
- Wrote the section on differences between LLVM file format versions.

Only five sections left to write!

llvm-svn: 14628
2004-07-05 08:18:07 +00:00
Reid Spencer 02b6708e01 Finalize bytecode dumping. The "handleFinish" method was getting called
too soon so the function data was not getting dumped (it was generated
after the call handleFinish). Also cleaned up the output format for
proper indentation.

llvm-svn: 14627
2004-07-05 00:57:50 +00:00
Alkis Evlogimenos 21b3a5b0de Correctly compute the ration of iterations/#intervals.
llvm-svn: 14626
2004-07-04 17:23:35 +00:00
Chris Lattner 0969646d6e Add #includes
llvm-svn: 14625
2004-07-04 17:19:21 +00:00
Reid Spencer 00fc1c5fa4 Add #include <iostream> since Value.h doesn't include it any more.
llvm-svn: 14624
2004-07-04 12:22:14 +00:00
Reid Spencer f0ebb25d2b Add #include <iostream> since Value.h does not include it any more.
llvm-svn: 14623
2004-07-04 12:20:55 +00:00
Reid Spencer eb04d9bcb4 Add #include <iostream> since Value.h does not #include it any more.
llvm-svn: 14622
2004-07-04 12:19:56 +00:00
Reid Spencer 832fa92ab6 - remove use of isa<Type>(Val) since there's no inheritance relationship
any more. Needed for bug 122
- #include <iostream> since Value.h doesn't include it any more.

llvm-svn: 14621
2004-07-04 12:19:05 +00:00
Reid Spencer e258e94af7 Remove use of Type::TypeTy which is no longer defined. This change needed
for bug 122 since the "Type Type" concept is gone now.

llvm-svn: 14620
2004-07-04 12:17:44 +00:00
Reid Spencer e484cc1925 Correct syntax typo .. ; -> :
llvm-svn: 14619
2004-07-04 12:15:11 +00:00
Reid Spencer 1e8005d013 - Changes for bug 122
- Remove Tabs
- Add inserters  needed since Value doesn't implement them any more
- Move some functions here to avoid cyclic header file dependencies.

llvm-svn: 14618
2004-07-04 12:14:17 +00:00
Reid Spencer 8baf8e270a - #include <iostream> since its not in Value.h any more.
llvm-svn: 14617
2004-07-04 11:55:37 +00:00
Reid Spencer c107d6ff87 Constify SymbolTable's use of Type* so that it never modifies them.
llvm-svn: 14616
2004-07-04 11:55:08 +00:00
Reid Spencer dbe02b7b1d - #include <iostream> since its not in Value.h any more.
- constify use of Type* returned from symbol table.

llvm-svn: 14615
2004-07-04 11:52:49 +00:00
Reid Spencer cf394bf2d5 #include <iostream> since its not in Value.h any more.
llvm-svn: 14614
2004-07-04 11:51:24 +00:00
Reid Spencer 58d30f24bb Adjust the slot machine to handle Types separately from Values. This was
done by doubling up the data structures so that Type based equivalents are
used. A consequence of this is overloading of function members that take a
Type* instead of a Value*. Various other cleanups related to Type != Value
(bug 122) were also implemented.

llvm-svn: 14613
2004-07-04 11:50:43 +00:00
Reid Spencer bf2bce3f74 Implementation of SlotTable went into header file. Note that this header
is currently not being used but is retained because it will be the basis
for a clean up of the SlotCalculator class.

llvm-svn: 14612
2004-07-04 11:47:22 +00:00
Reid Spencer 2fa95bcd68 Remove Tabs.
llvm-svn: 14611
2004-07-04 11:46:15 +00:00
Reid Spencer a52b0009ea Implement new output functions for types and compacted type planes. Also
remove use of Type::TypeTyID and Type::TypeTy since Type no longer inherits
Value.

llvm-svn: 14610
2004-07-04 11:45:47 +00:00
Reid Spencer 3cdb4e88e5 Add new methods outputTypes and outputCompactionTypes for handling Types
separately from Values. This needed for bug 122.

llvm-svn: 14609
2004-07-04 11:44:27 +00:00
Reid Spencer 88f3e0731e For bug 122:
Separate Types from Values because Type no longer inherits from Value. The
changes for this are too numerous to list. In essence, any data structure
that contained a Value was doubled so that Types could be contained
similarly. New members include Types, TypeMap, CompactionTypes, and
CompactionTypeMap. Functions taking a Value* were overloaded with a variant
that takes a Type* that acts on the new data structures.

llvm-svn: 14608
2004-07-04 11:42:49 +00:00
Reid Spencer 25319569fb - Type::TypeTyID doesn't exist any more (bug 122)
- Types don't have names any more, just write them on ostream directly

llvm-svn: 14606
2004-07-04 11:37:54 +00:00
Reid Spencer 5ef4237089 Move SlotCalculator.h to lib/Bytecode/Writer since that is the only place
that needs it after the Type != Value changes (bug 122).

llvm-svn: 14605
2004-07-04 11:36:31 +00:00
Reid Spencer bc70f74825 - Don't use macros to call the BytecodeHandler
- Don't use PARSE_ERROR macro unnecessarily (for simple strings)
- Add comments before each function
- Convert for bug 122 (Type != Value)
- Handle new value range on Type::PrimitiveTypeId enumeration by augmenting
  the reader with a new read_typeid method and sanitizeTypeId method.
- Remove BytecodeHandler's default method implementations to header file.

llvm-svn: 14604
2004-07-04 11:33:49 +00:00
Reid Spencer 6934ce8347 Make all the virtual function (except destructor) inline so there are
default implementations without taking up a ton of space in a .cpp file.

llvm-svn: 14603
2004-07-04 11:29:56 +00:00
Reid Spencer e6c95490a0 - Make ValueList an "OtherVal" user of Values to ensure it doesn't get
mistaken for anything else.
- Move function descriptions to Reader.cpp file per Chris.
- Remove tabs.

llvm-svn: 14602
2004-07-04 11:04:56 +00:00
Reid Spencer 0421e6c843 Remove tabs. Move function declaration to Reader.h where it belongs.
llvm-svn: 14601
2004-07-04 11:03:03 +00:00
Reid Spencer 646f829e33 Add #include <iostream> which is needed now that Value.h doesn't include it
llvm-svn: 14600
2004-07-04 11:01:27 +00:00
Reid Spencer 6eecc40b2d Excise tabs.
llvm-svn: 14599
2004-07-04 11:00:39 +00:00
Reid Spencer 904b345c71 Add a new, compatible, interface function for writing types as operands.
This is necessary because Types are no longer Values.

llvm-svn: 14598
2004-07-04 10:59:05 +00:00
Reid Spencer ca9fb19323 Added #include <iostream> since this header is no longer picked up from
the Value.h header.

llvm-svn: 14597
2004-07-04 10:58:20 +00:00
Reid Spencer bc3919c074 - Remove enumerator TypeVal since Values can't be types any more
- Remove isa_impl relationship between Types and Values
- Add OtherVal so "other" users can interact with Values.

llvm-svn: 14596
2004-07-04 10:52:28 +00:00
Reid Spencer fefe3d5ba3 There is no longer a "Type" primitive type because Values and Types are
now distinct.

llvm-svn: 14595
2004-07-04 10:50:43 +00:00
Reid Spencer a7ae332182 Constify usage of Type* on the interface to ensure SymbolTable doesn't
modify types (it never should). Clean up some comments.

llvm-svn: 14594
2004-07-04 10:49:41 +00:00
Reid Spencer 50a334b2d6 Remove all of the classof(const Value*) methods of the derived types since
the Type base class no longer derives from Value.

llvm-svn: 14593
2004-07-04 10:48:27 +00:00
Reid Spencer 1431f7cf07 Make Type have no base classes. Previously it inherited Value. Also
removed the TypeTyID and TypeTy members so that the notion of the
"Type Type" is no longer present in LLVM. Various other adjustments
resulting from these changes were also made.

llvm-svn: 14592
2004-07-04 10:46:49 +00:00
Alkis Evlogimenos 8f3cc0316c Add efficiency statistic.
llvm-svn: 14590
2004-07-04 07:59:06 +00:00
Alkis Evlogimenos ef72a7e963 Add more operators.
llvm-svn: 14589
2004-07-04 01:30:54 +00:00
Chris Lattner d3ecc61840 Fix compilation on internix
llvm-svn: 14588
2004-07-03 01:21:05 +00:00
Chris Lattner 4c9c20af28 Implement add.ll:test22, a common case in MSIL files
llvm-svn: 14587
2004-07-03 00:26:11 +00:00
Chris Lattner 3a03c90085 Add a new testcase for folding an add into a switch
llvm-svn: 14586
2004-07-03 00:25:31 +00:00
Chris Lattner 971bbcb43a Fix Type::isSized() to realize that "{ opaque }" is not sized
llvm-svn: 14585
2004-07-02 23:20:17 +00:00
Chris Lattner 49df6cefa5 Do not call getTypeSize on a type that has no size
llvm-svn: 14584
2004-07-02 22:55:47 +00:00
Brian Gaeke 317ef96a3a Modernize example, so that you can paste it right into llvm-as
llvm-svn: 14583
2004-07-02 21:08:14 +00:00
Chris Lattner bee3155b20 Since we are in the department of redundancy department, at least be correct
llvm-svn: 14582
2004-07-02 18:41:18 +00:00
Misha Brukman 4308baa0f1 Add FIXME notes for spilling int/fp regs (need to calculate stack space).
llvm-svn: 14581
2004-07-02 17:54:38 +00:00
Misha Brukman 0fdfcf147b * Wrap long lines
* Mention the HTML/man page output from single POD source file

llvm-svn: 14580
2004-07-02 16:23:17 +00:00
Misha Brukman 6c4644b4a9 * Standardize manpage output: program name bold, options italic/emphasized
* Make links in SEE ALSO section of manpages short without "the ... manpage"

llvm-svn: 14579
2004-07-02 16:06:19 +00:00
Misha Brukman 763855342b The HTML documentation is now automatically generated from POD source.
llvm-svn: 14578
2004-07-02 15:48:33 +00:00