diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 7bf90ce..2401bb5 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -1747,6 +1747,15 @@ SDValue SelectionDAG::getConstant(const ConstantInt &Val, const SDLoc &DL, return Result; } +SDValue SelectionDAG::getSignedConstant(int64_t Val, const SDLoc &DL, EVT VT, + bool isT, bool isO) { + unsigned Size = VT.getScalarSizeInBits(); + assert( + isIntN(Size, Val) && + "getSignedConstant with a int64_t value that doesn't fit in the type!"); + return getConstant(APInt(Size, Val, true), DL, VT, isT, isO); +} + SDValue SelectionDAG::getAllOnesConstant(const SDLoc &DL, EVT VT, bool IsTarget, bool IsOpaque) { return getConstant(APInt::getAllOnes(VT.getScalarSizeInBits()), DL, VT, |