diff options
author | Justin Holewinski <jholewinski@nvidia.com> | 2013-06-28 17:57:59 +0000 |
---|---|---|
committer | Justin Holewinski <jholewinski@nvidia.com> | 2013-06-28 17:57:59 +0000 |
commit | 1c07dae9fcd04469779edf7b86fef37fecc9466c (patch) | |
tree | 00693266d5e91559d69946347fd2fc111f3debab /lib/Target/NVPTX/NVPTXISelLowering.h | |
parent | bc48ce87ef608730616c3250b18c013b1b4a39fc (diff) | |
download | llvm-1c07dae9fcd04469779edf7b86fef37fecc9466c.tar.gz llvm-1c07dae9fcd04469779edf7b86fef37fecc9466c.tar.bz2 llvm-1c07dae9fcd04469779edf7b86fef37fecc9466c.tar.xz |
[NVPTX] Remove i8 register class. PTX support for i8 (.b8, .u8, .s8) is rather poor and we're better off just ignoring it and letting LLVM expand all i8 ops out to i16.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185174 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/NVPTX/NVPTXISelLowering.h')
-rw-r--r-- | lib/Target/NVPTX/NVPTXISelLowering.h | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/lib/Target/NVPTX/NVPTXISelLowering.h b/lib/Target/NVPTX/NVPTXISelLowering.h index b0dad0f0d7..43c63ae739 100644 --- a/lib/Target/NVPTX/NVPTXISelLowering.h +++ b/lib/Target/NVPTX/NVPTXISelLowering.h @@ -35,14 +35,6 @@ enum NodeType { DeclareRetParam, DeclareRet, DeclareScalarRet, - LoadParam, - LoadParamV2, - LoadParamV4, - StoreParam, - StoreParamV2, - StoreParamV4, - StoreParamS32, // to sext and store a <32bit value, not used currently - StoreParamU32, // to zext and store a <32bit value, not used currently MoveToParam, PrintCall, PrintCallUni, @@ -57,9 +49,6 @@ enum NodeType { MoveParam, MoveRetval, MoveToRetval, - StoreRetval, - StoreRetvalV2, - StoreRetvalV4, PseudoUseParam, RETURN, CallSeqBegin, @@ -73,7 +62,18 @@ enum NodeType { LDUV2, // LDU.v2 LDUV4, // LDU.v4 StoreV2, - StoreV4 + StoreV4, + LoadParam, + LoadParamV2, + LoadParamV4, + StoreParam, + StoreParamV2, + StoreParamV4, + StoreParamS32, // to sext and store a <32bit value, not used currently + StoreParamU32, // to zext and store a <32bit value, not used currently + StoreRetval, + StoreRetvalV2, + StoreRetvalV4 }; } @@ -126,7 +126,8 @@ public: std::string getPrototype(Type *, const ArgListTy &, const SmallVectorImpl<ISD::OutputArg> &, - unsigned retAlignment) const; + unsigned retAlignment, + const ImmutableCallSite *CS) const; virtual SDValue LowerReturn(SDValue Chain, CallingConv::ID CallConv, bool isVarArg, @@ -164,6 +165,9 @@ private: virtual void ReplaceNodeResults(SDNode *N, SmallVectorImpl<SDValue> &Results, SelectionDAG &DAG) const; + + unsigned getArgumentAlignment(SDValue Callee, const ImmutableCallSite *CS, + Type *Ty, unsigned Idx) const; }; } // namespace llvm |