Lines Matching defs:CGF

16 static RValue complexTempStructure(CodeGenFunction &CGF, Address VAListAddr,
20 emitVoidPtrDirectVAArg(CGF, VAListAddr, CGF.Int8Ty, SlotSize * 2,
25 if (CGF.CGM.getDataLayout().isBigEndian()) {
27 CGF.Builder.CreateConstInBoundsByteGEP(RealAddr, SlotSize - EltSize);
28 ImagAddr = CGF.Builder.CreateConstInBoundsByteGEP(ImagAddr,
31 ImagAddr = CGF.Builder.CreateConstInBoundsByteGEP(RealAddr, SlotSize);
34 llvm::Type *EltTy = CGF.ConvertTypeForMem(CTy->getElementType());
37 llvm::Value *Real = CGF.Builder.CreateLoad(RealAddr, ".vareal");
38 llvm::Value *Imag = CGF.Builder.CreateLoad(ImagAddr, ".vaimag");
43 static bool PPC_initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
49 CodeGen::CGBuilderTy &Builder = CGF.Builder;
51 llvm::IntegerType *i8 = CGF.Int8Ty;
129 RValue EmitVAArg(CodeGenFunction &CGF, Address VAListAddr, QualType Ty,
144 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
239 RValue AIXABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
257 return complexTempStructure(CGF, VAListAddr, Ty, SlotSize, EltSize, CTy);
260 return emitVoidPtrVAArg(CGF, VAListAddr, Ty, /*Indirect*/ false, TypeInfo,
265 CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const {
266 return PPC_initDwarfEHRegSizeTable(CGF, Address, Is64Bit, /*IsAIX*/ true);
348 RValue EmitVAArg(CodeGenFunction &CGF, Address VAListAddr, QualType Ty,
367 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
426 RValue PPC32_SVR4_ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAList,
433 return emitVoidPtrVAArg(CGF, VAList, Ty,
461 CGBuilderTy &Builder = CGF.Builder;
482 llvm::BasicBlock *UsingRegs = CGF.createBasicBlock("using_regs");
483 llvm::BasicBlock *UsingOverflow = CGF.createBasicBlock("using_overflow");
484 llvm::BasicBlock *Cont = CGF.createBasicBlock("cont");
488 llvm::Type *DirectTy = CGF.ConvertType(Ty), *ElementTy = DirectTy;
490 DirectTy = CGF.UnqualPtrTy;
495 CGF.EmitBlock(UsingRegs);
498 RegAddr = Address(Builder.CreateLoad(RegSaveAreaPtr), CGF.Int8Ty,
500 assert(RegAddr.getElementType() == CGF.Int8Ty);
514 CGF.Int8Ty, RegAddr.emitRawPointer(CGF), RegOffset),
524 CGF.EmitBranch(Cont);
530 CGF.EmitBlock(UsingOverflow);
539 auto TypeInfo = CGF.getContext().getTypeInfoInChars(Ty);
542 Size = CGF.getPointerSize();
547 Address(Builder.CreateLoad(OverflowAreaAddr, "argp.cur"), CGF.Int8Ty,
550 CharUnits Align = CGF.getContext().getTypeAlignInChars(Ty);
552 llvm::Value *Ptr = OverflowArea.emitRawPointer(CGF);
553 OverflowArea = Address(emitRoundPointerUpToAlignment(CGF, Ptr, Align),
561 Builder.CreateStore(OverflowArea.emitRawPointer(CGF), OverflowAreaAddr);
562 CGF.EmitBranch(Cont);
565 CGF.EmitBlock(Cont);
568 Address Result = emitMergePHI(CGF, RegAddr, UsingRegs, MemAddr, UsingOverflow,
577 return CGF.EmitLoadOfAnyValue(CGF.MakeAddrLValue(Result, Ty), Slot);
600 PPC32TargetCodeGenInfo::initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
602 return PPC_initDwarfEHRegSizeTable(CGF, Address, /*Is64Bit*/ false,
658 RValue EmitVAArg(CodeGenFunction &CGF, Address VAListAddr, QualType Ty,
678 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
695 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
958 RValue PPC64_SVR4_ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
974 return complexTempStructure(CGF, VAListAddr, Ty, SlotSize, EltSize, CTy);
990 return emitVoidPtrVAArg(CGF, VAListAddr, Ty, /*Indirect*/ false, TypeInfo,
997 CodeGen::CodeGenFunction &CGF,
999 return PPC_initDwarfEHRegSizeTable(CGF, Address, /*Is64Bit*/ true,
1022 PPC64TargetCodeGenInfo::initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
1024 return PPC_initDwarfEHRegSizeTable(CGF, Address, /*Is64Bit*/ true,