reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/IR/Instruction.def
  186 HANDLE_CAST_INST(40, SExt    , SExtInst    )  // Sign extend integers

References

include/llvm/Analysis/TargetTransformInfoImpl.h
  647     if (const auto* Cast = dyn_cast<SExtInst>(Val)) {
  647     if (const auto* Cast = dyn_cast<SExtInst>(Val)) {
  876     if (isa<SExtInst>(U) || isa<ZExtInst>(U) || isa<FPExtInst>(U))
include/llvm/CodeGen/BasicTTIImpl.h
  298     if (isa<ZExtInst>(I) || isa<SExtInst>(I))
include/llvm/IR/InstVisitor.h
  180   RetTy visitSExtInst(SExtInst &I)                { DELEGATE(CastInst);}
include/llvm/IR/Instructions.h
 4796   SExtInst *cloneImpl() const;
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   92     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
lib/Analysis/BasicAliasAnalysis.cpp
  376   if (isa<SExtInst>(V) || isa<ZExtInst>(V)) {
  389     if (isa<SExtInst>(V) && ZExtBits == 0) {
lib/Analysis/InstructionSimplify.cpp
 3329     if (isa<SExtInst>(LHS)) {
 3332       if (SExtInst *RI = dyn_cast<SExtInst>(RHS)) {
 3332       if (SExtInst *RI = dyn_cast<SExtInst>(RHS)) {
lib/Analysis/ValueTracking.cpp
 2122   if (isa<SExtInst>(V) || isa<ZExtInst>(V))
lib/Analysis/VectorUtils.cpp
  388       if (TTI && (isa<ZExtInst>(&I) || isa<SExtInst>(&I)) &&
  434     if (isa<SExtInst>(I) || isa<ZExtInst>(I) || isa<LoadInst>(I) ||
lib/CodeGen/CodeGenPrepare.cpp
 3733   if (IsSExt && isa<SExtInst>(Inst))
 3810   else if ((IsSExt && isa<SExtInst>(Opnd)) || (!IsSExt && isa<ZExtInst>(Opnd)))
 3827   bool IsSExt = isa<SExtInst>(Ext);
 3842   if (isa<SExtInst>(ExtOpnd) || isa<TruncInst>(ExtOpnd) ||
 5061   bool IsSExt = isa<SExtInst>(FirstUser);
 5065     if ((IsSExt && !isa<SExtInst>(UI)) || (!IsSExt && !isa<ZExtInst>(UI)))
 5213       if (RemovedInsts.count(Inst) || !isa<SExtInst>(Inst) ||
 6955     if (isa<ZExtInst>(I) || isa<SExtInst>(I)) {
lib/ExecutionEngine/Interpreter/Execution.cpp
 1712 void Interpreter::visitSExtInst(SExtInst &I) {
lib/ExecutionEngine/Interpreter/Interpreter.h
  140   void visitSExtInst(SExtInst &I);
lib/IR/Instructions.cpp
 2754   case SExt:          return new SExtInst          (S, Ty, Name, InsertBefore);
 2776   case SExt:          return new SExtInst          (S, Ty, Name, InsertAtEnd);
 4180 SExtInst *SExtInst::cloneImpl() const {
 4181   return new SExtInst(getOperand(0), getType());
lib/IR/Verifier.cpp
  439   void visitSExtInst(SExtInst &I);
 2574 void Verifier::visitSExtInst(SExtInst &I) {
lib/Target/AArch64/AArch64FastISel.cpp
  747         } else if (const auto *SE = dyn_cast<SExtInst>(I)) {
  747         } else if (const auto *SE = dyn_cast<SExtInst>(I)) {
  831         } else if (const auto *SE = dyn_cast<SExtInst>(I)) {
  831         } else if (const auto *SE = dyn_cast<SExtInst>(I)) {
  890     } else if (const auto *SE = dyn_cast<SExtInst>(U)) {
  890     } else if (const auto *SE = dyn_cast<SExtInst>(U)) {
 2016     } else if (const auto *SE = dyn_cast<SExtInst>(I->use_begin()->getUser())) {
 2016     } else if (const auto *SE = dyn_cast<SExtInst>(I->use_begin()->getUser())) {
 4707       } else if (const auto *SExt = dyn_cast<SExtInst>(Src0)) {
 4707       } else if (const auto *SExt = dyn_cast<SExtInst>(Src0)) {
 4774     } else if (const auto *SExt = dyn_cast<SExtInst>(Op0)) {
 4774     } else if (const auto *SExt = dyn_cast<SExtInst>(Op0)) {
lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  233       (!isa<SExtInst>(Args[1]) && !isa<ZExtInst>(Args[1])) ||
  872   if (!isa<SExtInst>(&I))
lib/Target/ARM/ARMParallelDSP.cpp
  102         if (auto *SExt = dyn_cast<SExtInst>(V)) {
  102         if (auto *SExt = dyn_cast<SExtInst>(V)) {
  335   if (auto *SExt = dyn_cast<SExtInst>(V)) {
  335   if (auto *SExt = dyn_cast<SExtInst>(V)) {
  364         !Ld->hasOneUse() || !isa<SExtInst>(Ld->user_back()))
  739   Instruction *BaseSExt = dyn_cast<SExtInst>(Base->user_back());
  740   Instruction *OffsetSExt = dyn_cast<SExtInst>(Offset->user_back());
lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
   77           if (isa<SExtInst>(*UI)) {
   79             SExtInst* SI = new SExtInst(&Arg, Use->getType());
   79             SExtInst* SI = new SExtInst(&Arg, Use->getType());
lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
  923     else if (isa<SExtInst>(UserI))
 1018               (isa<TruncInst>(OtherOp) || isa<SExtInst>(OtherOp) ||
lib/Target/WebAssembly/WebAssemblyFastISel.cpp
  983   const auto *SExt = cast<SExtInst>(I);
  983   const auto *SExt = cast<SExtInst>(I);
lib/Target/X86/X86TargetTransformInfo.cpp
 3136           !isa<SExtInst>(GEP->getOperand(i))) ||
lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
  241     bool IsExtInst = (isa<ZExtInst>(I) || isa<SExtInst>(I));
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
 1527       return new SExtInst(NewOp, DestTy);
lib/Transforms/InstCombine/InstCombineCasts.cpp
 1360 Instruction *InstCombiner::visitSExt(SExtInst &CI) {
 1715         return new SExtInst(SrcI, FITy);
lib/Transforms/InstCombine/InstCombineInternal.h
  411   Instruction *visitSExt(SExtInst &CI);
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
 1094       return new SExtInst(NarrowOp, Op0->getType());
lib/Transforms/InstCombine/InstCombineSelect.cpp
 2289       return new SExtInst(CondVal, SelType);
 2300       return new SExtInst(NotCond, SelType);
lib/Transforms/InstCombine/InstCombineShifts.cpp
 1189       return new SExtInst(X, Ty);
 1228       return new SExtInst(NewSh, Ty);
lib/Transforms/Instrumentation/MemorySanitizer.cpp
 1883   void visitSExtInst(SExtInst &I) {
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  719 static bool processSExt(SExtInst *SDI, LazyValueInfo *LVI) {
  874         BBChanged |= processSExt(cast<SExtInst>(II), LVI);
lib/Transforms/Scalar/IndVarSimplify.cpp
 1467       SExtInst *User = dyn_cast<SExtInst>(U.getUser());
 1467       SExtInst *User = dyn_cast<SExtInst>(U.getUser());
 1518       SExtInst *User = dyn_cast<SExtInst>(U.getUser());
 1518       SExtInst *User = dyn_cast<SExtInst>(U.getUser());
 1587   if ((isa<SExtInst>(DU.NarrowUse) && canWidenBySExt()) ||
lib/Transforms/Scalar/LoopRerollPass.cpp
  555                 isa<SExtInst>(UUser))
 1178         if (isa<SExtInst>(UUser)) {
lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
  125     if (SExtInst *SExt = dyn_cast<SExtInst>(V)) {
  125     if (SExtInst *SExt = dyn_cast<SExtInst>(V)) {
lib/Transforms/Scalar/NaryReassociate.cpp
  334   if (SExtInst *SExt = dyn_cast<SExtInst>(IndexToSplit)) {
  334   if (SExtInst *SExt = dyn_cast<SExtInst>(IndexToSplit)) {
lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
  593   } else if (isa<SExtInst>(V)) {
 1177         Instruction *NewSExt = new SExtInst(Dom, I->getType(), "", I);
lib/Transforms/Utils/SimplifyIndVar.cpp
  596       Ext = new SExtInst(Op1, IVTy, "sext", ICI);
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
  436   if (!isa<SExtInst>(OpA) && !isa<ZExtInst>(OpA))
  439   bool Signed = isa<SExtInst>(OpA);
lib/Transforms/Vectorize/SLPVectorizer.cpp
 3014               if ((isa<SExtInst>(Ext) || isa<ZExtInst>(Ext)) &&
tools/llvm-stress/llvm-stress.cpp
  581         return PT->push_back(new SExtInst(V, DestTy, "Se", BB->getTerminator()));