Commit Graph

12863 Commits

Author SHA1 Message Date
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
Brian Gaeke
74f470b20c bugpoint command guide has been designated a full-fledged "doc".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14544 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 20:10:40 +00:00
Brian Gaeke
26682910c6 abcd pod document
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14543 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 20:07:15 +00:00
Brian Gaeke
f18c06a3c6 llvm-nm pod format man page.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14542 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 19:40:36 +00:00
Brian Gaeke
a9160a064f Make this pass use a more specific debug message than "Processing:".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14541 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 19:27:10 +00:00
Misha Brukman
d2df776541 Fix grammar: remove `our' as it no longer makes sense.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14540 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 18:34:46 +00:00
Chris Lattner
efa1e62374 This is more of an "llvm team" thing by now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14539 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 18:25:59 +00:00
Misha Brukman
c1ed61717a llvm-db is in alpha stage, this document is a placeholder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14538 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 18:00:42 +00:00
Misha Brukman
6aa3c744b7 Fix links to llvmgcc and llvmgxx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14537 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 17:59:53 +00:00
Misha Brukman
89fe7de2c9 gccld enters the Hall of POD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14536 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 17:53:27 +00:00
Misha Brukman
6dfdbc81ad Make the text of the link to llvmgxx.html more appropriate: `llvmg++'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14535 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 17:52:58 +00:00
Chris Lattner
59b0067334 Handle targets where alignment can be bigger than the size of the data.
Contributed by Vladimir Prus!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14534 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 17:32:59 +00:00
Misha Brukman
beb5e78201 Fix grammar in Stacker doc description.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14533 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 17:20:53 +00:00
Misha Brukman
95bba873f4 Mention llvm-abcd, point out difference between it and `analyze'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14532 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 16:59:05 +00:00
Misha Brukman
38ca9be9ef Change format of CommandGuide index page to look like other docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14531 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 16:04:49 +00:00
Misha Brukman
a97e6cbf79 * `The' isn't necessary in front of LLVM
* Wrap long line


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14530 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 15:33:24 +00:00
Misha Brukman
6998517a9c Fresh from the LLVM baker's oven: opt and analyze pods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14529 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 15:25:04 +00:00
Misha Brukman
f19aa2e67e Add llvm-g++ and llvm-gcc pod documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14528 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 14:51:26 +00:00
Misha Brukman
a239fcd34d Fix link to llvmgcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14527 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 14:47:05 +00:00
Misha Brukman
e5fd2fbe1b Make links relative instead of absolute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14525 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 13:52:35 +00:00
Chris Lattner
4b9a400674 Make sure that we destroy the MBB's, with all of their instructions, before
any other data structures


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14524 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 06:29:07 +00:00
Chris Lattner
8490f9c92e Now that MachineFunction/MachineBasicBlock keep a mapping of blocks to ID #'s
use them instead of a local LiveVariables numbering


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14523 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 06:15:32 +00:00
Chris Lattner
61e4cb3605 Now that we have happy mappings from MBBs->numbers, use them instead of keeping
a LV private map


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14522 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 06:14:57 +00:00
Chris Lattner
ca48eb9f51 Change MBB autonumber a bit to get the reverse mapping as well as a forward
mapping


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14521 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 06:02:27 +00:00
Chris Lattner
51289aa520 Instance var no longer exists
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14520 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 06:02:07 +00:00
Chris Lattner
25d8039bd6 Change the implementation of the autonumbering for MBB's a bit to provide
the reverse mapping as well as the mapping from MBB->unsigned


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14519 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 06:01:36 +00:00
Chris Lattner
8ba9771549 Start using MBB numbers directly instead of going through the live variables
map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14518 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 04:29:47 +00:00
Chris Lattner
a5287a6376 Instead of building a private numbering of MBB's use brg's nifty auto-numbering.
Also convert df_iterator -> df_ext_iterator for subsequent stuff I'm doing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14517 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 04:24:29 +00:00
Chris Lattner
635b83f135 Fix testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14516 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 04:11:35 +00:00