Lines Matching refs:emitter
548 ConstantEmitter &Emitter;
553 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
555 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
557 static bool UpdateStruct(ConstantEmitter &Emitter,
562 ConstStructBuilder(ConstantEmitter &Emitter,
564 : CGM(Emitter.CGM), Emitter(Emitter), Builder(Builder),
622 static bool EmitDesignatedInitUpdater(ConstantEmitter &Emitter,
627 return ConstStructBuilder::UpdateStruct(Emitter, Const, Offset, Updater);
629 auto CAT = Emitter.CGM.getContext().getAsConstantArrayType(Type);
633 CharUnits ElemSize = Emitter.CGM.getContext().getTypeSizeInChars(ElemType);
634 llvm::Type *ElemTy = Emitter.CGM.getTypes().ConvertTypeForMem(ElemType);
639 FillC = Emitter.tryEmitAbstractForMemory(Filler, ElemType);
658 if (!EmitDesignatedInitUpdater(Emitter, Const, Offset, ElemType,
664 llvm::Constant *Val = Emitter.tryEmitPrivateForMemory(Init, ElemType);
715 if (!EmitDesignatedInitUpdater(Emitter, Builder, StartOffset + Offset,
727 Init ? Emitter.tryEmitPrivateForMemory(Init, Field->getType())
728 : Emitter.emitNullForMemory(Field->getType());
829 Emitter.tryEmitPrivateForMemory(FieldValue, Field->getType());
859 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter,
862 ConstantAggregateBuilder Const(Emitter.CGM);
863 ConstStructBuilder Builder(Emitter, Const, CharUnits::Zero());
871 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter,
874 ConstantAggregateBuilder Const(Emitter.CGM);
875 ConstStructBuilder Builder(Emitter, Const, CharUnits::Zero());
885 bool ConstStructBuilder::UpdateStruct(ConstantEmitter &Emitter,
888 return ConstStructBuilder(Emitter, Const, Offset)
906 ConstantEmitter emitter(CGM, CGF);
907 llvm::Constant *C = emitter.tryEmitForInitializer(E->getInitializer(),
921 emitter.finalize(GV);
998 ConstantEmitter &Emitter;
1001 ConstExprEmitter(ConstantEmitter &emitter)
1002 : CGM(emitter.CGM), Emitter(emitter), VMContext(CGM.getLLVMContext()) {
1014 if (llvm::Constant *Result = Emitter.tryEmitConstantExpr(CE))
1044 CGM.EmitExplicitCastExprType(ECE, Emitter.CGF);
1055 auto C = Emitter.tryEmitPrivateForMemory(subExpr, field->getType());
1085 auto C = Emitter.tryEmitPrivate(subExpr, subExpr->getType());
1112 auto C = Emitter.tryEmitPrivate(subExpr, subExpr->getType());
1209 fillC = Emitter.tryEmitAbstractForMemory(filler, EltType);
1224 llvm::Constant *C = Emitter.tryEmitPrivateForMemory(Init, EltType);
1241 return ConstStructBuilder::BuildStruct(Emitter, ILE, T);
1271 if (!EmitDesignatedInitUpdater(Emitter, Const, CharUnits::Zero(), destType,
1585 "finalizing emitter that was used for abstract emission?");
1586 assert(!Finalized && "finalizing emitter multiple times");
1758 ConstantEmitter &Emitter;
1766 ConstantLValueEmitter(ConstantEmitter &emitter, const APValue &value,
1768 : CGM(emitter.CGM), Emitter(emitter), Value(value), DestType(destType) {}
1932 if (llvm::Constant *Result = Emitter.tryEmitConstantExpr(E))
1939 return tryEmitGlobalCompoundLiteral(CGM, Emitter.CGF, E);
1979 assert(Emitter.CGF && "Invalid address of label expression outside function");
1980 llvm::Constant *Ptr = Emitter.CGF->GetAddrOfLabel(E->getLabel());
2005 if (auto CGF = Emitter.CGF)