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

References

tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  579   CGBuilderTy &Builder = CGF.Builder;
  591   llvm::BasicBlock *FnVirtual = CGF.createBasicBlock("memptr.virtual");
  592   llvm::BasicBlock *FnNonVirtual = CGF.createBasicBlock("memptr.nonvirtual");
  593   llvm::BasicBlock *FnEnd = CGF.createBasicBlock("memptr.end");
  627   CGF.EmitBlock(FnVirtual);
  632     CGF.CGM.getDynamicOffsetAlignment(ThisAddr.getAlignment(), RD,
  633                                       CGF.getPointerAlign());
  635     CGF.GetVTablePtr(Address(This, VTablePtrAlign), VTableTy, RD);
  644     VTableOffset = Builder.CreateTrunc(VTableOffset, CGF.Int32Ty);
  652   bool ShouldEmitCFICheck = CGF.SanOpts.has(SanitizerKind::CFIMFCall) &&
  659     CodeGenFunction::SanitizerScope SanScope(&CGF);
  667       TypeId = llvm::MetadataAsValue::get(CGF.getLLVMContext(), MD);
  691             {Builder.CreateBitCast(VFPAddr, CGF.Int8PtrTy), TypeId});
  695       VirtualFn = Builder.CreateAlignedLoad(VFPAddr, CGF.getPointerAlign(),
  704       CheckSourceLocation = CGF.EmitCheckSourceLocation(E->getBeginLoc());
  705       CheckTypeDesc = CGF.EmitCheckTypeDescriptor(QualType(MPT, 0));
  707           llvm::ConstantInt::get(CGF.Int8Ty, CodeGenFunction::CFITCK_VMFCall),
  713         CGF.EmitTrapCheck(CheckResult);
  720         CGF.EmitCheck(std::make_pair(CheckResult, SanitizerKind::CFIMFCall),
  729   CGF.EmitBranch(FnEnd);
  733   CGF.EmitBlock(FnNonVirtual);
  741       CodeGenFunction::SanitizerScope SanScope(&CGF);
  744           llvm::ConstantInt::get(CGF.Int8Ty, CodeGenFunction::CFITCK_NVMFCall),
  751           Builder.CreateBitCast(NonVirtualFn, CGF.Int8PtrTy);
  758             llvm::MetadataAsValue::get(CGF.getLLVMContext(), MD);
  766       CGF.EmitCheck(std::make_pair(Bit, SanitizerKind::CFIMFCall),
  768                     {CastedNonVirtualFn, llvm::UndefValue::get(CGF.IntPtrTy)});
  775   CGF.EmitBlock(FnEnd);