Commit Graph

12891 Commits

Author SHA1 Message Date
Reid Spencer
2d59de545a Added #include <iostream> since this header is no longer picked up from
the Value.h header.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14597 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 10:58:20 +00:00
Reid Spencer
da8440a6ae - 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14596 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 10:52:28 +00:00
Reid Spencer
88bdcd5d56 There is no longer a "Type" primitive type because Values and Types are
now distinct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14595 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 10:50:43 +00:00
Reid Spencer
9d625274ea Constify usage of Type* on the interface to ensure SymbolTable doesn't
modify types (it never should). Clean up some comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14594 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 10:49:41 +00:00
Reid Spencer
69e9abbb03 Remove all of the classof(const Value*) methods of the derived types since
the Type base class no longer derives from Value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14593 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 10:48:27 +00:00
Reid Spencer
e753e3b329 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14592 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 10:46:49 +00:00
Alkis Evlogimenos
d55b2b1067 Add efficiency statistic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14590 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 07:59:06 +00:00
Alkis Evlogimenos
3b94a5142c Add more operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14589 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 01:30:54 +00:00
Chris Lattner
5114004110 Fix compilation on internix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14588 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-03 01:21:05 +00:00
Chris Lattner
46238a6150 Implement add.ll:test22, a common case in MSIL files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14587 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-03 00:26:11 +00:00
Chris Lattner
80fc86a0b2 Add a new testcase for folding an add into a switch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14586 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-03 00:25:31 +00:00
Chris Lattner
c5f143b6e7 Fix Type::isSized() to realize that "{ opaque }" is not sized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14585 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 23:20:17 +00:00
Chris Lattner
cf27afb64e Do not call getTypeSize on a type that has no size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14584 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 22:55:47 +00:00
Brian Gaeke
7283e7c056 Modernize example, so that you can paste it right into llvm-as
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14583 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 21:08:14 +00:00
Chris Lattner
683ade38a9 Since we are in the department of redundancy department, at least be correct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14582 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 18:41:18 +00:00
Misha Brukman
68a9b04e77 Add FIXME notes for spilling int/fp regs (need to calculate stack space).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14581 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 17:54:38 +00:00
Misha Brukman
0d4b67c67f * Wrap long lines
* Mention the HTML/man page output from single POD source file


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14580 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 16:23:17 +00:00
Misha Brukman
c08937aee7 * Standardize manpage output: program name bold, options italic/emphasized
* Make links in SEE ALSO section of manpages short without "the ... manpage"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14579 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 16:06:19 +00:00
Misha Brukman
693464c57a The HTML documentation is now automatically generated from POD source.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14578 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 15:48:33 +00:00
Misha Brukman
66a72ef15a * Link to the POD-generated HTML documentation
* Updated llvm-abcd to llvm-bcanalyzer


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14577 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 15:46:55 +00:00
Misha Brukman
a856f5b4bb Make `args' stand out as bold, delete confusing elipsis at the end of cmdline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14576 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 15:42:20 +00:00
Misha Brukman
d7c41c2e3d HTML links in PODs must be absolute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14575 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 15:37:53 +00:00
Misha Brukman
595d32e93b Simplify wording: the bugpoint tool' can just become bugpoint'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14574 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 15:36:29 +00:00
Misha Brukman
c3e0434102 llvm-abcd has become llvm-bcanalyzer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14573 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 15:32:49 +00:00
Brian Gaeke
e0e3589949 Fix use-before-def thinko
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14570 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 07:01:31 +00:00
Reid Spencer
750c425d76 Add a note about implementing interprocedural register allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14569 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 06:27:12 +00:00
Brian Gaeke
db67ecd49d Build llvm-bcanalyzer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14568 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:59:20 +00:00
Chris Lattner
230b4fb8a0 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14567 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:52:23 +00:00
Chris Lattner
a9a582fbb6 Fix potential problems with unreachable basic blocks.
Also, while noone's looking, add support for constant expressions.  Wait,
I said not to look!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14566 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:49:11 +00:00
Chris Lattner
fab96f0b69 Fix all of those problems that the PPC backend has running 176.gcc :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14565 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:48:42 +00:00
Chris Lattner
9a9ca0f06b Remove dead blocks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14564 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:46:41 +00:00
Chris Lattner
fc3c82a804 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14563 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:46:10 +00:00
Chris Lattner
8b708e4752 Add a new pass for code generators to use
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14562 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:44:13 +00:00
Chris Lattner
c95f3b8822 Make this testcase more interesting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14561 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:43:51 +00:00
Brian Gaeke
1c4b6de4e7 Get rid of a dead variable, and fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14560 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:30:01 +00:00
Brian Gaeke
90c5bbe100 Add M_TERMINATOR_FLAG to terminator instructions (branches and returns).
Also, the RETURN instructions are not used in the sparcv9 backend.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14559 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 04:57:37 +00:00
Brian Gaeke
3c95d3a9dc RETURN instructions are not used in the sparc backend.
When in doubt, stamp it out!!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14558 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 04:57:35 +00:00
Reid Spencer
dbaf551dd1 llvm-abcd tool name changed to llvm-bcanalyzer: see llvm-bcanalyzer.pod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14557 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 03:45:32 +00:00
Reid Spencer
1cf0e321b4 Podified documentation for the llvm-bcanalyzer tool (nee llvm-abcd).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14556 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 03:44:14 +00:00
Reid Spencer
8a542aeb84 Name Change: llvm-abcd -> llvm-bcanalyzer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14555 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 03:22:53 +00:00
Misha Brukman
452069abcc * Follow the PowerPC convention of leaving 24 bytes for linking on the stack.
* Also leave space for spilling integer registers (this should be calculated)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14554 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 21:35:00 +00:00
Misha Brukman
425ff24bb3 * Get rid of constant-expr handling code: we use the ConstantExpr lowering pass
* Use the SetCC handling code in the format of Brian's V8
* Add FIXMEs where calls to functions are being made without adding them to the
  Module first... they cause missing symbols at assembly-time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14553 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 21:34:10 +00:00
Misha Brukman
f233a84b3c Wrap long line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14552 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 21:27:59 +00:00
Misha Brukman
15eb0a15e5 * Do not allocate r0 as we use it indiscriminantly in the instr selector.
* Do not define CR register class because we don't (yet) have the i4 type


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14551 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 21:24:50 +00:00
Misha Brukman
4363bdb0e5 Check if operand has an allocated reg before requesting it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14550 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 21:09:12 +00:00
Misha Brukman
992dce13ec * Doxygenify comments
* Tabs-to-spaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14549 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 20:42:00 +00:00
Chris Lattner
5706f25694 Fix broken links
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14548 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 20:41:43 +00:00
Brian Gaeke
ff0c7664a4 bug. point. pod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14547 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 20:29:08 +00:00
Chris Lattner
4d13294d47 Add much better assertion checking for load and store insts.
Contributed by Vladimir Merzliakov!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14546 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 20:23:52 +00:00
Chris Lattner
cf3290b04a Move init methods out of line to enable better assertions, contributed
by Vladimir Merzliakov!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14545 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 20:22:31 +00:00