Lines Matching defs:Init

236   llvm::Constant *Init = CGM.EmitConstantInit(D, this);
240 if (!Init) {
257 if (GV->getType()->getElementType() != Init->getType()) {
260 GV = new llvm::GlobalVariable(CGM.getModule(), Init->getType(),
262 OldGV->getLinkage(), Init, "",
281 GV->setInitializer(Init);
706 static bool canEmitInitWithFewStoresAfterMemset(llvm::Constant *Init,
709 if (isa<llvm::ConstantAggregateZero>(Init) ||
710 isa<llvm::ConstantPointerNull>(Init) ||
711 isa<llvm::UndefValue>(Init))
713 if (isa<llvm::ConstantInt>(Init) || isa<llvm::ConstantFP>(Init) ||
714 isa<llvm::ConstantVector>(Init) || isa<llvm::BlockAddress>(Init) ||
715 isa<llvm::ConstantExpr>(Init))
716 return Init->isNullValue() || NumStores--;
719 if (isa<llvm::ConstantArray>(Init) || isa<llvm::ConstantStruct>(Init)) {
720 for (unsigned i = 0, e = Init->getNumOperands(); i != e; ++i) {
721 llvm::Constant *Elt = cast<llvm::Constant>(Init->getOperand(i));
729 dyn_cast<llvm::ConstantDataSequential>(Init)) {
745 static void emitStoresForInitAfterMemset(llvm::Constant *Init, llvm::Value *Loc,
747 assert(!Init->isNullValue() && !isa<llvm::UndefValue>(Init) &&
750 if (isa<llvm::ConstantInt>(Init) || isa<llvm::ConstantFP>(Init) ||
751 isa<llvm::ConstantVector>(Init) || isa<llvm::BlockAddress>(Init) ||
752 isa<llvm::ConstantExpr>(Init)) {
753 Builder.CreateStore(Init, Loc, isVolatile);
758 dyn_cast<llvm::ConstantDataSequential>(Init)) {
770 assert((isa<llvm::ConstantStruct>(Init) || isa<llvm::ConstantArray>(Init)) &&
773 for (unsigned i = 0, e = Init->getNumOperands(); i != e; ++i) {
774 llvm::Constant *Elt = cast<llvm::Constant>(Init->getOperand(i));
788 static bool shouldUseMemSetPlusStoresToInitialize(llvm::Constant *Init,
791 if (isa<llvm::ConstantAggregateZero>(Init)) return true;
801 canEmitInitWithFewStoresAfterMemset(Init, StoreBudget);
1016 const Expr *Init = VD->getInit();
1017 if (Init && isCapturedBy(var, Init))
1038 static bool isTrivialInitializer(const Expr *Init) {
1039 if (!Init)
1042 if (const CXXConstructExpr *Construct = dyn_cast<CXXConstructExpr>(Init))
1061 const Expr *Init = D.getInit();
1066 if (!Init || !ContainsLabel(Init)) return;
1074 if (isTrivialInitializer(Init))
1082 bool capturedByInit = emission.IsByRef && isCapturedBy(D, Init);
1096 return EmitExprAsInit(Init, &D, lv, capturedByInit);