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.

llvm-svn: 24814
This commit is contained in:
Nate Begeman 2005-12-18 02:48:48 +00:00
parent 5580e69df6
commit 53c1f75090
1 changed files with 5 additions and 2 deletions

View File

@ -149,7 +149,10 @@ def SDTStore : SDTypeProfile<0, 2, [ // store
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>
]>;
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.
def sextld : SDNode<"ISD::SEXTLOAD" , 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]>;
//===----------------------------------------------------------------------===//