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

Chris Lattner lattner at cs.uiuc.edu
Wed May 11 19:02:38 PDT 2005



Changes in directory llvm/include/llvm/Target:

TargetLowering.h updated: 1.10 -> 1.11
---
Log message:

Add a little hook


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

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


Index: llvm/include/llvm/Target/TargetLowering.h
diff -u llvm/include/llvm/Target/TargetLowering.h:1.10 llvm/include/llvm/Target/TargetLowering.h:1.11
--- llvm/include/llvm/Target/TargetLowering.h:1.10	Thu Apr 21 15:53:44 2005
+++ llvm/include/llvm/Target/TargetLowering.h	Wed May 11 21:02:21 2005
@@ -76,6 +76,10 @@
   MVT::ValueType getShiftAmountTy() const { return ShiftAmountTy; }
   OutOfRangeShiftAmount getShiftAmountFlavor() const {return ShiftAmtHandling; }
 
+  /// isSetCCExpensive - Return true if the setcc operation is expensive for
+  /// this target.
+  bool isSetCCExpensive() const { return SetCCIsExpensive; }
+
   /// getSetCCResultTy - Return the ValueType of the result of setcc operations.
   ///
   MVT::ValueType getSetCCResultTy() const { return SetCCResultTy; }
@@ -207,6 +211,11 @@
     ShiftAmtHandling = OORSA;
   }
 
+  /// setSetCCIxExpensive - This is a short term hack for targets that codegen
+  /// setcc as a conditional branch.  This encourages the code generator to fold
+  /// setcc operations into other operations if possible.
+  void setSetCCIsExpensive() { SetCCIsExpensive = true; }
+
   /// addRegisterClass - Add the specified register class as an available
   /// regclass for the specified value type.  This indicates the selector can
   /// handle values of that class natively.
@@ -310,6 +319,11 @@
 
   OutOfRangeShiftAmount ShiftAmtHandling;
 
+  /// SetCCIsExpensive - This is a short term hack for targets that codegen
+  /// setcc as a conditional branch.  This encourages the code generator to fold
+  /// setcc operations into other operations if possible.
+  bool SetCCIsExpensive;
+
   /// SetCCResultTy - The type that SetCC operations use.  This defaults to the
   /// PointerTy.
   MVT::ValueType SetCCResultTy;






More information about the llvm-commits mailing list