Forgot this.
authorEvan Cheng <evan.cheng@apple.com>
Mon, 12 May 2008 20:08:05 +0000 (20:08 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 12 May 2008 20:08:05 +0000 (20:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50993 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetLowering.h

index b6f10bb6944d0db896b385a6ecac5e15cbdbcdfe..3b704298a878dd7251c50fcd202d8c8fe0341c8e 100644 (file)
 #include <vector>
 
 namespace llvm {
-  class Value;
   class Function;
-  class TargetMachine;
-  class TargetData;
-  class TargetRegisterClass;
+  class MachineBasicBlock;
+  class MachineFrameInfo;
+  class MachineInstr;
   class SDNode;
   class SDOperand;
   class SelectionDAG;
-  class MachineBasicBlock;
-  class MachineInstr;
-  class VectorType;
+  class TargetData;
+  class TargetMachine;
+  class TargetRegisterClass;
   class TargetSubtarget;
+  class Value;
+  class VectorType;
 
 //===----------------------------------------------------------------------===//
 /// TargetLowering - This class defines information used to lower LLVM code to
@@ -681,6 +682,17 @@ public:
                           ISD::CondCode Cond, bool foldBooleans,
                           DAGCombinerInfo &DCI) const;
 
+  /// isGAPlusOffset - Returns true (and the GlobalValue and the offset) if the
+  /// node is a GlobalAddress + offset.
+  virtual bool
+  isGAPlusOffset(SDNode *N, GlobalValue* &GA, int64_t &Offset) const;
+
+  /// isConsecutiveLoad - Return true if LD (which must be a LoadSDNode) is
+  /// loading 'Bytes' bytes from a location that is 'Dist' units away from the
+  /// location that the 'Base' load is loading from.
+  bool isConsecutiveLoad(SDNode *LD, SDNode *Base, unsigned Bytes, int Dist,
+                         MachineFrameInfo *MFI) const;
+
   /// PerformDAGCombine - This method will be invoked for all target nodes and
   /// for any target-independent nodes that the target has registered with
   /// invoke it for.