Reid Spencer
f15d7739d1
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
50fc2ffa25
- 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
37b31cbcba
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
58d99835c3
- 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
725398ad54
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
1ed71ecc7c
- 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
1b40b59651
Remove tabs. Move function declaration to Reader.h where it belongs.
...
llvm-svn: 14601
2004-07-04 11:03:03 +00:00
Reid Spencer
b342d41159
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
43f703a636
Excise tabs.
...
llvm-svn: 14599
2004-07-04 11:00:39 +00:00
Reid Spencer
a53681ae93
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
925f7fd54c
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
678b551d2b
- 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
eb12af7769
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
ff486345fd
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
037f53dadd
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
01068980b7
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
8ff35c1ce8
Add efficiency statistic.
...
llvm-svn: 14590
2004-07-04 07:59:06 +00:00
Alkis Evlogimenos
b60ef8f308
Add more operators.
...
llvm-svn: 14589
2004-07-04 01:30:54 +00:00
Chris Lattner
5d7966a0ea
Fix compilation on internix
...
llvm-svn: 14588
2004-07-03 01:21:05 +00:00
Chris Lattner
aafe5aea0d
Implement add.ll:test22, a common case in MSIL files
...
llvm-svn: 14587
2004-07-03 00:26:11 +00:00
Chris Lattner
dc26835179
Add a new testcase for folding an add into a switch
...
llvm-svn: 14586
2004-07-03 00:25:31 +00:00
Chris Lattner
f0af72ac49
Fix Type::isSized() to realize that "{ opaque }" is not sized
...
llvm-svn: 14585
2004-07-02 23:20:17 +00:00
Chris Lattner
1120899069
Do not call getTypeSize on a type that has no size
...
llvm-svn: 14584
2004-07-02 22:55:47 +00:00
Brian Gaeke
6a3e24fcdd
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
d61ef00bc5
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
607dd868a8
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
b57bd4dfde
* 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
8f7c4a4f5b
* 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
3656912f2b
The HTML documentation is now automatically generated from POD source.
...
llvm-svn: 14578
2004-07-02 15:48:33 +00:00
Misha Brukman
b632df4410
* Link to the POD-generated HTML documentation
...
* Updated llvm-abcd to llvm-bcanalyzer
llvm-svn: 14577
2004-07-02 15:46:55 +00:00
Misha Brukman
56b86cedc3
Make `args' stand out as bold, delete confusing elipsis at the end of cmdline.
...
llvm-svn: 14576
2004-07-02 15:42:20 +00:00
Misha Brukman
49d1e6a991
HTML links in PODs must be absolute.
...
llvm-svn: 14575
2004-07-02 15:37:53 +00:00
Misha Brukman
5bfd99cd23
Simplify wording: the bugpoint tool' can just become
bugpoint'.
...
llvm-svn: 14574
2004-07-02 15:36:29 +00:00
Misha Brukman
83f5d08485
llvm-abcd has become llvm-bcanalyzer
...
llvm-svn: 14573
2004-07-02 15:32:49 +00:00
Brian Gaeke
318c4cf9c2
Fix use-before-def thinko
...
llvm-svn: 14570
2004-07-02 07:01:31 +00:00
Reid Spencer
38f04cdb64
Add a note about implementing interprocedural register allocation.
...
llvm-svn: 14569
2004-07-02 06:27:12 +00:00
Brian Gaeke
ca29562605
Build llvm-bcanalyzer
...
llvm-svn: 14568
2004-07-02 05:59:20 +00:00
Chris Lattner
5b96ed7d1b
Revert patches 1.79 and 1.80 which had to do with dead MBB's. Now that they
...
don't exist, we don't have to pretend to handle them.
llvm-svn: 14567
2004-07-02 05:52:23 +00:00
Chris Lattner
c83e510819
Fix potential problems with unreachable basic blocks.
...
Also, while noone's looking, add support for constant expressions. Wait,
I said not to look!
llvm-svn: 14566
2004-07-02 05:49:11 +00:00
Chris Lattner
a99a36881f
Fix all of those problems that the PPC backend has running 176.gcc :)
...
llvm-svn: 14565
2004-07-02 05:48:42 +00:00
Chris Lattner
6da0499f4b
Remove dead blocks
...
llvm-svn: 14564
2004-07-02 05:46:41 +00:00
Chris Lattner
1e20aefbcb
Add a trivially simple pass to delete unreachable blocks from the CFG. This
...
pass is required to paper over problems in the code generator (primarily
live variables and its clients) which doesn't really have any well defined
semantics for unreachable code.
The proper solution to this problem is to have instruction selectors not
select blocks that are unreachable. Until we have a instruction selection
framework available for use, however, we can't expect all instruction
selector writers to do this. Until then, this pass should be used.
llvm-svn: 14563
2004-07-02 05:46:10 +00:00
Chris Lattner
c71f8fcb8e
Add a new pass for code generators to use
...
llvm-svn: 14562
2004-07-02 05:44:13 +00:00
Chris Lattner
09b3764b2f
Make this testcase more interesting
...
llvm-svn: 14561
2004-07-02 05:43:51 +00:00
Brian Gaeke
96e0f832f8
Get rid of a dead variable, and fix a typo in a comment.
...
llvm-svn: 14560
2004-07-02 05:30:01 +00:00
Brian Gaeke
b92c136437
Add M_TERMINATOR_FLAG to terminator instructions (branches and returns).
...
Also, the RETURN instructions are not used in the sparcv9 backend.
llvm-svn: 14559
2004-07-02 04:57:37 +00:00
Brian Gaeke
62ceddefe8
RETURN instructions are not used in the sparc backend.
...
When in doubt, stamp it out!!
llvm-svn: 14558
2004-07-02 04:57:35 +00:00
Reid Spencer
fce9630df9
llvm-abcd tool name changed to llvm-bcanalyzer: see llvm-bcanalyzer.pod.
...
llvm-svn: 14557
2004-07-02 03:45:32 +00:00
Reid Spencer
0ce375cd35
Podified documentation for the llvm-bcanalyzer tool (nee llvm-abcd).
...
llvm-svn: 14556
2004-07-02 03:44:14 +00:00
Reid Spencer
1642054814
Name Change: llvm-abcd -> llvm-bcanalyzer
...
llvm-svn: 14555
2004-07-02 03:22:53 +00:00