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

References

tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp
  340     CodeGenFunction &CGF = *this->CGF;
  415     Addr = CGF->Builder.CreateBitCast(Addr, CGF->CGM.Int8PtrTy);
  415     Addr = CGF->Builder.CreateBitCast(Addr, CGF->CGM.Int8PtrTy);
  416     Addr = CGF->Builder.CreateConstInBoundsGEP(Addr, Offset.getQuantity());
  417     return CGF->Builder.CreateBitCast(Addr, CGF->CGM.Int8PtrPtrTy);
  417     return CGF->Builder.CreateBitCast(Addr, CGF->CGM.Int8PtrPtrTy);
  468     CGF->StartFunction(FD, Ctx.VoidTy, F, FI, Args);
  471       llvm::Value *V = CGF->Builder.CreateLoad(CGF->GetAddrOfLocalVar(Args[I]));
  471       llvm::Value *V = CGF->Builder.CreateLoad(CGF->GetAddrOfLocalVar(Args[I]));
  476     CGF->FinishFunction();
  500   void setCGF(CodeGenFunction *F) { CGF = F; }
  522           llvm::ConstantInt::get(this->CGF->SizeTy, Size.getQuantity());
  524           this->CGF->Builder.CreateElementBitCast(DstAddr, this->CGF->Int8Ty);
  524           this->CGF->Builder.CreateElementBitCast(DstAddr, this->CGF->Int8Ty);
  526           this->CGF->Builder.CreateElementBitCast(SrcAddr, this->CGF->Int8Ty);
  526           this->CGF->Builder.CreateElementBitCast(SrcAddr, this->CGF->Int8Ty);
  527       this->CGF->Builder.CreateMemCpy(DstAddr, SrcAddr, SizeVal, false);
  530           this->CGF->getLLVMContext(),
  531           Size.getQuantity() * this->CGF->getContext().getCharWidth());
  532       DstAddr = this->CGF->Builder.CreateElementBitCast(DstAddr, Ty);
  533       SrcAddr = this->CGF->Builder.CreateElementBitCast(SrcAddr, Ty);
  534       llvm::Value *SrcVal = this->CGF->Builder.CreateLoad(SrcAddr, false);
  535       this->CGF->Builder.CreateStore(SrcVal, DstAddr, false);
  547       llvm::PointerType *PtrTy = this->CGF->ConvertType(RT)->getPointerTo();
  549       LValue DstBase = this->CGF->MakeAddrLValue(
  550           this->CGF->Builder.CreateBitCast(DstAddr, PtrTy), FT);
  551       DstLV = this->CGF->EmitLValueForField(DstBase, FD);
  553       LValue SrcBase = this->CGF->MakeAddrLValue(
  554           this->CGF->Builder.CreateBitCast(SrcAddr, PtrTy), FT);
  555       SrcLV = this->CGF->EmitLValueForField(SrcBase, FD);
  557       llvm::PointerType *Ty = this->CGF->ConvertType(FT)->getPointerTo();
  558       Address DstAddr = this->CGF->Builder.CreateBitCast(Addrs[DstIdx], Ty);
  559       Address SrcAddr = this->CGF->Builder.CreateBitCast(Addrs[SrcIdx], Ty);
  560       DstLV = this->CGF->MakeAddrLValue(DstAddr, FT);
  561       SrcLV = this->CGF->MakeAddrLValue(SrcAddr, FT);
  563     RValue SrcVal = this->CGF->EmitLoadOfLValue(SrcLV, SourceLocation());
  564     this->CGF->EmitStoreThroughLValue(SrcVal, DstLV);
  588     CGF->destroyARCStrongImprecise(
  589         *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT);
  594     CGF->destroyARCWeak(
  595         *CGF, getAddrWithOffset(Addrs[DstIdx], CurStructOffset, FD), QT);
  600     CGF->callCStructDestructor(
  601         CGF->MakeAddrLValue(getAddrWithOffset(Addrs[DstIdx], Offset), FT));
  629     CGF->EmitNullInitialization(
  635     CGF->EmitNullInitialization(
  655     llvm::Constant *SizeVal = CGF->Builder.getInt64(Size.getQuantity());
  657     Address Loc = CGF->Builder.CreateElementBitCast(DstAddr, CGF->Int8Ty);
  657     Address Loc = CGF->Builder.CreateElementBitCast(DstAddr, CGF->Int8Ty);
  658     CGF->Builder.CreateMemSet(Loc, CGF->Builder.getInt8(0), SizeVal,
  658     CGF->Builder.CreateMemSet(Loc, CGF->Builder.getInt8(0), SizeVal,
  664     CGF->callCStructDefaultConstructor(
  665         CGF->MakeAddrLValue(getAddrWithOffset(Addrs[DstIdx], Offset), FT));
  677     llvm::Value *SrcVal = CGF->EmitLoadOfScalar(
  679     llvm::Value *Val = CGF->EmitARCRetain(QT, SrcVal);
  680     CGF->EmitStoreOfScalar(Val, CGF->MakeAddrLValue(Addrs[DstIdx], QT), true);
  680     CGF->EmitStoreOfScalar(Val, CGF->MakeAddrLValue(Addrs[DstIdx], QT), true);
  687     CGF->EmitARCCopyWeak(Addrs[DstIdx], Addrs[SrcIdx]);
  694     CGF->callCStructCopyConstructor(CGF->MakeAddrLValue(Addrs[DstIdx], FT),
  694     CGF->callCStructCopyConstructor(CGF->MakeAddrLValue(Addrs[DstIdx], FT),
  695                                     CGF->MakeAddrLValue(Addrs[SrcIdx], FT));
  707     LValue SrcLV = CGF->MakeAddrLValue(Addrs[SrcIdx], QT);
  709         CGF->EmitLoadOfLValue(SrcLV, SourceLocation()).getScalarVal();
  710     CGF->EmitStoreOfScalar(getNullForVariable(SrcLV.getAddress()), SrcLV);
  711     CGF->EmitStoreOfScalar(SrcVal, CGF->MakeAddrLValue(Addrs[DstIdx], QT),
  711     CGF->EmitStoreOfScalar(SrcVal, CGF->MakeAddrLValue(Addrs[DstIdx], QT),
  719     CGF->EmitARCMoveWeak(Addrs[DstIdx], Addrs[SrcIdx]);
  726     CGF->callCStructMoveConstructor(CGF->MakeAddrLValue(Addrs[DstIdx], FT),
  726     CGF->callCStructMoveConstructor(CGF->MakeAddrLValue(Addrs[DstIdx], FT),
  727                                     CGF->MakeAddrLValue(Addrs[SrcIdx], FT));
  739     llvm::Value *SrcVal = CGF->EmitLoadOfScalar(
  741     CGF->EmitARCStoreStrong(CGF->MakeAddrLValue(Addrs[DstIdx], QT), SrcVal,
  741     CGF->EmitARCStoreStrong(CGF->MakeAddrLValue(Addrs[DstIdx], QT), SrcVal,
  749     CGF->emitARCCopyAssignWeak(QT, Addrs[DstIdx], Addrs[SrcIdx]);
  756     CGF->callCStructCopyAssignmentOperator(
  757         CGF->MakeAddrLValue(Addrs[DstIdx], FT),
  758         CGF->MakeAddrLValue(Addrs[SrcIdx], FT));
  770     LValue SrcLV = CGF->MakeAddrLValue(Addrs[SrcIdx], QT);
  772         CGF->EmitLoadOfLValue(SrcLV, SourceLocation()).getScalarVal();
  773     CGF->EmitStoreOfScalar(getNullForVariable(SrcLV.getAddress()), SrcLV);
  774     LValue DstLV = CGF->MakeAddrLValue(Addrs[DstIdx], QT);
  776         CGF->EmitLoadOfLValue(DstLV, SourceLocation()).getScalarVal();
  777     CGF->EmitStoreOfScalar(SrcVal, DstLV);
  778     CGF->EmitARCRelease(DstVal, ARCImpreciseLifetime);
  785     CGF->emitARCMoveAssignWeak(QT, Addrs[DstIdx], Addrs[SrcIdx]);
  792     CGF->callCStructMoveAssignmentOperator(
  793         CGF->MakeAddrLValue(Addrs[DstIdx], FT),
  794         CGF->MakeAddrLValue(Addrs[SrcIdx], FT));