Commit Graph

12814 Commits

Author SHA1 Message Date
Chris Lattner a65b4eac3b 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 55256dbf9b 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 3594324248 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 6c322ecc31 Remove dead blocks
llvm-svn: 14564
2004-07-02 05:46:41 +00:00
Chris Lattner 693244fb33 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 1661358d7e Add a new pass for code generators to use
llvm-svn: 14562
2004-07-02 05:44:13 +00:00
Chris Lattner 1d6b5f38fe Make this testcase more interesting
llvm-svn: 14561
2004-07-02 05:43:51 +00:00
Brian Gaeke e1a136fb4b 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 186e3d1098 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 fb894bd864 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 7efe23752f 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 b703e0b32f Podified documentation for the llvm-bcanalyzer tool (nee llvm-abcd).
llvm-svn: 14556
2004-07-02 03:44:14 +00:00
Reid Spencer 5780de6219 Name Change: llvm-abcd -> llvm-bcanalyzer
llvm-svn: 14555
2004-07-02 03:22:53 +00:00
Misha Brukman 24a0371791 * Follow the PowerPC convention of leaving 24 bytes for linking on the stack.
* Also leave space for spilling integer registers (this should be calculated)

llvm-svn: 14554
2004-07-01 21:35:00 +00:00
Misha Brukman d028593c6e * 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.

llvm-svn: 14553
2004-07-01 21:34:10 +00:00
Misha Brukman 1f3a7f0255 Wrap long line
llvm-svn: 14552
2004-07-01 21:27:59 +00:00
Misha Brukman d575287551 * 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

llvm-svn: 14551
2004-07-01 21:24:50 +00:00
Misha Brukman fcc59bd0e0 Check if operand has an allocated reg before requesting it.
llvm-svn: 14550
2004-07-01 21:09:12 +00:00
Misha Brukman 20709326a1 * Doxygenify comments
* Tabs-to-spaces

llvm-svn: 14549
2004-07-01 20:42:00 +00:00
Chris Lattner 80b3aeafc0 Fix broken links
llvm-svn: 14548
2004-07-01 20:41:43 +00:00
Brian Gaeke d4ba0a5721 bug. point. pod.
llvm-svn: 14547
2004-07-01 20:29:08 +00:00
Chris Lattner 5b20870830 Add much better assertion checking for load and store insts.
Contributed by Vladimir Merzliakov!

llvm-svn: 14546
2004-07-01 20:23:52 +00:00
Chris Lattner 153cd4ed30 Move init methods out of line to enable better assertions, contributed
by Vladimir Merzliakov!

llvm-svn: 14545
2004-07-01 20:22:31 +00:00
Brian Gaeke 3785ca3df3 bugpoint command guide has been designated a full-fledged "doc".
llvm-svn: 14544
2004-07-01 20:10:40 +00:00
Brian Gaeke b8a340a3bf abcd pod document
llvm-svn: 14543
2004-07-01 20:07:15 +00:00
Brian Gaeke cc7cafb371 llvm-nm pod format man page.
llvm-svn: 14542
2004-07-01 19:40:36 +00:00
Brian Gaeke 163c87fc32 Make this pass use a more specific debug message than "Processing:".
llvm-svn: 14541
2004-07-01 19:27:10 +00:00
Misha Brukman fa3561c603 Fix grammar: remove `our' as it no longer makes sense.
llvm-svn: 14540
2004-07-01 18:34:46 +00:00
Chris Lattner 8a9d11b1bc This is more of an "llvm team" thing by now
llvm-svn: 14539
2004-07-01 18:25:59 +00:00
Misha Brukman 0667a12dcd llvm-db is in alpha stage, this document is a placeholder.
llvm-svn: 14538
2004-07-01 18:00:42 +00:00
Misha Brukman 3121ce052f Fix links to llvmgcc and llvmgxx
llvm-svn: 14537
2004-07-01 17:59:53 +00:00
Misha Brukman ae8b03362c gccld enters the Hall of POD.
llvm-svn: 14536
2004-07-01 17:53:27 +00:00
Misha Brukman 082fe484ed Make the text of the link to llvmgxx.html more appropriate: `llvmg++'.
llvm-svn: 14535
2004-07-01 17:52:58 +00:00
Chris Lattner 18a08e702d Handle targets where alignment can be bigger than the size of the data.
Contributed by Vladimir Prus!

llvm-svn: 14534
2004-07-01 17:32:59 +00:00
Misha Brukman 3802014c51 Fix grammar in Stacker doc description.
llvm-svn: 14533
2004-07-01 17:20:53 +00:00
Misha Brukman 61a747f60b Mention llvm-abcd, point out difference between it and `analyze'.
llvm-svn: 14532
2004-07-01 16:59:05 +00:00
Misha Brukman b410763f25 Change format of CommandGuide index page to look like other docs.
llvm-svn: 14531
2004-07-01 16:04:49 +00:00
Misha Brukman 3eef5d4715 * `The' isn't necessary in front of LLVM
* Wrap long line

llvm-svn: 14530
2004-07-01 15:33:24 +00:00
Misha Brukman 6836eaed42 Fresh from the LLVM baker's oven: opt and analyze pods.
llvm-svn: 14529
2004-07-01 15:25:04 +00:00
Misha Brukman dfb5a7b925 Add llvm-g++ and llvm-gcc pod documentation.
llvm-svn: 14528
2004-07-01 14:51:26 +00:00
Misha Brukman 81e616976f Fix link to llvmgcc.
llvm-svn: 14527
2004-07-01 14:47:05 +00:00
Misha Brukman 0c7ed6e335 Make links relative instead of absolute.
llvm-svn: 14525
2004-07-01 13:52:35 +00:00
Chris Lattner 9a60c532a8 Make sure that we destroy the MBB's, with all of their instructions, before
any other data structures

llvm-svn: 14524
2004-07-01 06:29:07 +00:00
Chris Lattner c85535c8be Now that MachineFunction/MachineBasicBlock keep a mapping of blocks to ID #'s
use them instead of a local LiveVariables numbering

llvm-svn: 14523
2004-07-01 06:15:32 +00:00
Chris Lattner 0c26b9cbbb Now that we have happy mappings from MBBs->numbers, use them instead of keeping
a LV private map

llvm-svn: 14522
2004-07-01 06:14:57 +00:00
Chris Lattner 449af59c7e Change MBB autonumber a bit to get the reverse mapping as well as a forward
mapping

llvm-svn: 14521
2004-07-01 06:02:27 +00:00
Chris Lattner a47455dbd3 Instance var no longer exists
llvm-svn: 14520
2004-07-01 06:02:07 +00:00
Chris Lattner 6b2ac89e78 Change the implementation of the autonumbering for MBB's a bit to provide
the reverse mapping as well as the mapping from MBB->unsigned

llvm-svn: 14519
2004-07-01 06:01:36 +00:00
Chris Lattner 6c375e4926 Start using MBB numbers directly instead of going through the live variables
map.

llvm-svn: 14518
2004-07-01 04:29:47 +00:00
Chris Lattner 7c77fd50e7 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.

llvm-svn: 14517
2004-07-01 04:24:29 +00:00