Add SDTCisPtrTy and use it for loads, to indicate that the operand of a load
authorChris Lattner <sabre@nondot.org>
Fri, 9 Dec 2005 22:58:42 +0000 (22:58 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 9 Dec 2005 22:58:42 +0000 (22:58 +0000)
must be a pointer.  This removes a type check out of the code generated by
tblgen for load matching.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24650 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/TargetSelectionDAG.td

index 996777f1ed8b1ed3d0f87198d2dd7a30ac82e838..e0585b756e2c6bd66dd6866323f3e3df9ce3cef3 100644 (file)
@@ -24,15 +24,17 @@ class SDTypeConstraint<int opnum> {
 }
 
 // SDTCisVT - The specified operand has exactly this VT.
-class SDTCisVT <int OpNum, ValueType vt> : SDTypeConstraint<OpNum> {
+class SDTCisVT<int OpNum, ValueType vt> : SDTypeConstraint<OpNum> {
   ValueType VT = vt;
 }
 
+class SDTCisPtrTy<int OpNum> : SDTypeConstraint<OpNum>;
+
 // SDTCisInt - The specified operand is has integer type.
 class SDTCisInt<int OpNum> : SDTypeConstraint<OpNum>;
 
 // SDTCisFP - The specified operand is has floating point type.
-class SDTCisFP <int OpNum> : SDTypeConstraint<OpNum>;
+class SDTCisFP<int OpNum> : SDTypeConstraint<OpNum>;
 
 // SDTCisSameAs - The two specified operands have identical types.
 class SDTCisSameAs<int OpNum, int OtherOp> : SDTypeConstraint<OpNum> {
@@ -132,7 +134,7 @@ def SDTWritePort : SDTypeProfile<0, 2, [ // writeport
 ]>;
 
 def SDTLoad : SDTypeProfile<1, 1, [ // load
-  SDTCisInt<1>  
+  SDTCisPtrTy<1>  
 ]>;
 
 //===----------------------------------------------------------------------===//