Lines Matching refs:Constant

49   CharUnits getAlignment(const llvm::Constant *C) const {  in getAlignment()
58 CharUnits getSize(const llvm::Constant *C) const { in getSize()
62 llvm::Constant *getPadding(CharUnits PadSize) const { in getPadding()
69 llvm::Constant *getZeroes(CharUnits ZeroSize) const { in getZeroes()
86 llvm::SmallVector<llvm::Constant*, 32> Elems;
101 static llvm::Constant *buildFrom(CodeGenModule &CGM,
102 ArrayRef<llvm::Constant *> Elems,
117 bool add(llvm::Constant *C, CharUnits Offset, bool AllowOverwrite);
131 llvm::Constant *build(llvm::Type *DesiredTy, bool AllowOversized) const { in build()
144 bool ConstantAggregateBuilder::add(llvm::Constant *C, CharUnits Offset, in add()
253 llvm::Constant *&ToUpdate = Elems[*FirstElemToUpdate]; in addBits()
319 llvm::Constant *C = Elems[Index]; in split()
394 static llvm::Constant *
397 SmallVectorImpl<llvm::Constant *> &Elements,
398 llvm::Constant *Filler);
400 llvm::Constant *ConstantAggregateBuilder::buildFrom( in buildFrom()
401 CodeGenModule &CGM, ArrayRef<llvm::Constant *> Elems, in buildFrom()
418 llvm::Constant *Filler = llvm::Constant::getNullValue(CommonType); in buildFrom()
420 SmallVector<llvm::Constant*, 32> ArrayElements; in buildFrom()
455 for (llvm::Constant *C : Elems) in buildFrom()
462 ArrayRef<llvm::Constant*> UnpackedElems = Elems; in buildFrom()
463 llvm::SmallVector<llvm::Constant*, 32> UnpackedElemStorage; in buildFrom()
479 llvm::SmallVector<llvm::Constant*, 32> PackedElems; in buildFrom()
547 llvm::Constant *Replacement = buildFrom( in condense()
566 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
568 static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
581 llvm::Constant *InitExpr, bool AllowOverwrite = false);
583 bool AppendBytes(CharUnits FieldOffsetInChars, llvm::Constant *InitCst,
592 llvm::Constant *Finalize(QualType Ty);
596 const FieldDecl *Field, uint64_t FieldOffset, llvm::Constant *InitCst, in AppendField()
606 llvm::Constant *InitCst, in AppendBytes()
649 llvm::Constant *FillC = nullptr; in EmitDesignatedInitUpdater()
677 llvm::Constant *Val = Emitter.tryEmitPrivateForMemory(Init, ElemType); in EmitDesignatedInitUpdater()
747 llvm::Constant *EltInit = in Build()
802 llvm::Constant *VTableAddressPoint = in Build()
849 llvm::Constant *EltInit = in Build()
874 llvm::Constant *ConstStructBuilder::Finalize(QualType Type) { in Finalize()
881 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter, in BuildStruct()
893 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter, in BuildStruct()
928 llvm::Constant *C = emitter.tryEmitForInitializer(E->getInitializer(), in tryEmitGlobalCompoundLiteral()
948 static llvm::Constant *
951 SmallVectorImpl<llvm::Constant *> &Elements, in EmitArrayConstant()
952 llvm::Constant *Filler) { in EmitArrayConstant()
974 llvm::Constant *Initial = llvm::ConstantArray::get( in EmitArrayConstant()
1003 for (llvm::Constant *Elt : Elements) in EmitArrayConstant()
1017 public StmtVisitor<ConstExprEmitter, llvm::Constant*, QualType> {
1030 llvm::Constant *VisitStmt(Stmt *S, QualType T) { in VisitStmt()
1034 llvm::Constant *VisitConstantExpr(ConstantExpr *CE, QualType T) { in VisitConstantExpr()
1035 if (llvm::Constant *Result = Emitter.tryEmitConstantExpr(CE)) in VisitConstantExpr()
1040 llvm::Constant *VisitParenExpr(ParenExpr *PE, QualType T) { in VisitParenExpr()
1044 llvm::Constant *
1050 llvm::Constant *VisitGenericSelectionExpr(GenericSelectionExpr *GE, in VisitGenericSelectionExpr()
1055 llvm::Constant *VisitChooseExpr(ChooseExpr *CE, QualType T) { in VisitChooseExpr()
1059 llvm::Constant *VisitCompoundLiteralExpr(CompoundLiteralExpr *E, QualType T) { in VisitCompoundLiteralExpr()
1063 llvm::Constant *VisitCastExpr(CastExpr *E, QualType destType) { in VisitCastExpr()
1084 SmallVector<llvm::Constant*, 2> Elts; in VisitCastExpr()
1147 if (llvm::Constant *C = Visit(subExpr, FromType)) in VisitCastExpr()
1233 llvm::Constant *VisitCXXDefaultInitExpr(CXXDefaultInitExpr *DIE, QualType T) { in VisitCXXDefaultInitExpr()
1239 llvm::Constant *VisitExprWithCleanups(ExprWithCleanups *E, QualType T) { in VisitExprWithCleanups()
1243 llvm::Constant *VisitIntegerLiteral(IntegerLiteral *I, QualType T) { in VisitIntegerLiteral()
1247 llvm::Constant *EmitArrayInitialization(InitListExpr *ILE, QualType T) { in EmitArrayInitialization()
1260 llvm::Constant *fillC = nullptr; in EmitArrayInitialization()
1268 SmallVector<llvm::Constant*, 16> Elts; in EmitArrayInitialization()
1277 llvm::Constant *C = Emitter.tryEmitPrivateForMemory(Init, EltType); in EmitArrayInitialization()
1293 llvm::Constant *EmitRecordInitialization(InitListExpr *ILE, QualType T) { in EmitRecordInitialization()
1297 llvm::Constant *VisitImplicitValueInitExpr(ImplicitValueInitExpr* E, in VisitImplicitValueInitExpr()
1302 llvm::Constant *VisitInitListExpr(InitListExpr *ILE, QualType T) { in VisitInitListExpr()
1315 llvm::Constant *VisitDesignatedInitUpdateExpr(DesignatedInitUpdateExpr *E, in VisitDesignatedInitUpdateExpr()
1335 llvm::Constant *VisitCXXConstructExpr(CXXConstructExpr *E, QualType Ty) { in VisitCXXConstructExpr()
1360 llvm::Constant *VisitStringLiteral(StringLiteral *E, QualType T) { in VisitStringLiteral()
1365 llvm::Constant *VisitObjCEncodeExpr(ObjCEncodeExpr *E, QualType T) { in VisitObjCEncodeExpr()
1380 llvm::Constant *VisitUnaryExtension(const UnaryOperator *E, QualType T) { in VisitUnaryExtension()
1384 llvm::Constant *VisitUnaryMinus(UnaryOperator *U, QualType T) { in VisitUnaryMinus()
1385 if (llvm::Constant *C = Visit(U->getSubExpr(), T)) in VisitUnaryMinus()
1399 llvm::Constant *ConstantEmitter::validateAndPopAbstract(llvm::Constant *C, in validateAndPopAbstract()
1411 llvm::Constant *
1418 llvm::Constant *
1425 llvm::Constant *
1432 llvm::Constant *ConstantEmitter::tryEmitConstantExpr(const ConstantExpr *CE) { in tryEmitConstantExpr()
1443 llvm::Constant *
1456 llvm::Constant *
1470 llvm::Constant *ConstantEmitter::tryEmitForInitializer(const VarDecl &D) { in tryEmitForInitializer()
1475 llvm::Constant *ConstantEmitter::tryEmitForInitializer(const Expr *E, in tryEmitForInitializer()
1482 llvm::Constant *ConstantEmitter::emitForInitializer(const APValue &value, in emitForInitializer()
1511 void ConstantEmitter::registerCurrentAddrPrivate(llvm::Constant *signal, in registerCurrentAddrPrivate()
1524 llvm::Constant *Base;
1528 llvm::DenseMap<llvm::Constant*, llvm::GlobalVariable*> PlaceholderAddresses;
1531 llvm::DenseMap<llvm::GlobalVariable*, llvm::Constant*> Locations;
1537 llvm::SmallVector<llvm::Constant*, 8> IndexValues;
1539 ReplacePlaceholders(CodeGenModule &CGM, llvm::Constant *base, in ReplacePlaceholders()
1540 ArrayRef<std::pair<llvm::Constant*, in ReplacePlaceholders()
1546 void replaceInInitializer(llvm::Constant *init) { in replaceInInitializer()
1577 void findLocations(llvm::Constant *init) { in findLocations()
1633 llvm::Constant *location = llvm::ConstantExpr::getInBoundsGetElementPtr( in setLocation()
1671 llvm::Constant *ConstantEmitter::tryEmitPrivateForVarInit(const VarDecl &D) { in tryEmitPrivateForVarInit()
1693 if (llvm::Constant *C = ConstExprEmitter(*this).Visit(const_cast<Expr *>(E), in tryEmitPrivateForVarInit()
1706 llvm::Constant *
1713 llvm::Constant *
1721 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const Expr *E, in tryEmitPrivateForMemory()
1724 llvm::Constant *C = tryEmitPrivate(E, nonMemoryDestType); in tryEmitPrivateForMemory()
1728 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const APValue &value, in tryEmitPrivateForMemory()
1735 llvm::Constant *ConstantEmitter::emitForMemory(CodeGenModule &CGM, in emitForMemory()
1736 llvm::Constant *C, in emitForMemory()
1749 llvm::Constant *elts[] = { in emitForMemory()
1760 llvm::Constant *Res = llvm::ConstantFoldCastOperand( in emitForMemory()
1769 llvm::Constant *ConstantEmitter::tryEmitPrivate(const Expr *E, in tryEmitPrivate()
1774 if (llvm::Constant *C = in tryEmitPrivate()
1793 llvm::Constant *CodeGenModule::getNullPointer(llvm::PointerType *T, QualType QT) { in getNullPointer()
1801 llvm::Constant *Value;
1804 /*implicit*/ ConstantLValue(llvm::Constant *value, in ConstantLValue()
1828 llvm::Constant *tryEmit();
1831 llvm::Constant *tryEmitAbsolute(llvm::Type *destTy);
1854 llvm::Constant *getOffset() { in getOffset()
1860 llvm::Constant *applyOffset(llvm::Constant *C) { in applyOffset()
1870 llvm::Constant *ConstantLValueEmitter::tryEmit() { in tryEmit()
1893 llvm::Constant *value = result.Value; in tryEmit()
1911 llvm::Constant *
1924 llvm::Constant *C; in tryEmitAbsolute()
1981 if (llvm::Constant *Result = Emitter.tryEmitConstantExpr(E)) in VisitConstantExpr()
2031 llvm::Constant *Ptr = Emitter.CGF->GetAddrOfLabel(E->getLabel()); in VisitAddrLabelExpr()
2086 llvm::Constant *ConstantEmitter::tryEmitPrivate(const APValue &Value, in tryEmitPrivate()
2101 llvm::Constant *Complex[2]; in tryEmitPrivate()
2124 llvm::Constant *Complex[2]; in tryEmitPrivate()
2138 SmallVector<llvm::Constant *, 4> Inits(NumElts); in tryEmitPrivate()
2157 llvm::Constant *LHS = tryEmitPrivate(LHSExpr, LHSExpr->getType()); in tryEmitPrivate()
2158 llvm::Constant *RHS = tryEmitPrivate(RHSExpr, RHSExpr->getType()); in tryEmitPrivate()
2165 llvm::Constant *AddrLabelDiff = llvm::ConstantExpr::getSub(LHS, RHS); in tryEmitPrivate()
2181 llvm::Constant *Filler = nullptr; in tryEmitPrivate()
2190 SmallVector<llvm::Constant*, 16> Elts; in tryEmitPrivate()
2198 llvm::Constant *C = tryEmitPrivateForMemory( in tryEmitPrivate()
2244 llvm::Constant *
2260 static llvm::Constant *EmitNullConstantForBase(CodeGenModule &CGM,
2264 static llvm::Constant *EmitNullConstant(CodeGenModule &CGM, in EmitNullConstant()
2273 std::vector<llvm::Constant *> elements(numElements); in EmitNullConstant()
2342 elements[i] = llvm::Constant::getNullValue(structure->getElementType(i)); in EmitNullConstant()
2349 static llvm::Constant *EmitNullConstantForBase(CodeGenModule &CGM, in EmitNullConstantForBase()
2356 return llvm::Constant::getNullValue(baseType); in EmitNullConstantForBase()
2362 llvm::Constant *ConstantEmitter::emitNullForMemory(CodeGenModule &CGM, in emitNullForMemory()
2367 llvm::Constant *CodeGenModule::EmitNullConstant(QualType T) { in EmitNullConstant()
2373 return llvm::Constant::getNullValue(getTypes().ConvertTypeForMem(T)); in EmitNullConstant()
2381 llvm::Constant *Element = in EmitNullConstant()
2384 SmallVector<llvm::Constant *, 8> Array(NumElements, Element); in EmitNullConstant()
2397 llvm::Constant *