aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-05-12 20:08:05 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-05-12 20:08:05 +0000
commitf86f211ec2fef2231f4ac4e8e4f4c0d4cf0f58f5 (patch)
tree91c6dd5e236729904d68709fb2163cdff661eff6
parent18e4e8500f2913b8db629d9c28353023735af732 (diff)
downloadexternal_llvm-f86f211ec2fef2231f4ac4e8e4f4c0d4cf0f58f5.zip
external_llvm-f86f211ec2fef2231f4ac4e8e4f4c0d4cf0f58f5.tar.gz
external_llvm-f86f211ec2fef2231f4ac4e8e4f4c0d4cf0f58f5.tar.bz2
Forgot this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50993 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Target/TargetLowering.h26
1 files changed, 19 insertions, 7 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index b6f10bb..3b70429 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -32,18 +32,19 @@
#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.