Lines Matching refs:Constant

47   CharUnits getAlignment(const llvm::Constant *C) const {  in getAlignment()
56 CharUnits getSize(const llvm::Constant *C) const { in getSize()
60 llvm::Constant *getPadding(CharUnits PadSize) const { in getPadding()
67 llvm::Constant *getZeroes(CharUnits ZeroSize) const { in getZeroes()
84 llvm::SmallVector<llvm::Constant*, 32> Elems;
99 static llvm::Constant *buildFrom(CodeGenModule &CGM,
100 ArrayRef<llvm::Constant *> Elems,
115 bool add(llvm::Constant *C, CharUnits Offset, bool AllowOverwrite);
129 llvm::Constant *build(llvm::Type *DesiredTy, bool AllowOversized) const { in build()
142 bool ConstantAggregateBuilder::add(llvm::Constant *C, CharUnits Offset, in add()
251 llvm::Constant *&ToUpdate = Elems[*FirstElemToUpdate]; in addBits()
317 llvm::Constant *C = Elems[Index]; in split()
392 static llvm::Constant *
395 SmallVectorImpl<llvm::Constant *> &Elements,
396 llvm::Constant *Filler);
398 llvm::Constant *ConstantAggregateBuilder::buildFrom( in buildFrom()
399 CodeGenModule &CGM, ArrayRef<llvm::Constant *> Elems, in buildFrom()
416 llvm::Constant *Filler = llvm::Constant::getNullValue(CommonType); in buildFrom()
418 SmallVector<llvm::Constant*, 32> ArrayElements; in buildFrom()
453 for (llvm::Constant *C : Elems) in buildFrom()
460 ArrayRef<llvm::Constant*> UnpackedElems = Elems; in buildFrom()
461 llvm::SmallVector<llvm::Constant*, 32> UnpackedElemStorage; in buildFrom()
477 llvm::SmallVector<llvm::Constant*, 32> PackedElems; in buildFrom()
545 llvm::Constant *Replacement = buildFrom( in condense()
564 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
566 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
579 llvm::Constant *InitExpr, bool AllowOverwrite = false);
581 bool AppendBytes(CharUnits FieldOffsetInChars, llvm::Constant *InitCst,
590 llvm::Constant *Finalize(QualType Ty);
594 const FieldDecl *Field, uint64_t FieldOffset, llvm::Constant *InitCst, in AppendField()
604 llvm::Constant *InitCst, in AppendBytes()
647 llvm::Constant *FillC = nullptr; in EmitDesignatedInitUpdater()
675 llvm::Constant *Val = Emitter.tryEmitPrivateForMemory(Init, ElemType); in EmitDesignatedInitUpdater()
745 llvm::Constant *EltInit = in Build()
800 llvm::Constant *VTableAddressPoint = in Build()
847 llvm::Constant *EltInit = in Build()
872 llvm::Constant *ConstStructBuilder::Finalize(QualType Type) { in Finalize()
879 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter, in BuildStruct()
891 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter, in BuildStruct()
927 llvm::Constant *C = emitter.tryEmitForInitializer(E->getInitializer(), in tryEmitGlobalCompoundLiteral()
947 static llvm::Constant *
950 SmallVectorImpl<llvm::Constant *> &Elements, in EmitArrayConstant()
951 llvm::Constant *Filler) { in EmitArrayConstant()
973 llvm::Constant *Initial = llvm::ConstantArray::get( in EmitArrayConstant()
1002 for (llvm::Constant *Elt : Elements) in EmitArrayConstant()
1016 public StmtVisitor<ConstExprEmitter, llvm::Constant*, QualType> {
1029 llvm::Constant *VisitStmt(Stmt *S, QualType T) { in VisitStmt()
1033 llvm::Constant *VisitConstantExpr(ConstantExpr *CE, QualType T) { in VisitConstantExpr()
1034 if (llvm::Constant *Result = Emitter.tryEmitConstantExpr(CE)) in VisitConstantExpr()
1039 llvm::Constant *VisitParenExpr(ParenExpr *PE, QualType T) { in VisitParenExpr()
1043 llvm::Constant *
1049 llvm::Constant *VisitGenericSelectionExpr(GenericSelectionExpr *GE, in VisitGenericSelectionExpr()
1054 llvm::Constant *VisitChooseExpr(ChooseExpr *CE, QualType T) { in VisitChooseExpr()
1058 llvm::Constant *VisitCompoundLiteralExpr(CompoundLiteralExpr *E, QualType T) { in VisitCompoundLiteralExpr()
1062 llvm::Constant *VisitCastExpr(CastExpr *E, QualType destType) { in VisitCastExpr()
1083 SmallVector<llvm::Constant*, 2> Elts; in VisitCastExpr()
1208 llvm::Constant *VisitCXXDefaultInitExpr(CXXDefaultInitExpr *DIE, QualType T) { in VisitCXXDefaultInitExpr()
1214 llvm::Constant *VisitExprWithCleanups(ExprWithCleanups *E, QualType T) { in VisitExprWithCleanups()
1218 llvm::Constant *VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E, in VisitMaterializeTemporaryExpr()
1223 llvm::Constant *EmitArrayInitialization(InitListExpr *ILE, QualType T) { in EmitArrayInitialization()
1236 llvm::Constant *fillC = nullptr; in EmitArrayInitialization()
1244 SmallVector<llvm::Constant*, 16> Elts; in EmitArrayInitialization()
1253 llvm::Constant *C = Emitter.tryEmitPrivateForMemory(Init, EltType); in EmitArrayInitialization()
1269 llvm::Constant *EmitRecordInitialization(InitListExpr *ILE, QualType T) { in EmitRecordInitialization()
1273 llvm::Constant *VisitImplicitValueInitExpr(ImplicitValueInitExpr* E, in VisitImplicitValueInitExpr()
1278 llvm::Constant *VisitInitListExpr(InitListExpr *ILE, QualType T) { in VisitInitListExpr()
1291 llvm::Constant *VisitDesignatedInitUpdateExpr(DesignatedInitUpdateExpr *E, in VisitDesignatedInitUpdateExpr()
1311 llvm::Constant *VisitCXXConstructExpr(CXXConstructExpr *E, QualType Ty) { in VisitCXXConstructExpr()
1331 llvm::Constant *VisitStringLiteral(StringLiteral *E, QualType T) { in VisitStringLiteral()
1336 llvm::Constant *VisitObjCEncodeExpr(ObjCEncodeExpr *E, QualType T) { in VisitObjCEncodeExpr()
1350 llvm::Constant *VisitUnaryExtension(const UnaryOperator *E, QualType T) { in VisitUnaryExtension()
1362 llvm::Constant *ConstantEmitter::validateAndPopAbstract(llvm::Constant *C, in validateAndPopAbstract()
1374 llvm::Constant *
1381 llvm::Constant *
1388 llvm::Constant *
1395 llvm::Constant *ConstantEmitter::tryEmitConstantExpr(const ConstantExpr *CE) { in tryEmitConstantExpr()
1404 llvm::Constant *Res = in tryEmitConstantExpr()
1409 llvm::Constant *
1422 llvm::Constant *
1436 llvm::Constant *ConstantEmitter::tryEmitForInitializer(const VarDecl &D) { in tryEmitForInitializer()
1441 llvm::Constant *ConstantEmitter::tryEmitForInitializer(const Expr *E, in tryEmitForInitializer()
1448 llvm::Constant *ConstantEmitter::emitForInitializer(const APValue &value, in emitForInitializer()
1477 void ConstantEmitter::registerCurrentAddrPrivate(llvm::Constant *signal, in registerCurrentAddrPrivate()
1490 llvm::Constant *Base;
1494 llvm::DenseMap<llvm::Constant*, llvm::GlobalVariable*> PlaceholderAddresses;
1497 llvm::DenseMap<llvm::GlobalVariable*, llvm::Constant*> Locations;
1503 llvm::SmallVector<llvm::Constant*, 8> IndexValues;
1505 ReplacePlaceholders(CodeGenModule &CGM, llvm::Constant *base, in ReplacePlaceholders()
1506 ArrayRef<std::pair<llvm::Constant*, in ReplacePlaceholders()
1512 void replaceInInitializer(llvm::Constant *init) { in replaceInInitializer()
1543 void findLocations(llvm::Constant *init) { in findLocations()
1601 llvm::Constant *location = in setLocation()
1642 llvm::Constant *ConstantEmitter::tryEmitPrivateForVarInit(const VarDecl &D) { in tryEmitPrivateForVarInit()
1684 llvm::Constant *
1691 llvm::Constant *
1699 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const Expr *E, in tryEmitPrivateForMemory()
1702 llvm::Constant *C = tryEmitPrivate(E, nonMemoryDestType); in tryEmitPrivateForMemory()
1706 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const APValue &value, in tryEmitPrivateForMemory()
1713 llvm::Constant *ConstantEmitter::emitForMemory(CodeGenModule &CGM, in emitForMemory()
1714 llvm::Constant *C, in emitForMemory()
1727 llvm::Constant *elts[] = { in emitForMemory()
1744 llvm::Constant *ConstantEmitter::tryEmitPrivate(const Expr *E, in tryEmitPrivate()
1757 llvm::Constant *C; in tryEmitPrivate()
1766 llvm::Constant *CodeGenModule::getNullPointer(llvm::PointerType *T, QualType QT) { in getNullPointer()
1774 llvm::Constant *Value;
1777 /*implicit*/ ConstantLValue(llvm::Constant *value, in ConstantLValue()
1801 llvm::Constant *tryEmit();
1804 llvm::Constant *tryEmitAbsolute(llvm::Type *destTy);
1827 llvm::Constant *getOffset() { in getOffset()
1833 llvm::Constant *applyOffset(llvm::Constant *C) { in applyOffset()
1849 llvm::Constant *ConstantLValueEmitter::tryEmit() { in tryEmit()
1872 llvm::Constant *value = result.Value; in tryEmit()
1890 llvm::Constant *
1903 llvm::Constant *C; in tryEmitAbsolute()
1953 llvm::Constant *TypeInfo = in tryEmitBase()
1966 if (llvm::Constant *Result = Emitter.tryEmitConstantExpr(E)) in VisitConstantExpr()
2014 llvm::Constant *Ptr = Emitter.CGF->GetAddrOfLabel(E->getLabel()); in VisitAddrLabelExpr()
2071 llvm::Constant *ConstantEmitter::tryEmitPrivate(const APValue &Value, in tryEmitPrivate()
2086 llvm::Constant *Complex[2]; in tryEmitPrivate()
2109 llvm::Constant *Complex[2]; in tryEmitPrivate()
2123 SmallVector<llvm::Constant *, 4> Inits(NumElts); in tryEmitPrivate()
2139 llvm::Constant *LHS = tryEmitPrivate(LHSExpr, LHSExpr->getType()); in tryEmitPrivate()
2140 llvm::Constant *RHS = tryEmitPrivate(RHSExpr, RHSExpr->getType()); in tryEmitPrivate()
2147 llvm::Constant *AddrLabelDiff = llvm::ConstantExpr::getSub(LHS, RHS); in tryEmitPrivate()
2163 llvm::Constant *Filler = nullptr; in tryEmitPrivate()
2172 SmallVector<llvm::Constant*, 16> Elts; in tryEmitPrivate()
2180 llvm::Constant *C = tryEmitPrivateForMemory( in tryEmitPrivate()
2220 llvm::Constant *
2236 static llvm::Constant *EmitNullConstantForBase(CodeGenModule &CGM,
2240 static llvm::Constant *EmitNullConstant(CodeGenModule &CGM, in EmitNullConstant()
2249 std::vector<llvm::Constant *> elements(numElements); in EmitNullConstant()
2318 elements[i] = llvm::Constant::getNullValue(structure->getElementType(i)); in EmitNullConstant()
2325 static llvm::Constant *EmitNullConstantForBase(CodeGenModule &CGM, in EmitNullConstantForBase()
2332 return llvm::Constant::getNullValue(baseType); in EmitNullConstantForBase()
2338 llvm::Constant *ConstantEmitter::emitNullForMemory(CodeGenModule &CGM, in emitNullForMemory()
2343 llvm::Constant *CodeGenModule::EmitNullConstant(QualType T) { in EmitNullConstant()
2349 return llvm::Constant::getNullValue(getTypes().ConvertTypeForMem(T)); in EmitNullConstant()
2357 llvm::Constant *Element = in EmitNullConstant()
2360 SmallVector<llvm::Constant *, 8> Array(NumElements, Element); in EmitNullConstant()
2373 llvm::Constant *