[llvm-commits] CVS: llvm/include/llvm/Target/TargetLowering.h

Nate Begeman natebegeman at mac.com
Fri Feb 3 14:24:18 PST 2006



Changes in directory llvm/include/llvm/Target:

TargetLowering.h updated: 1.45 -> 1.46
---
Log message:

Add a framework for eliminating instructions that produces undemanded bits.


---
Diffs of the changes:  (+9 -0)

 TargetLowering.h |    9 +++++++++
 1 files changed, 9 insertions(+)


Index: llvm/include/llvm/Target/TargetLowering.h
diff -u llvm/include/llvm/Target/TargetLowering.h:1.45 llvm/include/llvm/Target/TargetLowering.h:1.46
--- llvm/include/llvm/Target/TargetLowering.h:1.45	Mon Jan 30 00:09:03 2006
+++ llvm/include/llvm/Target/TargetLowering.h	Fri Feb  3 16:24:05 2006
@@ -290,6 +290,15 @@
   /// isMaskedValueZeroForTargetNode method, to allow target nodes to be
   /// understood.
   bool MaskedValueIsZero(const SDOperand &Op, uint64_t Mask) const;
+  
+  /// DemandedBitsAreZero - Return true if 'Op & Mask' demands no bits from a 
+  /// bit set operation such as a sign extend or or/xor with constant whose only
+  /// use is Op.  If it returns true, the old node that sets bits which are
+  /// not demanded is returned in Old, and its replacement node is returned in
+  /// New, such that callers of SetBitsAreZero may call CombineTo on them if
+  /// desired.
+  bool DemandedBitsAreZero(const SDOperand &Op, uint64_t Mask, SDOperand &Old,
+                           SDOperand &New, SelectionDAG &DAG);
 
   //===--------------------------------------------------------------------===//
   // TargetLowering Configuration Methods - These methods should be invoked by






More information about the llvm-commits mailing list