Lines Matching refs:constant
1023 llvm::Constant *constant);
1029 llvm::Constant *constant) { in constStructWithPadding() argument
1044 if (constant->isZeroValue()) in constStructWithPadding()
1047 CurOp = cast<llvm::Constant>(constant->getAggregateElement(i)); in constStructWithPadding()
1060 return constant; in constStructWithPadding()
1067 llvm::Constant *constant) { in constWithPadding() argument
1068 llvm::Type *OrigTy = constant->getType(); in constWithPadding()
1070 return constStructWithPadding(CGM, isPattern, STy, constant); in constWithPadding()
1075 return constant; in constWithPadding()
1077 bool ZeroInitializer = constant->isNullValue(); in constWithPadding()
1085 OpValue = constant->getAggregateElement(Op); in constWithPadding()
1092 return constant; in constWithPadding()
1099 return constant; in constWithPadding()
1168 llvm::Constant *constant, bool IsAutoInit) { in emitStoresForConstant() argument
1169 auto *Ty = constant->getType(); in emitStoresForConstant()
1177 auto *I = Builder.CreateStore(constant, Loc, isVolatile); in emitStoresForConstant()
1187 if (shouldUseBZeroPlusStoresToInitialize(constant, ConstantSize)) { in emitStoresForConstant()
1194 constant->isNullValue() || isa<llvm::UndefValue>(constant); in emitStoresForConstant()
1197 emitStoresForInitAfterBZero(CGM, constant, Loc, isVolatile, Builder, in emitStoresForConstant()
1205 shouldUseMemSetToInitialize(constant, ConstantSize, CGM.getDataLayout()); in emitStoresForConstant()
1225 for (unsigned i = 0; i != constant->getNumOperands(); i++) { in emitStoresForConstant()
1229 cast<llvm::Constant>(Builder.CreateExtractValue(constant, i)), in emitStoresForConstant()
1241 cast<llvm::Constant>(Builder.CreateExtractValue(constant, i)), in emitStoresForConstant()
1253 CGM, D, Builder, constant, Loc.getAlignment()), in emitStoresForConstant()
1263 llvm::Constant *constant = in emitStoresForZeroInit() local
1265 emitStoresForConstant(CGM, D, Loc, isVolatile, Builder, constant, in emitStoresForZeroInit()
1273 llvm::Constant *constant = constWithPadding( in emitStoresForPatternInit() local
1275 assert(!isa<llvm::UndefValue>(constant)); in emitStoresForPatternInit()
1276 emitStoresForConstant(CGM, D, Loc, isVolatile, Builder, constant, in emitStoresForPatternInit()
1280 static bool containsUndef(llvm::Constant *constant) { in containsUndef() argument
1281 auto *Ty = constant->getType(); in containsUndef()
1282 if (isa<llvm::UndefValue>(constant)) in containsUndef()
1285 for (llvm::Use &Op : constant->operands()) in containsUndef()
1292 llvm::Constant *constant) { in replaceUndef() argument
1293 auto *Ty = constant->getType(); in replaceUndef()
1294 if (isa<llvm::UndefValue>(constant)) in replaceUndef()
1297 return constant; in replaceUndef()
1298 if (!containsUndef(constant)) in replaceUndef()
1299 return constant; in replaceUndef()
1300 llvm::SmallVector<llvm::Constant *, 8> Values(constant->getNumOperands()); in replaceUndef()
1301 for (unsigned Op = 0, NumOp = constant->getNumOperands(); Op != NumOp; ++Op) { in replaceUndef()
1302 auto *OpValue = cast<llvm::Constant>(constant->getOperand(Op)); in replaceUndef()
1868 llvm::Constant *constant = nullptr; in EmitAutoVarInit() local
1872 constant = ConstantEmitter(*this).tryEmitAbstractForInitializer(D); in EmitAutoVarInit()
1873 if (constant && !constant->isZeroValue() && in EmitAutoVarInit()
1886 constant = constWithPadding(CGM, IsPattern::No, in EmitAutoVarInit()
1887 replaceUndef(CGM, isPattern, constant)); in EmitAutoVarInit()
1891 if (!constant) { in EmitAutoVarInit()
1902 return EmitStoreThroughLValue(RValue::get(constant), lv, true); in EmitAutoVarInit()
1908 type.isVolatileQualified(), Builder, constant, /*IsAutoInit=*/false); in EmitAutoVarInit()