Since extload can also be used by FP, split STDIntExtLoad into two parts,

one for use with extload, one for use with sextload and zextload, which
are integer only.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24814 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nate Begeman 2005-12-18 02:48:48 +00:00
parent 76acc872b3
commit 6aa45292c6

View File

@ -149,7 +149,10 @@ def SDTStore : SDTypeProfile<0, 2, [ // store
SDTCisPtrTy<1> SDTCisPtrTy<1>
]>; ]>;
def SDTIntExtLoad : SDTypeProfile<1, 3, [ // sextload, zextload, extload def SDTExtLoad : SDTypeProfile<1, 3, [ // extload
SDTCisPtrTy<1>, SDTCisVT<2, OtherVT>, SDTCisVT<3, OtherVT>
]>;
def SDTIntExtLoad : SDTypeProfile<1, 3, [ // sextload, zextload
SDTCisInt<0>, SDTCisPtrTy<1>, SDTCisVT<2, OtherVT>, SDTCisVT<3, OtherVT> SDTCisInt<0>, SDTCisPtrTy<1>, SDTCisVT<2, OtherVT>, SDTCisVT<3, OtherVT>
]>; ]>;
def SDTTruncStore : SDTypeProfile<0, 4, [ // truncstore def SDTTruncStore : SDTypeProfile<0, 4, [ // truncstore
@ -263,7 +266,7 @@ def store : SDNode<"ISD::STORE" , SDTStore, [SDNPHasChain]>;
// below) which pass in a dummy srcvalue node which tblgen will skip over. // below) which pass in a dummy srcvalue node which tblgen will skip over.
def sextld : SDNode<"ISD::SEXTLOAD" , SDTIntExtLoad, [SDNPHasChain]>; def sextld : SDNode<"ISD::SEXTLOAD" , SDTIntExtLoad, [SDNPHasChain]>;
def zextld : SDNode<"ISD::ZEXTLOAD" , SDTIntExtLoad, [SDNPHasChain]>; def zextld : SDNode<"ISD::ZEXTLOAD" , SDTIntExtLoad, [SDNPHasChain]>;
def extld : SDNode<"ISD::EXTLOAD" , SDTIntExtLoad, [SDNPHasChain]>; def extld : SDNode<"ISD::EXTLOAD" , SDTExtLoad, [SDNPHasChain]>;
def truncst : SDNode<"ISD::TRUNCSTORE" , SDTTruncStore, [SDNPHasChain]>; def truncst : SDNode<"ISD::TRUNCSTORE" , SDTTruncStore, [SDNPHasChain]>;
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//