[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