[llvm-commits] CVS: llvm/include/llvm/InstrTypes.h Instructions.h

Chris Lattner sabre at nondot.org
Sun Sep 17 12:30:12 PDT 2006



Changes in directory llvm/include/llvm:

InstrTypes.h updated: 1.46 -> 1.47
Instructions.h updated: 1.38 -> 1.39
---
Log message:

Add ShiftInst::isLogical/ArithmeticShift methods.


---
Diffs of the changes:  (+17 -7)

 InstrTypes.h   |   12 ++++++------
 Instructions.h |   12 +++++++++++-
 2 files changed, 17 insertions(+), 7 deletions(-)


Index: llvm/include/llvm/InstrTypes.h
diff -u llvm/include/llvm/InstrTypes.h:1.46 llvm/include/llvm/InstrTypes.h:1.47
--- llvm/include/llvm/InstrTypes.h:1.46	Wed Jun 21 11:53:47 2006
+++ llvm/include/llvm/InstrTypes.h	Sun Sep 17 14:29:56 2006
@@ -207,16 +207,16 @@
 
   /// isNeg, isNot - Check if the given Value is a NEG or NOT instruction.
   ///
-  static bool            isNeg(const Value *V);
-  static bool            isNot(const Value *V);
+  static bool isNeg(const Value *V);
+  static bool isNot(const Value *V);
 
   /// getNegArgument, getNotArgument - Helper functions to extract the
   ///     unary argument of a NEG or NOT operation implemented via Sub or Xor.
   ///
-  static const Value*    getNegArgument(const Value *BinOp);
-  static       Value*    getNegArgument(      Value *BinOp);
-  static const Value*    getNotArgument(const Value *BinOp);
-  static       Value*    getNotArgument(      Value *BinOp);
+  static const Value *getNegArgument(const Value *BinOp);
+  static       Value *getNegArgument(      Value *BinOp);
+  static const Value *getNotArgument(const Value *BinOp);
+  static       Value *getNotArgument(      Value *BinOp);
 
   BinaryOps getOpcode() const {
     return static_cast<BinaryOps>(Instruction::getOpcode());


Index: llvm/include/llvm/Instructions.h
diff -u llvm/include/llvm/Instructions.h:1.38 llvm/include/llvm/Instructions.h:1.39
--- llvm/include/llvm/Instructions.h:1.38	Sun Sep 17 14:14:47 2006
+++ llvm/include/llvm/Instructions.h	Sun Sep 17 14:29:56 2006
@@ -16,7 +16,6 @@
 #ifndef LLVM_INSTRUCTIONS_H
 #define LLVM_INSTRUCTIONS_H
 
-#include "llvm/Instruction.h"
 #include "llvm/InstrTypes.h"
 
 namespace llvm {
@@ -633,6 +632,17 @@
   }
   unsigned getNumOperands() const { return 2; }
 
+  /// isLogicalShift - Return true if this is a logical shift left or a logical
+  /// shift right.
+  bool isLogicalShift() const;
+  
+  /// isArithmeticShift - Return true if this is a sign-extending shift right
+  /// operation.
+  bool isArithmeticShift() const {
+    return !isLogicalShift();
+  }
+  
+  
   virtual ShiftInst *clone() const;
 
   // Methods for support type inquiry through isa, cast, and dyn_cast:






More information about the llvm-commits mailing list