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 _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits