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

Declarations

include/llvm/IR/Instruction.def
  134 HANDLE_TERM_INST  ( 8, CleanupRet    , CleanupReturnInst)
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
   56 class CleanupReturnInst;

References

include/llvm/IR/IRBuilder.h
  845   InstTy *Insert(InstTy *I, const Twine &Name = "") const {
  845   InstTy *Insert(InstTy *I, const Twine &Name = "") const {
 1038   CleanupReturnInst *CreateCleanupRet(CleanupPadInst *CleanupPad,
 1040     return Insert(CleanupReturnInst::Create(CleanupPad, UnwindBB));
include/llvm/IR/InstVisitor.h
  252   RetTy visitCleanupReturnInst(CleanupReturnInst &I) {
include/llvm/IR/Instructions.h
 4568   CleanupReturnInst(const CleanupReturnInst &RI);
 4580   CleanupReturnInst *cloneImpl() const;
 4583   static CleanupReturnInst *Create(Value *CleanupPad,
 4591         CleanupReturnInst(CleanupPad, UnwindBB, Values, InsertBefore);
 4594   static CleanupReturnInst *Create(Value *CleanupPad, BasicBlock *UnwindBB,
 4601         CleanupReturnInst(CleanupPad, UnwindBB, Values, InsertAtEnd);
 4658     : public VariadicOperandTraits<CleanupReturnInst, /*MINARITY=*/1> {};
include/llvm/IR/OperandTraits.h
   69   static Use *op_begin(SubClass* U) {
   71         !std::is_polymorphic<SubClass>::value,
   75   static Use *op_end(SubClass* U) {
include/llvm/IR/User.h
  127   template <int Idx, typename U> static Use &OpFrom(const U *that) {
  129       ? OperandTraits<U>::op_end(const_cast<U*>(that))[Idx]
  130       : OperandTraits<U>::op_begin(const_cast<U*>(that))[Idx];
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,
  168   using ret_type = const To &; // Normal case, return Ty&
  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;
  218   static typename cast_retty<To, From>::ret_type doit(From &Val) {
  219     return cast_convert_val<To, SimpleFrom,
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  248                                typename cast_retty<X, const Y>::ret_type>::type
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  258   return cast_convert_val<X, Y,
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  331                             typename cast_retty<X, const Y>::ret_type>::type
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  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/InlineCost.cpp
  288   bool visitCleanupReturnInst(CleanupReturnInst &RI);
 1520 bool CallAnalyzer::visitCleanupReturnInst(CleanupReturnInst &CRI) {
lib/Analysis/ValueTracking.cpp
 4250   if (const auto *CRI = dyn_cast<CleanupReturnInst>(I))
 4250   if (const auto *CRI = dyn_cast<CleanupReturnInst>(I))
lib/AsmParser/LLParser.cpp
 6201   Inst = CleanupReturnInst::Create(CleanupPad, UnwindBB);
lib/Bitcode/Reader/BitcodeReader.cpp
 4268       I = CleanupReturnInst::Create(CleanupPad, UnwindDest);
lib/Bitcode/Writer/BitcodeWriter.cpp
 2790     const auto &CRI = cast<CleanupReturnInst>(I);
 2790     const auto &CRI = cast<CleanupReturnInst>(I);
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 1738 void SelectionDAGBuilder::visitCleanupRet(const CleanupReturnInst &I) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  636   void visitCleanupRet(const CleanupReturnInst &I);
lib/CodeGen/WinEHPrepare.cpp
  167     if (const auto *CRI = dyn_cast<CleanupReturnInst>(U))
  167     if (const auto *CRI = dyn_cast<CleanupReturnInst>(U))
  229   auto *CleanupPad = cast<CleanupReturnInst>(TI)->getCleanupPad();
  602         if (auto *CleanupRet = dyn_cast<CleanupReturnInst>(U)) {
  988       if (auto *CRI = dyn_cast<CleanupReturnInst>(TI))
  988       if (auto *CRI = dyn_cast<CleanupReturnInst>(TI))
lib/IR/AsmWriter.cpp
 3830   } else if (const auto *CRI = dyn_cast<CleanupReturnInst>(&I)) {
 3830   } else if (const auto *CRI = dyn_cast<CleanupReturnInst>(&I)) {
lib/IR/Core.cpp
 2864   if (CleanupReturnInst *CRI = dyn_cast<CleanupReturnInst>(unwrap(Invoke))) {
 2864   if (CleanupReturnInst *CRI = dyn_cast<CleanupReturnInst>(unwrap(Invoke))) {
 2877   if (CleanupReturnInst *CRI = dyn_cast<CleanupReturnInst>(unwrap(Invoke))) {
 2877   if (CleanupReturnInst *CRI = dyn_cast<CleanupReturnInst>(unwrap(Invoke))) {
lib/IR/Instruction.cpp
  595   if (const auto *CRI = dyn_cast<CleanupReturnInst>(this))
  595   if (const auto *CRI = dyn_cast<CleanupReturnInst>(this))
lib/IR/Instructions.cpp
  919 CleanupReturnInst::CleanupReturnInst(const CleanupReturnInst &CRI)
  921                   OperandTraits<CleanupReturnInst>::op_end(this) -
  943                   OperandTraits<CleanupReturnInst>::op_end(this) - Values,
  952                   OperandTraits<CleanupReturnInst>::op_end(this) - Values,
 4290 CleanupReturnInst *CleanupReturnInst::cloneImpl() const {
 4291   return new (getNumOperands()) CleanupReturnInst(*this);
lib/IR/Verifier.cpp
  494   void visitCleanupReturnInst(CleanupReturnInst &CRI);
 2086     UnwindDest = cast<CleanupReturnInst>(Terminator)->getUnwindDest();
 3633     } else if (auto *CRI = dyn_cast<CleanupReturnInst>(TI)) {
 3633     } else if (auto *CRI = dyn_cast<CleanupReturnInst>(TI)) {
 3777       if (auto *CRI = dyn_cast<CleanupReturnInst>(U)) {
 3777       if (auto *CRI = dyn_cast<CleanupReturnInst>(U)) {
 3965 void Verifier::visitCleanupReturnInst(CleanupReturnInst &CRI) {
lib/Target/AArch64/AArch64StackTagging.cpp
  559       if (isa<ReturnInst>(I) || isa<ResumeInst>(I) || isa<CleanupReturnInst>(I))
lib/Transforms/Coroutines/CoroFrame.cpp
  559   auto *CleanupRet =
  560       CleanupReturnInst::Create(CleanupPad, NewBlock, CurrentBlock);
  801   else if (auto *CR = dyn_cast<CleanupReturnInst>(TI))
  801   else if (auto *CR = dyn_cast<CleanupReturnInst>(TI))
  863   CleanupReturnInst::Create(NewCleanupPad, Succ, NewBB);
lib/Transforms/Coroutines/CoroSplit.cpp
  242     auto *CleanupRet = Builder.CreateCleanupRet(FromPad, nullptr);
lib/Transforms/Instrumentation/AddressSanitizer.cpp
  971   void visitCleanupReturnInst(CleanupReturnInst &CRI) { RetVec.push_back(&CRI); }
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
 1127           isa<CleanupReturnInst>(Inst))
lib/Transforms/Instrumentation/MemorySanitizer.cpp
 3617   void visitCleanupReturnInst(CleanupReturnInst &CRI) {
lib/Transforms/Utils/CodeExtractor.cpp
  161         if (const auto *CRI = dyn_cast<CleanupReturnInst>(U))
  161         if (const auto *CRI = dyn_cast<CleanupReturnInst>(U))
  166     if (const auto *CRI = dyn_cast<CleanupReturnInst>(I)) {
  166     if (const auto *CRI = dyn_cast<CleanupReturnInst>(I)) {
lib/Transforms/Utils/InlineFunction.cpp
  290         if (auto *CleanupRet = dyn_cast<CleanupReturnInst>(U)) {
  290         if (auto *CleanupRet = dyn_cast<CleanupReturnInst>(U)) {
  677     if (auto *CRI = dyn_cast<CleanupReturnInst>(BB->getTerminator())) {
  677     if (auto *CRI = dyn_cast<CleanupReturnInst>(BB->getTerminator())) {
  680         CleanupReturnInst::Create(CleanupPad, UnwindDest, CRI);
 2093       if (auto *CleanupRet = dyn_cast<CleanupReturnInst>(BB->getTerminator()))
 2093       if (auto *CleanupRet = dyn_cast<CleanupReturnInst>(BB->getTerminator()))
lib/Transforms/Utils/Local.cpp
 2186   if (auto *CRI = dyn_cast<CleanupReturnInst>(TI)) {
 2186   if (auto *CRI = dyn_cast<CleanupReturnInst>(TI)) {
 2187     NewTI = CleanupReturnInst::Create(CRI->getCleanupPad(), nullptr, CRI);
lib/Transforms/Utils/SimplifyCFG.cpp
  198   bool SimplifyCleanupReturn(CleanupReturnInst *RI);
 3923 static bool removeEmptyCleanup(CleanupReturnInst *RI) {
 4060 static bool mergeCleanupPad(CleanupReturnInst *RI) {
 4092 bool SimplifyCFGOpt::SimplifyCleanupReturn(CleanupReturnInst *RI) {
 4294     } else if (isa<CleanupReturnInst>(TI)) {
 6098   } else if (auto *RI = dyn_cast<CleanupReturnInst>(BB->getTerminator())) {
 6098   } else if (auto *RI = dyn_cast<CleanupReturnInst>(BB->getTerminator())) {