Commit Graph

12757 Commits

Author SHA1 Message Date
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
Misha Brukman
c9ecaeb69d * 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
f5deab6100 * 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
1546c2e9c0 Wrap long line
llvm-svn: 14552
2004-07-01 21:27:59 +00:00
Misha Brukman
e409874a9f * 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
b296163bb1 Check if operand has an allocated reg before requesting it.
llvm-svn: 14550
2004-07-01 21:09:12 +00:00
Misha Brukman
3f5007bdd0 * Doxygenify comments
* Tabs-to-spaces

llvm-svn: 14549
2004-07-01 20:42:00 +00:00
Chris Lattner
f929c8345c Fix broken links
llvm-svn: 14548
2004-07-01 20:41:43 +00:00
Brian Gaeke
f6f31e2ec6 bug. point. pod.
llvm-svn: 14547
2004-07-01 20:29:08 +00:00
Chris Lattner
f3e46315fb 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
4a33b02af8 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
9286794962 bugpoint command guide has been designated a full-fledged "doc".
llvm-svn: 14544
2004-07-01 20:10:40 +00:00
Brian Gaeke
1d629ef517 abcd pod document
llvm-svn: 14543
2004-07-01 20:07:15 +00:00
Brian Gaeke
55a0f374d2 llvm-nm pod format man page.
llvm-svn: 14542
2004-07-01 19:40:36 +00:00
Brian Gaeke
dbf4f13e85 Make this pass use a more specific debug message than "Processing:".
llvm-svn: 14541
2004-07-01 19:27:10 +00:00
Misha Brukman
46ee64aeb6 Fix grammar: remove `our' as it no longer makes sense.
llvm-svn: 14540
2004-07-01 18:34:46 +00:00
Chris Lattner
bbfd9227d1 This is more of an "llvm team" thing by now
llvm-svn: 14539
2004-07-01 18:25:59 +00:00
Misha Brukman
aaa35af487 llvm-db is in alpha stage, this document is a placeholder.
llvm-svn: 14538
2004-07-01 18:00:42 +00:00
Misha Brukman
30bb8f9ce8 Fix links to llvmgcc and llvmgxx
llvm-svn: 14537
2004-07-01 17:59:53 +00:00
Misha Brukman
7fce32a543 gccld enters the Hall of POD.
llvm-svn: 14536
2004-07-01 17:53:27 +00:00
Misha Brukman
f004028ed3 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
3fd0ea69f6 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
1794ab7d26 Fix grammar in Stacker doc description.
llvm-svn: 14533
2004-07-01 17:20:53 +00:00
Misha Brukman
17cfcdf632 Mention llvm-abcd, point out difference between it and `analyze'.
llvm-svn: 14532
2004-07-01 16:59:05 +00:00
Misha Brukman
e38f5b06d8 Change format of CommandGuide index page to look like other docs.
llvm-svn: 14531
2004-07-01 16:04:49 +00:00
Misha Brukman
1cf2a6624b * `The' isn't necessary in front of LLVM
* Wrap long line

llvm-svn: 14530
2004-07-01 15:33:24 +00:00
Misha Brukman
f299365380 Fresh from the LLVM baker's oven: opt and analyze pods.
llvm-svn: 14529
2004-07-01 15:25:04 +00:00
Misha Brukman
2c5eb62e79 Add llvm-g++ and llvm-gcc pod documentation.
llvm-svn: 14528
2004-07-01 14:51:26 +00:00
Misha Brukman
e6c0bf51ca Fix link to llvmgcc.
llvm-svn: 14527
2004-07-01 14:47:05 +00:00
Misha Brukman
67a9c40871 Make links relative instead of absolute.
llvm-svn: 14525
2004-07-01 13:52:35 +00:00
Chris Lattner
91662f48b8 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
93bf3a5985 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
08fb05fe14 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
43e765d61c 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
a2481b7e82 Instance var no longer exists
llvm-svn: 14520
2004-07-01 06:02:07 +00:00
Chris Lattner
d9411df2c0 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
ae4f21e30a 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
0bb956cda7 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
Chris Lattner
c135c17382 Fix testcase
llvm-svn: 14516
2004-07-01 04:11:35 +00:00
Chris Lattner
6dd0279190 -debug option does not exist in a release build
llvm-svn: 14515
2004-07-01 04:10:15 +00:00
Chris Lattner
3b2327c276 Fix testcase. For some reason this was failing only with a release build and
not with a debug build?  Rather testrunner only caught it in that case.

llvm-svn: 14514
2004-07-01 04:09:14 +00:00