• Home
  • Raw
  • Download

Lines Matching refs:Init

198   llvm::Constant *Init = CGM.EmitConstantExpr(D.getInit(), D.getType(), this);  in AddInitializerToStaticVarDecl()  local
202 if (!Init) { in AddInitializerToStaticVarDecl()
219 if (GV->getType()->getElementType() != Init->getType()) { in AddInitializerToStaticVarDecl()
222 GV = new llvm::GlobalVariable(CGM.getModule(), Init->getType(), in AddInitializerToStaticVarDecl()
224 OldGV->getLinkage(), Init, "", in AddInitializerToStaticVarDecl()
242 GV->setInitializer(Init); in AddInitializerToStaticVarDecl()
622 static bool canEmitInitWithFewStoresAfterMemset(llvm::Constant *Init, in canEmitInitWithFewStoresAfterMemset() argument
625 if (isa<llvm::ConstantAggregateZero>(Init) || in canEmitInitWithFewStoresAfterMemset()
626 isa<llvm::ConstantPointerNull>(Init) || in canEmitInitWithFewStoresAfterMemset()
627 isa<llvm::UndefValue>(Init)) in canEmitInitWithFewStoresAfterMemset()
629 if (isa<llvm::ConstantInt>(Init) || isa<llvm::ConstantFP>(Init) || in canEmitInitWithFewStoresAfterMemset()
630 isa<llvm::ConstantVector>(Init) || isa<llvm::BlockAddress>(Init) || in canEmitInitWithFewStoresAfterMemset()
631 isa<llvm::ConstantExpr>(Init)) in canEmitInitWithFewStoresAfterMemset()
632 return Init->isNullValue() || NumStores--; in canEmitInitWithFewStoresAfterMemset()
635 if (isa<llvm::ConstantArray>(Init) || isa<llvm::ConstantStruct>(Init)) { in canEmitInitWithFewStoresAfterMemset()
636 for (unsigned i = 0, e = Init->getNumOperands(); i != e; ++i) { in canEmitInitWithFewStoresAfterMemset()
637 llvm::Constant *Elt = cast<llvm::Constant>(Init->getOperand(i)); in canEmitInitWithFewStoresAfterMemset()
651 static void emitStoresForInitAfterMemset(llvm::Constant *Init, llvm::Value *Loc, in emitStoresForInitAfterMemset() argument
654 if (isa<llvm::ConstantAggregateZero>(Init) || in emitStoresForInitAfterMemset()
655 isa<llvm::ConstantPointerNull>(Init) || in emitStoresForInitAfterMemset()
656 isa<llvm::UndefValue>(Init)) in emitStoresForInitAfterMemset()
659 if (isa<llvm::ConstantInt>(Init) || isa<llvm::ConstantFP>(Init) || in emitStoresForInitAfterMemset()
660 isa<llvm::ConstantVector>(Init) || isa<llvm::BlockAddress>(Init) || in emitStoresForInitAfterMemset()
661 isa<llvm::ConstantExpr>(Init)) { in emitStoresForInitAfterMemset()
662 if (!Init->isNullValue()) in emitStoresForInitAfterMemset()
663 Builder.CreateStore(Init, Loc, isVolatile); in emitStoresForInitAfterMemset()
667 assert((isa<llvm::ConstantStruct>(Init) || isa<llvm::ConstantArray>(Init)) && in emitStoresForInitAfterMemset()
670 for (unsigned i = 0, e = Init->getNumOperands(); i != e; ++i) { in emitStoresForInitAfterMemset()
671 llvm::Constant *Elt = cast<llvm::Constant>(Init->getOperand(i)); in emitStoresForInitAfterMemset()
685 static bool shouldUseMemSetPlusStoresToInitialize(llvm::Constant *Init, in shouldUseMemSetPlusStoresToInitialize() argument
688 if (isa<llvm::ConstantAggregateZero>(Init)) return true; in shouldUseMemSetPlusStoresToInitialize()
699 canEmitInitWithFewStoresAfterMemset(Init, StoreBudget); in shouldUseMemSetPlusStoresToInitialize()
887 static bool isTrivialInitializer(const Expr *Init) { in isTrivialInitializer() argument
888 if (!Init) in isTrivialInitializer()
891 if (const CXXConstructExpr *Construct = dyn_cast<CXXConstructExpr>(Init)) in isTrivialInitializer()
910 const Expr *Init = D.getInit(); in EmitAutoVarInit() local
915 if (!Init || !ContainsLabel(Init)) return; in EmitAutoVarInit()
923 if (isTrivialInitializer(Init)) in EmitAutoVarInit()
932 bool capturedByInit = emission.IsByRef && isCapturedBy(D, Init); in EmitAutoVarInit()
940 return EmitExprAsInit(Init, &D, lv, capturedByInit); in EmitAutoVarInit()