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

References

tools/clang/lib/CodeGen/TargetInfo.cpp
 5305   llvm::Type *BaseTy = CGF.ConvertType(Ty);
 5329   llvm::BasicBlock *MaybeRegBlock = CGF.createBasicBlock("vaarg.maybe_reg");
 5330   llvm::BasicBlock *InRegBlock = CGF.createBasicBlock("vaarg.in_reg");
 5331   llvm::BasicBlock *OnStackBlock = CGF.createBasicBlock("vaarg.on_stack");
 5332   llvm::BasicBlock *ContBlock = CGF.createBasicBlock("vaarg.end");
 5343     reg_offs_p = CGF.Builder.CreateStructGEP(VAListAddr, 3, "gr_offs_p");
 5344     reg_offs = CGF.Builder.CreateLoad(reg_offs_p, "gr_offs");
 5349     reg_offs_p = CGF.Builder.CreateStructGEP(VAListAddr, 4, "vr_offs_p");
 5350     reg_offs = CGF.Builder.CreateLoad(reg_offs_p, "vr_offs");
 5364   UsingStack = CGF.Builder.CreateICmpSGE(
 5365       reg_offs, llvm::ConstantInt::get(CGF.Int32Ty, 0));
 5367   CGF.Builder.CreateCondBr(UsingStack, OnStackBlock, MaybeRegBlock);
 5371   CGF.EmitBlock(MaybeRegBlock);
 5379     reg_offs = CGF.Builder.CreateAdd(
 5380         reg_offs, llvm::ConstantInt::get(CGF.Int32Ty, Align - 1),
 5382     reg_offs = CGF.Builder.CreateAnd(
 5383         reg_offs, llvm::ConstantInt::get(CGF.Int32Ty, -Align),
 5392   NewOffset = CGF.Builder.CreateAdd(
 5393       reg_offs, llvm::ConstantInt::get(CGF.Int32Ty, RegSize), "new_reg_offs");
 5394   CGF.Builder.CreateStore(NewOffset, reg_offs_p);
 5399   InRegs = CGF.Builder.CreateICmpSLE(
 5400       NewOffset, llvm::ConstantInt::get(CGF.Int32Ty, 0), "inreg");
 5402   CGF.Builder.CreateCondBr(InRegs, InRegBlock, OnStackBlock);
 5410   CGF.EmitBlock(InRegBlock);
 5414       CGF.Builder.CreateStructGEP(VAListAddr, reg_top_index, "reg_top_p");
 5415   reg_top = CGF.Builder.CreateLoad(reg_top_p, "reg_top");
 5416   Address BaseAddr(CGF.Builder.CreateInBoundsGEP(reg_top, reg_offs),
 5419   llvm::Type *MemTy = CGF.ConvertTypeForMem(Ty);
 5437     llvm::Type *BaseTy = CGF.ConvertType(QualType(Base, 0));
 5439     Address Tmp = CGF.CreateTempAlloca(HFATy,
 5444     if (CGF.CGM.getDataLayout().isBigEndian() &&
 5451         CGF.Builder.CreateConstInBoundsByteGEP(BaseAddr, BaseOffset);
 5452       LoadAddr = CGF.Builder.CreateElementBitCast(LoadAddr, BaseTy);
 5454       Address StoreAddr = CGF.Builder.CreateConstArrayGEP(Tmp, i);
 5456       llvm::Value *Elem = CGF.Builder.CreateLoad(LoadAddr);
 5457       CGF.Builder.CreateStore(Elem, StoreAddr);
 5460     RegAddr = CGF.Builder.CreateElementBitCast(Tmp, MemTy);
 5466     if (CGF.CGM.getDataLayout().isBigEndian() && !IsIndirect &&
 5470       BaseAddr = CGF.Builder.CreateConstInBoundsByteGEP(BaseAddr, Offset);
 5473     RegAddr = CGF.Builder.CreateElementBitCast(BaseAddr, MemTy);
 5476   CGF.EmitBranch(ContBlock);
 5481   CGF.EmitBlock(OnStackBlock);
 5483   Address stack_p = CGF.Builder.CreateStructGEP(VAListAddr, 0, "stack_p");
 5484   llvm::Value *OnStackPtr = CGF.Builder.CreateLoad(stack_p, "stack");
 5491     OnStackPtr = CGF.Builder.CreatePtrToInt(OnStackPtr, CGF.Int64Ty);
 5491     OnStackPtr = CGF.Builder.CreatePtrToInt(OnStackPtr, CGF.Int64Ty);
 5493     OnStackPtr = CGF.Builder.CreateAdd(
 5494         OnStackPtr, llvm::ConstantInt::get(CGF.Int64Ty, Align - 1),
 5496     OnStackPtr = CGF.Builder.CreateAnd(
 5497         OnStackPtr, llvm::ConstantInt::get(CGF.Int64Ty, -Align),
 5500     OnStackPtr = CGF.Builder.CreateIntToPtr(OnStackPtr, CGF.Int8PtrTy);
 5500     OnStackPtr = CGF.Builder.CreateIntToPtr(OnStackPtr, CGF.Int8PtrTy);
 5513   llvm::Value *StackSizeC = CGF.Builder.getSize(StackSize);
 5515       CGF.Builder.CreateInBoundsGEP(OnStackPtr, StackSizeC, "new_stack");
 5518   CGF.Builder.CreateStore(NewStack, stack_p);
 5520   if (CGF.CGM.getDataLayout().isBigEndian() && !isAggregateTypeForABI(Ty) &&
 5523     OnStackAddr = CGF.Builder.CreateConstInBoundsByteGEP(OnStackAddr, Offset);
 5526   OnStackAddr = CGF.Builder.CreateElementBitCast(OnStackAddr, MemTy);
 5528   CGF.EmitBranch(ContBlock);
 5533   CGF.EmitBlock(ContBlock);
 5535   Address ResAddr = emitMergePHI(CGF, RegAddr, InRegBlock,
 5539     return Address(CGF.Builder.CreateLoad(ResAddr, "vaarg.addr"),