[llvm-commits] [llvm] r59194 - /llvm/trunk/include/llvm/CodeGen/LiveVariables.h

Dan Gohman gohman at apple.com
Wed Nov 12 15:24:22 PST 2008


Author: djg
Date: Wed Nov 12 17:24:15 2008
New Revision: 59194

URL: http://llvm.org/viewvc/llvm-project?rev=59194&view=rev
Log:
Revert the part of r59145 that changed the comment about
virtual registers possibly having multiple kills while still
being defined and killed in the same block. If LiveIntervals
is manually re-run after two-address lowering, it currently
does add extra kills to two-address instructions, but this
is considered a bug.

Modified:
    llvm/trunk/include/llvm/CodeGen/LiveVariables.h

Modified: llvm/trunk/include/llvm/CodeGen/LiveVariables.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/LiveVariables.h?rev=59194&r1=59193&r2=59194&view=diff

==============================================================================
--- llvm/trunk/include/llvm/CodeGen/LiveVariables.h (original)
+++ llvm/trunk/include/llvm/CodeGen/LiveVariables.h Wed Nov 12 17:24:15 2008
@@ -51,13 +51,16 @@
   /// throughout, the set of blocks in which the instruction is actually used,
   /// and the set of non-phi instructions that are the last users of the value.
   ///
-  /// If the value is live throughout any blocks, these blocks are listed in
-  /// AliveBlocks.  Blocks where the liveness range ends are not included in
-  /// AliveBlocks, instead being captured by the Kills set.  In these blocks,
-  /// the value is live into the block (unless the value is defined and killed
-  /// in the same block) and lives until the specified instruction.  Note that
-  /// there cannot ever be a value whose Kills set contains two instructions
-  /// from the same basic block.
+  /// In the common case where a value is defined and killed in the same block,
+  /// There is one killing instruction, and AliveBlocks is empty.
+  ///
+  /// Otherwise, the value is live out of the block.  If the value is live
+  /// throughout any blocks, these blocks are listed in AliveBlocks.  Blocks
+  /// where the liveness range ends are not included in AliveBlocks, instead
+  /// being captured by the Kills set.  In these blocks, the value is live into
+  /// the block (unless the value is defined and killed in the same block) and
+  /// lives until the specified instruction.  Note that there cannot ever be a
+  /// value whose Kills set contains two instructions from the same basic block.
   ///
   /// PHI nodes complicate things a bit.  If a PHI node is the last user of a
   /// value in one of its predecessor blocks, it is not listed in the kills set,





More information about the llvm-commits mailing list