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

Declarations

include/llvm/IR/Instruction.def
  185 HANDLE_CAST_INST(39, ZExt    , ZExtInst    )  // Zero extend integers

References

include/llvm/Analysis/TargetTransformInfoImpl.h
  652     if (const auto* Cast = dyn_cast<ZExtInst>(Val)) {
  652     if (const auto* Cast = dyn_cast<ZExtInst>(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/CodeGen/TargetLowering.h
 2387     if (isa<ZExtInst>(Ext))
include/llvm/IR/InstVisitor.h
  179   RetTy visitZExtInst(ZExtInst &I)                { DELEGATE(CastInst);}
include/llvm/IR/Instructions.h
 4757   ZExtInst *cloneImpl() const;
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   77     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)) {
 1490         bool IsZExt = DecompGEP1.VarIndices[i].ZExtBits > 0 || isa<ZExtInst>(V);
lib/Analysis/InstructionSimplify.cpp
 3269     if (isa<ZExtInst>(LHS)) {
 3272       if (ZExtInst *RI = dyn_cast<ZExtInst>(RHS)) {
 3272       if (ZExtInst *RI = dyn_cast<ZExtInst>(RHS)) {
lib/Analysis/ValueTracking.cpp
 1773   if (const ZExtInst *ZI = dyn_cast<ZExtInst>(V))
 1773   if (const ZExtInst *ZI = dyn_cast<ZExtInst>(V))
 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
 1877       ZExtInst *ExtVal = dyn_cast<ZExtInst>(CI->getArgOperand(0));
 1877       ZExtInst *ExtVal = dyn_cast<ZExtInst>(CI->getArgOperand(0));
 3729   if (isa<ZExtInst>(Inst))
 3810   else if ((IsSExt && isa<SExtInst>(Opnd)) || (!IsSExt && isa<ZExtInst>(Opnd)))
 3843       isa<ZExtInst>(ExtOpnd))
 3863   if (isa<ZExtInst>(SExtOpnd)) {
 5065     if ((IsSExt && !isa<SExtInst>(UI)) || (!IsSExt && !isa<ZExtInst>(UI)))
 6955     if (isa<ZExtInst>(I) || isa<SExtInst>(I)) {
lib/ExecutionEngine/Interpreter/Execution.cpp
 1717 void Interpreter::visitZExtInst(ZExtInst &I) {
lib/ExecutionEngine/Interpreter/Interpreter.h
  139   void visitZExtInst(ZExtInst &I);
lib/IR/Instructions.cpp
 2753   case ZExt:          return new ZExtInst          (S, Ty, Name, InsertBefore);
 2775   case ZExt:          return new ZExtInst          (S, Ty, Name, InsertAtEnd);
 4176 ZExtInst *ZExtInst::cloneImpl() const {
 4177   return new ZExtInst(getOperand(0), getType());
lib/IR/Verifier.cpp
  438   void visitZExtInst(ZExtInst &I);
 2556 void Verifier::visitZExtInst(ZExtInst &I) {
lib/Target/AArch64/AArch64FastISel.cpp
  313   bool IsZExt = isa<ZExtInst>(I);
  741         if (const auto *ZE = dyn_cast<ZExtInst>(I)) {
  741         if (const auto *ZE = dyn_cast<ZExtInst>(I)) {
  825         if (const auto *ZE = dyn_cast<ZExtInst>(I)) {
  825         if (const auto *ZE = dyn_cast<ZExtInst>(I)) {
  885     if (const auto *ZE = dyn_cast<ZExtInst>(U)) {
  885     if (const auto *ZE = dyn_cast<ZExtInst>(U)) {
 2011     if (const auto *ZE = dyn_cast<ZExtInst>(I->use_begin()->getUser())) {
 2011     if (const auto *ZE = dyn_cast<ZExtInst>(I->use_begin()->getUser())) {
 4541   bool IsZExt = isa<ZExtInst>(I);
 4599   bool IsZExt = isa<ZExtInst>(I);
 4698       if (const auto *ZExt = dyn_cast<ZExtInst>(Src0)) {
 4698       if (const auto *ZExt = dyn_cast<ZExtInst>(Src0)) {
 4765     if (const auto *ZExt = dyn_cast<ZExtInst>(Op0)) {
 4765     if (const auto *ZExt = dyn_cast<ZExtInst>(Op0)) {
lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  233       (!isa<SExtInst>(Args[1]) && !isa<ZExtInst>(Args[1])) ||
lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
  176       auto *ZextGroupSize = dyn_cast<ZExtInst>(U);
  176       auto *ZextGroupSize = dyn_cast<ZExtInst>(U);
lib/Target/ARM/ARMCodeGenPrepare.cpp
  270   if (auto *ZExt = dyn_cast<ZExtInst>(V))
  270   if (auto *ZExt = dyn_cast<ZExtInst>(V))
  668     if (!isa<ZExtInst>(V))
  671     auto ZExt = cast<ZExtInst>(V);
lib/Target/ARM/ARMFastISel.cpp
 2745   bool isZExt = isa<ZExtInst>(I);
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
 1028   } else if (ZExtInst *Z = dyn_cast<ZExtInst>(In)) {
 1028   } else if (ZExtInst *Z = dyn_cast<ZExtInst>(In)) {
lib/Target/Mips/MipsFastISel.cpp
 1809   bool isZExt = isa<ZExtInst>(I);
lib/Target/PowerPC/PPCBoolRetToInt.cpp
  115     return new ZExtInst(V, IntTy, "", InstPt);
lib/Target/PowerPC/PPCFastISel.cpp
 1902   bool IsZExt = isa<ZExtInst>(I);
lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
  925     else if (isa<ZExtInst>(UserI))
 1019                isa<ZExtInst>(OtherOp)))
lib/Target/WebAssembly/WebAssemblyFastISel.cpp
  966   const auto *ZExt = cast<ZExtInst>(I);
  966   const auto *ZExt = cast<ZExtInst>(I);
lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
  241     bool IsExtInst = (isa<ZExtInst>(I) || isa<SExtInst>(I));
lib/Transforms/IPO/GlobalOpt.cpp
 1740         NSI = new ZExtInst(NLI, LI->getType(), "", LI);
lib/Transforms/InstCombine/InstCombineAddSub.cpp
  843     return new ZExtInst(Builder.CreateNUWAdd(X, NewC), Ty);
  933       return new ZExtInst(Builder.CreateNot(X), Ty);
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
 1517       return new ZExtInst(NewOp, DestTy);
 1717   return new ZExtInst(Builder.CreateAnd(NewBO, X), Ty);
 1759       return new ZExtInst(IsZero, I.getType());
 1834             if (isa<ZExtInst>(Op0LHS))
 1840             return new ZExtInst(And, I.getType());
 1984   if (Instruction *Ext = dyn_cast<ZExtInst>(Op0))
 1987   if (Instruction *Ext = dyn_cast<ZExtInst>(Op1))
lib/Transforms/InstCombine/InstCombineCasts.cpp
  846 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, ZExtInst &CI,
 1088 Instruction *InstCombiner::visitZExt(ZExtInst &CI) {
 1158       return new ZExtInst(And, CI.getType());
 1194       if (auto *LZExt = dyn_cast<ZExtInst>(LCast))
 1194       if (auto *LZExt = dyn_cast<ZExtInst>(LCast))
 1196       if (auto *RZExt = dyn_cast<ZExtInst>(RCast))
 1196       if (auto *RZExt = dyn_cast<ZExtInst>(RCast))
 1716       return new ZExtInst(SrcI, FITy);
 2373       if (isa<TruncInst>(Src) || isa<ZExtInst>(Src)) {
lib/Transforms/InstCombine/InstCombineCompares.cpp
 4600     if (ZExtInst *Zext = dyn_cast<ZExtInst>(OtherVal))
 4600     if (ZExtInst *Zext = dyn_cast<ZExtInst>(OtherVal))
lib/Transforms/InstCombine/InstCombineInternal.h
  410   Instruction *visitZExt(ZExtInst &CI);
  526   Instruction *transformZExtICmp(ICmpInst *ICI, ZExtInst &CI,
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  776       return new ZExtInst(Builder.CreateICmpEQ(Op1, Op0), Ty);
  931     return new ZExtInst(NarrowOp, Ty);
  948     return new ZExtInst(NarrowOp, Ty);
 1070     return new ZExtInst(Builder.CreateICmpEQ(Op0, Op1), I.getType());
lib/Transforms/InstCombine/InstCombinePHI.cpp
  667     if (auto *Zext = dyn_cast<ZExtInst>(V)) {
  667     if (auto *Zext = dyn_cast<ZExtInst>(V)) {
  681     if (auto *Zext = dyn_cast<ZExtInst>(V)) {
  681     if (auto *Zext = dyn_cast<ZExtInst>(V)) {
lib/Transforms/InstCombine/InstCombineSelect.cpp
  531   return new ZExtInst(ICmpNeZero, SelType);
 2285       return new ZExtInst(CondVal, SelType);
 2294       return new ZExtInst(NotCond, SelType);
lib/Transforms/InstCombine/InstCombineShifts.cpp
  876         return new ZExtInst(Builder.CreateShl(X, ShAmt), Ty);
  995       return new ZExtInst(Cmp, Ty);
 1041       return new ZExtInst(NewLShr, Ty);
 1051           return new ZExtInst(X, Ty);
 1056           return new ZExtInst(NewLShr, Ty);
 1065         return new ZExtInst(AShr, Ty);
lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
  415       CastInst *NewCast = new ZExtInst(I->getOperand(0), VTy, I->getName());
lib/Transforms/Instrumentation/MemorySanitizer.cpp
 1889   void visitZExtInst(ZExtInst &I) {
lib/Transforms/Scalar/IndVarSimplify.cpp
 1473       ZExtInst *User = dyn_cast<ZExtInst>(U.getUser());
 1473       ZExtInst *User = dyn_cast<ZExtInst>(U.getUser());
 1529       ZExtInst *User = dyn_cast<ZExtInst>(U.getUser());
 1529       ZExtInst *User = dyn_cast<ZExtInst>(U.getUser());
 1588       (isa<ZExtInst>(DU.NarrowUse) && canWidenByZExt())) {
lib/Transforms/Scalar/LoopInterchange.cpp
  887         isa<ZExtInst>(I))
lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
  119     if (ZExtInst *ZExt = dyn_cast<ZExtInst>(V)) {
  119     if (ZExtInst *ZExt = dyn_cast<ZExtInst>(V)) {
lib/Transforms/Scalar/NaryReassociate.cpp
  336   } else if (ZExtInst *ZExt = dyn_cast<ZExtInst>(IndexToSplit)) {
  336   } else if (ZExtInst *ZExt = dyn_cast<ZExtInst>(IndexToSplit)) {
lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
  596   } else if (isa<ZExtInst>(V)) {
lib/Transforms/Utils/Local.cpp
 1672     if (CI->isNoopCast(DL) || isa<ZExtInst>(&I))
 2784           cast<IntegerType>(cast<ZExtInst>(I)->getSrcTy())->getBitWidth();
lib/Transforms/Utils/SimplifyIndVar.cpp
  592       Ext = new ZExtInst(Op1, IVTy, "zext", ICI);
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
  436   if (!isa<SExtInst>(OpA) && !isa<ZExtInst>(OpA))
lib/Transforms/Vectorize/LoopVectorize.cpp
 3314         if (auto *ZI = dyn_cast<ZExtInst>(V))
 3314         if (auto *ZI = dyn_cast<ZExtInst>(V))
 3404       ZExtInst *Inst = dyn_cast<ZExtInst>(I);
 3404       ZExtInst *Inst = dyn_cast<ZExtInst>(I);
lib/Transforms/Vectorize/SLPVectorizer.cpp
 3014               if ((isa<SExtInst>(Ext) || isa<ZExtInst>(Ext)) &&
tools/clang/lib/CodeGen/CGExprScalar.cpp
  402     if (llvm::ZExtInst *ZI = dyn_cast<llvm::ZExtInst>(V)) {
  402     if (llvm::ZExtInst *ZI = dyn_cast<llvm::ZExtInst>(V)) {
tools/clang/lib/CodeGen/CodeGenFunction.cpp
 2026   if (!isa<llvm::ZExtInst>(value)) return PeepholeProtection();
tools/llvm-stress/llvm-stress.cpp
  580             new ZExtInst(V, DestTy, "ZE", BB->getTerminator()));